diff --git a/build.txt b/build.txt index 6bc6f33c68a64e340b4fc671250b3614be4065f5..4967f522827c1c7bdff6cf987ada53789b2d97b3 100644 --- a/build.txt +++ b/build.txt @@ -1 +1 @@ -14452 \ No newline at end of file +14488 \ No newline at end of file diff --git a/modeling/AVATAR/CoffeeMachine_Avatar.xml b/modeling/AVATAR/CoffeeMachine_Avatar.xml index 9dc6a280f25704237e6a8bf8ba406adb10be84d4..953bbe51d5f976e204f8e6cb2972d61f2a093b62 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="3.0 beta" 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"> +<TURTLEGMODELING version="3.0 beta" 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="4" 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" > @@ -28,6 +28,7 @@ <TGConnectingPoint num="14" id="15" /> <TGConnectingPoint num="15" id="16" /> <extraparam> +<Line value="" /> </extraparam> </COMPONENT> @@ -785,7 +786,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="480" /> +<P1 x="302" y="261" id="493" /> <P2 x="361" y="261" id="468" /> <AutomaticDrawing data="true" /> <new d="false" /> @@ -805,7 +806,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="493" /> +<P1 x="305" y="211" id="480" /> <P2 x="361" y="211" id="467" /> <AutomaticDrawing data="true" /> <new d="false" /> @@ -897,13 +898,13 @@ <TGConnectingPoint num="22" id="526" /> <TGConnectingPoint num="23" id="527" /> </COMPONENT> -<SUBCOMPONENT type="5304" id="490" index="13" uid="e14fd5a7-c9ae-42ab-b99a-306f91c69127" > +<SUBCOMPONENT type="5304" id="490" index="13" uid="2dbef5cf-57eb-4674-94d5-4b37c6777b4a" > <father id="528" num="0" /> -<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" /> <new d="false" /> <TGConnectingPoint num="0" id="478" /> <TGConnectingPoint num="1" id="479" /> @@ -918,13 +919,13 @@ <TGConnectingPoint num="10" id="488" /> <TGConnectingPoint num="11" id="489" /> </SUBCOMPONENT> -<SUBCOMPONENT type="5304" id="503" index="14" uid="2dbef5cf-57eb-4674-94d5-4b37c6777b4a" > +<SUBCOMPONENT type="5304" id="503" index="14" uid="e14fd5a7-c9ae-42ab-b99a-306f91c69127" > <father id="528" num="1" /> -<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" /> <new d="false" /> <TGConnectingPoint num="0" id="491" /> <TGConnectingPoint num="1" id="492" /> @@ -1061,7 +1062,7 @@ <TGConnectingPoint num="0" id="587" /> <TGConnectingPoint num="1" id="588" /> <TGConnectingPoint num="2" id="589" /> -<P1 x="581" y="154" id="676" /> +<P1 x="581" y="154" id="663" /> <P2 x="546" y="305" id="733" /> <Point x="518" y="154" /> <Point x="518" y="305" /> @@ -1092,7 +1093,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="671" /> +<P1 x="631" y="164" id="658" /> <P2 x="667" y="310" id="720" /> <Point x="631" y="310" /> <AutomaticDrawing data="true" /> @@ -1123,7 +1124,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="656" /> +<P1 x="721" y="158" id="669" /> <P2 x="700" y="204" id="710" /> <Point x="700" y="158" /> <AutomaticDrawing data="true" /> @@ -1288,13 +1289,13 @@ <TGConnectingPoint num="22" id="703" /> <TGConnectingPoint num="23" id="704" /> </COMPONENT> -<SUBCOMPONENT type="5303" id="667" index="24" uid="bf44a33b-5344-46b2-9170-509d38670a83" > +<SUBCOMPONENT type="5304" id="667" index="24" uid="5ba2c908-950a-4288-889b-0b4c00bd9d79" > <father id="705" num="0" /> -<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" /> <new d="false" /> <TGConnectingPoint num="0" id="655" /> <TGConnectingPoint num="1" id="656" /> @@ -1308,17 +1309,14 @@ <TGConnectingPoint num="9" id="664" /> <TGConnectingPoint num="10" id="665" /> <TGConnectingPoint num="11" id="666" /> -<extraparam> -<Toggle value="" /> -</extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5304" id="680" index="25" uid="5ba2c908-950a-4288-889b-0b4c00bd9d79" > +<SUBCOMPONENT type="5303" id="680" index="25" uid="bf44a33b-5344-46b2-9170-509d38670a83" > <father id="705" num="1" /> -<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" /> <new d="false" /> <TGConnectingPoint num="0" id="668" /> <TGConnectingPoint num="1" id="669" /> @@ -1332,6 +1330,9 @@ <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" > @@ -1459,7 +1460,7 @@ <MainCode value="}"/> <Optimized value="true" /> <considerTimingOperators value="true" /> -<Validated value="" /> +<Validated value="Wallet;CoffeeMachine;TeaButton;CoffeeButton;" /> <Ignored value="" /> <CONNECTOR type="5002" id="771" index="0" uid="f480e606-bbb6-4ab7-8f89-8abb37ff40bb" > @@ -1467,7 +1468,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="556" y="346" id="840" /> +<P1 x="556" y="346" id="881" /> <P2 x="557" y="373" id="930" /> <AutomaticDrawing data="true" /> <new d="false" /> @@ -1499,7 +1500,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="787" y="345" id="881" /> +<P1 x="787" y="345" id="840" /> <P2 x="787" y="373" id="931" /> <AutomaticDrawing data="true" /> <new d="false" /> @@ -1694,13 +1695,13 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <Signal value="out ejectCoin(int nbOfCoins)" attached="true" /> </extraparam> </COMPONENT> -<SUBCOMPONENT type="5000" id="874" index="6" uid="7a21d6ab-e515-4a9c-b908-bcb26c800cfb" > +<SUBCOMPONENT type="5000" id="874" index="6" uid="a5114e80-03e3-4820-b57a-bfcefd90a9c8" > <father id="956" num="0" /> -<cdparam x="462" y="246" /> -<sizeparam width="188" height="100" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="694" y="245" /> +<sizeparam width="186" height="100" 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="274" minY="0" maxY="256" /> +<infoparam name="Block1" value="TeaButton" /> <new d="false" /> <TGConnectingPoint num="0" id="834" /> <TGConnectingPoint num="1" id="835" /> @@ -1749,13 +1750,13 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <Signal value="out push()" attached="true" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5000" id="915" index="7" uid="a5114e80-03e3-4820-b57a-bfcefd90a9c8" > +<SUBCOMPONENT type="5000" id="915" index="7" uid="7a21d6ab-e515-4a9c-b908-bcb26c800cfb" > <father id="956" num="1" /> -<cdparam x="694" y="245" /> -<sizeparam width="186" height="100" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="462" y="246" /> +<sizeparam width="188" height="100" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="274" minY="0" maxY="256" /> -<infoparam name="Block1" value="TeaButton" /> +<cdrectangleparam minX="0" maxX="272" minY="0" maxY="256" /> +<infoparam name="Block1" value="CoffeeButton" /> <new d="false" /> <TGConnectingPoint num="0" id="875" /> <TGConnectingPoint num="1" id="876" /> @@ -1814,8 +1815,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="1144" /> -<P2 x="353" y="252" id="1133" /> +<P1 x="340" y="233" id="1133" /> +<P2 x="353" y="252" id="1135" /> <AutomaticDrawing data="true" /> <new d="false" /> </CONNECTOR><SUBCOMPONENT type="-1" id="961" index="8" uid="4b47f2ec-3073-4a06-b6e0-da7704454345" > @@ -1919,7 +1920,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="1134" /> +<P1 x="353" y="282" id="1136" /> <P2 x="399" y="352" id="986" /> <AutomaticDrawing data="true" /> <new d="false" /> @@ -2211,35 +2212,35 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <extraparam> </extraparam> </COMPONENT> -<SUBCOMPONENT type="5103" id="1143" index="12" uid="71f14636-3c96-4e4e-8d0e-c1cd11e52641" > +<SUBCOMPONENT type="5100" id="1134" index="12" uid="4ea28494-de50-4f99-8981-3ef7a87d7d34" > <father id="1218" num="0" /> -<cdparam x="330" y="257" /> -<sizeparam width="46" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="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" /> -<enabled value="true" /> -<cdrectangleparam minX="0" maxX="138" minY="0" maxY="110" /> -<infoparam name="Send signal" value="push()" /> +<cdrectangleparam minX="0" maxX="169" minY="0" maxY="115" /> +<infoparam name="start state" value="null" /> <new d="false" /> <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" > +<SUBCOMPONENT type="5103" id="1145" index="13" uid="71f14636-3c96-4e4e-8d0e-c1cd11e52641" > <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" /> +<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" /> -<cdrectangleparam minX="0" maxX="169" minY="0" maxY="115" /> -<infoparam name="start state" value="null" /> +<enabled value="true" /> +<cdrectangleparam minX="0" maxX="138" minY="0" maxY="110" /> +<infoparam name="Send signal" value="push()" /> <new d="false" /> -<TGConnectingPoint num="0" id="1144" /> +<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" /> </SUBCOMPONENT> @@ -2846,8 +2847,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="2095" /> -<P2 x="260" y="437" id="2023" /> +<P1 x="261" y="421" id="2106" /> +<P2 x="260" y="437" id="2109" /> <AutomaticDrawing data="true" /> <new d="false" /> </CONNECTOR><SUBCOMPONENT type="-1" id="1459" index="38" uid="a28ea541-81ef-4713-8ea6-c7f5ba166daa" > @@ -2881,8 +2882,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="2036" /> -<P2 x="126" y="524" id="2097" /> +<P1 x="227" y="477" id="2122" /> +<P2 x="126" y="524" id="2095" /> <AutomaticDrawing data="true" /> <new d="false" /> </CONNECTOR><SUBCOMPONENT type="-1" id="1466" index="39" uid="2484893a-3443-40dc-8f74-e1443edc2bde" > @@ -2916,8 +2917,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="2098" /> -<P2 x="126" y="653" id="2120" /> +<P1 x="126" y="554" id="2096" /> +<P2 x="126" y="653" id="2012" /> <AutomaticDrawing data="true" /> <new d="false" /> </CONNECTOR><SUBCOMPONENT type="-1" id="1473" index="40" uid="6f6c6e3e-0702-4e99-b1e6-da999207526e" > @@ -2953,8 +2954,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="2037" /> -<P2 x="298" y="524" id="2011" /> +<P1 x="293" y="477" id="2123" /> +<P2 x="298" y="524" id="2181" /> <AutomaticDrawing data="true" /> <new d="false" /> </CONNECTOR><SUBCOMPONENT type="-1" id="1480" index="41" uid="18f77c23-d770-43b2-a9ca-161802d8a987" > @@ -2988,7 +2989,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="2012" /> +<P1 x="298" y="554" id="2182" /> <P2 x="296" y="650" id="1939" /> <AutomaticDrawing data="true" /> <new d="false" /> @@ -3025,8 +3026,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="2026" /> -<P2 x="442" y="497" id="2108" /> +<P1 x="326" y="457" id="2112" /> +<P2 x="442" y="497" id="2084" /> <AutomaticDrawing data="true" /> <new d="false" /> </CONNECTOR><SUBCOMPONENT type="-1" id="1494" index="43" uid="1286b08f-20a2-44ff-9ae2-d3d09cf02647" > @@ -3061,7 +3062,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="2109" /> +<P1 x="442" y="527" id="2085" /> <P2 x="323" y="748" id="1801" /> <Point x="442" y="737" /> <AutomaticDrawing data="true" /> @@ -3152,7 +3153,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="2125" /> +<P1 x="126" y="702" id="2017" /> <P2 x="221" y="758" id="1802" /> <AutomaticDrawing data="true" /> <new d="false" /> @@ -3871,14 +3872,14 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <extraparam> </extraparam> </COMPONENT> -<SUBCOMPONENT type="5104" id="2021" index="48" uid="8718a1dd-4942-43e5-b6ce-b5f78b82a355" > +<SUBCOMPONENT type="5106" id="2083" index="48" uid="52044bb2-8b01-4108-a1ac-b5e7886ea624" > <father id="2264" num="0" /> -<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()" /> +<cdrectangleparam minX="0" maxX="431" minY="0" maxY="305" /> +<infoparam name="state0" value="CoffeeDelivered" /> <new d="false" /> <TGConnectingPoint num="0" id="2011" /> <TGConnectingPoint num="1" id="2012" /> @@ -3890,105 +3891,94 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <TGConnectingPoint num="7" id="2018" /> <TGConnectingPoint num="8" id="2019" /> <TGConnectingPoint num="9" id="2020" /> -<accessibility /> +<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> </SUBCOMPONENT> -<SUBCOMPONENT type="5106" id="2094" index="49" uid="542c0583-8080-46a1-9ae2-775c6446817c" > +<SUBCOMPONENT type="5103" id="2094" index="49" uid="9c813d39-192a-47ff-98b2-607e27617acf" > <father id="2264" num="1" /> -<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)" /> <new d="false" /> -<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> +<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 /> </SUBCOMPONENT> -<SUBCOMPONENT type="5100" id="2096" index="50" uid="d60fd6d2-14be-4b25-b424-35a9ae5e3ba3" > +<SUBCOMPONENT type="5104" id="2105" index="50" uid="f73b994e-357b-446d-a13d-97a66d7a4653" > <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" /> -<new d="false" /> -<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" /> @@ -3996,26 +3986,36 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <cdrectangleparam minX="0" maxX="450" minY="0" maxY="334" /> <infoparam name="Send signal" value="pushCoffeeButton()" /> <new d="false" /> -<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" /> +<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" /> <accessibility /> </SUBCOMPONENT> -<SUBCOMPONENT type="5103" id="2118" index="52" uid="9c813d39-192a-47ff-98b2-607e27617acf" > +<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" /> +<new d="false" /> +<TGConnectingPoint num="0" id="2106" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="5106" id="2180" index="52" uid="542c0583-8080-46a1-9ae2-775c6446817c" > <father id="2264" num="4" /> -<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)" /> +<cdrectangleparam minX="0" maxX="445" minY="0" maxY="314" /> +<infoparam name="state0" value="WaitingForSelection" /> <new d="false" /> <TGConnectingPoint num="0" id="2108" /> <TGConnectingPoint num="1" id="2109" /> @@ -4027,91 +4027,92 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <TGConnectingPoint num="7" id="2115" /> <TGConnectingPoint num="8" id="2116" /> <TGConnectingPoint num="9" id="2117" /> -<accessibility /> +<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> </SUBCOMPONENT> -<SUBCOMPONENT type="5106" id="2191" index="53" uid="52044bb2-8b01-4108-a1ac-b5e7886ea624" > +<SUBCOMPONENT type="5104" id="2191" index="53" uid="8718a1dd-4942-43e5-b6ce-b5f78b82a355" > <father id="2264" num="5" /> -<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()" /> <new d="false" /> -<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> +<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 /> </SUBCOMPONENT> @@ -4610,4 +4611,5454 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 +<Modeling type="AVATAR Design" nameTab="Design__20230620_182150" tabs="Block Diagram$Wallet$CoffeeMachine$CoffeeButton$TeaButton" > +<AVATARBlockDiagramPanel name="Block Diagram" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > +<MainCode value="void __user_init() {"/> +<MainCode value="}"/> +<Optimized value="true" /> +<considerTimingOperators value="true" /> +<Validated value="" /> +<Ignored value="" /> + +<CONNECTOR type="5002" id="2544" index="0" uid="f8115c18-4ade-46d7-a413-ea6b1c175502" > +<cdparam x="0" y="0" /> +<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="2543" /> +<P1 x="562" y="27" id="2590" /> +<P2 x="557" y="17" id="2639" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +<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> +<CONNECTOR type="5002" id="2546" index="1" uid="ab6e0480-ea3f-4e98-a249-f8c70b5e23dd" > +<cdparam x="0" y="0" /> +<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="2545" /> +<P1 x="302" y="52" id="2674" /> +<P2 x="442" y="17" id="2647" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +<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="2548" index="2" uid="6d8e9b85-2eae-450d-b394-8e0f301d09a7" > +<cdparam x="0" y="0" /> +<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="2547" /> +<P1 x="452" y="27" id="2549" /> +<P2 x="442" y="17" id="2631" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +<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> +<COMPONENT type="5000" id="2671" index="3" uid="afb77abb-26a6-4814-983c-50506a530bee" > +<cdparam x="442" y="17" /> +<sizeparam width="460" height="356" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Block" value="CoffeeMachine" /> +<new d="false" /> +<TGConnectingPoint num="0" id="2631" /> +<TGConnectingPoint num="1" id="2632" /> +<TGConnectingPoint num="2" id="2633" /> +<TGConnectingPoint num="3" id="2634" /> +<TGConnectingPoint num="4" id="2635" /> +<TGConnectingPoint num="5" id="2636" /> +<TGConnectingPoint num="6" id="2637" /> +<TGConnectingPoint num="7" id="2638" /> +<TGConnectingPoint num="8" id="2639" /> +<TGConnectingPoint num="9" id="2640" /> +<TGConnectingPoint num="10" id="2641" /> +<TGConnectingPoint num="11" id="2642" /> +<TGConnectingPoint num="12" id="2643" /> +<TGConnectingPoint num="13" id="2644" /> +<TGConnectingPoint num="14" id="2645" /> +<TGConnectingPoint num="15" id="2646" /> +<TGConnectingPoint num="16" id="2647" /> +<TGConnectingPoint num="17" id="2648" /> +<TGConnectingPoint num="18" id="2649" /> +<TGConnectingPoint num="19" id="2650" /> +<TGConnectingPoint num="20" id="2651" /> +<TGConnectingPoint num="21" id="2652" /> +<TGConnectingPoint num="22" id="2653" /> +<TGConnectingPoint num="23" id="2654" /> +<TGConnectingPoint num="24" id="2655" /> +<TGConnectingPoint num="25" id="2656" /> +<TGConnectingPoint num="26" id="2657" /> +<TGConnectingPoint num="27" id="2658" /> +<TGConnectingPoint num="28" id="2659" /> +<TGConnectingPoint num="29" id="2660" /> +<TGConnectingPoint num="30" id="2661" /> +<TGConnectingPoint num="31" id="2662" /> +<TGConnectingPoint num="32" id="2663" /> +<TGConnectingPoint num="33" id="2664" /> +<TGConnectingPoint num="34" id="2665" /> +<TGConnectingPoint num="35" id="2666" /> +<TGConnectingPoint num="36" id="2667" /> +<TGConnectingPoint num="37" id="2668" /> +<TGConnectingPoint num="38" id="2669" /> +<TGConnectingPoint num="39" id="2670" /> +<extraparam> +<blockType data="block" color="-4072719" /> +<CryptoBlock value="false" /> +<Attribute access="0" var="0" id="teaMinDelay" value="3" type="8" typeOther="" /> +<Attribute access="0" var="0" id="teaMaxDelay" value="8" type="8" typeOther="" /> +<Attribute access="0" var="0" id="coffeeMinDelay" value="5" type="8" typeOther="" /> +<Attribute access="0" var="0" id="coffeeMaxDelay" value="10" type="8" typeOther="" /> +<Attribute access="0" var="0" id="coinDelay" value="50" type="8" typeOther="" /> +<Attribute access="0" var="0" id="x" value="0" type="8" typeOther="" /> +<Attribute access="0" var="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="2589" index="5" uid="18a9cb79-9ab0-48e3-9fcb-a2e900023915" > +<father id="2671" num="0" /> +<cdparam x="452" y="27" /> +<sizeparam width="100" height="100" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="360" minY="0" maxY="256" /> +<infoparam name="Block" value="CoffeeButton" /> +<new d="false" /> +<TGConnectingPoint num="0" id="2549" /> +<TGConnectingPoint num="1" id="2550" /> +<TGConnectingPoint num="2" id="2551" /> +<TGConnectingPoint num="3" id="2552" /> +<TGConnectingPoint num="4" id="2553" /> +<TGConnectingPoint num="5" id="2554" /> +<TGConnectingPoint num="6" id="2555" /> +<TGConnectingPoint num="7" id="2556" /> +<TGConnectingPoint num="8" id="2557" /> +<TGConnectingPoint num="9" id="2558" /> +<TGConnectingPoint num="10" id="2559" /> +<TGConnectingPoint num="11" id="2560" /> +<TGConnectingPoint num="12" id="2561" /> +<TGConnectingPoint num="13" id="2562" /> +<TGConnectingPoint num="14" id="2563" /> +<TGConnectingPoint num="15" id="2564" /> +<TGConnectingPoint num="16" id="2565" /> +<TGConnectingPoint num="17" id="2566" /> +<TGConnectingPoint num="18" id="2567" /> +<TGConnectingPoint num="19" id="2568" /> +<TGConnectingPoint num="20" id="2569" /> +<TGConnectingPoint num="21" id="2570" /> +<TGConnectingPoint num="22" id="2571" /> +<TGConnectingPoint num="23" id="2572" /> +<TGConnectingPoint num="24" id="2573" /> +<TGConnectingPoint num="25" id="2574" /> +<TGConnectingPoint num="26" id="2575" /> +<TGConnectingPoint num="27" id="2576" /> +<TGConnectingPoint num="28" id="2577" /> +<TGConnectingPoint num="29" id="2578" /> +<TGConnectingPoint num="30" id="2579" /> +<TGConnectingPoint num="31" id="2580" /> +<TGConnectingPoint num="32" id="2581" /> +<TGConnectingPoint num="33" id="2582" /> +<TGConnectingPoint num="34" id="2583" /> +<TGConnectingPoint num="35" id="2584" /> +<TGConnectingPoint num="36" id="2585" /> +<TGConnectingPoint num="37" id="2586" /> +<TGConnectingPoint num="38" id="2587" /> +<TGConnectingPoint num="39" id="2588" /> +<extraparam> +<blockType data="block" color="-4072719" /> +<CryptoBlock value="false" /> +<Attribute access="0" var="0" id="mechanicalDelay" value="10" type="8" typeOther="" /> +<Signal value="out push()" attached="true" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="5000" id="2630" index="6" uid="a0d9b5cb-30dd-46c1-b2db-b3dcbb3c5105" > +<father id="2671" num="1" /> +<cdparam x="562" y="27" /> +<sizeparam width="100" height="100" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="360" minY="0" maxY="256" /> +<infoparam name="Block" value="TeaButton" /> +<new d="false" /> +<TGConnectingPoint num="0" id="2590" /> +<TGConnectingPoint num="1" id="2591" /> +<TGConnectingPoint num="2" id="2592" /> +<TGConnectingPoint num="3" id="2593" /> +<TGConnectingPoint num="4" id="2594" /> +<TGConnectingPoint num="5" id="2595" /> +<TGConnectingPoint num="6" id="2596" /> +<TGConnectingPoint num="7" id="2597" /> +<TGConnectingPoint num="8" id="2598" /> +<TGConnectingPoint num="9" id="2599" /> +<TGConnectingPoint num="10" id="2600" /> +<TGConnectingPoint num="11" id="2601" /> +<TGConnectingPoint num="12" id="2602" /> +<TGConnectingPoint num="13" id="2603" /> +<TGConnectingPoint num="14" id="2604" /> +<TGConnectingPoint num="15" id="2605" /> +<TGConnectingPoint num="16" id="2606" /> +<TGConnectingPoint num="17" id="2607" /> +<TGConnectingPoint num="18" id="2608" /> +<TGConnectingPoint num="19" id="2609" /> +<TGConnectingPoint num="20" id="2610" /> +<TGConnectingPoint num="21" id="2611" /> +<TGConnectingPoint num="22" id="2612" /> +<TGConnectingPoint num="23" id="2613" /> +<TGConnectingPoint num="24" id="2614" /> +<TGConnectingPoint num="25" id="2615" /> +<TGConnectingPoint num="26" id="2616" /> +<TGConnectingPoint num="27" id="2617" /> +<TGConnectingPoint num="28" id="2618" /> +<TGConnectingPoint num="29" id="2619" /> +<TGConnectingPoint num="30" id="2620" /> +<TGConnectingPoint num="31" id="2621" /> +<TGConnectingPoint num="32" id="2622" /> +<TGConnectingPoint num="33" id="2623" /> +<TGConnectingPoint num="34" id="2624" /> +<TGConnectingPoint num="35" id="2625" /> +<TGConnectingPoint num="36" id="2626" /> +<TGConnectingPoint num="37" id="2627" /> +<TGConnectingPoint num="38" id="2628" /> +<TGConnectingPoint num="39" id="2629" /> +<extraparam> +<blockType data="block" color="-4072719" /> +<CryptoBlock value="false" /> +<Attribute access="0" var="0" id="mechanicalDelay" value="10" type="8" typeOther="" /> +<Signal value="out push()" attached="true" /> +</extraparam> +</SUBCOMPONENT> + +<COMPONENT type="5000" id="2712" index="4" uid="02a323f2-6356-46bb-9724-dc223f2df95b" > +<cdparam x="102" y="52" /> +<sizeparam width="200" height="216" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Block" value="Wallet" /> +<new d="false" /> +<TGConnectingPoint num="0" id="2672" /> +<TGConnectingPoint num="1" id="2673" /> +<TGConnectingPoint num="2" id="2674" /> +<TGConnectingPoint num="3" id="2675" /> +<TGConnectingPoint num="4" id="2676" /> +<TGConnectingPoint num="5" id="2677" /> +<TGConnectingPoint num="6" id="2678" /> +<TGConnectingPoint num="7" id="2679" /> +<TGConnectingPoint num="8" id="2680" /> +<TGConnectingPoint num="9" id="2681" /> +<TGConnectingPoint num="10" id="2682" /> +<TGConnectingPoint num="11" id="2683" /> +<TGConnectingPoint num="12" id="2684" /> +<TGConnectingPoint num="13" id="2685" /> +<TGConnectingPoint num="14" id="2686" /> +<TGConnectingPoint num="15" id="2687" /> +<TGConnectingPoint num="16" id="2688" /> +<TGConnectingPoint num="17" id="2689" /> +<TGConnectingPoint num="18" id="2690" /> +<TGConnectingPoint num="19" id="2691" /> +<TGConnectingPoint num="20" id="2692" /> +<TGConnectingPoint num="21" id="2693" /> +<TGConnectingPoint num="22" id="2694" /> +<TGConnectingPoint num="23" id="2695" /> +<TGConnectingPoint num="24" id="2696" /> +<TGConnectingPoint num="25" id="2697" /> +<TGConnectingPoint num="26" id="2698" /> +<TGConnectingPoint num="27" id="2699" /> +<TGConnectingPoint num="28" id="2700" /> +<TGConnectingPoint num="29" id="2701" /> +<TGConnectingPoint num="30" id="2702" /> +<TGConnectingPoint num="31" id="2703" /> +<TGConnectingPoint num="32" id="2704" /> +<TGConnectingPoint num="33" id="2705" /> +<TGConnectingPoint num="34" id="2706" /> +<TGConnectingPoint num="35" id="2707" /> +<TGConnectingPoint num="36" id="2708" /> +<TGConnectingPoint num="37" id="2709" /> +<TGConnectingPoint num="38" id="2710" /> +<TGConnectingPoint num="39" id="2711" /> +<extraparam> +<blockType data="block" color="-4072719" /> +<CryptoBlock value="false" /> +<Attribute access="0" var="0" id="nbOfCoins" value="2" type="8" typeOther="" /> +<Attribute access="0" var="0" id="x" value="1" type="8" typeOther="" /> +<Attribute access="0" var="0" id="minUserDelay" value="50" type="8" typeOther="" /> +<Attribute access="0" var="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" /> +<Signal value="out ejectCoin()" attached="false" /> +</extraparam> +</COMPONENT> + + +</AVATARBlockDiagramPanel> + +<AVATARStateMachineDiagramPanel name="Wallet" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > +<CONNECTOR type="5102" id="2719" index="0" uid="3eb2d17b-7213-4a7a-b863-1b6192162e11" > +<cdparam x="502" y="290" /> +<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="2718" /> +<P1 x="502" y="290" id="3024" /> +<P2 x="788" y="340" id="2911" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="2717" index="22" uid="347561be-a740-40e8-83ca-06703d04c04a" > +<father id="2719" num="0" /> +<cdparam x="645" y="315" /> +<sizeparam width="100" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="2713" /> +<TGConnectingPoint num="1" id="2714" /> +<TGConnectingPoint num="2" id="2715" /> +<TGConnectingPoint num="3" id="2716" /> +<extraparam> +<guard value="nbOfCoins == 2" 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="2726" index="1" uid="2484e23a-d569-4577-84b5-d1e02031e182" > +<cdparam x="415" y="365" /> +<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="2725" /> +<P1 x="415" y="365" id="2984" /> +<P2 x="500" y="158" id="3090" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="2724" index="23" uid="7ebd3054-d80a-4ff2-8256-a6555b4929aa" > +<father id="2726" num="0" /> +<cdparam x="457" y="261" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="2720" /> +<TGConnectingPoint num="1" id="2721" /> +<TGConnectingPoint num="2" id="2722" /> +<TGConnectingPoint num="3" id="2723" /> +<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="2733" index="2" uid="d6f3e4a8-01c7-4995-92fe-8a9fb972fb4a" > +<cdparam x="788" y="390" /> +<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="2732" /> +<P1 x="788" y="390" id="2948" /> +<P2 x="1088" y="440" id="2827" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="2731" index="24" uid="e5727834-b637-481d-b16d-2c3fc794e75b" > +<father id="2733" num="0" /> +<cdparam x="938" y="415" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="2727" /> +<TGConnectingPoint num="1" id="2728" /> +<TGConnectingPoint num="2" id="2729" /> +<TGConnectingPoint num="3" id="2730" /> +<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="2740" index="3" uid="632a9fa4-4a96-4855-b624-6ca050b5944b" > +<cdparam x="788" y="390" /> +<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="2739" /> +<P1 x="788" y="390" id="2916" /> +<P2 x="715" y="435" id="2899" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="2738" index="25" uid="6847d868-03a1-4948-a8c2-73edc5b55a1a" > +<father id="2740" num="0" /> +<cdparam x="751" y="412" /> +<sizeparam width="210" height="47" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="2734" /> +<TGConnectingPoint num="1" id="2735" /> +<TGConnectingPoint num="2" id="2736" /> +<TGConnectingPoint num="3" id="2737" /> +<extraparam> +<guard value="[ ]" enabled="true"/> +<afterMin value="minUserDelay" enabled="true"/> +<afterMax value="minUserDelay" 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="x=0" enabled="true"/> +<actions value="nbOfCoins=0" enabled="true"/> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="2747" index="4" uid="4400b097-d0fd-47ec-9bed-8a265455504c" > +<cdparam x="1015" y="565" /> +<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="2746" /> +<P1 x="1015" y="565" id="2816" /> +<P2 x="500" y="171" id="3125" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="2745" index="26" uid="e9294d68-90ee-4a69-a20b-ffa0e7d82a8b" > +<father id="2747" num="0" /> +<cdparam x="757" y="368" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="2741" /> +<TGConnectingPoint num="1" id="2742" /> +<TGConnectingPoint num="2" id="2743" /> +<TGConnectingPoint num="3" id="2744" /> +<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="2754" index="5" uid="6087a03b-a546-4c7b-b0a0-334da64b78a0" > +<cdparam x="1315" y="565" /> +<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="2753" /> +<P1 x="1315" y="565" id="2805" /> +<P2 x="500" y="171" id="3093" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="2752" index="27" uid="468961f5-8534-4d24-9dce-fe2941b0cb81" > +<father id="2754" num="0" /> +<cdparam x="907" y="368" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="2748" /> +<TGConnectingPoint num="1" id="2749" /> +<TGConnectingPoint num="2" id="2750" /> +<TGConnectingPoint num="3" id="2751" /> +<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="2761" index="6" uid="229c6558-66ae-41ca-bbfb-a945c5389e2f" > +<cdparam x="715" y="465" /> +<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="2760" /> +<P1 x="715" y="465" id="2900" /> +<P2 x="500" y="165" id="3103" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="2759" index="28" uid="13ff5ac6-9021-4943-a9c9-facc3654e2ad" > +<father id="2761" num="0" /> +<cdparam x="607" y="315" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="2755" /> +<TGConnectingPoint num="1" id="2756" /> +<TGConnectingPoint num="2" id="2757" /> +<TGConnectingPoint num="3" id="2758" /> +<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="2768" index="7" uid="a0627d6b-8ad3-4aa5-a810-2e1f26f9e914" > +<cdparam x="482" y="290" /> +<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="2767" /> +<P1 x="482" y="290" id="3032" /> +<P2 x="415" y="335" id="2983" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="2766" index="29" uid="3ca773d6-78a5-41f1-913f-e550580e71d8" > +<father id="2768" num="0" /> +<cdparam x="448" y="312" /> +<sizeparam width="90" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="2762" /> +<TGConnectingPoint num="1" id="2763" /> +<TGConnectingPoint num="2" id="2764" /> +<TGConnectingPoint num="3" id="2765" /> +<extraparam> +<guard value="nbOfCoins < 2" 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="2775" index="8" uid="f0dc614f-c5d6-448f-b859-988b9018c886" > +<cdparam x="482" y="290" /> +<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="2774" /> +<P1 x="482" y="290" id="3000" /> +<P2 x="500" y="165" id="3071" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="2773" index="30" uid="c5b06977-fd0e-4dac-b161-7ca15bed3259" > +<father id="2775" num="0" /> +<cdparam x="491" y="227" /> +<sizeparam width="90" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="2769" /> +<TGConnectingPoint num="1" id="2770" /> +<TGConnectingPoint num="2" id="2771" /> +<TGConnectingPoint num="3" id="2772" /> +<extraparam> +<guard value="nbOfCoins > 2" 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="2782" index="9" uid="5bd512a7-387f-4851-8df3-dc16ad671dcc" > +<cdparam x="1088" y="490" /> +<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="2781" /> +<P1 x="1088" y="490" id="2864" /> +<P2 x="1315" y="535" id="2804" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="2780" index="31" uid="4db5e2b6-4c07-4d51-893d-a7300c19a8f1" > +<father id="2782" num="0" /> +<cdparam x="1201" y="512" /> +<sizeparam width="82" height="32" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="2776" /> +<TGConnectingPoint num="1" id="2777" /> +<TGConnectingPoint num="2" id="2778" /> +<TGConnectingPoint num="3" id="2779" /> +<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="x=1" enabled="true"/> +<actions value="nbOfCoins=1" enabled="true"/> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="2789" index="10" uid="1a951c46-71fc-4c69-883b-f49dfc9d1a7c" > +<cdparam x="1088" y="490" /> +<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="2788" /> +<P1 x="1088" y="490" id="2832" /> +<P2 x="1015" y="535" id="2815" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="2787" index="32" uid="60e13470-dbf6-482a-b162-015b0b62d907" > +<father id="2789" num="0" /> +<cdparam x="1051" y="512" /> +<sizeparam width="218" height="47" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="2783" /> +<TGConnectingPoint num="1" id="2784" /> +<TGConnectingPoint num="2" id="2785" /> +<TGConnectingPoint num="3" id="2786" /> +<extraparam> +<guard value="[ ]" enabled="true"/> +<afterMin value="maxUserDelay" 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="" enabled="true"/> +<actions value="x=0" enabled="true"/> +<actions value="nbOfCoins=0" enabled="true"/> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="2796" index="11" uid="1f859134-d63d-4986-a471-615f9db08564" > +<cdparam x="407" y="60" /> +<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="2795" /> +<P1 x="407" y="60" id="3140" /> +<P2 x="450" y="140" id="3068" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="2794" index="33" uid="e039dde2-56f7-48ca-929f-ee8bbb7838f9" > +<father id="2796" num="0" /> +<cdparam x="428" y="100" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="2790" /> +<TGConnectingPoint num="1" id="2791" /> +<TGConnectingPoint num="2" id="2792" /> +<TGConnectingPoint num="3" id="2793" /> +<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="2803" index="12" uid="dc1a701a-c4e0-4c42-b63e-b541d9c3a8d2" > +<cdparam x="450" y="190" /> +<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="2802" /> +<P1 x="450" y="190" id="3073" /> +<P2 x="482" y="240" id="2995" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="2801" index="34" uid="5dbc1356-ed18-4335-b82e-d747ee8490e4" > +<father id="2803" num="0" /> +<cdparam x="466" y="215" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="2797" /> +<TGConnectingPoint num="1" id="2798" /> +<TGConnectingPoint num="2" id="2799" /> +<TGConnectingPoint num="3" id="2800" /> +<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="5104" id="2814" index="13" uid="b8188665-3627-4a22-94c6-92f3bd59a34f" > +<cdparam x="1281" y="540" /> +<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="2500" minY="10" maxY="1500" /> +<infoparam name="Receive signal" value="getCoin()" /> +<new d="false" /> +<TGConnectingPoint num="0" id="2804" /> +<TGConnectingPoint num="1" id="2805" /> +<TGConnectingPoint num="2" id="2806" /> +<TGConnectingPoint num="3" id="2807" /> +<TGConnectingPoint num="4" id="2808" /> +<TGConnectingPoint num="5" id="2809" /> +<TGConnectingPoint num="6" id="2810" /> +<TGConnectingPoint num="7" id="2811" /> +<TGConnectingPoint num="8" id="2812" /> +<TGConnectingPoint num="9" id="2813" /> +</COMPONENT> + +<COMPONENT type="5103" id="2825" index="14" uid="88a2e59c-c105-4fa0-86cb-bdb8c2aa2ae5" > +<cdparam x="980" y="540" /> +<sizeparam width="71" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Send signal" value="ejectCoin()" /> +<new d="false" /> +<TGConnectingPoint num="0" id="2815" /> +<TGConnectingPoint num="1" id="2816" /> +<TGConnectingPoint num="2" id="2817" /> +<TGConnectingPoint num="3" id="2818" /> +<TGConnectingPoint num="4" id="2819" /> +<TGConnectingPoint num="5" id="2820" /> +<TGConnectingPoint num="6" id="2821" /> +<TGConnectingPoint num="7" id="2822" /> +<TGConnectingPoint num="8" id="2823" /> +<TGConnectingPoint num="9" id="2824" /> +</COMPONENT> + +<COMPONENT type="5106" id="2898" index="15" uid="42489202-9816-463b-b35d-fe6f1bcdb387" > +<cdparam x="1000" y="440" /> +<sizeparam width="176" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="state" value="beverageSelected" /> +<new d="false" /> +<TGConnectingPoint num="0" id="2826" /> +<TGConnectingPoint num="1" id="2827" /> +<TGConnectingPoint num="2" id="2828" /> +<TGConnectingPoint num="3" id="2829" /> +<TGConnectingPoint num="4" id="2830" /> +<TGConnectingPoint num="5" id="2831" /> +<TGConnectingPoint num="6" id="2832" /> +<TGConnectingPoint num="7" id="2833" /> +<TGConnectingPoint num="8" id="2834" /> +<TGConnectingPoint num="9" id="2835" /> +<TGConnectingPoint num="10" id="2836" /> +<TGConnectingPoint num="11" id="2837" /> +<TGConnectingPoint num="12" id="2838" /> +<TGConnectingPoint num="13" id="2839" /> +<TGConnectingPoint num="14" id="2840" /> +<TGConnectingPoint num="15" id="2841" /> +<TGConnectingPoint num="16" id="2842" /> +<TGConnectingPoint num="17" id="2843" /> +<TGConnectingPoint num="18" id="2844" /> +<TGConnectingPoint num="19" id="2845" /> +<TGConnectingPoint num="20" id="2846" /> +<TGConnectingPoint num="21" id="2847" /> +<TGConnectingPoint num="22" id="2848" /> +<TGConnectingPoint num="23" id="2849" /> +<TGConnectingPoint num="24" id="2850" /> +<TGConnectingPoint num="25" id="2851" /> +<TGConnectingPoint num="26" id="2852" /> +<TGConnectingPoint num="27" id="2853" /> +<TGConnectingPoint num="28" id="2854" /> +<TGConnectingPoint num="29" id="2855" /> +<TGConnectingPoint num="30" id="2856" /> +<TGConnectingPoint num="31" id="2857" /> +<TGConnectingPoint num="32" id="2858" /> +<TGConnectingPoint num="33" id="2859" /> +<TGConnectingPoint num="34" id="2860" /> +<TGConnectingPoint num="35" id="2861" /> +<TGConnectingPoint num="36" id="2862" /> +<TGConnectingPoint num="37" id="2863" /> +<TGConnectingPoint num="38" id="2864" /> +<TGConnectingPoint num="39" id="2865" /> +<TGConnectingPoint num="40" id="2866" /> +<TGConnectingPoint num="41" id="2867" /> +<TGConnectingPoint num="42" id="2868" /> +<TGConnectingPoint num="43" id="2869" /> +<TGConnectingPoint num="44" id="2870" /> +<TGConnectingPoint num="45" id="2871" /> +<TGConnectingPoint num="46" id="2872" /> +<TGConnectingPoint num="47" id="2873" /> +<TGConnectingPoint num="48" id="2874" /> +<TGConnectingPoint num="49" id="2875" /> +<TGConnectingPoint num="50" id="2876" /> +<TGConnectingPoint num="51" id="2877" /> +<TGConnectingPoint num="52" id="2878" /> +<TGConnectingPoint num="53" id="2879" /> +<TGConnectingPoint num="54" id="2880" /> +<TGConnectingPoint num="55" id="2881" /> +<TGConnectingPoint num="56" id="2882" /> +<TGConnectingPoint num="57" id="2883" /> +<TGConnectingPoint num="58" id="2884" /> +<TGConnectingPoint num="59" id="2885" /> +<TGConnectingPoint num="60" id="2886" /> +<TGConnectingPoint num="61" id="2887" /> +<TGConnectingPoint num="62" id="2888" /> +<TGConnectingPoint num="63" id="2889" /> +<TGConnectingPoint num="64" id="2890" /> +<TGConnectingPoint num="65" id="2891" /> +<TGConnectingPoint num="66" id="2892" /> +<TGConnectingPoint num="67" id="2893" /> +<TGConnectingPoint num="68" id="2894" /> +<TGConnectingPoint num="69" id="2895" /> +<TGConnectingPoint num="70" id="2896" /> +<TGConnectingPoint num="71" id="2897" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5103" id="2909" index="16" uid="310a67c0-47c3-4611-8daf-24cc1247c8cd" > +<cdparam x="680" y="440" /> +<sizeparam width="71" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Send signal" value="ejectCoin()" /> +<new d="false" /> +<TGConnectingPoint num="0" id="2899" /> +<TGConnectingPoint num="1" id="2900" /> +<TGConnectingPoint num="2" id="2901" /> +<TGConnectingPoint num="3" id="2902" /> +<TGConnectingPoint num="4" id="2903" /> +<TGConnectingPoint num="5" id="2904" /> +<TGConnectingPoint num="6" id="2905" /> +<TGConnectingPoint num="7" id="2906" /> +<TGConnectingPoint num="8" id="2907" /> +<TGConnectingPoint num="9" id="2908" /> +</COMPONENT> + +<COMPONENT type="5106" id="2982" index="17" uid="dd6314cb-515f-4f14-a27f-0e835b48d234" > +<cdparam x="700" y="340" /> +<sizeparam width="176" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="state" value="twoCoinsInserted" /> +<new d="false" /> +<TGConnectingPoint num="0" id="2910" /> +<TGConnectingPoint num="1" id="2911" /> +<TGConnectingPoint num="2" id="2912" /> +<TGConnectingPoint num="3" id="2913" /> +<TGConnectingPoint num="4" id="2914" /> +<TGConnectingPoint num="5" id="2915" /> +<TGConnectingPoint num="6" id="2916" /> +<TGConnectingPoint num="7" id="2917" /> +<TGConnectingPoint num="8" id="2918" /> +<TGConnectingPoint num="9" id="2919" /> +<TGConnectingPoint num="10" id="2920" /> +<TGConnectingPoint num="11" id="2921" /> +<TGConnectingPoint num="12" id="2922" /> +<TGConnectingPoint num="13" id="2923" /> +<TGConnectingPoint num="14" id="2924" /> +<TGConnectingPoint num="15" id="2925" /> +<TGConnectingPoint num="16" id="2926" /> +<TGConnectingPoint num="17" id="2927" /> +<TGConnectingPoint num="18" id="2928" /> +<TGConnectingPoint num="19" id="2929" /> +<TGConnectingPoint num="20" id="2930" /> +<TGConnectingPoint num="21" id="2931" /> +<TGConnectingPoint num="22" id="2932" /> +<TGConnectingPoint num="23" id="2933" /> +<TGConnectingPoint num="24" id="2934" /> +<TGConnectingPoint num="25" id="2935" /> +<TGConnectingPoint num="26" id="2936" /> +<TGConnectingPoint num="27" id="2937" /> +<TGConnectingPoint num="28" id="2938" /> +<TGConnectingPoint num="29" id="2939" /> +<TGConnectingPoint num="30" id="2940" /> +<TGConnectingPoint num="31" id="2941" /> +<TGConnectingPoint num="32" id="2942" /> +<TGConnectingPoint num="33" id="2943" /> +<TGConnectingPoint num="34" id="2944" /> +<TGConnectingPoint num="35" id="2945" /> +<TGConnectingPoint num="36" id="2946" /> +<TGConnectingPoint num="37" id="2947" /> +<TGConnectingPoint num="38" id="2948" /> +<TGConnectingPoint num="39" id="2949" /> +<TGConnectingPoint num="40" id="2950" /> +<TGConnectingPoint num="41" id="2951" /> +<TGConnectingPoint num="42" id="2952" /> +<TGConnectingPoint num="43" id="2953" /> +<TGConnectingPoint num="44" id="2954" /> +<TGConnectingPoint num="45" id="2955" /> +<TGConnectingPoint num="46" id="2956" /> +<TGConnectingPoint num="47" id="2957" /> +<TGConnectingPoint num="48" id="2958" /> +<TGConnectingPoint num="49" id="2959" /> +<TGConnectingPoint num="50" id="2960" /> +<TGConnectingPoint num="51" id="2961" /> +<TGConnectingPoint num="52" id="2962" /> +<TGConnectingPoint num="53" id="2963" /> +<TGConnectingPoint num="54" id="2964" /> +<TGConnectingPoint num="55" id="2965" /> +<TGConnectingPoint num="56" id="2966" /> +<TGConnectingPoint num="57" id="2967" /> +<TGConnectingPoint num="58" id="2968" /> +<TGConnectingPoint num="59" id="2969" /> +<TGConnectingPoint num="60" id="2970" /> +<TGConnectingPoint num="61" id="2971" /> +<TGConnectingPoint num="62" id="2972" /> +<TGConnectingPoint num="63" id="2973" /> +<TGConnectingPoint num="64" id="2974" /> +<TGConnectingPoint num="65" id="2975" /> +<TGConnectingPoint num="66" id="2976" /> +<TGConnectingPoint num="67" id="2977" /> +<TGConnectingPoint num="68" id="2978" /> +<TGConnectingPoint num="69" id="2979" /> +<TGConnectingPoint num="70" id="2980" /> +<TGConnectingPoint num="71" id="2981" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5103" id="2993" index="18" uid="07ae81b0-c061-408f-ace5-e6f21e3cd467" > +<cdparam x="384" y="340" /> +<sizeparam width="62" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Send signal" value="putCoin()" /> +<new d="false" /> +<TGConnectingPoint num="0" id="2983" /> +<TGConnectingPoint num="1" id="2984" /> +<TGConnectingPoint num="2" id="2985" /> +<TGConnectingPoint num="3" id="2986" /> +<TGConnectingPoint num="4" id="2987" /> +<TGConnectingPoint num="5" id="2988" /> +<TGConnectingPoint num="6" id="2989" /> +<TGConnectingPoint num="7" id="2990" /> +<TGConnectingPoint num="8" id="2991" /> +<TGConnectingPoint num="9" id="2992" /> +</COMPONENT> + +<COMPONENT type="5106" id="3066" index="19" uid="3b7261c5-b9bc-4c34-9587-ac20a4bf2fca" > +<cdparam x="400" y="240" /> +<sizeparam width="165" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="state" value="oneCoinInserted" /> +<new d="false" /> +<TGConnectingPoint num="0" id="2994" /> +<TGConnectingPoint num="1" id="2995" /> +<TGConnectingPoint num="2" id="2996" /> +<TGConnectingPoint num="3" id="2997" /> +<TGConnectingPoint num="4" id="2998" /> +<TGConnectingPoint num="5" id="2999" /> +<TGConnectingPoint num="6" id="3000" /> +<TGConnectingPoint num="7" id="3001" /> +<TGConnectingPoint num="8" id="3002" /> +<TGConnectingPoint num="9" id="3003" /> +<TGConnectingPoint num="10" id="3004" /> +<TGConnectingPoint num="11" id="3005" /> +<TGConnectingPoint num="12" id="3006" /> +<TGConnectingPoint num="13" id="3007" /> +<TGConnectingPoint num="14" id="3008" /> +<TGConnectingPoint num="15" id="3009" /> +<TGConnectingPoint num="16" id="3010" /> +<TGConnectingPoint num="17" id="3011" /> +<TGConnectingPoint num="18" id="3012" /> +<TGConnectingPoint num="19" id="3013" /> +<TGConnectingPoint num="20" id="3014" /> +<TGConnectingPoint num="21" id="3015" /> +<TGConnectingPoint num="22" id="3016" /> +<TGConnectingPoint num="23" id="3017" /> +<TGConnectingPoint num="24" id="3018" /> +<TGConnectingPoint num="25" id="3019" /> +<TGConnectingPoint num="26" id="3020" /> +<TGConnectingPoint num="27" id="3021" /> +<TGConnectingPoint num="28" id="3022" /> +<TGConnectingPoint num="29" id="3023" /> +<TGConnectingPoint num="30" id="3024" /> +<TGConnectingPoint num="31" id="3025" /> +<TGConnectingPoint num="32" id="3026" /> +<TGConnectingPoint num="33" id="3027" /> +<TGConnectingPoint num="34" id="3028" /> +<TGConnectingPoint num="35" id="3029" /> +<TGConnectingPoint num="36" id="3030" /> +<TGConnectingPoint num="37" id="3031" /> +<TGConnectingPoint num="38" id="3032" /> +<TGConnectingPoint num="39" id="3033" /> +<TGConnectingPoint num="40" id="3034" /> +<TGConnectingPoint num="41" id="3035" /> +<TGConnectingPoint num="42" id="3036" /> +<TGConnectingPoint num="43" id="3037" /> +<TGConnectingPoint num="44" id="3038" /> +<TGConnectingPoint num="45" id="3039" /> +<TGConnectingPoint num="46" id="3040" /> +<TGConnectingPoint num="47" id="3041" /> +<TGConnectingPoint num="48" id="3042" /> +<TGConnectingPoint num="49" id="3043" /> +<TGConnectingPoint num="50" id="3044" /> +<TGConnectingPoint num="51" id="3045" /> +<TGConnectingPoint num="52" id="3046" /> +<TGConnectingPoint num="53" id="3047" /> +<TGConnectingPoint num="54" id="3048" /> +<TGConnectingPoint num="55" id="3049" /> +<TGConnectingPoint num="56" id="3050" /> +<TGConnectingPoint num="57" id="3051" /> +<TGConnectingPoint num="58" id="3052" /> +<TGConnectingPoint num="59" id="3053" /> +<TGConnectingPoint num="60" id="3054" /> +<TGConnectingPoint num="61" id="3055" /> +<TGConnectingPoint num="62" id="3056" /> +<TGConnectingPoint num="63" id="3057" /> +<TGConnectingPoint num="64" id="3058" /> +<TGConnectingPoint num="65" id="3059" /> +<TGConnectingPoint num="66" id="3060" /> +<TGConnectingPoint num="67" id="3061" /> +<TGConnectingPoint num="68" id="3062" /> +<TGConnectingPoint num="69" id="3063" /> +<TGConnectingPoint num="70" id="3064" /> +<TGConnectingPoint num="71" id="3065" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5106" id="3139" index="20" uid="34858d86-1ddd-40a5-85ea-91a61bac8e3f" > +<cdparam x="400" y="140" /> +<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="2500" minY="10" maxY="1500" /> +<infoparam name="state" value="Start" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3067" /> +<TGConnectingPoint num="1" id="3068" /> +<TGConnectingPoint num="2" id="3069" /> +<TGConnectingPoint num="3" id="3070" /> +<TGConnectingPoint num="4" id="3071" /> +<TGConnectingPoint num="5" id="3072" /> +<TGConnectingPoint num="6" id="3073" /> +<TGConnectingPoint num="7" id="3074" /> +<TGConnectingPoint num="8" id="3075" /> +<TGConnectingPoint num="9" id="3076" /> +<TGConnectingPoint num="10" id="3077" /> +<TGConnectingPoint num="11" id="3078" /> +<TGConnectingPoint num="12" id="3079" /> +<TGConnectingPoint num="13" id="3080" /> +<TGConnectingPoint num="14" id="3081" /> +<TGConnectingPoint num="15" id="3082" /> +<TGConnectingPoint num="16" id="3083" /> +<TGConnectingPoint num="17" id="3084" /> +<TGConnectingPoint num="18" id="3085" /> +<TGConnectingPoint num="19" id="3086" /> +<TGConnectingPoint num="20" id="3087" /> +<TGConnectingPoint num="21" id="3088" /> +<TGConnectingPoint num="22" id="3089" /> +<TGConnectingPoint num="23" id="3090" /> +<TGConnectingPoint num="24" id="3091" /> +<TGConnectingPoint num="25" id="3092" /> +<TGConnectingPoint num="26" id="3093" /> +<TGConnectingPoint num="27" id="3094" /> +<TGConnectingPoint num="28" id="3095" /> +<TGConnectingPoint num="29" id="3096" /> +<TGConnectingPoint num="30" id="3097" /> +<TGConnectingPoint num="31" id="3098" /> +<TGConnectingPoint num="32" id="3099" /> +<TGConnectingPoint num="33" id="3100" /> +<TGConnectingPoint num="34" id="3101" /> +<TGConnectingPoint num="35" id="3102" /> +<TGConnectingPoint num="36" id="3103" /> +<TGConnectingPoint num="37" id="3104" /> +<TGConnectingPoint num="38" id="3105" /> +<TGConnectingPoint num="39" id="3106" /> +<TGConnectingPoint num="40" id="3107" /> +<TGConnectingPoint num="41" id="3108" /> +<TGConnectingPoint num="42" id="3109" /> +<TGConnectingPoint num="43" id="3110" /> +<TGConnectingPoint num="44" id="3111" /> +<TGConnectingPoint num="45" id="3112" /> +<TGConnectingPoint num="46" id="3113" /> +<TGConnectingPoint num="47" id="3114" /> +<TGConnectingPoint num="48" id="3115" /> +<TGConnectingPoint num="49" id="3116" /> +<TGConnectingPoint num="50" id="3117" /> +<TGConnectingPoint num="51" id="3118" /> +<TGConnectingPoint num="52" id="3119" /> +<TGConnectingPoint num="53" id="3120" /> +<TGConnectingPoint num="54" id="3121" /> +<TGConnectingPoint num="55" id="3122" /> +<TGConnectingPoint num="56" id="3123" /> +<TGConnectingPoint num="57" id="3124" /> +<TGConnectingPoint num="58" id="3125" /> +<TGConnectingPoint num="59" id="3126" /> +<TGConnectingPoint num="60" id="3127" /> +<TGConnectingPoint num="61" id="3128" /> +<TGConnectingPoint num="62" id="3129" /> +<TGConnectingPoint num="63" id="3130" /> +<TGConnectingPoint num="64" id="3131" /> +<TGConnectingPoint num="65" id="3132" /> +<TGConnectingPoint num="66" id="3133" /> +<TGConnectingPoint num="67" id="3134" /> +<TGConnectingPoint num="68" id="3135" /> +<TGConnectingPoint num="69" id="3136" /> +<TGConnectingPoint num="70" id="3137" /> +<TGConnectingPoint num="71" id="3138" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5100" id="3141" index="21" uid="3e2339c5-f7a2-4939-b87e-c2dc90101343" > +<cdparam x="400" y="40" /> +<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="start state" value="null" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3140" /> +</COMPONENT> + + +</AVATARStateMachineDiagramPanel> + +<AVATARStateMachineDiagramPanel name="CoffeeMachine" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > +<CONNECTOR type="5102" id="3148" index="0" uid="47d3bb44-8205-4c23-b804-466fcd2715f5" > +<cdparam x="504" y="490" /> +<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="3147" /> +<P1 x="504" y="490" id="3393" /> +<P2 x="500" y="171" id="3632" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3146" index="20" uid="945dade2-30b6-4e17-8e0c-886fb1974df0" > +<father id="3148" num="0" /> +<cdparam x="502" y="330" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3142" /> +<TGConnectingPoint num="1" id="3143" /> +<TGConnectingPoint num="2" id="3144" /> +<TGConnectingPoint num="3" id="3145" /> +<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="3155" index="1" uid="26b5ff39-cd6b-4b46-a283-8b00bc5188f9" > +<cdparam x="471" y="290" /> +<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="3154" /> +<P1 x="471" y="290" id="3571" /> +<P2 x="477" y="340" id="3461" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3153" index="21" uid="58d221fc-df4a-4f7f-a9bd-a83eba8097a8" > +<father id="3155" num="0" /> +<cdparam x="474" y="315" /> +<sizeparam width="100" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3149" /> +<TGConnectingPoint num="1" id="3150" /> +<TGConnectingPoint num="2" id="3151" /> +<TGConnectingPoint num="3" id="3152" /> +<extraparam> +<guard value="nbOfCoins == 2" 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="3162" index="2" uid="ef1755c7-79ac-41e0-ade9-4fcb131d80e5" > +<cdparam x="715" y="365" /> +<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="3161" /> +<P1 x="715" y="365" id="3293" /> +<P2 x="766" y="440" id="3220" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3160" index="22" uid="dc9c5295-a240-4cd9-9d74-266c74e65b29" > +<father id="3162" num="0" /> +<cdparam x="740" y="402" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3156" /> +<TGConnectingPoint num="1" id="3157" /> +<TGConnectingPoint num="2" id="3158" /> +<TGConnectingPoint num="3" id="3159" /> +<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="3169" index="3" uid="a8d2bcd7-a60a-449f-983b-3628f1202bf7" > +<cdparam x="407" y="60" /> +<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="3168" /> +<P1 x="407" y="60" id="3679" /> +<P2 x="450" y="140" id="3607" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3167" index="23" uid="ac538fab-8f44-4228-802a-fc5b6a877dcd" > +<father id="3169" num="0" /> +<cdparam x="428" y="100" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3163" /> +<TGConnectingPoint num="1" id="3164" /> +<TGConnectingPoint num="2" id="3165" /> +<TGConnectingPoint num="3" id="3166" /> +<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="3176" index="4" uid="b4b997b5-49d5-459e-87ef-2d156c5ae1b8" > +<cdparam x="715" y="465" /> +<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="3175" /> +<P1 x="715" y="465" id="3377" /> +<P2 x="788" y="540" id="3304" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3174" index="24" uid="c4b759cf-90d2-4c19-a8dd-89f770f260ae" > +<father id="3176" num="0" /> +<cdparam x="751" y="502" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3170" /> +<TGConnectingPoint num="1" id="3171" /> +<TGConnectingPoint num="2" id="3172" /> +<TGConnectingPoint num="3" id="3173" /> +<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="3183" index="5" uid="8cc6e628-d552-400c-8616-1061f61f1231" > +<cdparam x="450" y="190" /> +<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="3182" /> +<P1 x="450" y="190" id="3612" /> +<P2 x="471" y="240" id="3534" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3181" index="25" uid="79cf3c2c-677a-4e8b-be68-2363ff2d259d" > +<father id="3183" num="0" /> +<cdparam x="460" y="215" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3177" /> +<TGConnectingPoint num="1" id="3178" /> +<TGConnectingPoint num="2" id="3179" /> +<TGConnectingPoint num="3" id="3180" /> +<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="3190" index="6" uid="66cd667f-3a19-4e11-9d58-f8aa4edbc400" > +<cdparam x="471" y="290" /> +<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="3189" /> +<P1 x="471" y="290" id="3539" /> +<P2 x="715" y="335" id="3292" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3188" index="26" uid="6295213a-1869-4408-a918-a133b4e492e4" > +<father id="3190" num="0" /> +<cdparam x="593" y="312" /> +<sizeparam width="162" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3184" /> +<TGConnectingPoint num="1" id="3185" /> +<TGConnectingPoint num="2" id="3186" /> +<TGConnectingPoint num="3" id="3187" /> +<extraparam> +<guard value="[ ]" enabled="true"/> +<afterMin value="coinDelay" enabled="true"/> +<afterMax value="coinDelay" 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="3197" index="7" uid="bce81312-9032-45a7-ad44-9b66f4036936" > +<cdparam x="477" y="390" /> +<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="3196" /> +<P1 x="477" y="390" id="3498" /> +<P2 x="715" y="435" id="3376" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3195" index="27" uid="cf5dc0f1-5b1d-45ca-8307-c48153600ee0" > +<father id="3197" num="0" /> +<cdparam x="596" y="412" /> +<sizeparam width="200" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3191" /> +<TGConnectingPoint num="1" id="3192" /> +<TGConnectingPoint num="2" id="3193" /> +<TGConnectingPoint num="3" id="3194" /> +<extraparam> +<guard value="[ ]" enabled="true"/> +<afterMin value="teaMaxDelay" enabled="true"/> +<afterMax value="teaMaxDelay" 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="3204" index="8" uid="35e108cc-fc06-4cbd-b73c-6f2ed7ac0cf3" > +<cdparam x="788" y="590" /> +<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="3203" /> +<P1 x="788" y="590" id="3309" /> +<P2 x="500" y="165" id="3642" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3202" index="28" uid="7ee2ca5f-8050-467d-9710-b1b393ca5025" > +<father id="3204" num="0" /> +<cdparam x="644" y="377" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3198" /> +<TGConnectingPoint num="1" id="3199" /> +<TGConnectingPoint num="2" id="3200" /> +<TGConnectingPoint num="3" id="3201" /> +<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="3211" index="9" uid="b9375723-7aed-4f41-99f0-ba85ad2b713e" > +<cdparam x="766" y="490" /> +<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="3210" /> +<P1 x="766" y="490" id="3225" /> +<P2 x="500" y="165" id="3610" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3209" index="29" uid="355878be-5649-411e-a586-58af8d1d9a0b" > +<father id="3211" num="0" /> +<cdparam x="633" y="327" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3205" /> +<TGConnectingPoint num="1" id="3206" /> +<TGConnectingPoint num="2" id="3207" /> +<TGConnectingPoint num="3" id="3208" /> +<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="3218" index="10" uid="f91b96a0-c280-4c00-95b3-bcdbbc1a7f85" > +<cdparam x="477" y="390" /> +<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="3217" /> +<P1 x="477" y="390" id="3466" /> +<P2 x="504" y="440" id="3388" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3216" index="30" uid="a23eddec-c916-4293-8f38-ae4d47bcd803" > +<father id="3218" num="0" /> +<cdparam x="490" y="415" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3212" /> +<TGConnectingPoint num="1" id="3213" /> +<TGConnectingPoint num="2" id="3214" /> +<TGConnectingPoint num="3" id="3215" /> +<extraparam> +<guard value="x > 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> + +<COMPONENT type="5106" id="3291" index="11" uid="4966518e-b7e1-4ec1-969f-7b0c6ff5a8dc" > +<cdparam x="700" y="440" /> +<sizeparam width="132" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="state" value="CoinEjection" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3219" /> +<TGConnectingPoint num="1" id="3220" /> +<TGConnectingPoint num="2" id="3221" /> +<TGConnectingPoint num="3" id="3222" /> +<TGConnectingPoint num="4" id="3223" /> +<TGConnectingPoint num="5" id="3224" /> +<TGConnectingPoint num="6" id="3225" /> +<TGConnectingPoint num="7" id="3226" /> +<TGConnectingPoint num="8" id="3227" /> +<TGConnectingPoint num="9" id="3228" /> +<TGConnectingPoint num="10" id="3229" /> +<TGConnectingPoint num="11" id="3230" /> +<TGConnectingPoint num="12" id="3231" /> +<TGConnectingPoint num="13" id="3232" /> +<TGConnectingPoint num="14" id="3233" /> +<TGConnectingPoint num="15" id="3234" /> +<TGConnectingPoint num="16" id="3235" /> +<TGConnectingPoint num="17" id="3236" /> +<TGConnectingPoint num="18" id="3237" /> +<TGConnectingPoint num="19" id="3238" /> +<TGConnectingPoint num="20" id="3239" /> +<TGConnectingPoint num="21" id="3240" /> +<TGConnectingPoint num="22" id="3241" /> +<TGConnectingPoint num="23" id="3242" /> +<TGConnectingPoint num="24" id="3243" /> +<TGConnectingPoint num="25" id="3244" /> +<TGConnectingPoint num="26" id="3245" /> +<TGConnectingPoint num="27" id="3246" /> +<TGConnectingPoint num="28" id="3247" /> +<TGConnectingPoint num="29" id="3248" /> +<TGConnectingPoint num="30" id="3249" /> +<TGConnectingPoint num="31" id="3250" /> +<TGConnectingPoint num="32" id="3251" /> +<TGConnectingPoint num="33" id="3252" /> +<TGConnectingPoint num="34" id="3253" /> +<TGConnectingPoint num="35" id="3254" /> +<TGConnectingPoint num="36" id="3255" /> +<TGConnectingPoint num="37" id="3256" /> +<TGConnectingPoint num="38" id="3257" /> +<TGConnectingPoint num="39" id="3258" /> +<TGConnectingPoint num="40" id="3259" /> +<TGConnectingPoint num="41" id="3260" /> +<TGConnectingPoint num="42" id="3261" /> +<TGConnectingPoint num="43" id="3262" /> +<TGConnectingPoint num="44" id="3263" /> +<TGConnectingPoint num="45" id="3264" /> +<TGConnectingPoint num="46" id="3265" /> +<TGConnectingPoint num="47" id="3266" /> +<TGConnectingPoint num="48" id="3267" /> +<TGConnectingPoint num="49" id="3268" /> +<TGConnectingPoint num="50" id="3269" /> +<TGConnectingPoint num="51" id="3270" /> +<TGConnectingPoint num="52" id="3271" /> +<TGConnectingPoint num="53" id="3272" /> +<TGConnectingPoint num="54" id="3273" /> +<TGConnectingPoint num="55" id="3274" /> +<TGConnectingPoint num="56" id="3275" /> +<TGConnectingPoint num="57" id="3276" /> +<TGConnectingPoint num="58" id="3277" /> +<TGConnectingPoint num="59" id="3278" /> +<TGConnectingPoint num="60" id="3279" /> +<TGConnectingPoint num="61" id="3280" /> +<TGConnectingPoint num="62" id="3281" /> +<TGConnectingPoint num="63" id="3282" /> +<TGConnectingPoint num="64" id="3283" /> +<TGConnectingPoint num="65" id="3284" /> +<TGConnectingPoint num="66" id="3285" /> +<TGConnectingPoint num="67" id="3286" /> +<TGConnectingPoint num="68" id="3287" /> +<TGConnectingPoint num="69" id="3288" /> +<TGConnectingPoint num="70" id="3289" /> +<TGConnectingPoint num="71" id="3290" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5103" id="3302" index="12" uid="bb871f64-f5fd-4df1-a853-43159523856d" > +<cdparam x="680" y="340" /> +<sizeparam width="71" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Send signal" value="ejectCoin()" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3292" /> +<TGConnectingPoint num="1" id="3293" /> +<TGConnectingPoint num="2" id="3294" /> +<TGConnectingPoint num="3" id="3295" /> +<TGConnectingPoint num="4" id="3296" /> +<TGConnectingPoint num="5" id="3297" /> +<TGConnectingPoint num="6" id="3298" /> +<TGConnectingPoint num="7" id="3299" /> +<TGConnectingPoint num="8" id="3300" /> +<TGConnectingPoint num="9" id="3301" /> +</COMPONENT> + +<COMPONENT type="5106" id="3375" index="13" uid="d36be56e-1eb5-4c1e-8ed8-fa8d0ba2b416" > +<cdparam x="700" y="540" /> +<sizeparam width="176" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="state" value="BeverageEjection" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3303" /> +<TGConnectingPoint num="1" id="3304" /> +<TGConnectingPoint num="2" id="3305" /> +<TGConnectingPoint num="3" id="3306" /> +<TGConnectingPoint num="4" id="3307" /> +<TGConnectingPoint num="5" id="3308" /> +<TGConnectingPoint num="6" id="3309" /> +<TGConnectingPoint num="7" id="3310" /> +<TGConnectingPoint num="8" id="3311" /> +<TGConnectingPoint num="9" id="3312" /> +<TGConnectingPoint num="10" id="3313" /> +<TGConnectingPoint num="11" id="3314" /> +<TGConnectingPoint num="12" id="3315" /> +<TGConnectingPoint num="13" id="3316" /> +<TGConnectingPoint num="14" id="3317" /> +<TGConnectingPoint num="15" id="3318" /> +<TGConnectingPoint num="16" id="3319" /> +<TGConnectingPoint num="17" id="3320" /> +<TGConnectingPoint num="18" id="3321" /> +<TGConnectingPoint num="19" id="3322" /> +<TGConnectingPoint num="20" id="3323" /> +<TGConnectingPoint num="21" id="3324" /> +<TGConnectingPoint num="22" id="3325" /> +<TGConnectingPoint num="23" id="3326" /> +<TGConnectingPoint num="24" id="3327" /> +<TGConnectingPoint num="25" id="3328" /> +<TGConnectingPoint num="26" id="3329" /> +<TGConnectingPoint num="27" id="3330" /> +<TGConnectingPoint num="28" id="3331" /> +<TGConnectingPoint num="29" id="3332" /> +<TGConnectingPoint num="30" id="3333" /> +<TGConnectingPoint num="31" id="3334" /> +<TGConnectingPoint num="32" id="3335" /> +<TGConnectingPoint num="33" id="3336" /> +<TGConnectingPoint num="34" id="3337" /> +<TGConnectingPoint num="35" id="3338" /> +<TGConnectingPoint num="36" id="3339" /> +<TGConnectingPoint num="37" id="3340" /> +<TGConnectingPoint num="38" id="3341" /> +<TGConnectingPoint num="39" id="3342" /> +<TGConnectingPoint num="40" id="3343" /> +<TGConnectingPoint num="41" id="3344" /> +<TGConnectingPoint num="42" id="3345" /> +<TGConnectingPoint num="43" id="3346" /> +<TGConnectingPoint num="44" id="3347" /> +<TGConnectingPoint num="45" id="3348" /> +<TGConnectingPoint num="46" id="3349" /> +<TGConnectingPoint num="47" id="3350" /> +<TGConnectingPoint num="48" id="3351" /> +<TGConnectingPoint num="49" id="3352" /> +<TGConnectingPoint num="50" id="3353" /> +<TGConnectingPoint num="51" id="3354" /> +<TGConnectingPoint num="52" id="3355" /> +<TGConnectingPoint num="53" id="3356" /> +<TGConnectingPoint num="54" id="3357" /> +<TGConnectingPoint num="55" id="3358" /> +<TGConnectingPoint num="56" id="3359" /> +<TGConnectingPoint num="57" id="3360" /> +<TGConnectingPoint num="58" id="3361" /> +<TGConnectingPoint num="59" id="3362" /> +<TGConnectingPoint num="60" id="3363" /> +<TGConnectingPoint num="61" id="3364" /> +<TGConnectingPoint num="62" id="3365" /> +<TGConnectingPoint num="63" id="3366" /> +<TGConnectingPoint num="64" id="3367" /> +<TGConnectingPoint num="65" id="3368" /> +<TGConnectingPoint num="66" id="3369" /> +<TGConnectingPoint num="67" id="3370" /> +<TGConnectingPoint num="68" id="3371" /> +<TGConnectingPoint num="69" id="3372" /> +<TGConnectingPoint num="70" id="3373" /> +<TGConnectingPoint num="71" id="3374" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5103" id="3386" index="14" uid="cdd181ef-209f-4bd4-9cad-613608a12642" > +<cdparam x="680" y="440" /> +<sizeparam width="71" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Send signal" value="ejectCoin()" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3376" /> +<TGConnectingPoint num="1" id="3377" /> +<TGConnectingPoint num="2" id="3378" /> +<TGConnectingPoint num="3" id="3379" /> +<TGConnectingPoint num="4" id="3380" /> +<TGConnectingPoint num="5" id="3381" /> +<TGConnectingPoint num="6" id="3382" /> +<TGConnectingPoint num="7" id="3383" /> +<TGConnectingPoint num="8" id="3384" /> +<TGConnectingPoint num="9" id="3385" /> +</COMPONENT> + +<COMPONENT type="5106" id="3459" index="15" uid="382cfd88-4672-41d5-a510-32cb75b036dc" > +<cdparam x="400" y="440" /> +<sizeparam width="209" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="state" value="BeveragePreparation" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3387" /> +<TGConnectingPoint num="1" id="3388" /> +<TGConnectingPoint num="2" id="3389" /> +<TGConnectingPoint num="3" id="3390" /> +<TGConnectingPoint num="4" id="3391" /> +<TGConnectingPoint num="5" id="3392" /> +<TGConnectingPoint num="6" id="3393" /> +<TGConnectingPoint num="7" id="3394" /> +<TGConnectingPoint num="8" id="3395" /> +<TGConnectingPoint num="9" id="3396" /> +<TGConnectingPoint num="10" id="3397" /> +<TGConnectingPoint num="11" id="3398" /> +<TGConnectingPoint num="12" id="3399" /> +<TGConnectingPoint num="13" id="3400" /> +<TGConnectingPoint num="14" id="3401" /> +<TGConnectingPoint num="15" id="3402" /> +<TGConnectingPoint num="16" id="3403" /> +<TGConnectingPoint num="17" id="3404" /> +<TGConnectingPoint num="18" id="3405" /> +<TGConnectingPoint num="19" id="3406" /> +<TGConnectingPoint num="20" id="3407" /> +<TGConnectingPoint num="21" id="3408" /> +<TGConnectingPoint num="22" id="3409" /> +<TGConnectingPoint num="23" id="3410" /> +<TGConnectingPoint num="24" id="3411" /> +<TGConnectingPoint num="25" id="3412" /> +<TGConnectingPoint num="26" id="3413" /> +<TGConnectingPoint num="27" id="3414" /> +<TGConnectingPoint num="28" id="3415" /> +<TGConnectingPoint num="29" id="3416" /> +<TGConnectingPoint num="30" id="3417" /> +<TGConnectingPoint num="31" id="3418" /> +<TGConnectingPoint num="32" id="3419" /> +<TGConnectingPoint num="33" id="3420" /> +<TGConnectingPoint num="34" id="3421" /> +<TGConnectingPoint num="35" id="3422" /> +<TGConnectingPoint num="36" id="3423" /> +<TGConnectingPoint num="37" id="3424" /> +<TGConnectingPoint num="38" id="3425" /> +<TGConnectingPoint num="39" id="3426" /> +<TGConnectingPoint num="40" id="3427" /> +<TGConnectingPoint num="41" id="3428" /> +<TGConnectingPoint num="42" id="3429" /> +<TGConnectingPoint num="43" id="3430" /> +<TGConnectingPoint num="44" id="3431" /> +<TGConnectingPoint num="45" id="3432" /> +<TGConnectingPoint num="46" id="3433" /> +<TGConnectingPoint num="47" id="3434" /> +<TGConnectingPoint num="48" id="3435" /> +<TGConnectingPoint num="49" id="3436" /> +<TGConnectingPoint num="50" id="3437" /> +<TGConnectingPoint num="51" id="3438" /> +<TGConnectingPoint num="52" id="3439" /> +<TGConnectingPoint num="53" id="3440" /> +<TGConnectingPoint num="54" id="3441" /> +<TGConnectingPoint num="55" id="3442" /> +<TGConnectingPoint num="56" id="3443" /> +<TGConnectingPoint num="57" id="3444" /> +<TGConnectingPoint num="58" id="3445" /> +<TGConnectingPoint num="59" id="3446" /> +<TGConnectingPoint num="60" id="3447" /> +<TGConnectingPoint num="61" id="3448" /> +<TGConnectingPoint num="62" id="3449" /> +<TGConnectingPoint num="63" id="3450" /> +<TGConnectingPoint num="64" id="3451" /> +<TGConnectingPoint num="65" id="3452" /> +<TGConnectingPoint num="66" id="3453" /> +<TGConnectingPoint num="67" id="3454" /> +<TGConnectingPoint num="68" id="3455" /> +<TGConnectingPoint num="69" id="3456" /> +<TGConnectingPoint num="70" id="3457" /> +<TGConnectingPoint num="71" id="3458" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5106" id="3532" index="16" uid="0edbe78c-1bc3-4ade-947b-aa590b9d1ca8" > +<cdparam x="400" y="340" /> +<sizeparam width="154" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="state" value="SelectBeverage" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3460" /> +<TGConnectingPoint num="1" id="3461" /> +<TGConnectingPoint num="2" id="3462" /> +<TGConnectingPoint num="3" id="3463" /> +<TGConnectingPoint num="4" id="3464" /> +<TGConnectingPoint num="5" id="3465" /> +<TGConnectingPoint num="6" id="3466" /> +<TGConnectingPoint num="7" id="3467" /> +<TGConnectingPoint num="8" id="3468" /> +<TGConnectingPoint num="9" id="3469" /> +<TGConnectingPoint num="10" id="3470" /> +<TGConnectingPoint num="11" id="3471" /> +<TGConnectingPoint num="12" id="3472" /> +<TGConnectingPoint num="13" id="3473" /> +<TGConnectingPoint num="14" id="3474" /> +<TGConnectingPoint num="15" id="3475" /> +<TGConnectingPoint num="16" id="3476" /> +<TGConnectingPoint num="17" id="3477" /> +<TGConnectingPoint num="18" id="3478" /> +<TGConnectingPoint num="19" id="3479" /> +<TGConnectingPoint num="20" id="3480" /> +<TGConnectingPoint num="21" id="3481" /> +<TGConnectingPoint num="22" id="3482" /> +<TGConnectingPoint num="23" id="3483" /> +<TGConnectingPoint num="24" id="3484" /> +<TGConnectingPoint num="25" id="3485" /> +<TGConnectingPoint num="26" id="3486" /> +<TGConnectingPoint num="27" id="3487" /> +<TGConnectingPoint num="28" id="3488" /> +<TGConnectingPoint num="29" id="3489" /> +<TGConnectingPoint num="30" id="3490" /> +<TGConnectingPoint num="31" id="3491" /> +<TGConnectingPoint num="32" id="3492" /> +<TGConnectingPoint num="33" id="3493" /> +<TGConnectingPoint num="34" id="3494" /> +<TGConnectingPoint num="35" id="3495" /> +<TGConnectingPoint num="36" id="3496" /> +<TGConnectingPoint num="37" id="3497" /> +<TGConnectingPoint num="38" id="3498" /> +<TGConnectingPoint num="39" id="3499" /> +<TGConnectingPoint num="40" id="3500" /> +<TGConnectingPoint num="41" id="3501" /> +<TGConnectingPoint num="42" id="3502" /> +<TGConnectingPoint num="43" id="3503" /> +<TGConnectingPoint num="44" id="3504" /> +<TGConnectingPoint num="45" id="3505" /> +<TGConnectingPoint num="46" id="3506" /> +<TGConnectingPoint num="47" id="3507" /> +<TGConnectingPoint num="48" id="3508" /> +<TGConnectingPoint num="49" id="3509" /> +<TGConnectingPoint num="50" id="3510" /> +<TGConnectingPoint num="51" id="3511" /> +<TGConnectingPoint num="52" id="3512" /> +<TGConnectingPoint num="53" id="3513" /> +<TGConnectingPoint num="54" id="3514" /> +<TGConnectingPoint num="55" id="3515" /> +<TGConnectingPoint num="56" id="3516" /> +<TGConnectingPoint num="57" id="3517" /> +<TGConnectingPoint num="58" id="3518" /> +<TGConnectingPoint num="59" id="3519" /> +<TGConnectingPoint num="60" id="3520" /> +<TGConnectingPoint num="61" id="3521" /> +<TGConnectingPoint num="62" id="3522" /> +<TGConnectingPoint num="63" id="3523" /> +<TGConnectingPoint num="64" id="3524" /> +<TGConnectingPoint num="65" id="3525" /> +<TGConnectingPoint num="66" id="3526" /> +<TGConnectingPoint num="67" id="3527" /> +<TGConnectingPoint num="68" id="3528" /> +<TGConnectingPoint num="69" id="3529" /> +<TGConnectingPoint num="70" id="3530" /> +<TGConnectingPoint num="71" id="3531" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5106" id="3605" index="17" uid="4d7fb933-e20b-4c18-a3bc-915f9c594ea3" > +<cdparam x="400" y="240" /> +<sizeparam width="143" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="state" value="CoinInsertion" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3533" /> +<TGConnectingPoint num="1" id="3534" /> +<TGConnectingPoint num="2" id="3535" /> +<TGConnectingPoint num="3" id="3536" /> +<TGConnectingPoint num="4" id="3537" /> +<TGConnectingPoint num="5" id="3538" /> +<TGConnectingPoint num="6" id="3539" /> +<TGConnectingPoint num="7" id="3540" /> +<TGConnectingPoint num="8" id="3541" /> +<TGConnectingPoint num="9" id="3542" /> +<TGConnectingPoint num="10" id="3543" /> +<TGConnectingPoint num="11" id="3544" /> +<TGConnectingPoint num="12" id="3545" /> +<TGConnectingPoint num="13" id="3546" /> +<TGConnectingPoint num="14" id="3547" /> +<TGConnectingPoint num="15" id="3548" /> +<TGConnectingPoint num="16" id="3549" /> +<TGConnectingPoint num="17" id="3550" /> +<TGConnectingPoint num="18" id="3551" /> +<TGConnectingPoint num="19" id="3552" /> +<TGConnectingPoint num="20" id="3553" /> +<TGConnectingPoint num="21" id="3554" /> +<TGConnectingPoint num="22" id="3555" /> +<TGConnectingPoint num="23" id="3556" /> +<TGConnectingPoint num="24" id="3557" /> +<TGConnectingPoint num="25" id="3558" /> +<TGConnectingPoint num="26" id="3559" /> +<TGConnectingPoint num="27" id="3560" /> +<TGConnectingPoint num="28" id="3561" /> +<TGConnectingPoint num="29" id="3562" /> +<TGConnectingPoint num="30" id="3563" /> +<TGConnectingPoint num="31" id="3564" /> +<TGConnectingPoint num="32" id="3565" /> +<TGConnectingPoint num="33" id="3566" /> +<TGConnectingPoint num="34" id="3567" /> +<TGConnectingPoint num="35" id="3568" /> +<TGConnectingPoint num="36" id="3569" /> +<TGConnectingPoint num="37" id="3570" /> +<TGConnectingPoint num="38" id="3571" /> +<TGConnectingPoint num="39" id="3572" /> +<TGConnectingPoint num="40" id="3573" /> +<TGConnectingPoint num="41" id="3574" /> +<TGConnectingPoint num="42" id="3575" /> +<TGConnectingPoint num="43" id="3576" /> +<TGConnectingPoint num="44" id="3577" /> +<TGConnectingPoint num="45" id="3578" /> +<TGConnectingPoint num="46" id="3579" /> +<TGConnectingPoint num="47" id="3580" /> +<TGConnectingPoint num="48" id="3581" /> +<TGConnectingPoint num="49" id="3582" /> +<TGConnectingPoint num="50" id="3583" /> +<TGConnectingPoint num="51" id="3584" /> +<TGConnectingPoint num="52" id="3585" /> +<TGConnectingPoint num="53" id="3586" /> +<TGConnectingPoint num="54" id="3587" /> +<TGConnectingPoint num="55" id="3588" /> +<TGConnectingPoint num="56" id="3589" /> +<TGConnectingPoint num="57" id="3590" /> +<TGConnectingPoint num="58" id="3591" /> +<TGConnectingPoint num="59" id="3592" /> +<TGConnectingPoint num="60" id="3593" /> +<TGConnectingPoint num="61" id="3594" /> +<TGConnectingPoint num="62" id="3595" /> +<TGConnectingPoint num="63" id="3596" /> +<TGConnectingPoint num="64" id="3597" /> +<TGConnectingPoint num="65" id="3598" /> +<TGConnectingPoint num="66" id="3599" /> +<TGConnectingPoint num="67" id="3600" /> +<TGConnectingPoint num="68" id="3601" /> +<TGConnectingPoint num="69" id="3602" /> +<TGConnectingPoint num="70" id="3603" /> +<TGConnectingPoint num="71" id="3604" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5106" id="3678" index="18" uid="852c1e77-d3a1-443c-b195-95a932447a62" > +<cdparam x="400" y="140" /> +<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="2500" minY="10" maxY="1500" /> +<infoparam name="state" value="Start" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3606" /> +<TGConnectingPoint num="1" id="3607" /> +<TGConnectingPoint num="2" id="3608" /> +<TGConnectingPoint num="3" id="3609" /> +<TGConnectingPoint num="4" id="3610" /> +<TGConnectingPoint num="5" id="3611" /> +<TGConnectingPoint num="6" id="3612" /> +<TGConnectingPoint num="7" id="3613" /> +<TGConnectingPoint num="8" id="3614" /> +<TGConnectingPoint num="9" id="3615" /> +<TGConnectingPoint num="10" id="3616" /> +<TGConnectingPoint num="11" id="3617" /> +<TGConnectingPoint num="12" id="3618" /> +<TGConnectingPoint num="13" id="3619" /> +<TGConnectingPoint num="14" id="3620" /> +<TGConnectingPoint num="15" id="3621" /> +<TGConnectingPoint num="16" id="3622" /> +<TGConnectingPoint num="17" id="3623" /> +<TGConnectingPoint num="18" id="3624" /> +<TGConnectingPoint num="19" id="3625" /> +<TGConnectingPoint num="20" id="3626" /> +<TGConnectingPoint num="21" id="3627" /> +<TGConnectingPoint num="22" id="3628" /> +<TGConnectingPoint num="23" id="3629" /> +<TGConnectingPoint num="24" id="3630" /> +<TGConnectingPoint num="25" id="3631" /> +<TGConnectingPoint num="26" id="3632" /> +<TGConnectingPoint num="27" id="3633" /> +<TGConnectingPoint num="28" id="3634" /> +<TGConnectingPoint num="29" id="3635" /> +<TGConnectingPoint num="30" id="3636" /> +<TGConnectingPoint num="31" id="3637" /> +<TGConnectingPoint num="32" id="3638" /> +<TGConnectingPoint num="33" id="3639" /> +<TGConnectingPoint num="34" id="3640" /> +<TGConnectingPoint num="35" id="3641" /> +<TGConnectingPoint num="36" id="3642" /> +<TGConnectingPoint num="37" id="3643" /> +<TGConnectingPoint num="38" id="3644" /> +<TGConnectingPoint num="39" id="3645" /> +<TGConnectingPoint num="40" id="3646" /> +<TGConnectingPoint num="41" id="3647" /> +<TGConnectingPoint num="42" id="3648" /> +<TGConnectingPoint num="43" id="3649" /> +<TGConnectingPoint num="44" id="3650" /> +<TGConnectingPoint num="45" id="3651" /> +<TGConnectingPoint num="46" id="3652" /> +<TGConnectingPoint num="47" id="3653" /> +<TGConnectingPoint num="48" id="3654" /> +<TGConnectingPoint num="49" id="3655" /> +<TGConnectingPoint num="50" id="3656" /> +<TGConnectingPoint num="51" id="3657" /> +<TGConnectingPoint num="52" id="3658" /> +<TGConnectingPoint num="53" id="3659" /> +<TGConnectingPoint num="54" id="3660" /> +<TGConnectingPoint num="55" id="3661" /> +<TGConnectingPoint num="56" id="3662" /> +<TGConnectingPoint num="57" id="3663" /> +<TGConnectingPoint num="58" id="3664" /> +<TGConnectingPoint num="59" id="3665" /> +<TGConnectingPoint num="60" id="3666" /> +<TGConnectingPoint num="61" id="3667" /> +<TGConnectingPoint num="62" id="3668" /> +<TGConnectingPoint num="63" id="3669" /> +<TGConnectingPoint num="64" id="3670" /> +<TGConnectingPoint num="65" id="3671" /> +<TGConnectingPoint num="66" id="3672" /> +<TGConnectingPoint num="67" id="3673" /> +<TGConnectingPoint num="68" id="3674" /> +<TGConnectingPoint num="69" id="3675" /> +<TGConnectingPoint num="70" id="3676" /> +<TGConnectingPoint num="71" id="3677" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5100" id="3680" index="19" uid="9b9f3896-edba-47e5-a153-9d26bc6d973a" > +<cdparam x="400" y="40" /> +<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="start state" value="null" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3679" /> +</COMPONENT> + + +</AVATARStateMachineDiagramPanel> + +<AVATARStateMachineDiagramPanel name="CoffeeButton" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > +<CONNECTOR type="5102" id="3687" index="0" uid="1e575005-a3df-4e85-9f78-c5ea926786c1" > +<cdparam x="466" y="290" /> +<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="3686" /> +<P1 x="466" y="290" id="3708" /> +<P2 x="500" y="165" id="3779" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3685" index="6" uid="8843aa1a-dc95-47ff-a629-92865bf7c951" > +<father id="3687" num="0" /> +<cdparam x="483" y="227" /> +<sizeparam width="137" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3681" /> +<TGConnectingPoint num="1" id="3682" /> +<TGConnectingPoint num="2" id="3683" /> +<TGConnectingPoint num="3" id="3684" /> +<extraparam> +<guard value="mechanicalDelay >= 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="3694" index="1" uid="b1369839-43c1-4456-84c2-9a997793ae12" > +<cdparam x="407" y="60" /> +<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="3693" /> +<P1 x="407" y="60" id="3848" /> +<P2 x="450" y="140" id="3776" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3692" index="7" uid="1ff5bc5e-935e-4f22-98ac-0a337349cfa7" > +<father id="3694" num="0" /> +<cdparam x="428" y="100" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<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"/> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="3701" index="2" uid="b589a5ca-b16b-430c-8f22-7ce671fb73cb" > +<cdparam x="450" y="190" /> +<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="3700" /> +<P1 x="450" y="190" id="3781" /> +<P2 x="466" y="240" id="3703" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3699" index="8" uid="ea6eb85a-1642-4483-8610-2f7d721ab251" > +<father id="3701" num="0" /> +<cdparam x="458" y="215" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<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> + +<COMPONENT type="5106" id="3774" index="3" uid="954ef69a-6166-4ff3-bc5f-155367b7f92d" > +<cdparam x="400" y="240" /> +<sizeparam width="132" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="state" value="ButtonPushed" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3702" /> +<TGConnectingPoint num="1" id="3703" /> +<TGConnectingPoint num="2" id="3704" /> +<TGConnectingPoint num="3" id="3705" /> +<TGConnectingPoint num="4" id="3706" /> +<TGConnectingPoint num="5" id="3707" /> +<TGConnectingPoint num="6" id="3708" /> +<TGConnectingPoint num="7" id="3709" /> +<TGConnectingPoint num="8" id="3710" /> +<TGConnectingPoint num="9" id="3711" /> +<TGConnectingPoint num="10" id="3712" /> +<TGConnectingPoint num="11" id="3713" /> +<TGConnectingPoint num="12" id="3714" /> +<TGConnectingPoint num="13" id="3715" /> +<TGConnectingPoint num="14" id="3716" /> +<TGConnectingPoint num="15" id="3717" /> +<TGConnectingPoint num="16" id="3718" /> +<TGConnectingPoint num="17" id="3719" /> +<TGConnectingPoint num="18" id="3720" /> +<TGConnectingPoint num="19" id="3721" /> +<TGConnectingPoint num="20" id="3722" /> +<TGConnectingPoint num="21" id="3723" /> +<TGConnectingPoint num="22" id="3724" /> +<TGConnectingPoint num="23" id="3725" /> +<TGConnectingPoint num="24" id="3726" /> +<TGConnectingPoint num="25" id="3727" /> +<TGConnectingPoint num="26" id="3728" /> +<TGConnectingPoint num="27" id="3729" /> +<TGConnectingPoint num="28" id="3730" /> +<TGConnectingPoint num="29" id="3731" /> +<TGConnectingPoint num="30" id="3732" /> +<TGConnectingPoint num="31" id="3733" /> +<TGConnectingPoint num="32" id="3734" /> +<TGConnectingPoint num="33" id="3735" /> +<TGConnectingPoint num="34" id="3736" /> +<TGConnectingPoint num="35" id="3737" /> +<TGConnectingPoint num="36" id="3738" /> +<TGConnectingPoint num="37" id="3739" /> +<TGConnectingPoint num="38" id="3740" /> +<TGConnectingPoint num="39" id="3741" /> +<TGConnectingPoint num="40" id="3742" /> +<TGConnectingPoint num="41" id="3743" /> +<TGConnectingPoint num="42" id="3744" /> +<TGConnectingPoint num="43" id="3745" /> +<TGConnectingPoint num="44" id="3746" /> +<TGConnectingPoint num="45" id="3747" /> +<TGConnectingPoint num="46" id="3748" /> +<TGConnectingPoint num="47" id="3749" /> +<TGConnectingPoint num="48" id="3750" /> +<TGConnectingPoint num="49" id="3751" /> +<TGConnectingPoint num="50" id="3752" /> +<TGConnectingPoint num="51" id="3753" /> +<TGConnectingPoint num="52" id="3754" /> +<TGConnectingPoint num="53" id="3755" /> +<TGConnectingPoint num="54" id="3756" /> +<TGConnectingPoint num="55" id="3757" /> +<TGConnectingPoint num="56" id="3758" /> +<TGConnectingPoint num="57" id="3759" /> +<TGConnectingPoint num="58" id="3760" /> +<TGConnectingPoint num="59" id="3761" /> +<TGConnectingPoint num="60" id="3762" /> +<TGConnectingPoint num="61" id="3763" /> +<TGConnectingPoint num="62" id="3764" /> +<TGConnectingPoint num="63" id="3765" /> +<TGConnectingPoint num="64" id="3766" /> +<TGConnectingPoint num="65" id="3767" /> +<TGConnectingPoint num="66" id="3768" /> +<TGConnectingPoint num="67" id="3769" /> +<TGConnectingPoint num="68" id="3770" /> +<TGConnectingPoint num="69" id="3771" /> +<TGConnectingPoint num="70" id="3772" /> +<TGConnectingPoint num="71" id="3773" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5106" id="3847" index="4" uid="919df820-796c-4c33-bab0-834a0a213297" > +<cdparam x="400" y="140" /> +<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="2500" minY="10" maxY="1500" /> +<infoparam name="state" value="Start" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3775" /> +<TGConnectingPoint num="1" id="3776" /> +<TGConnectingPoint num="2" id="3777" /> +<TGConnectingPoint num="3" id="3778" /> +<TGConnectingPoint num="4" id="3779" /> +<TGConnectingPoint num="5" id="3780" /> +<TGConnectingPoint num="6" id="3781" /> +<TGConnectingPoint num="7" id="3782" /> +<TGConnectingPoint num="8" id="3783" /> +<TGConnectingPoint num="9" id="3784" /> +<TGConnectingPoint num="10" id="3785" /> +<TGConnectingPoint num="11" id="3786" /> +<TGConnectingPoint num="12" id="3787" /> +<TGConnectingPoint num="13" id="3788" /> +<TGConnectingPoint num="14" id="3789" /> +<TGConnectingPoint num="15" id="3790" /> +<TGConnectingPoint num="16" id="3791" /> +<TGConnectingPoint num="17" id="3792" /> +<TGConnectingPoint num="18" id="3793" /> +<TGConnectingPoint num="19" id="3794" /> +<TGConnectingPoint num="20" id="3795" /> +<TGConnectingPoint num="21" id="3796" /> +<TGConnectingPoint num="22" id="3797" /> +<TGConnectingPoint num="23" id="3798" /> +<TGConnectingPoint num="24" id="3799" /> +<TGConnectingPoint num="25" id="3800" /> +<TGConnectingPoint num="26" id="3801" /> +<TGConnectingPoint num="27" id="3802" /> +<TGConnectingPoint num="28" id="3803" /> +<TGConnectingPoint num="29" id="3804" /> +<TGConnectingPoint num="30" id="3805" /> +<TGConnectingPoint num="31" id="3806" /> +<TGConnectingPoint num="32" id="3807" /> +<TGConnectingPoint num="33" id="3808" /> +<TGConnectingPoint num="34" id="3809" /> +<TGConnectingPoint num="35" id="3810" /> +<TGConnectingPoint num="36" id="3811" /> +<TGConnectingPoint num="37" id="3812" /> +<TGConnectingPoint num="38" id="3813" /> +<TGConnectingPoint num="39" id="3814" /> +<TGConnectingPoint num="40" id="3815" /> +<TGConnectingPoint num="41" id="3816" /> +<TGConnectingPoint num="42" id="3817" /> +<TGConnectingPoint num="43" id="3818" /> +<TGConnectingPoint num="44" id="3819" /> +<TGConnectingPoint num="45" id="3820" /> +<TGConnectingPoint num="46" id="3821" /> +<TGConnectingPoint num="47" id="3822" /> +<TGConnectingPoint num="48" id="3823" /> +<TGConnectingPoint num="49" id="3824" /> +<TGConnectingPoint num="50" id="3825" /> +<TGConnectingPoint num="51" id="3826" /> +<TGConnectingPoint num="52" id="3827" /> +<TGConnectingPoint num="53" id="3828" /> +<TGConnectingPoint num="54" id="3829" /> +<TGConnectingPoint num="55" id="3830" /> +<TGConnectingPoint num="56" id="3831" /> +<TGConnectingPoint num="57" id="3832" /> +<TGConnectingPoint num="58" id="3833" /> +<TGConnectingPoint num="59" id="3834" /> +<TGConnectingPoint num="60" id="3835" /> +<TGConnectingPoint num="61" id="3836" /> +<TGConnectingPoint num="62" id="3837" /> +<TGConnectingPoint num="63" id="3838" /> +<TGConnectingPoint num="64" id="3839" /> +<TGConnectingPoint num="65" id="3840" /> +<TGConnectingPoint num="66" id="3841" /> +<TGConnectingPoint num="67" id="3842" /> +<TGConnectingPoint num="68" id="3843" /> +<TGConnectingPoint num="69" id="3844" /> +<TGConnectingPoint num="70" id="3845" /> +<TGConnectingPoint num="71" id="3846" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5100" id="3849" index="5" uid="6abe616a-a7dd-4f1c-8e9e-ef7f6ac0a232" > +<cdparam x="400" y="40" /> +<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="start state" value="null" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3848" /> +</COMPONENT> + + +</AVATARStateMachineDiagramPanel> + +<AVATARStateMachineDiagramPanel name="TeaButton" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > +<CONNECTOR type="5102" id="3856" index="0" uid="c649bd3c-ced7-4b80-a00e-77533c3dbf8c" > +<cdparam x="466" y="390" /> +<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="3855" /> +<P1 x="466" y="390" id="4101" /> +<P2 x="500" y="265" id="4172" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3854" index="15" uid="2a0026ef-5983-49b6-adbf-772f25198cba" > +<father id="3856" num="0" /> +<cdparam x="483" y="327" /> +<sizeparam width="936" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3850" /> +<TGConnectingPoint num="1" id="3851" /> +<TGConnectingPoint num="2" id="3852" /> +<TGConnectingPoint num="3" id="3853" /> +<extraparam> +<guard value="(CoffeeMachine.x == 0)&&((CoffeeMachine.COFFEE_MACHINE_STATE_MACHINE_CURRENT_TIME-CoffeeMachine.x_time) >= CoffeeMachine.Wallet.maxUserDelay)" 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="3863" index="1" uid="1d5bd9df-094b-4a25-a179-f61b880b438b" > +<cdparam x="466" y="390" /> +<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="3862" /> +<P1 x="466" y="390" id="4069" /> +<P2 x="450" y="440" id="3991" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3861" index="16" uid="88d18db8-d914-4969-8eb5-e483ff1dd1cc" > +<father id="3863" num="0" /> +<cdparam x="458" y="415" /> +<sizeparam width="136" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3857" /> +<TGConnectingPoint num="1" id="3858" /> +<TGConnectingPoint num="2" id="3859" /> +<TGConnectingPoint num="3" id="3860" /> +<extraparam> +<guard value="CoffeeMachine.x == 1" 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="3870" index="2" uid="ff3b8183-abfe-4179-8da8-9864d683aa03" > +<cdparam x="415" y="665" /> +<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="3869" /> +<P1 x="415" y="665" id="3907" /> +<P2 x="500" y="265" id="4140" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3868" index="17" uid="3805f962-2a2f-4e38-babe-ba93b1372abb" > +<father id="3870" num="0" /> +<cdparam x="457" y="465" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3864" /> +<TGConnectingPoint num="1" id="3865" /> +<TGConnectingPoint num="2" id="3866" /> +<TGConnectingPoint num="3" id="3867" /> +<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="3877" index="3" uid="62709a46-d0b2-404d-bc1a-ad297039b3a4" > +<cdparam x="450" y="490" /> +<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="3876" /> +<P1 x="450" y="490" id="3996" /> +<P2 x="466" y="540" id="3918" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3875" index="18" uid="d1b9c626-af4a-4053-a6c1-f555374e776c" > +<father id="3877" num="0" /> +<cdparam x="458" y="515" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3871" /> +<TGConnectingPoint num="1" id="3872" /> +<TGConnectingPoint num="2" id="3873" /> +<TGConnectingPoint num="3" id="3874" /> +<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="3884" index="4" uid="c98d531e-43c5-47cb-b168-8e34c1d4ff62" > +<cdparam x="450" y="190" /> +<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="3883" /> +<P1 x="450" y="190" id="4215" /> +<P2 x="450" y="240" id="4137" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3882" index="19" uid="08307e0f-211c-47a9-af88-1c7a68c45dd3" > +<father id="3884" num="0" /> +<cdparam x="450" y="215" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3878" /> +<TGConnectingPoint num="1" id="3879" /> +<TGConnectingPoint num="2" id="3880" /> +<TGConnectingPoint num="3" id="3881" /> +<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="3891" index="5" uid="a4f5e31c-34ac-4c67-9381-ac9345a39d03" > +<cdparam x="466" y="590" /> +<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="3890" /> +<P1 x="466" y="590" id="3923" /> +<P2 x="415" y="635" id="3906" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3889" index="20" uid="702e926d-b7fa-44c7-bc0e-b4bd9242abce" > +<father id="3891" num="0" /> +<cdparam x="440" y="612" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3885" /> +<TGConnectingPoint num="1" id="3886" /> +<TGConnectingPoint num="2" id="3887" /> +<TGConnectingPoint num="3" id="3888" /> +<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="3898" index="6" uid="0331603f-c99d-4b9e-a8f0-bfbfdf8c83f3" > +<cdparam x="450" y="290" /> +<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="3897" /> +<P1 x="450" y="290" id="4142" /> +<P2 x="466" y="340" id="4064" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3896" index="21" uid="df67b36e-3fab-4067-817e-3cfdabde2be0" > +<father id="3898" num="0" /> +<cdparam x="458" y="315" /> +<sizeparam width="188" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3892" /> +<TGConnectingPoint num="1" id="3893" /> +<TGConnectingPoint num="2" id="3894" /> +<TGConnectingPoint num="3" id="3895" /> +<extraparam> +<guard value="CoffeeMachine.nbOfCoins == 2" 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="3905" index="7" uid="79964194-bfe2-4a81-82d9-e71127814ecc" > +<cdparam x="407" y="60" /> +<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="3904" /> +<P1 x="407" y="60" id="4282" /> +<P2 x="450" y="140" id="4210" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3903" index="22" uid="2ca46cb0-3239-4ddc-9172-c76227b8aa4b" > +<father id="3905" num="0" /> +<cdparam x="428" y="100" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3899" /> +<TGConnectingPoint num="1" id="3900" /> +<TGConnectingPoint num="2" id="3901" /> +<TGConnectingPoint num="3" id="3902" /> +<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="3916" index="8" uid="2ad976fe-106d-4840-8940-c5fc3959b9b2" > +<cdparam x="392" y="640" /> +<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="2500" minY="10" maxY="1500" /> +<infoparam name="Send signal" value="push()" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3906" /> +<TGConnectingPoint num="1" id="3907" /> +<TGConnectingPoint num="2" id="3908" /> +<TGConnectingPoint num="3" id="3909" /> +<TGConnectingPoint num="4" id="3910" /> +<TGConnectingPoint num="5" id="3911" /> +<TGConnectingPoint num="6" id="3912" /> +<TGConnectingPoint num="7" id="3913" /> +<TGConnectingPoint num="8" id="3914" /> +<TGConnectingPoint num="9" id="3915" /> +</COMPONENT> + +<COMPONENT type="5106" id="3989" index="9" uid="13b666a5-fc85-4983-9124-3fe3f49cefbf" > +<cdparam x="400" y="540" /> +<sizeparam width="132" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="state" value="WaitRetrieve" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3917" /> +<TGConnectingPoint num="1" id="3918" /> +<TGConnectingPoint num="2" id="3919" /> +<TGConnectingPoint num="3" id="3920" /> +<TGConnectingPoint num="4" id="3921" /> +<TGConnectingPoint num="5" id="3922" /> +<TGConnectingPoint num="6" id="3923" /> +<TGConnectingPoint num="7" id="3924" /> +<TGConnectingPoint num="8" id="3925" /> +<TGConnectingPoint num="9" id="3926" /> +<TGConnectingPoint num="10" id="3927" /> +<TGConnectingPoint num="11" id="3928" /> +<TGConnectingPoint num="12" id="3929" /> +<TGConnectingPoint num="13" id="3930" /> +<TGConnectingPoint num="14" id="3931" /> +<TGConnectingPoint num="15" id="3932" /> +<TGConnectingPoint num="16" id="3933" /> +<TGConnectingPoint num="17" id="3934" /> +<TGConnectingPoint num="18" id="3935" /> +<TGConnectingPoint num="19" id="3936" /> +<TGConnectingPoint num="20" id="3937" /> +<TGConnectingPoint num="21" id="3938" /> +<TGConnectingPoint num="22" id="3939" /> +<TGConnectingPoint num="23" id="3940" /> +<TGConnectingPoint num="24" id="3941" /> +<TGConnectingPoint num="25" id="3942" /> +<TGConnectingPoint num="26" id="3943" /> +<TGConnectingPoint num="27" id="3944" /> +<TGConnectingPoint num="28" id="3945" /> +<TGConnectingPoint num="29" id="3946" /> +<TGConnectingPoint num="30" id="3947" /> +<TGConnectingPoint num="31" id="3948" /> +<TGConnectingPoint num="32" id="3949" /> +<TGConnectingPoint num="33" id="3950" /> +<TGConnectingPoint num="34" id="3951" /> +<TGConnectingPoint num="35" id="3952" /> +<TGConnectingPoint num="36" id="3953" /> +<TGConnectingPoint num="37" id="3954" /> +<TGConnectingPoint num="38" id="3955" /> +<TGConnectingPoint num="39" id="3956" /> +<TGConnectingPoint num="40" id="3957" /> +<TGConnectingPoint num="41" id="3958" /> +<TGConnectingPoint num="42" id="3959" /> +<TGConnectingPoint num="43" id="3960" /> +<TGConnectingPoint num="44" id="3961" /> +<TGConnectingPoint num="45" id="3962" /> +<TGConnectingPoint num="46" id="3963" /> +<TGConnectingPoint num="47" id="3964" /> +<TGConnectingPoint num="48" id="3965" /> +<TGConnectingPoint num="49" id="3966" /> +<TGConnectingPoint num="50" id="3967" /> +<TGConnectingPoint num="51" id="3968" /> +<TGConnectingPoint num="52" id="3969" /> +<TGConnectingPoint num="53" id="3970" /> +<TGConnectingPoint num="54" id="3971" /> +<TGConnectingPoint num="55" id="3972" /> +<TGConnectingPoint num="56" id="3973" /> +<TGConnectingPoint num="57" id="3974" /> +<TGConnectingPoint num="58" id="3975" /> +<TGConnectingPoint num="59" id="3976" /> +<TGConnectingPoint num="60" id="3977" /> +<TGConnectingPoint num="61" id="3978" /> +<TGConnectingPoint num="62" id="3979" /> +<TGConnectingPoint num="63" id="3980" /> +<TGConnectingPoint num="64" id="3981" /> +<TGConnectingPoint num="65" id="3982" /> +<TGConnectingPoint num="66" id="3983" /> +<TGConnectingPoint num="67" id="3984" /> +<TGConnectingPoint num="68" id="3985" /> +<TGConnectingPoint num="69" id="3986" /> +<TGConnectingPoint num="70" id="3987" /> +<TGConnectingPoint num="71" id="3988" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5106" id="4062" index="10" uid="b932f410-d697-4824-b3bf-2c4d7d362fdb" > +<cdparam x="400" y="440" /> +<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="2500" minY="10" maxY="1500" /> +<infoparam name="state" value="Brewing" /> +<new d="false" /> +<TGConnectingPoint num="0" id="3990" /> +<TGConnectingPoint num="1" id="3991" /> +<TGConnectingPoint num="2" id="3992" /> +<TGConnectingPoint num="3" id="3993" /> +<TGConnectingPoint num="4" id="3994" /> +<TGConnectingPoint num="5" id="3995" /> +<TGConnectingPoint num="6" id="3996" /> +<TGConnectingPoint num="7" id="3997" /> +<TGConnectingPoint num="8" id="3998" /> +<TGConnectingPoint num="9" id="3999" /> +<TGConnectingPoint num="10" id="4000" /> +<TGConnectingPoint num="11" id="4001" /> +<TGConnectingPoint num="12" id="4002" /> +<TGConnectingPoint num="13" id="4003" /> +<TGConnectingPoint num="14" id="4004" /> +<TGConnectingPoint num="15" id="4005" /> +<TGConnectingPoint num="16" id="4006" /> +<TGConnectingPoint num="17" id="4007" /> +<TGConnectingPoint num="18" id="4008" /> +<TGConnectingPoint num="19" id="4009" /> +<TGConnectingPoint num="20" id="4010" /> +<TGConnectingPoint num="21" id="4011" /> +<TGConnectingPoint num="22" id="4012" /> +<TGConnectingPoint num="23" id="4013" /> +<TGConnectingPoint num="24" id="4014" /> +<TGConnectingPoint num="25" id="4015" /> +<TGConnectingPoint num="26" id="4016" /> +<TGConnectingPoint num="27" id="4017" /> +<TGConnectingPoint num="28" id="4018" /> +<TGConnectingPoint num="29" id="4019" /> +<TGConnectingPoint num="30" id="4020" /> +<TGConnectingPoint num="31" id="4021" /> +<TGConnectingPoint num="32" id="4022" /> +<TGConnectingPoint num="33" id="4023" /> +<TGConnectingPoint num="34" id="4024" /> +<TGConnectingPoint num="35" id="4025" /> +<TGConnectingPoint num="36" id="4026" /> +<TGConnectingPoint num="37" id="4027" /> +<TGConnectingPoint num="38" id="4028" /> +<TGConnectingPoint num="39" id="4029" /> +<TGConnectingPoint num="40" id="4030" /> +<TGConnectingPoint num="41" id="4031" /> +<TGConnectingPoint num="42" id="4032" /> +<TGConnectingPoint num="43" id="4033" /> +<TGConnectingPoint num="44" id="4034" /> +<TGConnectingPoint num="45" id="4035" /> +<TGConnectingPoint num="46" id="4036" /> +<TGConnectingPoint num="47" id="4037" /> +<TGConnectingPoint num="48" id="4038" /> +<TGConnectingPoint num="49" id="4039" /> +<TGConnectingPoint num="50" id="4040" /> +<TGConnectingPoint num="51" id="4041" /> +<TGConnectingPoint num="52" id="4042" /> +<TGConnectingPoint num="53" id="4043" /> +<TGConnectingPoint num="54" id="4044" /> +<TGConnectingPoint num="55" id="4045" /> +<TGConnectingPoint num="56" id="4046" /> +<TGConnectingPoint num="57" id="4047" /> +<TGConnectingPoint num="58" id="4048" /> +<TGConnectingPoint num="59" id="4049" /> +<TGConnectingPoint num="60" id="4050" /> +<TGConnectingPoint num="61" id="4051" /> +<TGConnectingPoint num="62" id="4052" /> +<TGConnectingPoint num="63" id="4053" /> +<TGConnectingPoint num="64" id="4054" /> +<TGConnectingPoint num="65" id="4055" /> +<TGConnectingPoint num="66" id="4056" /> +<TGConnectingPoint num="67" id="4057" /> +<TGConnectingPoint num="68" id="4058" /> +<TGConnectingPoint num="69" id="4059" /> +<TGConnectingPoint num="70" id="4060" /> +<TGConnectingPoint num="71" id="4061" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5106" id="4135" index="11" uid="a4099374-218f-4522-8d54-e053ed15dd7d" > +<cdparam x="400" y="340" /> +<sizeparam width="132" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="state" value="AwaitingCoin" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4063" /> +<TGConnectingPoint num="1" id="4064" /> +<TGConnectingPoint num="2" id="4065" /> +<TGConnectingPoint num="3" id="4066" /> +<TGConnectingPoint num="4" id="4067" /> +<TGConnectingPoint num="5" id="4068" /> +<TGConnectingPoint num="6" id="4069" /> +<TGConnectingPoint num="7" id="4070" /> +<TGConnectingPoint num="8" id="4071" /> +<TGConnectingPoint num="9" id="4072" /> +<TGConnectingPoint num="10" id="4073" /> +<TGConnectingPoint num="11" id="4074" /> +<TGConnectingPoint num="12" id="4075" /> +<TGConnectingPoint num="13" id="4076" /> +<TGConnectingPoint num="14" id="4077" /> +<TGConnectingPoint num="15" id="4078" /> +<TGConnectingPoint num="16" id="4079" /> +<TGConnectingPoint num="17" id="4080" /> +<TGConnectingPoint num="18" id="4081" /> +<TGConnectingPoint num="19" id="4082" /> +<TGConnectingPoint num="20" id="4083" /> +<TGConnectingPoint num="21" id="4084" /> +<TGConnectingPoint num="22" id="4085" /> +<TGConnectingPoint num="23" id="4086" /> +<TGConnectingPoint num="24" id="4087" /> +<TGConnectingPoint num="25" id="4088" /> +<TGConnectingPoint num="26" id="4089" /> +<TGConnectingPoint num="27" id="4090" /> +<TGConnectingPoint num="28" id="4091" /> +<TGConnectingPoint num="29" id="4092" /> +<TGConnectingPoint num="30" id="4093" /> +<TGConnectingPoint num="31" id="4094" /> +<TGConnectingPoint num="32" id="4095" /> +<TGConnectingPoint num="33" id="4096" /> +<TGConnectingPoint num="34" id="4097" /> +<TGConnectingPoint num="35" id="4098" /> +<TGConnectingPoint num="36" id="4099" /> +<TGConnectingPoint num="37" id="4100" /> +<TGConnectingPoint num="38" id="4101" /> +<TGConnectingPoint num="39" id="4102" /> +<TGConnectingPoint num="40" id="4103" /> +<TGConnectingPoint num="41" id="4104" /> +<TGConnectingPoint num="42" id="4105" /> +<TGConnectingPoint num="43" id="4106" /> +<TGConnectingPoint num="44" id="4107" /> +<TGConnectingPoint num="45" id="4108" /> +<TGConnectingPoint num="46" id="4109" /> +<TGConnectingPoint num="47" id="4110" /> +<TGConnectingPoint num="48" id="4111" /> +<TGConnectingPoint num="49" id="4112" /> +<TGConnectingPoint num="50" id="4113" /> +<TGConnectingPoint num="51" id="4114" /> +<TGConnectingPoint num="52" id="4115" /> +<TGConnectingPoint num="53" id="4116" /> +<TGConnectingPoint num="54" id="4117" /> +<TGConnectingPoint num="55" id="4118" /> +<TGConnectingPoint num="56" id="4119" /> +<TGConnectingPoint num="57" id="4120" /> +<TGConnectingPoint num="58" id="4121" /> +<TGConnectingPoint num="59" id="4122" /> +<TGConnectingPoint num="60" id="4123" /> +<TGConnectingPoint num="61" id="4124" /> +<TGConnectingPoint num="62" id="4125" /> +<TGConnectingPoint num="63" id="4126" /> +<TGConnectingPoint num="64" id="4127" /> +<TGConnectingPoint num="65" id="4128" /> +<TGConnectingPoint num="66" id="4129" /> +<TGConnectingPoint num="67" id="4130" /> +<TGConnectingPoint num="68" id="4131" /> +<TGConnectingPoint num="69" id="4132" /> +<TGConnectingPoint num="70" id="4133" /> +<TGConnectingPoint num="71" id="4134" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5106" id="4208" index="12" uid="4fdec169-c44f-4166-8fd6-4db3c0c319a9" > +<cdparam x="400" y="240" /> +<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="2500" minY="10" maxY="1500" /> +<infoparam name="state" value="Idle" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4136" /> +<TGConnectingPoint num="1" id="4137" /> +<TGConnectingPoint num="2" id="4138" /> +<TGConnectingPoint num="3" id="4139" /> +<TGConnectingPoint num="4" id="4140" /> +<TGConnectingPoint num="5" id="4141" /> +<TGConnectingPoint num="6" id="4142" /> +<TGConnectingPoint num="7" id="4143" /> +<TGConnectingPoint num="8" id="4144" /> +<TGConnectingPoint num="9" id="4145" /> +<TGConnectingPoint num="10" id="4146" /> +<TGConnectingPoint num="11" id="4147" /> +<TGConnectingPoint num="12" id="4148" /> +<TGConnectingPoint num="13" id="4149" /> +<TGConnectingPoint num="14" id="4150" /> +<TGConnectingPoint num="15" id="4151" /> +<TGConnectingPoint num="16" id="4152" /> +<TGConnectingPoint num="17" id="4153" /> +<TGConnectingPoint num="18" id="4154" /> +<TGConnectingPoint num="19" id="4155" /> +<TGConnectingPoint num="20" id="4156" /> +<TGConnectingPoint num="21" id="4157" /> +<TGConnectingPoint num="22" id="4158" /> +<TGConnectingPoint num="23" id="4159" /> +<TGConnectingPoint num="24" id="4160" /> +<TGConnectingPoint num="25" id="4161" /> +<TGConnectingPoint num="26" id="4162" /> +<TGConnectingPoint num="27" id="4163" /> +<TGConnectingPoint num="28" id="4164" /> +<TGConnectingPoint num="29" id="4165" /> +<TGConnectingPoint num="30" id="4166" /> +<TGConnectingPoint num="31" id="4167" /> +<TGConnectingPoint num="32" id="4168" /> +<TGConnectingPoint num="33" id="4169" /> +<TGConnectingPoint num="34" id="4170" /> +<TGConnectingPoint num="35" id="4171" /> +<TGConnectingPoint num="36" id="4172" /> +<TGConnectingPoint num="37" id="4173" /> +<TGConnectingPoint num="38" id="4174" /> +<TGConnectingPoint num="39" id="4175" /> +<TGConnectingPoint num="40" id="4176" /> +<TGConnectingPoint num="41" id="4177" /> +<TGConnectingPoint num="42" id="4178" /> +<TGConnectingPoint num="43" id="4179" /> +<TGConnectingPoint num="44" id="4180" /> +<TGConnectingPoint num="45" id="4181" /> +<TGConnectingPoint num="46" id="4182" /> +<TGConnectingPoint num="47" id="4183" /> +<TGConnectingPoint num="48" id="4184" /> +<TGConnectingPoint num="49" id="4185" /> +<TGConnectingPoint num="50" id="4186" /> +<TGConnectingPoint num="51" id="4187" /> +<TGConnectingPoint num="52" id="4188" /> +<TGConnectingPoint num="53" id="4189" /> +<TGConnectingPoint num="54" id="4190" /> +<TGConnectingPoint num="55" id="4191" /> +<TGConnectingPoint num="56" id="4192" /> +<TGConnectingPoint num="57" id="4193" /> +<TGConnectingPoint num="58" id="4194" /> +<TGConnectingPoint num="59" id="4195" /> +<TGConnectingPoint num="60" id="4196" /> +<TGConnectingPoint num="61" id="4197" /> +<TGConnectingPoint num="62" id="4198" /> +<TGConnectingPoint num="63" id="4199" /> +<TGConnectingPoint num="64" id="4200" /> +<TGConnectingPoint num="65" id="4201" /> +<TGConnectingPoint num="66" id="4202" /> +<TGConnectingPoint num="67" id="4203" /> +<TGConnectingPoint num="68" id="4204" /> +<TGConnectingPoint num="69" id="4205" /> +<TGConnectingPoint num="70" id="4206" /> +<TGConnectingPoint num="71" id="4207" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5106" id="4281" index="13" uid="05757890-f09a-405a-98b7-c31a1b2609b9" > +<cdparam x="400" y="140" /> +<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="2500" minY="10" maxY="1500" /> +<infoparam name="state" value="Start" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4209" /> +<TGConnectingPoint num="1" id="4210" /> +<TGConnectingPoint num="2" id="4211" /> +<TGConnectingPoint num="3" id="4212" /> +<TGConnectingPoint num="4" id="4213" /> +<TGConnectingPoint num="5" id="4214" /> +<TGConnectingPoint num="6" id="4215" /> +<TGConnectingPoint num="7" id="4216" /> +<TGConnectingPoint num="8" id="4217" /> +<TGConnectingPoint num="9" id="4218" /> +<TGConnectingPoint num="10" id="4219" /> +<TGConnectingPoint num="11" id="4220" /> +<TGConnectingPoint num="12" id="4221" /> +<TGConnectingPoint num="13" id="4222" /> +<TGConnectingPoint num="14" id="4223" /> +<TGConnectingPoint num="15" id="4224" /> +<TGConnectingPoint num="16" id="4225" /> +<TGConnectingPoint num="17" id="4226" /> +<TGConnectingPoint num="18" id="4227" /> +<TGConnectingPoint num="19" id="4228" /> +<TGConnectingPoint num="20" id="4229" /> +<TGConnectingPoint num="21" id="4230" /> +<TGConnectingPoint num="22" id="4231" /> +<TGConnectingPoint num="23" id="4232" /> +<TGConnectingPoint num="24" id="4233" /> +<TGConnectingPoint num="25" id="4234" /> +<TGConnectingPoint num="26" id="4235" /> +<TGConnectingPoint num="27" id="4236" /> +<TGConnectingPoint num="28" id="4237" /> +<TGConnectingPoint num="29" id="4238" /> +<TGConnectingPoint num="30" id="4239" /> +<TGConnectingPoint num="31" id="4240" /> +<TGConnectingPoint num="32" id="4241" /> +<TGConnectingPoint num="33" id="4242" /> +<TGConnectingPoint num="34" id="4243" /> +<TGConnectingPoint num="35" id="4244" /> +<TGConnectingPoint num="36" id="4245" /> +<TGConnectingPoint num="37" id="4246" /> +<TGConnectingPoint num="38" id="4247" /> +<TGConnectingPoint num="39" id="4248" /> +<TGConnectingPoint num="40" id="4249" /> +<TGConnectingPoint num="41" id="4250" /> +<TGConnectingPoint num="42" id="4251" /> +<TGConnectingPoint num="43" id="4252" /> +<TGConnectingPoint num="44" id="4253" /> +<TGConnectingPoint num="45" id="4254" /> +<TGConnectingPoint num="46" id="4255" /> +<TGConnectingPoint num="47" id="4256" /> +<TGConnectingPoint num="48" id="4257" /> +<TGConnectingPoint num="49" id="4258" /> +<TGConnectingPoint num="50" id="4259" /> +<TGConnectingPoint num="51" id="4260" /> +<TGConnectingPoint num="52" id="4261" /> +<TGConnectingPoint num="53" id="4262" /> +<TGConnectingPoint num="54" id="4263" /> +<TGConnectingPoint num="55" id="4264" /> +<TGConnectingPoint num="56" id="4265" /> +<TGConnectingPoint num="57" id="4266" /> +<TGConnectingPoint num="58" id="4267" /> +<TGConnectingPoint num="59" id="4268" /> +<TGConnectingPoint num="60" id="4269" /> +<TGConnectingPoint num="61" id="4270" /> +<TGConnectingPoint num="62" id="4271" /> +<TGConnectingPoint num="63" id="4272" /> +<TGConnectingPoint num="64" id="4273" /> +<TGConnectingPoint num="65" id="4274" /> +<TGConnectingPoint num="66" id="4275" /> +<TGConnectingPoint num="67" id="4276" /> +<TGConnectingPoint num="68" id="4277" /> +<TGConnectingPoint num="69" id="4278" /> +<TGConnectingPoint num="70" id="4279" /> +<TGConnectingPoint num="71" id="4280" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5100" id="4283" index="14" uid="734eacd0-6019-4edc-93dc-6618eb12595b" > +<cdparam x="400" y="40" /> +<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="start state" value="null" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4282" /> +</COMPONENT> + + +</AVATARStateMachineDiagramPanel> + +</Modeling> + + + + +<Modeling type="AVATAR Design" nameTab="Design__20230623_175303" tabs="Block Diagram$Coffee_Machine$Button$Coin$Beverage" > +<AVATARBlockDiagramPanel name="Block Diagram" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > +<MainCode value="void __user_init() {"/> +<MainCode value="}"/> +<Optimized value="true" /> +<considerTimingOperators value="true" /> +<Validated value="" /> +<Ignored value="" /> + +<CONNECTOR type="5002" id="4285" index="0" uid="4b3934df-0738-4736-a969-185f9792d4f8" > +<cdparam x="0" y="0" /> +<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="4284" /> +<P1 x="618" y="140" id="4293" /> +<P2 x="532" y="200" id="4374" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +<extraparam> +<isd value="in beveragePrepared()" /> +<oso value="out beveragePrepared()" /> +<FIFOType asynchronous="false" synchronousCH="true" size="1024" blocking="false" private="false" broadcast="false" lossy="false" ams="false" /> +</extraparam> +</CONNECTOR> +<CONNECTOR type="5002" id="4287" index="1" uid="7b771484-4522-4fc2-85b3-e50a767f3e53" > +<cdparam x="0" y="0" /> +<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="4286" /> +<P1 x="221" y="40" id="4431" /> +<P2 x="618" y="49" id="4290" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +<extraparam> +<isd value="in prepareBeverage(int beverageType)" /> +<oso value="out prepareBeverage(int beverageType)" /> +<FIFOType asynchronous="false" synchronousCH="true" size="1024" blocking="false" private="false" broadcast="false" lossy="false" ams="false" /> +</extraparam> +</CONNECTOR> +<CONNECTOR type="5002" id="4289" index="2" uid="563a1979-f81a-4c95-920d-8f732a093607" > +<cdparam x="0" y="0" /> +<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="4288" /> +<P1 x="115" y="248" id="4419" /> +<P2 x="105" y="383" id="4331" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +<extraparam> +<isd value="in ejectCoin()" /> +<oso value="out ejectCoin()" /> +<FIFOType asynchronous="false" synchronousCH="true" size="1024" blocking="false" private="false" broadcast="false" lossy="false" ams="false" /> +</extraparam> +</CONNECTOR> +<COMPONENT type="5000" id="4330" index="3" uid="7fa76a2f-14b0-4f72-9334-8bdaff7703c7" > +<cdparam x="618" y="49" /> +<sizeparam width="299" height="183" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Block" value="Beverage" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4290" /> +<TGConnectingPoint num="1" id="4291" /> +<TGConnectingPoint num="2" id="4292" /> +<TGConnectingPoint num="3" id="4293" /> +<TGConnectingPoint num="4" id="4294" /> +<TGConnectingPoint num="5" id="4295" /> +<TGConnectingPoint num="6" id="4296" /> +<TGConnectingPoint num="7" id="4297" /> +<TGConnectingPoint num="8" id="4298" /> +<TGConnectingPoint num="9" id="4299" /> +<TGConnectingPoint num="10" id="4300" /> +<TGConnectingPoint num="11" id="4301" /> +<TGConnectingPoint num="12" id="4302" /> +<TGConnectingPoint num="13" id="4303" /> +<TGConnectingPoint num="14" id="4304" /> +<TGConnectingPoint num="15" id="4305" /> +<TGConnectingPoint num="16" id="4306" /> +<TGConnectingPoint num="17" id="4307" /> +<TGConnectingPoint num="18" id="4308" /> +<TGConnectingPoint num="19" id="4309" /> +<TGConnectingPoint num="20" id="4310" /> +<TGConnectingPoint num="21" id="4311" /> +<TGConnectingPoint num="22" id="4312" /> +<TGConnectingPoint num="23" id="4313" /> +<TGConnectingPoint num="24" id="4314" /> +<TGConnectingPoint num="25" id="4315" /> +<TGConnectingPoint num="26" id="4316" /> +<TGConnectingPoint num="27" id="4317" /> +<TGConnectingPoint num="28" id="4318" /> +<TGConnectingPoint num="29" id="4319" /> +<TGConnectingPoint num="30" id="4320" /> +<TGConnectingPoint num="31" id="4321" /> +<TGConnectingPoint num="32" id="4322" /> +<TGConnectingPoint num="33" id="4323" /> +<TGConnectingPoint num="34" id="4324" /> +<TGConnectingPoint num="35" id="4325" /> +<TGConnectingPoint num="36" id="4326" /> +<TGConnectingPoint num="37" id="4327" /> +<TGConnectingPoint num="38" id="4328" /> +<TGConnectingPoint num="39" id="4329" /> +<extraparam> +<blockType data="block" color="-4072719" /> +<CryptoBlock value="false" /> +<Attribute access="0" var="0" id="beverageType" value="0" type="8" typeOther="" /> +<Signal value="in prepareBeverage(int beverageType)" attached="true" /> +<Signal value="out beveragePrepared()" attached="true" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="5000" id="4371" index="4" uid="91d404fc-e66e-4bc5-aaf4-608c93eeb6d7" > +<cdparam x="105" y="383" /> +<sizeparam width="253" height="170" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Block" value="Coin" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4331" /> +<TGConnectingPoint num="1" id="4332" /> +<TGConnectingPoint num="2" id="4333" /> +<TGConnectingPoint num="3" id="4334" /> +<TGConnectingPoint num="4" id="4335" /> +<TGConnectingPoint num="5" id="4336" /> +<TGConnectingPoint num="6" id="4337" /> +<TGConnectingPoint num="7" id="4338" /> +<TGConnectingPoint num="8" id="4339" /> +<TGConnectingPoint num="9" id="4340" /> +<TGConnectingPoint num="10" id="4341" /> +<TGConnectingPoint num="11" id="4342" /> +<TGConnectingPoint num="12" id="4343" /> +<TGConnectingPoint num="13" id="4344" /> +<TGConnectingPoint num="14" id="4345" /> +<TGConnectingPoint num="15" id="4346" /> +<TGConnectingPoint num="16" id="4347" /> +<TGConnectingPoint num="17" id="4348" /> +<TGConnectingPoint num="18" id="4349" /> +<TGConnectingPoint num="19" id="4350" /> +<TGConnectingPoint num="20" id="4351" /> +<TGConnectingPoint num="21" id="4352" /> +<TGConnectingPoint num="22" id="4353" /> +<TGConnectingPoint num="23" id="4354" /> +<TGConnectingPoint num="24" id="4355" /> +<TGConnectingPoint num="25" id="4356" /> +<TGConnectingPoint num="26" id="4357" /> +<TGConnectingPoint num="27" id="4358" /> +<TGConnectingPoint num="28" id="4359" /> +<TGConnectingPoint num="29" id="4360" /> +<TGConnectingPoint num="30" id="4361" /> +<TGConnectingPoint num="31" id="4362" /> +<TGConnectingPoint num="32" id="4363" /> +<TGConnectingPoint num="33" id="4364" /> +<TGConnectingPoint num="34" id="4365" /> +<TGConnectingPoint num="35" id="4366" /> +<TGConnectingPoint num="36" id="4367" /> +<TGConnectingPoint num="37" id="4368" /> +<TGConnectingPoint num="38" id="4369" /> +<TGConnectingPoint num="39" id="4370" /> +<extraparam> +<blockType data="block" color="-4072719" /> +<CryptoBlock value="false" /> +<Attribute access="0" var="0" id="coinValue" value="0" type="8" typeOther="" /> +<Signal value="out coinInserted()" attached="false" /> +<Signal value="in coinInserted()" attached="false" /> +<Signal value="in ejectCoin()" attached="true" /> +<Signal value="out coinEjected()" attached="false" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="5000" id="4412" index="5" uid="71007c67-25d0-4aeb-8e2b-f57b52b5bf2a" > +<cdparam x="309" y="200" /> +<sizeparam width="223" height="124" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Block" value="Button" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4372" /> +<TGConnectingPoint num="1" id="4373" /> +<TGConnectingPoint num="2" id="4374" /> +<TGConnectingPoint num="3" id="4375" /> +<TGConnectingPoint num="4" id="4376" /> +<TGConnectingPoint num="5" id="4377" /> +<TGConnectingPoint num="6" id="4378" /> +<TGConnectingPoint num="7" id="4379" /> +<TGConnectingPoint num="8" id="4380" /> +<TGConnectingPoint num="9" id="4381" /> +<TGConnectingPoint num="10" id="4382" /> +<TGConnectingPoint num="11" id="4383" /> +<TGConnectingPoint num="12" id="4384" /> +<TGConnectingPoint num="13" id="4385" /> +<TGConnectingPoint num="14" id="4386" /> +<TGConnectingPoint num="15" id="4387" /> +<TGConnectingPoint num="16" id="4388" /> +<TGConnectingPoint num="17" id="4389" /> +<TGConnectingPoint num="18" id="4390" /> +<TGConnectingPoint num="19" id="4391" /> +<TGConnectingPoint num="20" id="4392" /> +<TGConnectingPoint num="21" id="4393" /> +<TGConnectingPoint num="22" id="4394" /> +<TGConnectingPoint num="23" id="4395" /> +<TGConnectingPoint num="24" id="4396" /> +<TGConnectingPoint num="25" id="4397" /> +<TGConnectingPoint num="26" id="4398" /> +<TGConnectingPoint num="27" id="4399" /> +<TGConnectingPoint num="28" id="4400" /> +<TGConnectingPoint num="29" id="4401" /> +<TGConnectingPoint num="30" id="4402" /> +<TGConnectingPoint num="31" id="4403" /> +<TGConnectingPoint num="32" id="4404" /> +<TGConnectingPoint num="33" id="4405" /> +<TGConnectingPoint num="34" id="4406" /> +<TGConnectingPoint num="35" id="4407" /> +<TGConnectingPoint num="36" id="4408" /> +<TGConnectingPoint num="37" id="4409" /> +<TGConnectingPoint num="38" id="4410" /> +<TGConnectingPoint num="39" id="4411" /> +<extraparam> +<blockType data="block" color="-4072719" /> +<CryptoBlock value="false" /> +<Attribute access="0" var="0" id="buttonType" value="0" type="8" typeOther="" /> +<Signal value="out prepareBeverage(int beverageType)" attached="false" /> +<Signal value="in beveragePrepared()" attached="true" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="5000" id="4453" index="6" uid="135d2ca0-43bf-412d-b374-28d4130a5da9" > +<cdparam x="10" y="40" /> +<sizeparam width="211" height="208" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Block" value="Coffee_Machine" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4413" /> +<TGConnectingPoint num="1" id="4414" /> +<TGConnectingPoint num="2" id="4415" /> +<TGConnectingPoint num="3" id="4416" /> +<TGConnectingPoint num="4" id="4417" /> +<TGConnectingPoint num="5" id="4418" /> +<TGConnectingPoint num="6" id="4419" /> +<TGConnectingPoint num="7" id="4420" /> +<TGConnectingPoint num="8" id="4421" /> +<TGConnectingPoint num="9" id="4422" /> +<TGConnectingPoint num="10" id="4423" /> +<TGConnectingPoint num="11" id="4424" /> +<TGConnectingPoint num="12" id="4425" /> +<TGConnectingPoint num="13" id="4426" /> +<TGConnectingPoint num="14" id="4427" /> +<TGConnectingPoint num="15" id="4428" /> +<TGConnectingPoint num="16" id="4429" /> +<TGConnectingPoint num="17" id="4430" /> +<TGConnectingPoint num="18" id="4431" /> +<TGConnectingPoint num="19" id="4432" /> +<TGConnectingPoint num="20" id="4433" /> +<TGConnectingPoint num="21" id="4434" /> +<TGConnectingPoint num="22" id="4435" /> +<TGConnectingPoint num="23" id="4436" /> +<TGConnectingPoint num="24" id="4437" /> +<TGConnectingPoint num="25" id="4438" /> +<TGConnectingPoint num="26" id="4439" /> +<TGConnectingPoint num="27" id="4440" /> +<TGConnectingPoint num="28" id="4441" /> +<TGConnectingPoint num="29" id="4442" /> +<TGConnectingPoint num="30" id="4443" /> +<TGConnectingPoint num="31" id="4444" /> +<TGConnectingPoint num="32" id="4445" /> +<TGConnectingPoint num="33" id="4446" /> +<TGConnectingPoint num="34" id="4447" /> +<TGConnectingPoint num="35" id="4448" /> +<TGConnectingPoint num="36" id="4449" /> +<TGConnectingPoint num="37" id="4450" /> +<TGConnectingPoint num="38" id="4451" /> +<TGConnectingPoint num="39" id="4452" /> +<extraparam> +<blockType data="block" color="-4072719" /> +<CryptoBlock value="false" /> +<Attribute access="0" var="0" id="isCoinInserted" value="false" type="4" typeOther="" /> +<Attribute access="0" var="0" id="firstCoinTime" value="0" type="8" typeOther="" /> +<Attribute access="0" var="0" id="beverageSelectionTime" value="0" type="8" typeOther="" /> +<Attribute access="0" var="0" id="beveragePreparationTime" value="0" type="8" typeOther="" /> +<Attribute access="0" var="0" id="isBeveragePrepared" value="false" type="4" typeOther="" /> +<Signal value="in coinInserted()" attached="false" /> +<Signal value="out ejectCoin()" attached="true" /> +<Signal value="out prepareBeverage(int beverageType)" attached="true" /> +<Signal value="in coin1Inserted()" attached="false" /> +<Signal value="in coin2Inserted()" attached="false" /> +<Signal value="in selectionTimeout()" attached="false" /> +<Signal value="in beverageTimeout()" attached="false" /> +<Signal value="in teaButtonPressed()" attached="false" /> +<Signal value="in coffeeButtonPressed()" attached="false" /> +</extraparam> +</COMPONENT> + + +</AVATARBlockDiagramPanel> + +<AVATARStateMachineDiagramPanel name="Coffee_Machine" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > +<CONNECTOR type="5102" id="4460" index="0" uid="462dbd6b-5f7a-4bc7-b2a3-668c9321ab57" > +<cdparam x="182" y="36" /> +<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="4459" /> +<P1 x="182" y="36" id="4463" /> +<P2 x="185" y="76" id="4461" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="4458" index="3" uid="62013a95-23be-4975-9a12-ed183782de63" > +<father id="4460" num="0" /> +<cdparam x="183" y="56" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4454" /> +<TGConnectingPoint num="1" id="4455" /> +<TGConnectingPoint num="2" id="4456" /> +<TGConnectingPoint num="3" id="4457" /> +<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="5101" id="4462" index="1" uid="8ea31501-12cb-47c8-93b1-d814c216d44d" > +<cdparam x="175" y="81" /> +<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="stop state" value="null" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4461" /> +</COMPONENT> + +<COMPONENT type="5100" id="4464" index="2" uid="60fd36c2-715f-467c-9d35-66fecffdc048" > +<cdparam x="175" y="16" /> +<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="start state" value="null" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4463" /> +</COMPONENT> + + +</AVATARStateMachineDiagramPanel> + +<AVATARStateMachineDiagramPanel name="Button" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > +<CONNECTOR type="5102" id="4471" index="0" uid="7f3393ce-cb7c-47c5-99e9-91fcda4a8f92" > +<cdparam x="191" y="58" /> +<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="4470" /> +<P1 x="191" y="58" id="4474" /> +<P2 x="201" y="96" id="4472" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="4469" index="3" uid="3dcd0b79-e4da-408d-ae80-060e8de2e840" > +<father id="4471" num="0" /> +<cdparam x="196" y="77" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4465" /> +<TGConnectingPoint num="1" id="4466" /> +<TGConnectingPoint num="2" id="4467" /> +<TGConnectingPoint num="3" id="4468" /> +<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="5101" id="4473" index="1" uid="966a6647-4a39-4920-ab2f-737fc5ca2ce5" > +<cdparam x="191" y="101" /> +<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="stop state" value="null" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4472" /> +</COMPONENT> + +<COMPONENT type="5100" id="4475" index="2" uid="ea20d0fb-7ea2-44cb-846e-e20df2fe66e7" > +<cdparam x="184" y="38" /> +<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="start state" value="null" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4474" /> +</COMPONENT> + + +</AVATARStateMachineDiagramPanel> + +<AVATARStateMachineDiagramPanel name="Coin" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > +<CONNECTOR type="5102" id="4482" index="0" uid="dbdbbc80-a161-4dc5-a74f-3fa852853284" > +<cdparam x="211" y="67" /> +<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="4481" /> +<P1 x="211" y="67" id="4485" /> +<P2 x="217" y="102" id="4483" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="4480" index="3" uid="96b8ff32-4557-4bfb-b652-4e98194e4a93" > +<father id="4482" num="0" /> +<cdparam x="214" y="84" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4476" /> +<TGConnectingPoint num="1" id="4477" /> +<TGConnectingPoint num="2" id="4478" /> +<TGConnectingPoint num="3" id="4479" /> +<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="5101" id="4484" index="1" uid="8404e460-ccff-474c-8c00-7d3f3c7d9c6a" > +<cdparam x="207" y="107" /> +<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="stop state" value="null" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4483" /> +</COMPONENT> + +<COMPONENT type="5100" id="4486" index="2" uid="30385ae9-56e2-427f-b2f3-3e00f38c7dd7" > +<cdparam x="204" y="47" /> +<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="start state" value="null" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4485" /> +</COMPONENT> + + +</AVATARStateMachineDiagramPanel> + +<AVATARStateMachineDiagramPanel name="Beverage" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > +<CONNECTOR type="5102" id="4493" index="0" uid="febd9236-15ac-43f9-8149-a82b0d5546a4" > +<cdparam x="192" y="110" /> +<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="4492" /> +<P1 x="192" y="110" id="4496" /> +<P2 x="218" y="181" id="4494" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="4491" index="3" uid="0417dc3d-755b-4bf2-a414-69828085be61" > +<father id="4493" num="0" /> +<cdparam x="205" y="145" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4487" /> +<TGConnectingPoint num="1" id="4488" /> +<TGConnectingPoint num="2" id="4489" /> +<TGConnectingPoint num="3" id="4490" /> +<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="5101" id="4495" index="1" uid="d9f6a53e-01bd-4655-a9ec-e318da5b5432" > +<cdparam x="208" y="186" /> +<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="stop state" value="null" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4494" /> +</COMPONENT> + +<COMPONENT type="5100" id="4497" index="2" uid="e4a2e05b-974b-4542-8eff-94cc702a54f7" > +<cdparam x="185" y="90" /> +<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="start state" value="null" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4496" /> +</COMPONENT> + + +</AVATARStateMachineDiagramPanel> + +</Modeling> + + + + +<Modeling type="AVATAR Design" nameTab="Design__20230623_181115" tabs="Block Diagram$Beverage$Coin$Button$Coffee_Machine" > +<AVATARBlockDiagramPanel name="Block Diagram" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > +<MainCode value="void __user_init() {"/> +<MainCode value="}"/> +<Optimized value="true" /> +<considerTimingOperators value="true" /> +<Validated value="" /> +<Ignored value="" /> + +<CONNECTOR type="5002" id="4499" index="0" uid="f40a44b9-097e-4dbf-9231-7ea14b220096" > +<cdparam x="0" y="0" /> +<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="4498" /> +<P1 x="115" y="248" id="4510" /> +<P2 x="105" y="383" id="4586" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +<extraparam> +<iso value="in coinInserted()" /> +<osd value="out coinInserted()" /> +<isd value="in ejectCoin()" /> +<oso value="out ejectCoin()" /> +<FIFOType asynchronous="false" synchronousCH="true" size="1024" blocking="false" private="false" broadcast="false" lossy="false" ams="false" /> +</extraparam> +</CONNECTOR> +<CONNECTOR type="5002" id="4501" index="1" uid="bd67f699-c868-48e7-b2aa-68f199b2fbd3" > +<cdparam x="0" y="0" /> +<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="4500" /> +<P1 x="221" y="40" id="4506" /> +<P2 x="618" y="49" id="4627" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +<extraparam> +<isd value="in prepareBeverage(int beverageType)" /> +<oso value="out prepareBeverage(int beverageType)" /> +<FIFOType asynchronous="false" synchronousCH="true" size="1024" blocking="false" private="false" broadcast="false" lossy="false" ams="false" /> +</extraparam> +</CONNECTOR> +<CONNECTOR type="5002" id="4503" index="2" uid="9da9e513-26f2-4d05-a206-a75fb8eca909" > +<cdparam x="0" y="0" /> +<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="4502" /> +<P1 x="618" y="186" id="4639" /> +<P2 x="532" y="200" id="4547" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +<extraparam> +<isd value="in beveragePrepared()" /> +<oso value="out beveragePrepared()" /> +<FIFOType asynchronous="false" synchronousCH="true" size="1024" blocking="false" private="false" broadcast="false" lossy="false" ams="false" /> +</extraparam> +</CONNECTOR> +<COMPONENT type="5000" id="4544" index="3" uid="cfcd5722-fa28-40a9-8770-49d65f9d44b1" > +<cdparam x="10" y="40" /> +<sizeparam width="211" height="208" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Block" value="Coffee_Machine" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4504" /> +<TGConnectingPoint num="1" id="4505" /> +<TGConnectingPoint num="2" id="4506" /> +<TGConnectingPoint num="3" id="4507" /> +<TGConnectingPoint num="4" id="4508" /> +<TGConnectingPoint num="5" id="4509" /> +<TGConnectingPoint num="6" id="4510" /> +<TGConnectingPoint num="7" id="4511" /> +<TGConnectingPoint num="8" id="4512" /> +<TGConnectingPoint num="9" id="4513" /> +<TGConnectingPoint num="10" id="4514" /> +<TGConnectingPoint num="11" id="4515" /> +<TGConnectingPoint num="12" id="4516" /> +<TGConnectingPoint num="13" id="4517" /> +<TGConnectingPoint num="14" id="4518" /> +<TGConnectingPoint num="15" id="4519" /> +<TGConnectingPoint num="16" id="4520" /> +<TGConnectingPoint num="17" id="4521" /> +<TGConnectingPoint num="18" id="4522" /> +<TGConnectingPoint num="19" id="4523" /> +<TGConnectingPoint num="20" id="4524" /> +<TGConnectingPoint num="21" id="4525" /> +<TGConnectingPoint num="22" id="4526" /> +<TGConnectingPoint num="23" id="4527" /> +<TGConnectingPoint num="24" id="4528" /> +<TGConnectingPoint num="25" id="4529" /> +<TGConnectingPoint num="26" id="4530" /> +<TGConnectingPoint num="27" id="4531" /> +<TGConnectingPoint num="28" id="4532" /> +<TGConnectingPoint num="29" id="4533" /> +<TGConnectingPoint num="30" id="4534" /> +<TGConnectingPoint num="31" id="4535" /> +<TGConnectingPoint num="32" id="4536" /> +<TGConnectingPoint num="33" id="4537" /> +<TGConnectingPoint num="34" id="4538" /> +<TGConnectingPoint num="35" id="4539" /> +<TGConnectingPoint num="36" id="4540" /> +<TGConnectingPoint num="37" id="4541" /> +<TGConnectingPoint num="38" id="4542" /> +<TGConnectingPoint num="39" id="4543" /> +<extraparam> +<blockType data="block" color="-4072719" /> +<CryptoBlock value="false" /> +<Attribute access="0" var="0" id="isCoinInserted" value="false" type="4" typeOther="" /> +<Attribute access="0" var="0" id="firstCoinTime" value="0" type="8" typeOther="" /> +<Attribute access="0" var="0" id="beverageSelectionTime" value="0" type="8" typeOther="" /> +<Attribute access="0" var="0" id="beveragePreparationTime" value="0" type="8" typeOther="" /> +<Attribute access="0" var="0" id="isBeveragePrepared" value="false" type="4" typeOther="" /> +<Signal value="in coinInserted()" attached="true" /> +<Signal value="out ejectCoin()" attached="true" /> +<Signal value="out prepareBeverage(int beverageType)" attached="true" /> +<Signal value="in coin1Inserted()" attached="false" /> +<Signal value="in coin2Inserted()" attached="false" /> +<Signal value="in selectionTimeout()" attached="false" /> +<Signal value="in beverageTimeout()" attached="false" /> +<Signal value="in teaButtonPressed()" attached="false" /> +<Signal value="in coffeeButtonPressed()" attached="false" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="5000" id="4585" index="4" uid="68d761db-3e11-4362-a54c-19b4c4671fa8" > +<cdparam x="309" y="200" /> +<sizeparam width="223" height="124" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Block" value="Button" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4545" /> +<TGConnectingPoint num="1" id="4546" /> +<TGConnectingPoint num="2" id="4547" /> +<TGConnectingPoint num="3" id="4548" /> +<TGConnectingPoint num="4" id="4549" /> +<TGConnectingPoint num="5" id="4550" /> +<TGConnectingPoint num="6" id="4551" /> +<TGConnectingPoint num="7" id="4552" /> +<TGConnectingPoint num="8" id="4553" /> +<TGConnectingPoint num="9" id="4554" /> +<TGConnectingPoint num="10" id="4555" /> +<TGConnectingPoint num="11" id="4556" /> +<TGConnectingPoint num="12" id="4557" /> +<TGConnectingPoint num="13" id="4558" /> +<TGConnectingPoint num="14" id="4559" /> +<TGConnectingPoint num="15" id="4560" /> +<TGConnectingPoint num="16" id="4561" /> +<TGConnectingPoint num="17" id="4562" /> +<TGConnectingPoint num="18" id="4563" /> +<TGConnectingPoint num="19" id="4564" /> +<TGConnectingPoint num="20" id="4565" /> +<TGConnectingPoint num="21" id="4566" /> +<TGConnectingPoint num="22" id="4567" /> +<TGConnectingPoint num="23" id="4568" /> +<TGConnectingPoint num="24" id="4569" /> +<TGConnectingPoint num="25" id="4570" /> +<TGConnectingPoint num="26" id="4571" /> +<TGConnectingPoint num="27" id="4572" /> +<TGConnectingPoint num="28" id="4573" /> +<TGConnectingPoint num="29" id="4574" /> +<TGConnectingPoint num="30" id="4575" /> +<TGConnectingPoint num="31" id="4576" /> +<TGConnectingPoint num="32" id="4577" /> +<TGConnectingPoint num="33" id="4578" /> +<TGConnectingPoint num="34" id="4579" /> +<TGConnectingPoint num="35" id="4580" /> +<TGConnectingPoint num="36" id="4581" /> +<TGConnectingPoint num="37" id="4582" /> +<TGConnectingPoint num="38" id="4583" /> +<TGConnectingPoint num="39" id="4584" /> +<extraparam> +<blockType data="block" color="-4072719" /> +<CryptoBlock value="false" /> +<Attribute access="0" var="0" id="buttonType" value="0" type="8" typeOther="" /> +<Signal value="out prepareBeverage(int beverageType)" attached="false" /> +<Signal value="in beveragePrepared()" attached="true" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="5000" id="4626" index="5" uid="1f2faee5-a5d7-438b-b9d0-6c498e1b8b45" > +<cdparam x="105" y="383" /> +<sizeparam width="253" height="170" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Block" value="Coin" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4586" /> +<TGConnectingPoint num="1" id="4587" /> +<TGConnectingPoint num="2" id="4588" /> +<TGConnectingPoint num="3" id="4589" /> +<TGConnectingPoint num="4" id="4590" /> +<TGConnectingPoint num="5" id="4591" /> +<TGConnectingPoint num="6" id="4592" /> +<TGConnectingPoint num="7" id="4593" /> +<TGConnectingPoint num="8" id="4594" /> +<TGConnectingPoint num="9" id="4595" /> +<TGConnectingPoint num="10" id="4596" /> +<TGConnectingPoint num="11" id="4597" /> +<TGConnectingPoint num="12" id="4598" /> +<TGConnectingPoint num="13" id="4599" /> +<TGConnectingPoint num="14" id="4600" /> +<TGConnectingPoint num="15" id="4601" /> +<TGConnectingPoint num="16" id="4602" /> +<TGConnectingPoint num="17" id="4603" /> +<TGConnectingPoint num="18" id="4604" /> +<TGConnectingPoint num="19" id="4605" /> +<TGConnectingPoint num="20" id="4606" /> +<TGConnectingPoint num="21" id="4607" /> +<TGConnectingPoint num="22" id="4608" /> +<TGConnectingPoint num="23" id="4609" /> +<TGConnectingPoint num="24" id="4610" /> +<TGConnectingPoint num="25" id="4611" /> +<TGConnectingPoint num="26" id="4612" /> +<TGConnectingPoint num="27" id="4613" /> +<TGConnectingPoint num="28" id="4614" /> +<TGConnectingPoint num="29" id="4615" /> +<TGConnectingPoint num="30" id="4616" /> +<TGConnectingPoint num="31" id="4617" /> +<TGConnectingPoint num="32" id="4618" /> +<TGConnectingPoint num="33" id="4619" /> +<TGConnectingPoint num="34" id="4620" /> +<TGConnectingPoint num="35" id="4621" /> +<TGConnectingPoint num="36" id="4622" /> +<TGConnectingPoint num="37" id="4623" /> +<TGConnectingPoint num="38" id="4624" /> +<TGConnectingPoint num="39" id="4625" /> +<extraparam> +<blockType data="block" color="-4072719" /> +<CryptoBlock value="false" /> +<Attribute access="0" var="0" id="coinValue" value="0" type="8" typeOther="" /> +<Signal value="out coinInserted()" attached="true" /> +<Signal value="in coinInserted()" attached="false" /> +<Signal value="in ejectCoin()" attached="true" /> +<Signal value="out coinEjected()" attached="false" /> +</extraparam> +</COMPONENT> + +<COMPONENT type="5000" id="4667" index="6" uid="1280eafd-d6fc-4258-9bc3-686bcf44f699" > +<cdparam x="618" y="49" /> +<sizeparam width="299" height="183" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Block" value="Beverage" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4627" /> +<TGConnectingPoint num="1" id="4628" /> +<TGConnectingPoint num="2" id="4629" /> +<TGConnectingPoint num="3" id="4630" /> +<TGConnectingPoint num="4" id="4631" /> +<TGConnectingPoint num="5" id="4632" /> +<TGConnectingPoint num="6" id="4633" /> +<TGConnectingPoint num="7" id="4634" /> +<TGConnectingPoint num="8" id="4635" /> +<TGConnectingPoint num="9" id="4636" /> +<TGConnectingPoint num="10" id="4637" /> +<TGConnectingPoint num="11" id="4638" /> +<TGConnectingPoint num="12" id="4639" /> +<TGConnectingPoint num="13" id="4640" /> +<TGConnectingPoint num="14" id="4641" /> +<TGConnectingPoint num="15" id="4642" /> +<TGConnectingPoint num="16" id="4643" /> +<TGConnectingPoint num="17" id="4644" /> +<TGConnectingPoint num="18" id="4645" /> +<TGConnectingPoint num="19" id="4646" /> +<TGConnectingPoint num="20" id="4647" /> +<TGConnectingPoint num="21" id="4648" /> +<TGConnectingPoint num="22" id="4649" /> +<TGConnectingPoint num="23" id="4650" /> +<TGConnectingPoint num="24" id="4651" /> +<TGConnectingPoint num="25" id="4652" /> +<TGConnectingPoint num="26" id="4653" /> +<TGConnectingPoint num="27" id="4654" /> +<TGConnectingPoint num="28" id="4655" /> +<TGConnectingPoint num="29" id="4656" /> +<TGConnectingPoint num="30" id="4657" /> +<TGConnectingPoint num="31" id="4658" /> +<TGConnectingPoint num="32" id="4659" /> +<TGConnectingPoint num="33" id="4660" /> +<TGConnectingPoint num="34" id="4661" /> +<TGConnectingPoint num="35" id="4662" /> +<TGConnectingPoint num="36" id="4663" /> +<TGConnectingPoint num="37" id="4664" /> +<TGConnectingPoint num="38" id="4665" /> +<TGConnectingPoint num="39" id="4666" /> +<extraparam> +<blockType data="block" color="-4072719" /> +<CryptoBlock value="false" /> +<Attribute access="0" var="0" id="beverageType" value="0" type="8" typeOther="" /> +<Signal value="in prepareBeverage(int beverageType)" attached="true" /> +<Signal value="out beveragePrepared()" attached="true" /> +</extraparam> +</COMPONENT> + + +</AVATARBlockDiagramPanel> + +<AVATARStateMachineDiagramPanel name="Beverage" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > +<CONNECTOR type="5102" id="4674" index="0" uid="39ba422e-da2f-486f-b5b8-76b35d1c2602" > +<cdparam x="450" y="190" /> +<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="4673" /> +<P1 x="450" y="190" id="4786" /> +<P2 x="471" y="240" id="4708" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="4672" index="8" uid="17a2e788-1419-4733-aec9-f6c3954c412e" > +<father id="4674" num="0" /> +<cdparam x="460" y="215" /> +<sizeparam width="154" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4668" /> +<TGConnectingPoint num="1" id="4669" /> +<TGConnectingPoint num="2" id="4670" /> +<TGConnectingPoint num="3" id="4671" /> +<extraparam> +<guard value="prepareBeveragereceived" 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="4681" index="1" uid="3b074c8b-bec8-4927-8c59-9927fca5e207" > +<cdparam x="407" y="60" /> +<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="4680" /> +<P1 x="407" y="60" id="4853" /> +<P2 x="450" y="140" id="4781" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="4679" index="9" uid="7c9ccd82-297d-42e2-bbb3-bb7c05d08030" > +<father id="4681" num="0" /> +<cdparam x="428" y="100" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4675" /> +<TGConnectingPoint num="1" id="4676" /> +<TGConnectingPoint num="2" id="4677" /> +<TGConnectingPoint num="3" id="4678" /> +<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="4688" index="2" uid="d6298545-4fa6-4508-9681-7f27ff8d9002" > +<cdparam x="415" y="365" /> +<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="4687" /> +<P1 x="415" y="365" id="4697" /> +<P2 x="500" y="165" id="4784" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="4686" index="10" uid="b28244f6-c6f1-4699-a5be-862370836109" > +<father id="4688" num="0" /> +<cdparam x="457" y="265" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4682" /> +<TGConnectingPoint num="1" id="4683" /> +<TGConnectingPoint num="2" id="4684" /> +<TGConnectingPoint num="3" id="4685" /> +<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="4695" index="3" uid="d10be12a-d418-44cf-9282-9907973ef723" > +<cdparam x="471" y="290" /> +<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="4694" /> +<P1 x="471" y="290" id="4713" /> +<P2 x="415" y="335" id="4696" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="4693" index="11" uid="cdb7c63e-11bb-4958-90a8-d6a49a7d98bb" > +<father id="4695" num="0" /> +<cdparam x="443" y="312" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4689" /> +<TGConnectingPoint num="1" id="4690" /> +<TGConnectingPoint num="2" id="4691" /> +<TGConnectingPoint num="3" id="4692" /> +<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="4706" index="4" uid="0ff8673f-84fc-42d8-adee-e1fca28cf005" > +<cdparam x="352" y="340" /> +<sizeparam width="126" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Send signal" value="beveragePrepared()" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4696" /> +<TGConnectingPoint num="1" id="4697" /> +<TGConnectingPoint num="2" id="4698" /> +<TGConnectingPoint num="3" id="4699" /> +<TGConnectingPoint num="4" id="4700" /> +<TGConnectingPoint num="5" id="4701" /> +<TGConnectingPoint num="6" id="4702" /> +<TGConnectingPoint num="7" id="4703" /> +<TGConnectingPoint num="8" id="4704" /> +<TGConnectingPoint num="9" id="4705" /> +</COMPONENT> + +<COMPONENT type="5106" id="4779" index="5" uid="3e3b7162-400b-458d-82f6-b528d248cc8e" > +<cdparam x="400" y="240" /> +<sizeparam width="143" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="state" value="BeverageReady" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4707" /> +<TGConnectingPoint num="1" id="4708" /> +<TGConnectingPoint num="2" id="4709" /> +<TGConnectingPoint num="3" id="4710" /> +<TGConnectingPoint num="4" id="4711" /> +<TGConnectingPoint num="5" id="4712" /> +<TGConnectingPoint num="6" id="4713" /> +<TGConnectingPoint num="7" id="4714" /> +<TGConnectingPoint num="8" id="4715" /> +<TGConnectingPoint num="9" id="4716" /> +<TGConnectingPoint num="10" id="4717" /> +<TGConnectingPoint num="11" id="4718" /> +<TGConnectingPoint num="12" id="4719" /> +<TGConnectingPoint num="13" id="4720" /> +<TGConnectingPoint num="14" id="4721" /> +<TGConnectingPoint num="15" id="4722" /> +<TGConnectingPoint num="16" id="4723" /> +<TGConnectingPoint num="17" id="4724" /> +<TGConnectingPoint num="18" id="4725" /> +<TGConnectingPoint num="19" id="4726" /> +<TGConnectingPoint num="20" id="4727" /> +<TGConnectingPoint num="21" id="4728" /> +<TGConnectingPoint num="22" id="4729" /> +<TGConnectingPoint num="23" id="4730" /> +<TGConnectingPoint num="24" id="4731" /> +<TGConnectingPoint num="25" id="4732" /> +<TGConnectingPoint num="26" id="4733" /> +<TGConnectingPoint num="27" id="4734" /> +<TGConnectingPoint num="28" id="4735" /> +<TGConnectingPoint num="29" id="4736" /> +<TGConnectingPoint num="30" id="4737" /> +<TGConnectingPoint num="31" id="4738" /> +<TGConnectingPoint num="32" id="4739" /> +<TGConnectingPoint num="33" id="4740" /> +<TGConnectingPoint num="34" id="4741" /> +<TGConnectingPoint num="35" id="4742" /> +<TGConnectingPoint num="36" id="4743" /> +<TGConnectingPoint num="37" id="4744" /> +<TGConnectingPoint num="38" id="4745" /> +<TGConnectingPoint num="39" id="4746" /> +<TGConnectingPoint num="40" id="4747" /> +<TGConnectingPoint num="41" id="4748" /> +<TGConnectingPoint num="42" id="4749" /> +<TGConnectingPoint num="43" id="4750" /> +<TGConnectingPoint num="44" id="4751" /> +<TGConnectingPoint num="45" id="4752" /> +<TGConnectingPoint num="46" id="4753" /> +<TGConnectingPoint num="47" id="4754" /> +<TGConnectingPoint num="48" id="4755" /> +<TGConnectingPoint num="49" id="4756" /> +<TGConnectingPoint num="50" id="4757" /> +<TGConnectingPoint num="51" id="4758" /> +<TGConnectingPoint num="52" id="4759" /> +<TGConnectingPoint num="53" id="4760" /> +<TGConnectingPoint num="54" id="4761" /> +<TGConnectingPoint num="55" id="4762" /> +<TGConnectingPoint num="56" id="4763" /> +<TGConnectingPoint num="57" id="4764" /> +<TGConnectingPoint num="58" id="4765" /> +<TGConnectingPoint num="59" id="4766" /> +<TGConnectingPoint num="60" id="4767" /> +<TGConnectingPoint num="61" id="4768" /> +<TGConnectingPoint num="62" id="4769" /> +<TGConnectingPoint num="63" id="4770" /> +<TGConnectingPoint num="64" id="4771" /> +<TGConnectingPoint num="65" id="4772" /> +<TGConnectingPoint num="66" id="4773" /> +<TGConnectingPoint num="67" id="4774" /> +<TGConnectingPoint num="68" id="4775" /> +<TGConnectingPoint num="69" id="4776" /> +<TGConnectingPoint num="70" id="4777" /> +<TGConnectingPoint num="71" id="4778" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5106" id="4852" index="6" uid="91456fcb-2ca0-4964-acf4-ea126fa84ee5" > +<cdparam x="400" y="140" /> +<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="2500" minY="10" maxY="1500" /> +<infoparam name="state" value="Start" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4780" /> +<TGConnectingPoint num="1" id="4781" /> +<TGConnectingPoint num="2" id="4782" /> +<TGConnectingPoint num="3" id="4783" /> +<TGConnectingPoint num="4" id="4784" /> +<TGConnectingPoint num="5" id="4785" /> +<TGConnectingPoint num="6" id="4786" /> +<TGConnectingPoint num="7" id="4787" /> +<TGConnectingPoint num="8" id="4788" /> +<TGConnectingPoint num="9" id="4789" /> +<TGConnectingPoint num="10" id="4790" /> +<TGConnectingPoint num="11" id="4791" /> +<TGConnectingPoint num="12" id="4792" /> +<TGConnectingPoint num="13" id="4793" /> +<TGConnectingPoint num="14" id="4794" /> +<TGConnectingPoint num="15" id="4795" /> +<TGConnectingPoint num="16" id="4796" /> +<TGConnectingPoint num="17" id="4797" /> +<TGConnectingPoint num="18" id="4798" /> +<TGConnectingPoint num="19" id="4799" /> +<TGConnectingPoint num="20" id="4800" /> +<TGConnectingPoint num="21" id="4801" /> +<TGConnectingPoint num="22" id="4802" /> +<TGConnectingPoint num="23" id="4803" /> +<TGConnectingPoint num="24" id="4804" /> +<TGConnectingPoint num="25" id="4805" /> +<TGConnectingPoint num="26" id="4806" /> +<TGConnectingPoint num="27" id="4807" /> +<TGConnectingPoint num="28" id="4808" /> +<TGConnectingPoint num="29" id="4809" /> +<TGConnectingPoint num="30" id="4810" /> +<TGConnectingPoint num="31" id="4811" /> +<TGConnectingPoint num="32" id="4812" /> +<TGConnectingPoint num="33" id="4813" /> +<TGConnectingPoint num="34" id="4814" /> +<TGConnectingPoint num="35" id="4815" /> +<TGConnectingPoint num="36" id="4816" /> +<TGConnectingPoint num="37" id="4817" /> +<TGConnectingPoint num="38" id="4818" /> +<TGConnectingPoint num="39" id="4819" /> +<TGConnectingPoint num="40" id="4820" /> +<TGConnectingPoint num="41" id="4821" /> +<TGConnectingPoint num="42" id="4822" /> +<TGConnectingPoint num="43" id="4823" /> +<TGConnectingPoint num="44" id="4824" /> +<TGConnectingPoint num="45" id="4825" /> +<TGConnectingPoint num="46" id="4826" /> +<TGConnectingPoint num="47" id="4827" /> +<TGConnectingPoint num="48" id="4828" /> +<TGConnectingPoint num="49" id="4829" /> +<TGConnectingPoint num="50" id="4830" /> +<TGConnectingPoint num="51" id="4831" /> +<TGConnectingPoint num="52" id="4832" /> +<TGConnectingPoint num="53" id="4833" /> +<TGConnectingPoint num="54" id="4834" /> +<TGConnectingPoint num="55" id="4835" /> +<TGConnectingPoint num="56" id="4836" /> +<TGConnectingPoint num="57" id="4837" /> +<TGConnectingPoint num="58" id="4838" /> +<TGConnectingPoint num="59" id="4839" /> +<TGConnectingPoint num="60" id="4840" /> +<TGConnectingPoint num="61" id="4841" /> +<TGConnectingPoint num="62" id="4842" /> +<TGConnectingPoint num="63" id="4843" /> +<TGConnectingPoint num="64" id="4844" /> +<TGConnectingPoint num="65" id="4845" /> +<TGConnectingPoint num="66" id="4846" /> +<TGConnectingPoint num="67" id="4847" /> +<TGConnectingPoint num="68" id="4848" /> +<TGConnectingPoint num="69" id="4849" /> +<TGConnectingPoint num="70" id="4850" /> +<TGConnectingPoint num="71" id="4851" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5100" id="4854" index="7" uid="92b53be0-2910-4f43-8f4c-72ab3b457a69" > +<cdparam x="400" y="40" /> +<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="start state" value="null" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4853" /> +</COMPONENT> + + +</AVATARStateMachineDiagramPanel> + +<AVATARStateMachineDiagramPanel name="Coin" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > +<CONNECTOR type="5102" id="4861" index="0" uid="3aee321d-2061-476c-9c6c-0058dd5931c5" > +<cdparam x="407" y="60" /> +<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="4860" /> +<P1 x="407" y="60" id="5232" /> +<P2 x="450" y="140" id="5160" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="4859" index="16" uid="0b0e1dcb-c801-45c9-8d7a-c1273c0ec69a" > +<father id="4861" num="0" /> +<cdparam x="428" y="100" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4855" /> +<TGConnectingPoint num="1" id="4856" /> +<TGConnectingPoint num="2" id="4857" /> +<TGConnectingPoint num="3" id="4858" /> +<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="4868" index="1" uid="3eec0ea4-410b-44ac-936d-225b99cbb0b2" > +<cdparam x="415" y="465" /> +<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="4867" /> +<P1 x="415" y="465" id="5065" /> +<P2 x="460" y="540" id="4992" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="4866" index="17" uid="2fe4b68b-8240-49b5-8df1-72b608daccd2" > +<father id="4868" num="0" /> +<cdparam x="437" y="502" /> +<sizeparam width="78" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4862" /> +<TGConnectingPoint num="1" id="4863" /> +<TGConnectingPoint num="2" id="4864" /> +<TGConnectingPoint num="3" id="4865" /> +<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="coinValue=0" enabled="true"/> +</extraparam> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="4875" index="2" uid="d6ae9c82-bd41-4030-b0d2-90255680970f" > +<cdparam x="481" y="390" /> +<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="4874" /> +<P1 x="481" y="390" id="5105" /> +<P2 x="415" y="435" id="5064" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="4873" index="18" uid="55526e90-a654-4cf2-b30b-1bf5b17ef672" > +<father id="4875" num="0" /> +<cdparam x="448" y="412" /> +<sizeparam width="377" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4869" /> +<TGConnectingPoint num="1" id="4870" /> +<TGConnectingPoint num="2" id="4871" /> +<TGConnectingPoint num="3" id="4872" /> +<extraparam> +<guard value="coinValue == 1andisCoinInsertedand(now()-firstCoinTime)>100" 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="4882" index="3" uid="06fb5d16-0764-4054-b13d-4960b1e3c88e" > +<cdparam x="450" y="190" /> +<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="4881" /> +<P1 x="450" y="190" id="5165" /> +<P2 x="415" y="235" id="5148" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="4880" index="19" uid="1505fec6-9178-487d-b6a2-758671556fe4" > +<father id="4882" num="0" /> +<cdparam x="432" y="212" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4876" /> +<TGConnectingPoint num="1" id="4877" /> +<TGConnectingPoint num="2" id="4878" /> +<TGConnectingPoint num="3" id="4879" /> +<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="4889" index="4" uid="3d307351-a80f-4c46-95ef-af1f8756b4d3" > +<cdparam x="466" y="390" /> +<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="4888" /> +<P1 x="466" y="390" id="5113" /> +<P2 x="788" y="440" id="4919" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="4887" index="20" uid="28af0292-b9e8-4cb0-aa1b-7d216a9cbaa6" > +<father id="4889" num="0" /> +<cdparam x="627" y="415" /> +<sizeparam width="199" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4883" /> +<TGConnectingPoint num="1" id="4884" /> +<TGConnectingPoint num="2" id="4885" /> +<TGConnectingPoint num="3" id="4886" /> +<extraparam> +<guard value="coinValue == 2andisCoinInserted" 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="4896" index="5" uid="bbe8ca9c-a957-41a9-b719-871559646228" > +<cdparam x="788" y="490" /> +<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="4895" /> +<P1 x="788" y="490" id="4924" /> +<P2 x="500" y="171" id="5185" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="4894" index="21" uid="10f71736-c9cf-4859-ab74-0cd50bffc3a8" > +<father id="4896" num="0" /> +<cdparam x="644" y="330" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4890" /> +<TGConnectingPoint num="1" id="4891" /> +<TGConnectingPoint num="2" id="4892" /> +<TGConnectingPoint num="3" id="4893" /> +<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="4903" index="6" uid="1997e1ff-6e69-47f6-b167-7af56d0b8ee6" > +<cdparam x="466" y="390" /> +<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="4902" /> +<P1 x="466" y="390" id="5081" /> +<P2 x="500" y="165" id="5195" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="4901" index="22" uid="e834d77e-26a7-44a6-b0e5-285ceede6c7e" > +<father id="4903" num="0" /> +<cdparam x="483" y="277" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4897" /> +<TGConnectingPoint num="1" id="4898" /> +<TGConnectingPoint num="2" id="4899" /> +<TGConnectingPoint num="3" id="4900" /> +<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="4910" index="7" uid="cde45a4e-a2bd-4bc4-9dcc-dbd3fd136e6e" > +<cdparam x="460" y="590" /> +<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="4909" /> +<P1 x="460" y="590" id="4997" /> +<P2 x="500" y="165" id="5163" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="4908" index="23" uid="7420a6f9-f53a-49eb-9203-769600e50e45" > +<father id="4910" num="0" /> +<cdparam x="480" y="377" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4904" /> +<TGConnectingPoint num="1" id="4905" /> +<TGConnectingPoint num="2" id="4906" /> +<TGConnectingPoint num="3" id="4907" /> +<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="4917" index="8" uid="fb303f5b-f012-4043-92ad-2f73e0dc88df" > +<cdparam x="415" y="265" /> +<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="4916" /> +<P1 x="415" y="265" id="5149" /> +<P2 x="466" y="340" id="5076" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="4915" index="24" uid="fdc814a3-0cac-4fa9-bf1b-2bb72f603db1" > +<father id="4917" num="0" /> +<cdparam x="440" y="302" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4911" /> +<TGConnectingPoint num="1" id="4912" /> +<TGConnectingPoint num="2" id="4913" /> +<TGConnectingPoint num="3" id="4914" /> +<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="4990" index="9" uid="78ee2516-d07e-4819-8096-f88f89fc65b0" > +<cdparam x="700" y="440" /> +<sizeparam width="176" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="state" value="TwoCoinsInserted" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4918" /> +<TGConnectingPoint num="1" id="4919" /> +<TGConnectingPoint num="2" id="4920" /> +<TGConnectingPoint num="3" id="4921" /> +<TGConnectingPoint num="4" id="4922" /> +<TGConnectingPoint num="5" id="4923" /> +<TGConnectingPoint num="6" id="4924" /> +<TGConnectingPoint num="7" id="4925" /> +<TGConnectingPoint num="8" id="4926" /> +<TGConnectingPoint num="9" id="4927" /> +<TGConnectingPoint num="10" id="4928" /> +<TGConnectingPoint num="11" id="4929" /> +<TGConnectingPoint num="12" id="4930" /> +<TGConnectingPoint num="13" id="4931" /> +<TGConnectingPoint num="14" id="4932" /> +<TGConnectingPoint num="15" id="4933" /> +<TGConnectingPoint num="16" id="4934" /> +<TGConnectingPoint num="17" id="4935" /> +<TGConnectingPoint num="18" id="4936" /> +<TGConnectingPoint num="19" id="4937" /> +<TGConnectingPoint num="20" id="4938" /> +<TGConnectingPoint num="21" id="4939" /> +<TGConnectingPoint num="22" id="4940" /> +<TGConnectingPoint num="23" id="4941" /> +<TGConnectingPoint num="24" id="4942" /> +<TGConnectingPoint num="25" id="4943" /> +<TGConnectingPoint num="26" id="4944" /> +<TGConnectingPoint num="27" id="4945" /> +<TGConnectingPoint num="28" id="4946" /> +<TGConnectingPoint num="29" id="4947" /> +<TGConnectingPoint num="30" id="4948" /> +<TGConnectingPoint num="31" id="4949" /> +<TGConnectingPoint num="32" id="4950" /> +<TGConnectingPoint num="33" id="4951" /> +<TGConnectingPoint num="34" id="4952" /> +<TGConnectingPoint num="35" id="4953" /> +<TGConnectingPoint num="36" id="4954" /> +<TGConnectingPoint num="37" id="4955" /> +<TGConnectingPoint num="38" id="4956" /> +<TGConnectingPoint num="39" id="4957" /> +<TGConnectingPoint num="40" id="4958" /> +<TGConnectingPoint num="41" id="4959" /> +<TGConnectingPoint num="42" id="4960" /> +<TGConnectingPoint num="43" id="4961" /> +<TGConnectingPoint num="44" id="4962" /> +<TGConnectingPoint num="45" id="4963" /> +<TGConnectingPoint num="46" id="4964" /> +<TGConnectingPoint num="47" id="4965" /> +<TGConnectingPoint num="48" id="4966" /> +<TGConnectingPoint num="49" id="4967" /> +<TGConnectingPoint num="50" id="4968" /> +<TGConnectingPoint num="51" id="4969" /> +<TGConnectingPoint num="52" id="4970" /> +<TGConnectingPoint num="53" id="4971" /> +<TGConnectingPoint num="54" id="4972" /> +<TGConnectingPoint num="55" id="4973" /> +<TGConnectingPoint num="56" id="4974" /> +<TGConnectingPoint num="57" id="4975" /> +<TGConnectingPoint num="58" id="4976" /> +<TGConnectingPoint num="59" id="4977" /> +<TGConnectingPoint num="60" id="4978" /> +<TGConnectingPoint num="61" id="4979" /> +<TGConnectingPoint num="62" id="4980" /> +<TGConnectingPoint num="63" id="4981" /> +<TGConnectingPoint num="64" id="4982" /> +<TGConnectingPoint num="65" id="4983" /> +<TGConnectingPoint num="66" id="4984" /> +<TGConnectingPoint num="67" id="4985" /> +<TGConnectingPoint num="68" id="4986" /> +<TGConnectingPoint num="69" id="4987" /> +<TGConnectingPoint num="70" id="4988" /> +<TGConnectingPoint num="71" id="4989" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5106" id="5063" index="10" uid="aa299c2f-9980-42d0-b0de-9615f1850da4" > +<cdparam x="400" y="540" /> +<sizeparam width="121" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="state" value="CoinEjected" /> +<new d="false" /> +<TGConnectingPoint num="0" id="4991" /> +<TGConnectingPoint num="1" id="4992" /> +<TGConnectingPoint num="2" id="4993" /> +<TGConnectingPoint num="3" id="4994" /> +<TGConnectingPoint num="4" id="4995" /> +<TGConnectingPoint num="5" id="4996" /> +<TGConnectingPoint num="6" id="4997" /> +<TGConnectingPoint num="7" id="4998" /> +<TGConnectingPoint num="8" id="4999" /> +<TGConnectingPoint num="9" id="5000" /> +<TGConnectingPoint num="10" id="5001" /> +<TGConnectingPoint num="11" id="5002" /> +<TGConnectingPoint num="12" id="5003" /> +<TGConnectingPoint num="13" id="5004" /> +<TGConnectingPoint num="14" id="5005" /> +<TGConnectingPoint num="15" id="5006" /> +<TGConnectingPoint num="16" id="5007" /> +<TGConnectingPoint num="17" id="5008" /> +<TGConnectingPoint num="18" id="5009" /> +<TGConnectingPoint num="19" id="5010" /> +<TGConnectingPoint num="20" id="5011" /> +<TGConnectingPoint num="21" id="5012" /> +<TGConnectingPoint num="22" id="5013" /> +<TGConnectingPoint num="23" id="5014" /> +<TGConnectingPoint num="24" id="5015" /> +<TGConnectingPoint num="25" id="5016" /> +<TGConnectingPoint num="26" id="5017" /> +<TGConnectingPoint num="27" id="5018" /> +<TGConnectingPoint num="28" id="5019" /> +<TGConnectingPoint num="29" id="5020" /> +<TGConnectingPoint num="30" id="5021" /> +<TGConnectingPoint num="31" id="5022" /> +<TGConnectingPoint num="32" id="5023" /> +<TGConnectingPoint num="33" id="5024" /> +<TGConnectingPoint num="34" id="5025" /> +<TGConnectingPoint num="35" id="5026" /> +<TGConnectingPoint num="36" id="5027" /> +<TGConnectingPoint num="37" id="5028" /> +<TGConnectingPoint num="38" id="5029" /> +<TGConnectingPoint num="39" id="5030" /> +<TGConnectingPoint num="40" id="5031" /> +<TGConnectingPoint num="41" id="5032" /> +<TGConnectingPoint num="42" id="5033" /> +<TGConnectingPoint num="43" id="5034" /> +<TGConnectingPoint num="44" id="5035" /> +<TGConnectingPoint num="45" id="5036" /> +<TGConnectingPoint num="46" id="5037" /> +<TGConnectingPoint num="47" id="5038" /> +<TGConnectingPoint num="48" id="5039" /> +<TGConnectingPoint num="49" id="5040" /> +<TGConnectingPoint num="50" id="5041" /> +<TGConnectingPoint num="51" id="5042" /> +<TGConnectingPoint num="52" id="5043" /> +<TGConnectingPoint num="53" id="5044" /> +<TGConnectingPoint num="54" id="5045" /> +<TGConnectingPoint num="55" id="5046" /> +<TGConnectingPoint num="56" id="5047" /> +<TGConnectingPoint num="57" id="5048" /> +<TGConnectingPoint num="58" id="5049" /> +<TGConnectingPoint num="59" id="5050" /> +<TGConnectingPoint num="60" id="5051" /> +<TGConnectingPoint num="61" id="5052" /> +<TGConnectingPoint num="62" id="5053" /> +<TGConnectingPoint num="63" id="5054" /> +<TGConnectingPoint num="64" id="5055" /> +<TGConnectingPoint num="65" id="5056" /> +<TGConnectingPoint num="66" id="5057" /> +<TGConnectingPoint num="67" id="5058" /> +<TGConnectingPoint num="68" id="5059" /> +<TGConnectingPoint num="69" id="5060" /> +<TGConnectingPoint num="70" id="5061" /> +<TGConnectingPoint num="71" id="5062" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5103" id="5074" index="11" uid="cd000e10-6f22-42d4-ac68-fe5f423a33a4" > +<cdparam x="373" y="440" /> +<sizeparam width="84" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Send signal" value="coinEjected()" /> +<new d="false" /> +<TGConnectingPoint num="0" id="5064" /> +<TGConnectingPoint num="1" id="5065" /> +<TGConnectingPoint num="2" id="5066" /> +<TGConnectingPoint num="3" id="5067" /> +<TGConnectingPoint num="4" id="5068" /> +<TGConnectingPoint num="5" id="5069" /> +<TGConnectingPoint num="6" id="5070" /> +<TGConnectingPoint num="7" id="5071" /> +<TGConnectingPoint num="8" id="5072" /> +<TGConnectingPoint num="9" id="5073" /> +</COMPONENT> + +<COMPONENT type="5106" id="5147" index="12" uid="20caebc7-fa1a-450d-a5e2-06cc78f37eed" > +<cdparam x="400" y="340" /> +<sizeparam width="132" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="state" value="CoinInserted" /> +<new d="false" /> +<TGConnectingPoint num="0" id="5075" /> +<TGConnectingPoint num="1" id="5076" /> +<TGConnectingPoint num="2" id="5077" /> +<TGConnectingPoint num="3" id="5078" /> +<TGConnectingPoint num="4" id="5079" /> +<TGConnectingPoint num="5" id="5080" /> +<TGConnectingPoint num="6" id="5081" /> +<TGConnectingPoint num="7" id="5082" /> +<TGConnectingPoint num="8" id="5083" /> +<TGConnectingPoint num="9" id="5084" /> +<TGConnectingPoint num="10" id="5085" /> +<TGConnectingPoint num="11" id="5086" /> +<TGConnectingPoint num="12" id="5087" /> +<TGConnectingPoint num="13" id="5088" /> +<TGConnectingPoint num="14" id="5089" /> +<TGConnectingPoint num="15" id="5090" /> +<TGConnectingPoint num="16" id="5091" /> +<TGConnectingPoint num="17" id="5092" /> +<TGConnectingPoint num="18" id="5093" /> +<TGConnectingPoint num="19" id="5094" /> +<TGConnectingPoint num="20" id="5095" /> +<TGConnectingPoint num="21" id="5096" /> +<TGConnectingPoint num="22" id="5097" /> +<TGConnectingPoint num="23" id="5098" /> +<TGConnectingPoint num="24" id="5099" /> +<TGConnectingPoint num="25" id="5100" /> +<TGConnectingPoint num="26" id="5101" /> +<TGConnectingPoint num="27" id="5102" /> +<TGConnectingPoint num="28" id="5103" /> +<TGConnectingPoint num="29" id="5104" /> +<TGConnectingPoint num="30" id="5105" /> +<TGConnectingPoint num="31" id="5106" /> +<TGConnectingPoint num="32" id="5107" /> +<TGConnectingPoint num="33" id="5108" /> +<TGConnectingPoint num="34" id="5109" /> +<TGConnectingPoint num="35" id="5110" /> +<TGConnectingPoint num="36" id="5111" /> +<TGConnectingPoint num="37" id="5112" /> +<TGConnectingPoint num="38" id="5113" /> +<TGConnectingPoint num="39" id="5114" /> +<TGConnectingPoint num="40" id="5115" /> +<TGConnectingPoint num="41" id="5116" /> +<TGConnectingPoint num="42" id="5117" /> +<TGConnectingPoint num="43" id="5118" /> +<TGConnectingPoint num="44" id="5119" /> +<TGConnectingPoint num="45" id="5120" /> +<TGConnectingPoint num="46" id="5121" /> +<TGConnectingPoint num="47" id="5122" /> +<TGConnectingPoint num="48" id="5123" /> +<TGConnectingPoint num="49" id="5124" /> +<TGConnectingPoint num="50" id="5125" /> +<TGConnectingPoint num="51" id="5126" /> +<TGConnectingPoint num="52" id="5127" /> +<TGConnectingPoint num="53" id="5128" /> +<TGConnectingPoint num="54" id="5129" /> +<TGConnectingPoint num="55" id="5130" /> +<TGConnectingPoint num="56" id="5131" /> +<TGConnectingPoint num="57" id="5132" /> +<TGConnectingPoint num="58" id="5133" /> +<TGConnectingPoint num="59" id="5134" /> +<TGConnectingPoint num="60" id="5135" /> +<TGConnectingPoint num="61" id="5136" /> +<TGConnectingPoint num="62" id="5137" /> +<TGConnectingPoint num="63" id="5138" /> +<TGConnectingPoint num="64" id="5139" /> +<TGConnectingPoint num="65" id="5140" /> +<TGConnectingPoint num="66" id="5141" /> +<TGConnectingPoint num="67" id="5142" /> +<TGConnectingPoint num="68" id="5143" /> +<TGConnectingPoint num="69" id="5144" /> +<TGConnectingPoint num="70" id="5145" /> +<TGConnectingPoint num="71" id="5146" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5103" id="5158" index="13" uid="886d69b7-8fec-49fe-879a-0a8f950729dc" > +<cdparam x="371" y="240" /> +<sizeparam width="88" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Send signal" value="coinInserted()" /> +<new d="false" /> +<TGConnectingPoint num="0" id="5148" /> +<TGConnectingPoint num="1" id="5149" /> +<TGConnectingPoint num="2" id="5150" /> +<TGConnectingPoint num="3" id="5151" /> +<TGConnectingPoint num="4" id="5152" /> +<TGConnectingPoint num="5" id="5153" /> +<TGConnectingPoint num="6" id="5154" /> +<TGConnectingPoint num="7" id="5155" /> +<TGConnectingPoint num="8" id="5156" /> +<TGConnectingPoint num="9" id="5157" /> +</COMPONENT> + +<COMPONENT type="5106" id="5231" index="14" uid="644ebadc-0a08-488c-912d-6cfd68db352b" > +<cdparam x="400" y="140" /> +<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="2500" minY="10" maxY="1500" /> +<infoparam name="state" value="Start" /> +<new d="false" /> +<TGConnectingPoint num="0" id="5159" /> +<TGConnectingPoint num="1" id="5160" /> +<TGConnectingPoint num="2" id="5161" /> +<TGConnectingPoint num="3" id="5162" /> +<TGConnectingPoint num="4" id="5163" /> +<TGConnectingPoint num="5" id="5164" /> +<TGConnectingPoint num="6" id="5165" /> +<TGConnectingPoint num="7" id="5166" /> +<TGConnectingPoint num="8" id="5167" /> +<TGConnectingPoint num="9" id="5168" /> +<TGConnectingPoint num="10" id="5169" /> +<TGConnectingPoint num="11" id="5170" /> +<TGConnectingPoint num="12" id="5171" /> +<TGConnectingPoint num="13" id="5172" /> +<TGConnectingPoint num="14" id="5173" /> +<TGConnectingPoint num="15" id="5174" /> +<TGConnectingPoint num="16" id="5175" /> +<TGConnectingPoint num="17" id="5176" /> +<TGConnectingPoint num="18" id="5177" /> +<TGConnectingPoint num="19" id="5178" /> +<TGConnectingPoint num="20" id="5179" /> +<TGConnectingPoint num="21" id="5180" /> +<TGConnectingPoint num="22" id="5181" /> +<TGConnectingPoint num="23" id="5182" /> +<TGConnectingPoint num="24" id="5183" /> +<TGConnectingPoint num="25" id="5184" /> +<TGConnectingPoint num="26" id="5185" /> +<TGConnectingPoint num="27" id="5186" /> +<TGConnectingPoint num="28" id="5187" /> +<TGConnectingPoint num="29" id="5188" /> +<TGConnectingPoint num="30" id="5189" /> +<TGConnectingPoint num="31" id="5190" /> +<TGConnectingPoint num="32" id="5191" /> +<TGConnectingPoint num="33" id="5192" /> +<TGConnectingPoint num="34" id="5193" /> +<TGConnectingPoint num="35" id="5194" /> +<TGConnectingPoint num="36" id="5195" /> +<TGConnectingPoint num="37" id="5196" /> +<TGConnectingPoint num="38" id="5197" /> +<TGConnectingPoint num="39" id="5198" /> +<TGConnectingPoint num="40" id="5199" /> +<TGConnectingPoint num="41" id="5200" /> +<TGConnectingPoint num="42" id="5201" /> +<TGConnectingPoint num="43" id="5202" /> +<TGConnectingPoint num="44" id="5203" /> +<TGConnectingPoint num="45" id="5204" /> +<TGConnectingPoint num="46" id="5205" /> +<TGConnectingPoint num="47" id="5206" /> +<TGConnectingPoint num="48" id="5207" /> +<TGConnectingPoint num="49" id="5208" /> +<TGConnectingPoint num="50" id="5209" /> +<TGConnectingPoint num="51" id="5210" /> +<TGConnectingPoint num="52" id="5211" /> +<TGConnectingPoint num="53" id="5212" /> +<TGConnectingPoint num="54" id="5213" /> +<TGConnectingPoint num="55" id="5214" /> +<TGConnectingPoint num="56" id="5215" /> +<TGConnectingPoint num="57" id="5216" /> +<TGConnectingPoint num="58" id="5217" /> +<TGConnectingPoint num="59" id="5218" /> +<TGConnectingPoint num="60" id="5219" /> +<TGConnectingPoint num="61" id="5220" /> +<TGConnectingPoint num="62" id="5221" /> +<TGConnectingPoint num="63" id="5222" /> +<TGConnectingPoint num="64" id="5223" /> +<TGConnectingPoint num="65" id="5224" /> +<TGConnectingPoint num="66" id="5225" /> +<TGConnectingPoint num="67" id="5226" /> +<TGConnectingPoint num="68" id="5227" /> +<TGConnectingPoint num="69" id="5228" /> +<TGConnectingPoint num="70" id="5229" /> +<TGConnectingPoint num="71" id="5230" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5100" id="5233" index="15" uid="23c59b03-918a-4d0e-aea7-b11edd998e4a" > +<cdparam x="400" y="40" /> +<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="start state" value="null" /> +<new d="false" /> +<TGConnectingPoint num="0" id="5232" /> +</COMPONENT> + + +</AVATARStateMachineDiagramPanel> + +<AVATARStateMachineDiagramPanel name="Button" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > +<CONNECTOR type="5102" id="5240" index="0" uid="c5fe365a-79e7-4cf4-8b86-716fede6b69f" > +<cdparam x="415" y="265" /> +<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="5239" /> +<P1 x="415" y="265" id="5354" /> +<P2 x="499" y="340" id="5281" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="5238" index="10" uid="c4afb8ab-1411-4849-b6e9-be0ce548a1a1" > +<father id="5240" num="0" /> +<cdparam x="457" y="302" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="5234" /> +<TGConnectingPoint num="1" id="5235" /> +<TGConnectingPoint num="2" id="5236" /> +<TGConnectingPoint num="3" id="5237" /> +<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="5247" index="1" uid="45bccbc7-fd89-4cf6-93ad-d9f6818d40c1" > +<cdparam x="450" y="190" /> +<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="5246" /> +<P1 x="450" y="190" id="5370" /> +<P2 x="415" y="235" id="5353" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="5245" index="11" uid="ebd27c2f-e4e6-45be-966f-a97d98fafa46" > +<father id="5247" num="0" /> +<cdparam x="432" y="212" /> +<sizeparam width="97" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="5241" /> +<TGConnectingPoint num="1" id="5242" /> +<TGConnectingPoint num="2" id="5243" /> +<TGConnectingPoint num="3" id="5244" /> +<extraparam> +<guard value="buttonType > 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="5254" index="2" uid="1f4916a0-672b-44ad-a6bf-fe26f3c2299a" > +<cdparam x="415" y="465" /> +<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="5253" /> +<P1 x="415" y="465" id="5270" /> +<P2 x="500" y="165" id="5368" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="5252" index="12" uid="d75ec1b0-5e67-40f4-9a40-49b787b3a2a8" > +<father id="5254" num="0" /> +<cdparam x="457" y="315" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="5248" /> +<TGConnectingPoint num="1" id="5249" /> +<TGConnectingPoint num="2" id="5250" /> +<TGConnectingPoint num="3" id="5251" /> +<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="5261" index="3" uid="4b42f4c3-9a4a-4037-baf2-32a5a2358536" > +<cdparam x="499" y="390" /> +<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="5260" /> +<P1 x="499" y="390" id="5286" /> +<P2 x="415" y="435" id="5269" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="5259" index="13" uid="51c644a0-9c7c-481d-999e-39d57f1c757d" > +<father id="5261" num="0" /> +<cdparam x="457" y="412" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="5255" /> +<TGConnectingPoint num="1" id="5256" /> +<TGConnectingPoint num="2" id="5257" /> +<TGConnectingPoint num="3" id="5258" /> +<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="5268" index="4" uid="67647579-4e6d-4cf1-836b-e9ef4d832f09" > +<cdparam x="407" y="60" /> +<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="5267" /> +<P1 x="407" y="60" id="5437" /> +<P2 x="450" y="140" id="5365" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="5266" index="14" uid="7516c356-f29c-4086-98fa-1fa9dc2e6405" > +<father id="5268" num="0" /> +<cdparam x="428" y="100" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<new d="false" /> +<TGConnectingPoint num="0" id="5262" /> +<TGConnectingPoint num="1" id="5263" /> +<TGConnectingPoint num="2" id="5264" /> +<TGConnectingPoint num="3" id="5265" /> +<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="5104" id="5279" index="5" uid="a8f3e1fa-2fb1-4a81-8112-20e3af270aa8" > +<cdparam x="348" y="440" /> +<sizeparam width="134" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Receive signal" value="beveragePrepared()" /> +<new d="false" /> +<TGConnectingPoint num="0" id="5269" /> +<TGConnectingPoint num="1" id="5270" /> +<TGConnectingPoint num="2" id="5271" /> +<TGConnectingPoint num="3" id="5272" /> +<TGConnectingPoint num="4" id="5273" /> +<TGConnectingPoint num="5" id="5274" /> +<TGConnectingPoint num="6" id="5275" /> +<TGConnectingPoint num="7" id="5276" /> +<TGConnectingPoint num="8" id="5277" /> +<TGConnectingPoint num="9" id="5278" /> +</COMPONENT> + +<COMPONENT type="5106" id="5352" index="6" uid="8ba43621-cccd-4562-9276-05db237c7095" > +<cdparam x="400" y="340" /> +<sizeparam width="198" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="state" value="Beverage_Preparing" /> +<new d="false" /> +<TGConnectingPoint num="0" id="5280" /> +<TGConnectingPoint num="1" id="5281" /> +<TGConnectingPoint num="2" id="5282" /> +<TGConnectingPoint num="3" id="5283" /> +<TGConnectingPoint num="4" id="5284" /> +<TGConnectingPoint num="5" id="5285" /> +<TGConnectingPoint num="6" id="5286" /> +<TGConnectingPoint num="7" id="5287" /> +<TGConnectingPoint num="8" id="5288" /> +<TGConnectingPoint num="9" id="5289" /> +<TGConnectingPoint num="10" id="5290" /> +<TGConnectingPoint num="11" id="5291" /> +<TGConnectingPoint num="12" id="5292" /> +<TGConnectingPoint num="13" id="5293" /> +<TGConnectingPoint num="14" id="5294" /> +<TGConnectingPoint num="15" id="5295" /> +<TGConnectingPoint num="16" id="5296" /> +<TGConnectingPoint num="17" id="5297" /> +<TGConnectingPoint num="18" id="5298" /> +<TGConnectingPoint num="19" id="5299" /> +<TGConnectingPoint num="20" id="5300" /> +<TGConnectingPoint num="21" id="5301" /> +<TGConnectingPoint num="22" id="5302" /> +<TGConnectingPoint num="23" id="5303" /> +<TGConnectingPoint num="24" id="5304" /> +<TGConnectingPoint num="25" id="5305" /> +<TGConnectingPoint num="26" id="5306" /> +<TGConnectingPoint num="27" id="5307" /> +<TGConnectingPoint num="28" id="5308" /> +<TGConnectingPoint num="29" id="5309" /> +<TGConnectingPoint num="30" id="5310" /> +<TGConnectingPoint num="31" id="5311" /> +<TGConnectingPoint num="32" id="5312" /> +<TGConnectingPoint num="33" id="5313" /> +<TGConnectingPoint num="34" id="5314" /> +<TGConnectingPoint num="35" id="5315" /> +<TGConnectingPoint num="36" id="5316" /> +<TGConnectingPoint num="37" id="5317" /> +<TGConnectingPoint num="38" id="5318" /> +<TGConnectingPoint num="39" id="5319" /> +<TGConnectingPoint num="40" id="5320" /> +<TGConnectingPoint num="41" id="5321" /> +<TGConnectingPoint num="42" id="5322" /> +<TGConnectingPoint num="43" id="5323" /> +<TGConnectingPoint num="44" id="5324" /> +<TGConnectingPoint num="45" id="5325" /> +<TGConnectingPoint num="46" id="5326" /> +<TGConnectingPoint num="47" id="5327" /> +<TGConnectingPoint num="48" id="5328" /> +<TGConnectingPoint num="49" id="5329" /> +<TGConnectingPoint num="50" id="5330" /> +<TGConnectingPoint num="51" id="5331" /> +<TGConnectingPoint num="52" id="5332" /> +<TGConnectingPoint num="53" id="5333" /> +<TGConnectingPoint num="54" id="5334" /> +<TGConnectingPoint num="55" id="5335" /> +<TGConnectingPoint num="56" id="5336" /> +<TGConnectingPoint num="57" id="5337" /> +<TGConnectingPoint num="58" id="5338" /> +<TGConnectingPoint num="59" id="5339" /> +<TGConnectingPoint num="60" id="5340" /> +<TGConnectingPoint num="61" id="5341" /> +<TGConnectingPoint num="62" id="5342" /> +<TGConnectingPoint num="63" id="5343" /> +<TGConnectingPoint num="64" id="5344" /> +<TGConnectingPoint num="65" id="5345" /> +<TGConnectingPoint num="66" id="5346" /> +<TGConnectingPoint num="67" id="5347" /> +<TGConnectingPoint num="68" id="5348" /> +<TGConnectingPoint num="69" id="5349" /> +<TGConnectingPoint num="70" id="5350" /> +<TGConnectingPoint num="71" id="5351" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5103" id="5363" index="7" uid="db3f7493-0f8d-4d52-93a8-4fbffa79e02a" > +<cdparam x="356" y="240" /> +<sizeparam width="118" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<enabled value="true" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="Send signal" value="prepareBeverage()" /> +<new d="false" /> +<TGConnectingPoint num="0" id="5353" /> +<TGConnectingPoint num="1" id="5354" /> +<TGConnectingPoint num="2" id="5355" /> +<TGConnectingPoint num="3" id="5356" /> +<TGConnectingPoint num="4" id="5357" /> +<TGConnectingPoint num="5" id="5358" /> +<TGConnectingPoint num="6" id="5359" /> +<TGConnectingPoint num="7" id="5360" /> +<TGConnectingPoint num="8" id="5361" /> +<TGConnectingPoint num="9" id="5362" /> +</COMPONENT> + +<COMPONENT type="5106" id="5436" index="8" uid="94bc1b67-a898-44e0-8340-d6b01df12e3c" > +<cdparam x="400" y="140" /> +<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="2500" minY="10" maxY="1500" /> +<infoparam name="state" value="Start" /> +<new d="false" /> +<TGConnectingPoint num="0" id="5364" /> +<TGConnectingPoint num="1" id="5365" /> +<TGConnectingPoint num="2" id="5366" /> +<TGConnectingPoint num="3" id="5367" /> +<TGConnectingPoint num="4" id="5368" /> +<TGConnectingPoint num="5" id="5369" /> +<TGConnectingPoint num="6" id="5370" /> +<TGConnectingPoint num="7" id="5371" /> +<TGConnectingPoint num="8" id="5372" /> +<TGConnectingPoint num="9" id="5373" /> +<TGConnectingPoint num="10" id="5374" /> +<TGConnectingPoint num="11" id="5375" /> +<TGConnectingPoint num="12" id="5376" /> +<TGConnectingPoint num="13" id="5377" /> +<TGConnectingPoint num="14" id="5378" /> +<TGConnectingPoint num="15" id="5379" /> +<TGConnectingPoint num="16" id="5380" /> +<TGConnectingPoint num="17" id="5381" /> +<TGConnectingPoint num="18" id="5382" /> +<TGConnectingPoint num="19" id="5383" /> +<TGConnectingPoint num="20" id="5384" /> +<TGConnectingPoint num="21" id="5385" /> +<TGConnectingPoint num="22" id="5386" /> +<TGConnectingPoint num="23" id="5387" /> +<TGConnectingPoint num="24" id="5388" /> +<TGConnectingPoint num="25" id="5389" /> +<TGConnectingPoint num="26" id="5390" /> +<TGConnectingPoint num="27" id="5391" /> +<TGConnectingPoint num="28" id="5392" /> +<TGConnectingPoint num="29" id="5393" /> +<TGConnectingPoint num="30" id="5394" /> +<TGConnectingPoint num="31" id="5395" /> +<TGConnectingPoint num="32" id="5396" /> +<TGConnectingPoint num="33" id="5397" /> +<TGConnectingPoint num="34" id="5398" /> +<TGConnectingPoint num="35" id="5399" /> +<TGConnectingPoint num="36" id="5400" /> +<TGConnectingPoint num="37" id="5401" /> +<TGConnectingPoint num="38" id="5402" /> +<TGConnectingPoint num="39" id="5403" /> +<TGConnectingPoint num="40" id="5404" /> +<TGConnectingPoint num="41" id="5405" /> +<TGConnectingPoint num="42" id="5406" /> +<TGConnectingPoint num="43" id="5407" /> +<TGConnectingPoint num="44" id="5408" /> +<TGConnectingPoint num="45" id="5409" /> +<TGConnectingPoint num="46" id="5410" /> +<TGConnectingPoint num="47" id="5411" /> +<TGConnectingPoint num="48" id="5412" /> +<TGConnectingPoint num="49" id="5413" /> +<TGConnectingPoint num="50" id="5414" /> +<TGConnectingPoint num="51" id="5415" /> +<TGConnectingPoint num="52" id="5416" /> +<TGConnectingPoint num="53" id="5417" /> +<TGConnectingPoint num="54" id="5418" /> +<TGConnectingPoint num="55" id="5419" /> +<TGConnectingPoint num="56" id="5420" /> +<TGConnectingPoint num="57" id="5421" /> +<TGConnectingPoint num="58" id="5422" /> +<TGConnectingPoint num="59" id="5423" /> +<TGConnectingPoint num="60" id="5424" /> +<TGConnectingPoint num="61" id="5425" /> +<TGConnectingPoint num="62" id="5426" /> +<TGConnectingPoint num="63" id="5427" /> +<TGConnectingPoint num="64" id="5428" /> +<TGConnectingPoint num="65" id="5429" /> +<TGConnectingPoint num="66" id="5430" /> +<TGConnectingPoint num="67" id="5431" /> +<TGConnectingPoint num="68" id="5432" /> +<TGConnectingPoint num="69" id="5433" /> +<TGConnectingPoint num="70" id="5434" /> +<TGConnectingPoint num="71" id="5435" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5100" id="5438" index="9" uid="08c81dce-fee7-44bc-8d83-ac88fca2fde9" > +<cdparam x="400" y="40" /> +<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="start state" value="null" /> +<new d="false" /> +<TGConnectingPoint num="0" id="5437" /> +</COMPONENT> + + +</AVATARStateMachineDiagramPanel> + +<AVATARStateMachineDiagramPanel name="Coffee_Machine" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > +<COMPONENT type="5100" id="5440" index="0" uid="6783dffb-27cd-4f4a-9a14-78d855c0a282" > +<cdparam x="400" y="40" /> +<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> +<infoparam name="start state" value="null" /> +<new d="false" /> +<TGConnectingPoint num="0" id="5439" /> +</COMPONENT> + + +</AVATARStateMachineDiagramPanel> + +</Modeling> + + + + </TURTLEGMODELING> \ No newline at end of file diff --git a/modeling/AVATAR/testDependencyGraphs.xml b/modeling/AVATAR/testDependencyGraphs.xml index 2b80de0ce6ce87ebca4dc40ad0a2140ddea9f252..5093d4a84fbfb0867509afd7f226ce9c738f0cb6 100644 --- a/modeling/AVATAR/testDependencyGraphs.xml +++ b/modeling/AVATAR/testDependencyGraphs.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="11" LAST_SELECTED_SUB_TAB="4"> +<TURTLEGMODELING version="3.0 beta" 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="13" LAST_SELECTED_SUB_TAB="0"> <Modeling type="Avatar Requirement" nameTab="Requirements" > <AvatarRDPanel name="AVATARRD" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > @@ -258,7 +258,7 @@ Double-click to edit <extraparam> <blockType data="block" color="-4072719" /> <CryptoBlock value="false" /> -<Attribute access="0" id="x" value="2" type="8" typeOther="" /> +<Attribute access="0" var="0" id="x" value="2" type="8" typeOther="" /> </extraparam> </COMPONENT> @@ -312,7 +312,7 @@ Double-click to edit <extraparam> <blockType data="block" color="-4072719" /> <CryptoBlock value="false" /> -<Attribute access="0" id="y" value="" type="4" typeOther="" /> +<Attribute access="0" var="0" id="y" value="" type="4" typeOther="" /> <Signal value="in recv()" attached="true" /> </extraparam> </COMPONENT> @@ -367,7 +367,7 @@ Double-click to edit <extraparam> <blockType data="block" color="-4072719" /> <CryptoBlock value="false" /> -<Attribute access="0" id="x" value="2" type="8" typeOther="" /> +<Attribute access="0" var="0" id="x" value="2" type="8" typeOther="" /> <Signal value="out send1(int x)" attached="true" /> <Signal value="out send2()" attached="true" /> <Signal value="in recv1()" attached="true" /> @@ -424,8 +424,8 @@ Double-click to edit <extraparam> <blockType data="block" color="-4072719" /> <CryptoBlock value="false" /> -<Attribute access="0" id="z" value="" type="8" typeOther="" /> -<Attribute access="0" id="r" value="" type="8" typeOther="" /> +<Attribute access="0" var="0" id="z" value="" type="8" typeOther="" /> +<Attribute access="0" var="0" id="r" value="" type="8" typeOther="" /> <Signal value="in recv1(int x)" attached="true" /> <Signal value="out send1()" attached="true" /> </extraparam> @@ -1923,11 +1923,11 @@ Double-click to edit </COMPONENT> <SUBCOMPONENT type="5000" id="957" index="3" uid="08f5deac-ff7e-424d-9124-5dd57f0a2ebe" > <father id="1039" num="0" /> -<cdparam x="438" y="98" /> -<sizeparam width="129" height="110" minWidth="7" minHeight="3" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="571" y="103" /> +<sizeparam width="123" height="110" minWidth="7" minHeight="3" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="146" minY="0" maxY="71" /> -<infoparam name="Block0" value="Instance1" /> +<cdrectangleparam minX="0" maxX="152" minY="0" maxY="71" /> +<infoparam name="Block0" value="Instance2" /> <new d="false" /> <TGConnectingPoint num="0" id="917" /> <TGConnectingPoint num="1" id="918" /> @@ -1976,11 +1976,11 @@ Double-click to edit </SUBCOMPONENT> <SUBCOMPONENT type="5000" id="998" index="4" uid="08f5deac-ff7e-424d-9124-5dd57f0a2ebe" > <father id="1039" num="1" /> -<cdparam x="571" y="103" /> -<sizeparam width="123" height="110" minWidth="7" minHeight="3" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="438" y="98" /> +<sizeparam width="129" height="110" minWidth="7" minHeight="3" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="152" minY="0" maxY="71" /> -<infoparam name="Block0" value="Instance2" /> +<cdrectangleparam minX="0" maxX="146" minY="0" maxY="71" /> +<infoparam name="Block0" value="Instance1" /> <new d="false" /> <TGConnectingPoint num="0" id="958" /> <TGConnectingPoint num="1" id="959" /> @@ -3039,13 +3039,13 @@ Double-click to edit <Signal value="in answer()" attached="true" /> </extraparam> </COMPONENT> -<SUBCOMPONENT type="5000" id="1508" index="4" uid="1f2ca3b6-69b5-4809-9120-4e63b74dd9d9" > +<SUBCOMPONENT type="5000" id="1508" index="4" uid="38090441-87bf-4259-b51d-053be523a93e" > <father id="1590" num="0" /> -<cdparam x="515" y="287" /> -<sizeparam width="176" height="110" minWidth="6" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="712" y="285" /> +<sizeparam width="187" height="115" minWidth="6" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="269" minY="0" maxY="197" /> -<infoparam name="Block0" value="Client1" /> +<cdrectangleparam minX="0" maxX="258" minY="0" maxY="192" /> +<infoparam name="Block0" value="Client2" /> <new d="false" /> <TGConnectingPoint num="0" id="1468" /> <TGConnectingPoint num="1" id="1469" /> @@ -3092,13 +3092,13 @@ Double-click to edit <CryptoBlock value="false" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5000" id="1549" index="5" uid="38090441-87bf-4259-b51d-053be523a93e" > +<SUBCOMPONENT type="5000" id="1549" index="5" uid="1f2ca3b6-69b5-4809-9120-4e63b74dd9d9" > <father id="1590" num="1" /> -<cdparam x="712" y="285" /> -<sizeparam width="187" height="115" minWidth="6" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="515" y="287" /> +<sizeparam width="176" height="110" minWidth="6" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="258" minY="0" maxY="192" /> -<infoparam name="Block0" value="Client2" /> +<cdrectangleparam minX="0" maxX="269" minY="0" maxY="197" /> +<infoparam name="Block0" value="Client1" /> <new d="false" /> <TGConnectingPoint num="0" id="1509" /> <TGConnectingPoint num="1" id="1510" /> @@ -4062,8 +4062,8 @@ Double-click to edit <infoparam name="connector" value="" /> <TGConnectingPoint num="0" id="1977" /> <TGConnectingPoint num="1" id="1978" /> -<P1 x="744" y="381" id="2029" /> -<P2 x="823" y="405" id="1987" /> +<P1 x="744" y="381" id="1988" /> +<P2 x="823" y="405" id="2028" /> <Point x="744" y="404" /> <AutomaticDrawing data="true" /> <new d="false" /> @@ -4153,13 +4153,13 @@ Double-click to edit <Signal value="out stored()" attached="true" /> </extraparam> </COMPONENT> -<SUBCOMPONENT type="5000" id="2022" index="5" uid="1c21ee3a-d0b2-4f9a-92bf-e9341f5daaa1" > +<SUBCOMPONENT type="5000" id="2022" index="5" uid="b9daba4a-7b74-4e52-8bd9-b5bc9df56d86" > <father id="2104" num="0" /> -<cdparam x="823" y="261" /> -<sizeparam width="124" height="144" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="681" y="262" /> +<sizeparam width="127" height="119" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="163" minY="0" maxY="109" /> -<infoparam name="Block" value="Center1" /> +<cdrectangleparam minX="0" maxX="160" minY="0" maxY="134" /> +<infoparam name="Block" value="Filter" /> <new d="false" /> <TGConnectingPoint num="0" id="1982" /> <TGConnectingPoint num="1" id="1983" /> @@ -4204,16 +4204,16 @@ Double-click to edit <extraparam> <blockType data="block" color="-4072719" /> <CryptoBlock value="false" /> -<Signal value="in query()" attached="true" /> +<Signal value="out query()" attached="true" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5000" id="2063" index="6" uid="b9daba4a-7b74-4e52-8bd9-b5bc9df56d86" > +<SUBCOMPONENT type="5000" id="2063" index="6" uid="1c21ee3a-d0b2-4f9a-92bf-e9341f5daaa1" > <father id="2104" num="1" /> -<cdparam x="681" y="262" /> -<sizeparam width="127" height="119" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="823" y="261" /> +<sizeparam width="124" height="144" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="160" minY="0" maxY="134" /> -<infoparam name="Block" value="Filter" /> +<cdrectangleparam minX="0" maxX="163" minY="0" maxY="109" /> +<infoparam name="Block" value="Center1" /> <new d="false" /> <TGConnectingPoint num="0" id="2023" /> <TGConnectingPoint num="1" id="2024" /> @@ -4258,7 +4258,7 @@ Double-click to edit <extraparam> <blockType data="block" color="-4072719" /> <CryptoBlock value="false" /> -<Signal value="out query()" attached="true" /> +<Signal value="in query()" attached="true" /> </extraparam> </SUBCOMPONENT> @@ -4316,13 +4316,13 @@ Double-click to edit <Signal value="in stored()" attached="true" /> </extraparam> </COMPONENT> -<SUBCOMPONENT type="5000" id="2145" index="7" uid="b0f72ee8-81dc-4a55-b945-936ed82b727e" > +<SUBCOMPONENT type="5000" id="2145" index="7" uid="d32fb600-eac8-4ee5-aa40-e223c4804bf6" > <father id="2227" num="0" /> -<cdparam x="290" y="269" /> -<sizeparam width="117" height="118" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="423" y="269" /> +<sizeparam width="130" height="117" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="183" minY="0" maxY="108" /> -<infoparam name="Block" value="Sensor1" /> +<cdrectangleparam minX="0" maxX="170" minY="0" maxY="109" /> +<infoparam name="Block" value="Sensor2" /> <new d="false" /> <TGConnectingPoint num="0" id="2105" /> <TGConnectingPoint num="1" id="2106" /> @@ -4369,13 +4369,13 @@ Double-click to edit <CryptoBlock value="false" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5000" id="2186" index="8" uid="d32fb600-eac8-4ee5-aa40-e223c4804bf6" > +<SUBCOMPONENT type="5000" id="2186" index="8" uid="b0f72ee8-81dc-4a55-b945-936ed82b727e" > <father id="2227" num="1" /> -<cdparam x="423" y="269" /> -<sizeparam width="130" height="117" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="290" y="269" /> +<sizeparam width="117" height="118" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="170" minY="0" maxY="109" /> -<infoparam name="Block" value="Sensor2" /> +<cdrectangleparam minX="0" maxX="183" minY="0" maxY="108" /> +<infoparam name="Block" value="Sensor1" /> <new d="false" /> <TGConnectingPoint num="0" id="2146" /> <TGConnectingPoint num="1" id="2147" /> @@ -7466,13 +7466,13 @@ Double-click to edit <Signal value="out value()" attached="true" /> </extraparam> </COMPONENT> -<SUBCOMPONENT type="5000" id="3822" index="4" uid="6155d44b-78ff-4a9f-a5a7-7da434425ea3" > +<SUBCOMPONENT type="5000" id="3822" index="4" uid="92fda49d-a79d-4389-9c6b-2eaceddb537c" > <father id="3904" num="0" /> -<cdparam x="422" y="269" /> -<sizeparam width="130" height="117" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="289" y="269" /> +<sizeparam width="117" height="118" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="170" minY="0" maxY="109" /> -<infoparam name="Block" value="Sensor2" /> +<cdrectangleparam minX="0" maxX="183" minY="0" maxY="108" /> +<infoparam name="Block" value="Sensor1" /> <new d="false" /> <TGConnectingPoint num="0" id="3782" /> <TGConnectingPoint num="1" id="3783" /> @@ -7519,13 +7519,13 @@ Double-click to edit <CryptoBlock value="false" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5000" id="3863" index="5" uid="92fda49d-a79d-4389-9c6b-2eaceddb537c" > +<SUBCOMPONENT type="5000" id="3863" index="5" uid="6155d44b-78ff-4a9f-a5a7-7da434425ea3" > <father id="3904" num="1" /> -<cdparam x="289" y="269" /> -<sizeparam width="117" height="118" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="422" y="269" /> +<sizeparam width="130" height="117" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="183" minY="0" maxY="108" /> -<infoparam name="Block" value="Sensor1" /> +<cdrectangleparam minX="0" maxX="170" minY="0" maxY="109" /> +<infoparam name="Block" value="Sensor2" /> <new d="false" /> <TGConnectingPoint num="0" id="3823" /> <TGConnectingPoint num="1" id="3824" /> @@ -9065,7 +9065,7 @@ Double-click to edit <extraparam> <blockType data="block" color="-4072719" /> <CryptoBlock value="false" /> -<Attribute access="0" id="x" value="2" type="8" typeOther="" /> +<Attribute access="0" var="0" id="x" value="2" type="8" typeOther="" /> </extraparam> </COMPONENT> @@ -9119,7 +9119,7 @@ Double-click to edit <extraparam> <blockType data="block" color="-4072719" /> <CryptoBlock value="false" /> -<Attribute access="0" id="y" value="" type="4" typeOther="" /> +<Attribute access="0" var="0" id="y" value="" type="4" typeOther="" /> <Signal value="in recv()" attached="true" /> </extraparam> </COMPONENT> @@ -9174,7 +9174,7 @@ Double-click to edit <extraparam> <blockType data="block" color="-4072719" /> <CryptoBlock value="false" /> -<Attribute access="0" id="x" value="2" type="8" typeOther="" /> +<Attribute access="0" var="0" id="x" value="2" type="8" typeOther="" /> <Signal value="out send1(int x)" attached="true" /> <Signal value="out send2()" attached="true" /> <Signal value="in recv1()" attached="true" /> @@ -9231,8 +9231,8 @@ Double-click to edit <extraparam> <blockType data="block" color="-4072719" /> <CryptoBlock value="false" /> -<Attribute access="0" id="z" value="" type="8" typeOther="" /> -<Attribute access="0" id="r" value="" type="8" typeOther="" /> +<Attribute access="0" var="0" id="z" value="" type="8" typeOther="" /> +<Attribute access="0" var="0" id="r" value="" type="8" typeOther="" /> <Signal value="in recv1(int x)" attached="true" /> <Signal value="out send1()" attached="true" /> </extraparam> @@ -10963,7 +10963,7 @@ Double-click to edit <extraparam> <blockType data="block" color="-4072719" /> <CryptoBlock value="false" /> -<Attribute access="0" id="x" value="3" type="8" typeOther="" /> +<Attribute access="0" var="0" id="x" value="3" type="8" typeOther="" /> <Signal value="in msg1()" attached="true" /> <Signal value="in msg2()" attached="true" /> </extraparam> @@ -11019,7 +11019,7 @@ Double-click to edit <extraparam> <blockType data="block" color="-4072719" /> <CryptoBlock value="false" /> -<Attribute access="0" id="x" value="2" type="8" typeOther="" /> +<Attribute access="0" var="0" id="x" value="2" type="8" typeOther="" /> <Signal value="out msg1()" attached="true" /> <Signal value="out msg2()" attached="true" /> </extraparam> @@ -11041,7 +11041,7 @@ Double-click to edit </CONNECTOR><SUBCOMPONENT type="-1" id="5746" index="12" uid="46b5b066-8d1e-404b-96bd-86c17a78beeb" > <father id="5748" num="0" /> <cdparam x="565" y="401" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -11076,7 +11076,7 @@ Double-click to edit </CONNECTOR><SUBCOMPONENT type="-1" id="5753" index="13" uid="0b4e6ac2-97bc-4f2a-8b07-b54f3599077f" > <father id="5755" num="0" /> <cdparam x="545" y="273" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -11111,7 +11111,7 @@ Double-click to edit </CONNECTOR><SUBCOMPONENT type="-1" id="5760" index="14" uid="5ee01ed3-0959-4094-a29c-f1ccf2080bac" > <father id="5762" num="0" /> <cdparam x="377" y="547" /> -<sizeparam width="55" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="60" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -11146,7 +11146,7 @@ Double-click to edit </CONNECTOR><SUBCOMPONENT type="-1" id="5767" index="15" uid="71baeec0-08ea-40ce-8c90-f2ac7cf85bc2" > <father id="5769" num="0" /> <cdparam x="373" y="398" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -11181,7 +11181,7 @@ Double-click to edit </CONNECTOR><SUBCOMPONENT type="-1" id="5774" index="16" uid="ec6eafda-5d5f-4871-8b77-77459ac08856" > <father id="5776" num="0" /> <cdparam x="293" y="280" /> -<sizeparam width="79" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="84" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -11216,7 +11216,7 @@ Double-click to edit </CONNECTOR><SUBCOMPONENT type="-1" id="5781" index="17" uid="c32d72c2-37de-4671-9f8a-9dfdb85dae14" > <father id="5783" num="0" /> <cdparam x="424" y="164" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -11557,7 +11557,7 @@ Double-click to edit </CONNECTOR><SUBCOMPONENT type="-1" id="6031" index="15" uid="97a9f251-58c0-4f57-8cfe-2185be5ca03e" > <father id="6033" num="0" /> <cdparam x="441" y="648" /> -<sizeparam width="55" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="60" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -11592,7 +11592,7 @@ Double-click to edit </CONNECTOR><SUBCOMPONENT type="-1" id="6038" index="16" uid="56832f7d-41e3-453d-a98a-2dd3b5775b33" > <father id="6040" num="0" /> <cdparam x="575" y="330" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -11627,7 +11627,7 @@ Double-click to edit </CONNECTOR><SUBCOMPONENT type="-1" id="6045" index="17" uid="a71f2850-e5b6-4947-b994-2e05b2821989" > <father id="6047" num="0" /> <cdparam x="527" y="234" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -11662,7 +11662,7 @@ Double-click to edit </CONNECTOR><SUBCOMPONENT type="-1" id="6052" index="18" uid="e4b48b68-7c88-4e85-98c2-1933521af167" > <father id="6054" num="0" /> <cdparam x="392" y="363" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -11697,7 +11697,7 @@ Double-click to edit </CONNECTOR><SUBCOMPONENT type="-1" id="6059" index="19" uid="7d995a47-1fa9-4e59-88ed-531a14a19c94" > <father id="6061" num="0" /> <cdparam x="391" y="247" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -11732,7 +11732,7 @@ Double-click to edit </CONNECTOR><SUBCOMPONENT type="-1" id="6066" index="20" uid="181d5ac1-5315-4656-b5d7-9c5d7a0a20de" > <father id="6068" num="0" /> <cdparam x="358" y="510" /> -<sizeparam width="55" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="60" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -11767,7 +11767,7 @@ Double-click to edit </CONNECTOR><SUBCOMPONENT type="-1" id="6073" index="21" uid="db760f33-bd88-44b4-a5fb-82432c7ad5f0" > <father id="6075" num="0" /> <cdparam x="407" y="130" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -12379,13 +12379,13 @@ Double-click to edit <Signal value="out send()" attached="true" /> </extraparam> </COMPONENT> -<SUBCOMPONENT type="5000" id="6518" index="4" uid="43282290-9205-4695-af2f-679eeaecf8a2" > +<SUBCOMPONENT type="5000" id="6518" index="4" uid="89f8a02e-086a-4156-9b9c-ad1b6138c38e" > <father id="6600" num="0" /> -<cdparam x="289" y="269" /> -<sizeparam width="117" height="118" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="422" y="269" /> +<sizeparam width="130" height="117" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="183" minY="0" maxY="108" /> -<infoparam name="Block" value="S1" /> +<cdrectangleparam minX="0" maxX="170" minY="0" maxY="109" /> +<infoparam name="Block" value="S2" /> <new d="false" /> <TGConnectingPoint num="0" id="6478" /> <TGConnectingPoint num="1" id="6479" /> @@ -12432,13 +12432,13 @@ Double-click to edit <CryptoBlock value="false" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5000" id="6559" index="5" uid="89f8a02e-086a-4156-9b9c-ad1b6138c38e" > +<SUBCOMPONENT type="5000" id="6559" index="5" uid="43282290-9205-4695-af2f-679eeaecf8a2" > <father id="6600" num="1" /> -<cdparam x="422" y="269" /> -<sizeparam width="130" height="117" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="289" y="269" /> +<sizeparam width="117" height="118" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="170" minY="0" maxY="109" /> -<infoparam name="Block" value="S2" /> +<cdrectangleparam minX="0" maxX="183" minY="0" maxY="108" /> +<infoparam name="Block" value="S1" /> <new d="false" /> <TGConnectingPoint num="0" id="6519" /> <TGConnectingPoint num="1" id="6520" /> @@ -12516,7 +12516,7 @@ Double-click to edit </CONNECTOR><SUBCOMPONENT type="-1" id="6607" index="5" uid="444c2ac8-53a5-4739-a9c0-45e0728b8126" > <father id="6609" num="0" /> <cdparam x="464" y="180" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -12551,7 +12551,7 @@ Double-click to edit </CONNECTOR><SUBCOMPONENT type="-1" id="6614" index="6" uid="a8a6d0cd-4168-46ce-b492-497e62353843" > <father id="6616" num="0" /> <cdparam x="475" y="126" /> -<sizeparam width="79" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="84" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -12630,7 +12630,7 @@ Double-click to edit </CONNECTOR><SUBCOMPONENT type="-1" id="6636" index="5" uid="9ced7d47-32f6-458a-a87d-3e8d3c687555" > <father id="6638" num="0" /> <cdparam x="361" y="239" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -12665,7 +12665,7 @@ Double-click to edit </CONNECTOR><SUBCOMPONENT type="-1" id="6643" index="6" uid="9e9c8ae9-2a55-45b8-849c-b4efe88f58b4" > <father id="6645" num="0" /> <cdparam x="369" y="192" /> -<sizeparam width="79" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="84" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -12743,8 +12743,8 @@ Double-click to edit <new d="false" /> </CONNECTOR><SUBCOMPONENT type="-1" id="6665" index="13" uid="b408fdb5-bfaf-417a-b453-f9e3e5553e4c" > <father id="6667" num="0" /> -<cdparam x="525" y="130" /> -<sizeparam width="63" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="517" y="104" /> +<sizeparam width="63" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -12773,13 +12773,13 @@ Double-click to edit <infoparam name="connector" value="null" /> <TGConnectingPoint num="0" id="6673" /> <P1 x="449" y="211" id="6805" /> -<P2 x="449" y="228" id="6995" /> +<P2 x="449" y="248" id="6995" /> <AutomaticDrawing data="true" /> <new d="false" /> </CONNECTOR><SUBCOMPONENT type="-1" id="6672" index="14" uid="ed208e54-8bae-42ce-9335-3edbd6abf64d" > <father id="6674" num="0" /> -<cdparam x="444" y="323" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="467" y="220" /> +<sizeparam width="84" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -12791,8 +12791,8 @@ Double-click to edit <TGConnectingPoint num="3" id="6671" /> <extraparam> <guard value="[ ]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> +<afterMin value="10" enabled="true"/> +<afterMax value="10" enabled="true"/> <extraDelay1 value="" enabled="true"/> <extraDelay2 value="" enabled="true"/> <delayDistributionLaw value="0" enabled="true"/> @@ -12807,14 +12807,14 @@ Double-click to edit <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="6680" /> -<P1 x="474" y="304" id="6984" /> -<P2 x="474" y="327" id="6882" /> +<P1 x="474" y="324" id="6984" /> +<P2 x="474" y="371" id="6882" /> <AutomaticDrawing data="true" /> <new d="false" /> </CONNECTOR><SUBCOMPONENT type="-1" id="6679" index="15" uid="a484c77c-a7ae-419b-857e-109c9b9c2cb8" > <father id="6681" num="0" /> <cdparam x="472" y="495" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -12842,14 +12842,14 @@ Double-click to edit <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="6687" /> -<P1 x="449" y="258" id="6996" /> -<P2 x="449" y="274" id="6971" /> +<P1 x="449" y="278" id="6996" /> +<P2 x="449" y="294" id="6971" /> <AutomaticDrawing data="true" /> <new d="false" /> </CONNECTOR><SUBCOMPONENT type="-1" id="6686" index="16" uid="e67a3cc7-364e-4681-8fb5-def9c78b9714" > <father id="6688" num="0" /> <cdparam x="442" y="396" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -12883,8 +12883,8 @@ Double-click to edit <new d="false" /> </CONNECTOR><SUBCOMPONENT type="-1" id="6693" index="17" uid="df3c2f3b-eb76-43cb-9ee5-04bcbe7e6dca" > <father id="6695" num="0" /> -<cdparam x="401" y="172" /> -<sizeparam width="63" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="371" y="156" /> +<sizeparam width="63" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -12919,7 +12919,7 @@ Double-click to edit </CONNECTOR><SUBCOMPONENT type="-1" id="6700" index="18" uid="faf64c1f-47fd-48d2-97d6-2a41fef3d31e" > <father id="6702" num="0" /> <cdparam x="410" y="105" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -13112,7 +13112,7 @@ Double-click to edit </COMPONENT> <COMPONENT type="5106" id="6921" index="8" uid="9f9b21d7-71d3-4cf6-944d-8fd75e4e0a4d" > -<cdparam x="424" y="327" /> +<cdparam x="424" y="371" /> <sizeparam width="100" height="30" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> @@ -13196,7 +13196,7 @@ Double-click to edit </COMPONENT> <COMPONENT type="5106" id="6994" index="9" uid="74a47ada-e200-4d35-982a-239b057f2ef5" > -<cdparam x="412" y="274" /> +<cdparam x="412" y="294" /> <sizeparam width="100" height="30" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> @@ -13280,7 +13280,7 @@ Double-click to edit </COMPONENT> <COMPONENT type="5104" id="7005" index="10" uid="986b2eee-ddc0-4da7-91aa-0ecacb1f726a" > -<cdparam x="424" y="233" /> +<cdparam x="424" y="253" /> <sizeparam width="50" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> @@ -13469,53 +13469,53 @@ Double-click to edit <Validated value="" /> <Ignored value="" /> -<COMPONENT type="5000" id="7132" index="0" uid="d0af57df-a2f0-4dcf-b824-363aa35e1df0" > +<COMPONENT type="5000" id="7750" index="0" uid="d0af57df-a2f0-4dcf-b824-363aa35e1df0" > <cdparam x="686" y="287" /> <sizeparam width="127" height="119" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="Block" value="Receiver" /> <new d="false" /> -<TGConnectingPoint num="0" id="7092" /> -<TGConnectingPoint num="1" id="7093" /> -<TGConnectingPoint num="2" id="7094" /> -<TGConnectingPoint num="3" id="7095" /> -<TGConnectingPoint num="4" id="7096" /> -<TGConnectingPoint num="5" id="7097" /> -<TGConnectingPoint num="6" id="7098" /> -<TGConnectingPoint num="7" id="7099" /> -<TGConnectingPoint num="8" id="7100" /> -<TGConnectingPoint num="9" id="7101" /> -<TGConnectingPoint num="10" id="7102" /> -<TGConnectingPoint num="11" id="7103" /> -<TGConnectingPoint num="12" id="7104" /> -<TGConnectingPoint num="13" id="7105" /> -<TGConnectingPoint num="14" id="7106" /> -<TGConnectingPoint num="15" id="7107" /> -<TGConnectingPoint num="16" id="7108" /> -<TGConnectingPoint num="17" id="7109" /> -<TGConnectingPoint num="18" id="7110" /> -<TGConnectingPoint num="19" id="7111" /> -<TGConnectingPoint num="20" id="7112" /> -<TGConnectingPoint num="21" id="7113" /> -<TGConnectingPoint num="22" id="7114" /> -<TGConnectingPoint num="23" id="7115" /> -<TGConnectingPoint num="24" id="7116" /> -<TGConnectingPoint num="25" id="7117" /> -<TGConnectingPoint num="26" id="7118" /> -<TGConnectingPoint num="27" id="7119" /> -<TGConnectingPoint num="28" id="7120" /> -<TGConnectingPoint num="29" id="7121" /> -<TGConnectingPoint num="30" id="7122" /> -<TGConnectingPoint num="31" id="7123" /> -<TGConnectingPoint num="32" id="7124" /> -<TGConnectingPoint num="33" id="7125" /> -<TGConnectingPoint num="34" id="7126" /> -<TGConnectingPoint num="35" id="7127" /> -<TGConnectingPoint num="36" id="7128" /> -<TGConnectingPoint num="37" id="7129" /> -<TGConnectingPoint num="38" id="7130" /> -<TGConnectingPoint num="39" id="7131" /> +<TGConnectingPoint num="0" id="7710" /> +<TGConnectingPoint num="1" id="7711" /> +<TGConnectingPoint num="2" id="7712" /> +<TGConnectingPoint num="3" id="7713" /> +<TGConnectingPoint num="4" id="7714" /> +<TGConnectingPoint num="5" id="7715" /> +<TGConnectingPoint num="6" id="7716" /> +<TGConnectingPoint num="7" id="7717" /> +<TGConnectingPoint num="8" id="7718" /> +<TGConnectingPoint num="9" id="7719" /> +<TGConnectingPoint num="10" id="7720" /> +<TGConnectingPoint num="11" id="7721" /> +<TGConnectingPoint num="12" id="7722" /> +<TGConnectingPoint num="13" id="7723" /> +<TGConnectingPoint num="14" id="7724" /> +<TGConnectingPoint num="15" id="7725" /> +<TGConnectingPoint num="16" id="7726" /> +<TGConnectingPoint num="17" id="7727" /> +<TGConnectingPoint num="18" id="7728" /> +<TGConnectingPoint num="19" id="7729" /> +<TGConnectingPoint num="20" id="7730" /> +<TGConnectingPoint num="21" id="7731" /> +<TGConnectingPoint num="22" id="7732" /> +<TGConnectingPoint num="23" id="7733" /> +<TGConnectingPoint num="24" id="7734" /> +<TGConnectingPoint num="25" id="7735" /> +<TGConnectingPoint num="26" id="7736" /> +<TGConnectingPoint num="27" id="7737" /> +<TGConnectingPoint num="28" id="7738" /> +<TGConnectingPoint num="29" id="7739" /> +<TGConnectingPoint num="30" id="7740" /> +<TGConnectingPoint num="31" id="7741" /> +<TGConnectingPoint num="32" id="7742" /> +<TGConnectingPoint num="33" id="7743" /> +<TGConnectingPoint num="34" id="7744" /> +<TGConnectingPoint num="35" id="7745" /> +<TGConnectingPoint num="36" id="7746" /> +<TGConnectingPoint num="37" id="7747" /> +<TGConnectingPoint num="38" id="7748" /> +<TGConnectingPoint num="39" id="7749" /> <extraparam> <blockType data="block" color="-4072719" /> <CryptoBlock value="false" /> @@ -13526,28 +13526,28 @@ Double-click to edit </AVATARBlockDiagramPanel> <AVATARStateMachineDiagramPanel name="Receiver" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > -<CONNECTOR type="5102" id="7139" index="0" uid="af665017-a57c-4266-8f84-e2a0da0370a9" > +<CONNECTOR type="5102" id="7757" index="0" uid="af665017-a57c-4266-8f84-e2a0da0370a9" > <cdparam x="487" y="154" /> <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="7138" /> -<P1 x="487" y="154" id="7326" /> -<P2 x="659" y="173" id="7230" /> +<TGConnectingPoint num="0" id="7756" /> +<P1 x="487" y="154" id="7944" /> +<P2 x="659" y="173" id="7848" /> <AutomaticDrawing data="true" /> <new d="false" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="7137" index="7" uid="84a34a09-a48c-434c-b045-fae5c399b678" > -<father id="7139" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="7755" index="7" uid="84a34a09-a48c-434c-b045-fae5c399b678" > +<father id="7757" num="0" /> <cdparam x="575" y="155" /> -<sizeparam width="63" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="68" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> <new d="false" /> -<TGConnectingPoint num="0" id="7133" /> -<TGConnectingPoint num="1" id="7134" /> -<TGConnectingPoint num="2" id="7135" /> -<TGConnectingPoint num="3" id="7136" /> +<TGConnectingPoint num="0" id="7751" /> +<TGConnectingPoint num="1" id="7752" /> +<TGConnectingPoint num="2" id="7753" /> +<TGConnectingPoint num="3" id="7754" /> <extraparam> <guard value="[ ]" enabled="true"/> <afterMin value="2" enabled="true"/> @@ -13561,28 +13561,28 @@ Double-click to edit </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="7146" index="1" uid="433748fd-03bc-4751-b0a4-435d4d718858" > +<CONNECTOR type="5102" id="7764" index="1" uid="433748fd-03bc-4751-b0a4-435d4d718858" > <cdparam x="449" y="173" /> <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="7145" /> -<P1 x="449" y="173" id="7362" /> -<P2 x="450" y="238" id="7171" /> +<TGConnectingPoint num="0" id="7763" /> +<P1 x="449" y="173" id="7980" /> +<P2 x="450" y="238" id="7789" /> <AutomaticDrawing data="true" /> <new d="false" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="7144" index="8" uid="7825d398-1130-4c12-a03b-78dde0424916" > -<father id="7146" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="7762" index="8" uid="7825d398-1130-4c12-a03b-78dde0424916" > +<father id="7764" num="0" /> <cdparam x="452" y="206" /> -<sizeparam width="63" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="68" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> <new d="false" /> -<TGConnectingPoint num="0" id="7140" /> -<TGConnectingPoint num="1" id="7141" /> -<TGConnectingPoint num="2" id="7142" /> -<TGConnectingPoint num="3" id="7143" /> +<TGConnectingPoint num="0" id="7758" /> +<TGConnectingPoint num="1" id="7759" /> +<TGConnectingPoint num="2" id="7760" /> +<TGConnectingPoint num="3" id="7761" /> <extraparam> <guard value="[ ]" enabled="true"/> <afterMin value="5" enabled="true"/> @@ -13596,28 +13596,28 @@ Double-click to edit </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="7153" index="2" uid="be4daf58-76a4-441d-8b1b-29667d77d1b1" > +<CONNECTOR type="5102" id="7771" index="2" uid="be4daf58-76a4-441d-8b1b-29667d77d1b1" > <cdparam x="408" y="88" /> <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="7152" /> -<P1 x="408" y="88" id="7373" /> -<P2 x="412" y="123" id="7340" /> +<TGConnectingPoint num="0" id="7770" /> +<P1 x="408" y="88" id="7991" /> +<P2 x="412" y="123" id="7958" /> <AutomaticDrawing data="true" /> <new d="false" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="7151" index="9" uid="4baac32a-ff97-49a0-8bbd-6c0a3f1e7f2c" > -<father id="7153" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="7769" index="9" uid="4baac32a-ff97-49a0-8bbd-6c0a3f1e7f2c" > +<father id="7771" num="0" /> <cdparam x="410" y="105" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> <new d="false" /> -<TGConnectingPoint num="0" id="7147" /> -<TGConnectingPoint num="1" id="7148" /> -<TGConnectingPoint num="2" id="7149" /> -<TGConnectingPoint num="3" id="7150" /> +<TGConnectingPoint num="0" id="7765" /> +<TGConnectingPoint num="1" id="7766" /> +<TGConnectingPoint num="2" id="7767" /> +<TGConnectingPoint num="3" id="7768" /> <extraparam> <guard value="[ ]" enabled="true"/> <afterMin value="" enabled="true"/> @@ -13631,7 +13631,7 @@ Double-click to edit </extraparam> </SUBCOMPONENT> -<COMPONENT type="5106" id="7226" index="3" uid="609117a7-fdfd-406f-a956-e05e7b9fee4c" > +<COMPONENT type="5106" id="7844" index="3" uid="609117a7-fdfd-406f-a956-e05e7b9fee4c" > <cdparam x="373" y="238" /> <sizeparam width="209" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -13639,83 +13639,83 @@ Double-click to edit <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="state" value="BeforeReceivingRECV" /> <new d="false" /> -<TGConnectingPoint num="0" id="7154" /> -<TGConnectingPoint num="1" id="7155" /> -<TGConnectingPoint num="2" id="7156" /> -<TGConnectingPoint num="3" id="7157" /> -<TGConnectingPoint num="4" id="7158" /> -<TGConnectingPoint num="5" id="7159" /> -<TGConnectingPoint num="6" id="7160" /> -<TGConnectingPoint num="7" id="7161" /> -<TGConnectingPoint num="8" id="7162" /> -<TGConnectingPoint num="9" id="7163" /> -<TGConnectingPoint num="10" id="7164" /> -<TGConnectingPoint num="11" id="7165" /> -<TGConnectingPoint num="12" id="7166" /> -<TGConnectingPoint num="13" id="7167" /> -<TGConnectingPoint num="14" id="7168" /> -<TGConnectingPoint num="15" id="7169" /> -<TGConnectingPoint num="16" id="7170" /> -<TGConnectingPoint num="17" id="7171" /> -<TGConnectingPoint num="18" id="7172" /> -<TGConnectingPoint num="19" id="7173" /> -<TGConnectingPoint num="20" id="7174" /> -<TGConnectingPoint num="21" id="7175" /> -<TGConnectingPoint num="22" id="7176" /> -<TGConnectingPoint num="23" id="7177" /> -<TGConnectingPoint num="24" id="7178" /> -<TGConnectingPoint num="25" id="7179" /> -<TGConnectingPoint num="26" id="7180" /> -<TGConnectingPoint num="27" id="7181" /> -<TGConnectingPoint num="28" id="7182" /> -<TGConnectingPoint num="29" id="7183" /> -<TGConnectingPoint num="30" id="7184" /> -<TGConnectingPoint num="31" id="7185" /> -<TGConnectingPoint num="32" id="7186" /> -<TGConnectingPoint num="33" id="7187" /> -<TGConnectingPoint num="34" id="7188" /> -<TGConnectingPoint num="35" id="7189" /> -<TGConnectingPoint num="36" id="7190" /> -<TGConnectingPoint num="37" id="7191" /> -<TGConnectingPoint num="38" id="7192" /> -<TGConnectingPoint num="39" id="7193" /> -<TGConnectingPoint num="40" id="7194" /> -<TGConnectingPoint num="41" id="7195" /> -<TGConnectingPoint num="42" id="7196" /> -<TGConnectingPoint num="43" id="7197" /> -<TGConnectingPoint num="44" id="7198" /> -<TGConnectingPoint num="45" id="7199" /> -<TGConnectingPoint num="46" id="7200" /> -<TGConnectingPoint num="47" id="7201" /> -<TGConnectingPoint num="48" id="7202" /> -<TGConnectingPoint num="49" id="7203" /> -<TGConnectingPoint num="50" id="7204" /> -<TGConnectingPoint num="51" id="7205" /> -<TGConnectingPoint num="52" id="7206" /> -<TGConnectingPoint num="53" id="7207" /> -<TGConnectingPoint num="54" id="7208" /> -<TGConnectingPoint num="55" id="7209" /> -<TGConnectingPoint num="56" id="7210" /> -<TGConnectingPoint num="57" id="7211" /> -<TGConnectingPoint num="58" id="7212" /> -<TGConnectingPoint num="59" id="7213" /> -<TGConnectingPoint num="60" id="7214" /> -<TGConnectingPoint num="61" id="7215" /> -<TGConnectingPoint num="62" id="7216" /> -<TGConnectingPoint num="63" id="7217" /> -<TGConnectingPoint num="64" id="7218" /> -<TGConnectingPoint num="65" id="7219" /> -<TGConnectingPoint num="66" id="7220" /> -<TGConnectingPoint num="67" id="7221" /> -<TGConnectingPoint num="68" id="7222" /> -<TGConnectingPoint num="69" id="7223" /> -<TGConnectingPoint num="70" id="7224" /> -<TGConnectingPoint num="71" id="7225" /> -<extraparam> -</extraparam> -</COMPONENT> - -<COMPONENT type="5106" id="7299" index="4" uid="1bfef3cf-d5c7-46b6-b4c8-69c1b4d05ad0" > +<TGConnectingPoint num="0" id="7772" /> +<TGConnectingPoint num="1" id="7773" /> +<TGConnectingPoint num="2" id="7774" /> +<TGConnectingPoint num="3" id="7775" /> +<TGConnectingPoint num="4" id="7776" /> +<TGConnectingPoint num="5" id="7777" /> +<TGConnectingPoint num="6" id="7778" /> +<TGConnectingPoint num="7" id="7779" /> +<TGConnectingPoint num="8" id="7780" /> +<TGConnectingPoint num="9" id="7781" /> +<TGConnectingPoint num="10" id="7782" /> +<TGConnectingPoint num="11" id="7783" /> +<TGConnectingPoint num="12" id="7784" /> +<TGConnectingPoint num="13" id="7785" /> +<TGConnectingPoint num="14" id="7786" /> +<TGConnectingPoint num="15" id="7787" /> +<TGConnectingPoint num="16" id="7788" /> +<TGConnectingPoint num="17" id="7789" /> +<TGConnectingPoint num="18" id="7790" /> +<TGConnectingPoint num="19" id="7791" /> +<TGConnectingPoint num="20" id="7792" /> +<TGConnectingPoint num="21" id="7793" /> +<TGConnectingPoint num="22" id="7794" /> +<TGConnectingPoint num="23" id="7795" /> +<TGConnectingPoint num="24" id="7796" /> +<TGConnectingPoint num="25" id="7797" /> +<TGConnectingPoint num="26" id="7798" /> +<TGConnectingPoint num="27" id="7799" /> +<TGConnectingPoint num="28" id="7800" /> +<TGConnectingPoint num="29" id="7801" /> +<TGConnectingPoint num="30" id="7802" /> +<TGConnectingPoint num="31" id="7803" /> +<TGConnectingPoint num="32" id="7804" /> +<TGConnectingPoint num="33" id="7805" /> +<TGConnectingPoint num="34" id="7806" /> +<TGConnectingPoint num="35" id="7807" /> +<TGConnectingPoint num="36" id="7808" /> +<TGConnectingPoint num="37" id="7809" /> +<TGConnectingPoint num="38" id="7810" /> +<TGConnectingPoint num="39" id="7811" /> +<TGConnectingPoint num="40" id="7812" /> +<TGConnectingPoint num="41" id="7813" /> +<TGConnectingPoint num="42" id="7814" /> +<TGConnectingPoint num="43" id="7815" /> +<TGConnectingPoint num="44" id="7816" /> +<TGConnectingPoint num="45" id="7817" /> +<TGConnectingPoint num="46" id="7818" /> +<TGConnectingPoint num="47" id="7819" /> +<TGConnectingPoint num="48" id="7820" /> +<TGConnectingPoint num="49" id="7821" /> +<TGConnectingPoint num="50" id="7822" /> +<TGConnectingPoint num="51" id="7823" /> +<TGConnectingPoint num="52" id="7824" /> +<TGConnectingPoint num="53" id="7825" /> +<TGConnectingPoint num="54" id="7826" /> +<TGConnectingPoint num="55" id="7827" /> +<TGConnectingPoint num="56" id="7828" /> +<TGConnectingPoint num="57" id="7829" /> +<TGConnectingPoint num="58" id="7830" /> +<TGConnectingPoint num="59" id="7831" /> +<TGConnectingPoint num="60" id="7832" /> +<TGConnectingPoint num="61" id="7833" /> +<TGConnectingPoint num="62" id="7834" /> +<TGConnectingPoint num="63" id="7835" /> +<TGConnectingPoint num="64" id="7836" /> +<TGConnectingPoint num="65" id="7837" /> +<TGConnectingPoint num="66" id="7838" /> +<TGConnectingPoint num="67" id="7839" /> +<TGConnectingPoint num="68" id="7840" /> +<TGConnectingPoint num="69" id="7841" /> +<TGConnectingPoint num="70" id="7842" /> +<TGConnectingPoint num="71" id="7843" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5106" id="7917" index="4" uid="1bfef3cf-d5c7-46b6-b4c8-69c1b4d05ad0" > <cdparam x="659" y="150" /> <sizeparam width="100" height="46" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -13723,83 +13723,83 @@ Double-click to edit <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="state" value="END3" /> <new d="false" /> -<TGConnectingPoint num="0" id="7227" /> -<TGConnectingPoint num="1" id="7228" /> -<TGConnectingPoint num="2" id="7229" /> -<TGConnectingPoint num="3" id="7230" /> -<TGConnectingPoint num="4" id="7231" /> -<TGConnectingPoint num="5" id="7232" /> -<TGConnectingPoint num="6" id="7233" /> -<TGConnectingPoint num="7" id="7234" /> -<TGConnectingPoint num="8" id="7235" /> -<TGConnectingPoint num="9" id="7236" /> -<TGConnectingPoint num="10" id="7237" /> -<TGConnectingPoint num="11" id="7238" /> -<TGConnectingPoint num="12" id="7239" /> -<TGConnectingPoint num="13" id="7240" /> -<TGConnectingPoint num="14" id="7241" /> -<TGConnectingPoint num="15" id="7242" /> -<TGConnectingPoint num="16" id="7243" /> -<TGConnectingPoint num="17" id="7244" /> -<TGConnectingPoint num="18" id="7245" /> -<TGConnectingPoint num="19" id="7246" /> -<TGConnectingPoint num="20" id="7247" /> -<TGConnectingPoint num="21" id="7248" /> -<TGConnectingPoint num="22" id="7249" /> -<TGConnectingPoint num="23" id="7250" /> -<TGConnectingPoint num="24" id="7251" /> -<TGConnectingPoint num="25" id="7252" /> -<TGConnectingPoint num="26" id="7253" /> -<TGConnectingPoint num="27" id="7254" /> -<TGConnectingPoint num="28" id="7255" /> -<TGConnectingPoint num="29" id="7256" /> -<TGConnectingPoint num="30" id="7257" /> -<TGConnectingPoint num="31" id="7258" /> -<TGConnectingPoint num="32" id="7259" /> -<TGConnectingPoint num="33" id="7260" /> -<TGConnectingPoint num="34" id="7261" /> -<TGConnectingPoint num="35" id="7262" /> -<TGConnectingPoint num="36" id="7263" /> -<TGConnectingPoint num="37" id="7264" /> -<TGConnectingPoint num="38" id="7265" /> -<TGConnectingPoint num="39" id="7266" /> -<TGConnectingPoint num="40" id="7267" /> -<TGConnectingPoint num="41" id="7268" /> -<TGConnectingPoint num="42" id="7269" /> -<TGConnectingPoint num="43" id="7270" /> -<TGConnectingPoint num="44" id="7271" /> -<TGConnectingPoint num="45" id="7272" /> -<TGConnectingPoint num="46" id="7273" /> -<TGConnectingPoint num="47" id="7274" /> -<TGConnectingPoint num="48" id="7275" /> -<TGConnectingPoint num="49" id="7276" /> -<TGConnectingPoint num="50" id="7277" /> -<TGConnectingPoint num="51" id="7278" /> -<TGConnectingPoint num="52" id="7279" /> -<TGConnectingPoint num="53" id="7280" /> -<TGConnectingPoint num="54" id="7281" /> -<TGConnectingPoint num="55" id="7282" /> -<TGConnectingPoint num="56" id="7283" /> -<TGConnectingPoint num="57" id="7284" /> -<TGConnectingPoint num="58" id="7285" /> -<TGConnectingPoint num="59" id="7286" /> -<TGConnectingPoint num="60" id="7287" /> -<TGConnectingPoint num="61" id="7288" /> -<TGConnectingPoint num="62" id="7289" /> -<TGConnectingPoint num="63" id="7290" /> -<TGConnectingPoint num="64" id="7291" /> -<TGConnectingPoint num="65" id="7292" /> -<TGConnectingPoint num="66" id="7293" /> -<TGConnectingPoint num="67" id="7294" /> -<TGConnectingPoint num="68" id="7295" /> -<TGConnectingPoint num="69" id="7296" /> -<TGConnectingPoint num="70" id="7297" /> -<TGConnectingPoint num="71" id="7298" /> -<extraparam> -</extraparam> -</COMPONENT> - -<COMPONENT type="5106" id="7372" index="5" uid="db03640d-5efe-4992-82d3-6cd9180068f5" > +<TGConnectingPoint num="0" id="7845" /> +<TGConnectingPoint num="1" id="7846" /> +<TGConnectingPoint num="2" id="7847" /> +<TGConnectingPoint num="3" id="7848" /> +<TGConnectingPoint num="4" id="7849" /> +<TGConnectingPoint num="5" id="7850" /> +<TGConnectingPoint num="6" id="7851" /> +<TGConnectingPoint num="7" id="7852" /> +<TGConnectingPoint num="8" id="7853" /> +<TGConnectingPoint num="9" id="7854" /> +<TGConnectingPoint num="10" id="7855" /> +<TGConnectingPoint num="11" id="7856" /> +<TGConnectingPoint num="12" id="7857" /> +<TGConnectingPoint num="13" id="7858" /> +<TGConnectingPoint num="14" id="7859" /> +<TGConnectingPoint num="15" id="7860" /> +<TGConnectingPoint num="16" id="7861" /> +<TGConnectingPoint num="17" id="7862" /> +<TGConnectingPoint num="18" id="7863" /> +<TGConnectingPoint num="19" id="7864" /> +<TGConnectingPoint num="20" id="7865" /> +<TGConnectingPoint num="21" id="7866" /> +<TGConnectingPoint num="22" id="7867" /> +<TGConnectingPoint num="23" id="7868" /> +<TGConnectingPoint num="24" id="7869" /> +<TGConnectingPoint num="25" id="7870" /> +<TGConnectingPoint num="26" id="7871" /> +<TGConnectingPoint num="27" id="7872" /> +<TGConnectingPoint num="28" id="7873" /> +<TGConnectingPoint num="29" id="7874" /> +<TGConnectingPoint num="30" id="7875" /> +<TGConnectingPoint num="31" id="7876" /> +<TGConnectingPoint num="32" id="7877" /> +<TGConnectingPoint num="33" id="7878" /> +<TGConnectingPoint num="34" id="7879" /> +<TGConnectingPoint num="35" id="7880" /> +<TGConnectingPoint num="36" id="7881" /> +<TGConnectingPoint num="37" id="7882" /> +<TGConnectingPoint num="38" id="7883" /> +<TGConnectingPoint num="39" id="7884" /> +<TGConnectingPoint num="40" id="7885" /> +<TGConnectingPoint num="41" id="7886" /> +<TGConnectingPoint num="42" id="7887" /> +<TGConnectingPoint num="43" id="7888" /> +<TGConnectingPoint num="44" id="7889" /> +<TGConnectingPoint num="45" id="7890" /> +<TGConnectingPoint num="46" id="7891" /> +<TGConnectingPoint num="47" id="7892" /> +<TGConnectingPoint num="48" id="7893" /> +<TGConnectingPoint num="49" id="7894" /> +<TGConnectingPoint num="50" id="7895" /> +<TGConnectingPoint num="51" id="7896" /> +<TGConnectingPoint num="52" id="7897" /> +<TGConnectingPoint num="53" id="7898" /> +<TGConnectingPoint num="54" id="7899" /> +<TGConnectingPoint num="55" id="7900" /> +<TGConnectingPoint num="56" id="7901" /> +<TGConnectingPoint num="57" id="7902" /> +<TGConnectingPoint num="58" id="7903" /> +<TGConnectingPoint num="59" id="7904" /> +<TGConnectingPoint num="60" id="7905" /> +<TGConnectingPoint num="61" id="7906" /> +<TGConnectingPoint num="62" id="7907" /> +<TGConnectingPoint num="63" id="7908" /> +<TGConnectingPoint num="64" id="7909" /> +<TGConnectingPoint num="65" id="7910" /> +<TGConnectingPoint num="66" id="7911" /> +<TGConnectingPoint num="67" id="7912" /> +<TGConnectingPoint num="68" id="7913" /> +<TGConnectingPoint num="69" id="7914" /> +<TGConnectingPoint num="70" id="7915" /> +<TGConnectingPoint num="71" id="7916" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5106" id="7990" index="5" uid="db03640d-5efe-4992-82d3-6cd9180068f5" > <cdparam x="387" y="123" /> <sizeparam width="100" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -13807,90 +13807,90 @@ Double-click to edit <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="state" value="Waiting" /> <new d="false" /> -<TGConnectingPoint num="0" id="7300" /> -<TGConnectingPoint num="1" id="7301" /> -<TGConnectingPoint num="2" id="7302" /> -<TGConnectingPoint num="3" id="7303" /> -<TGConnectingPoint num="4" id="7304" /> -<TGConnectingPoint num="5" id="7305" /> -<TGConnectingPoint num="6" id="7306" /> -<TGConnectingPoint num="7" id="7307" /> -<TGConnectingPoint num="8" id="7308" /> -<TGConnectingPoint num="9" id="7309" /> -<TGConnectingPoint num="10" id="7310" /> -<TGConnectingPoint num="11" id="7311" /> -<TGConnectingPoint num="12" id="7312" /> -<TGConnectingPoint num="13" id="7313" /> -<TGConnectingPoint num="14" id="7314" /> -<TGConnectingPoint num="15" id="7315" /> -<TGConnectingPoint num="16" id="7316" /> -<TGConnectingPoint num="17" id="7317" /> -<TGConnectingPoint num="18" id="7318" /> -<TGConnectingPoint num="19" id="7319" /> -<TGConnectingPoint num="20" id="7320" /> -<TGConnectingPoint num="21" id="7321" /> -<TGConnectingPoint num="22" id="7322" /> -<TGConnectingPoint num="23" id="7323" /> -<TGConnectingPoint num="24" id="7324" /> -<TGConnectingPoint num="25" id="7325" /> -<TGConnectingPoint num="26" id="7326" /> -<TGConnectingPoint num="27" id="7327" /> -<TGConnectingPoint num="28" id="7328" /> -<TGConnectingPoint num="29" id="7329" /> -<TGConnectingPoint num="30" id="7330" /> -<TGConnectingPoint num="31" id="7331" /> -<TGConnectingPoint num="32" id="7332" /> -<TGConnectingPoint num="33" id="7333" /> -<TGConnectingPoint num="34" id="7334" /> -<TGConnectingPoint num="35" id="7335" /> -<TGConnectingPoint num="36" id="7336" /> -<TGConnectingPoint num="37" id="7337" /> -<TGConnectingPoint num="38" id="7338" /> -<TGConnectingPoint num="39" id="7339" /> -<TGConnectingPoint num="40" id="7340" /> -<TGConnectingPoint num="41" id="7341" /> -<TGConnectingPoint num="42" id="7342" /> -<TGConnectingPoint num="43" id="7343" /> -<TGConnectingPoint num="44" id="7344" /> -<TGConnectingPoint num="45" id="7345" /> -<TGConnectingPoint num="46" id="7346" /> -<TGConnectingPoint num="47" id="7347" /> -<TGConnectingPoint num="48" id="7348" /> -<TGConnectingPoint num="49" id="7349" /> -<TGConnectingPoint num="50" id="7350" /> -<TGConnectingPoint num="51" id="7351" /> -<TGConnectingPoint num="52" id="7352" /> -<TGConnectingPoint num="53" id="7353" /> -<TGConnectingPoint num="54" id="7354" /> -<TGConnectingPoint num="55" id="7355" /> -<TGConnectingPoint num="56" id="7356" /> -<TGConnectingPoint num="57" id="7357" /> -<TGConnectingPoint num="58" id="7358" /> -<TGConnectingPoint num="59" id="7359" /> -<TGConnectingPoint num="60" id="7360" /> -<TGConnectingPoint num="61" id="7361" /> -<TGConnectingPoint num="62" id="7362" /> -<TGConnectingPoint num="63" id="7363" /> -<TGConnectingPoint num="64" id="7364" /> -<TGConnectingPoint num="65" id="7365" /> -<TGConnectingPoint num="66" id="7366" /> -<TGConnectingPoint num="67" id="7367" /> -<TGConnectingPoint num="68" id="7368" /> -<TGConnectingPoint num="69" id="7369" /> -<TGConnectingPoint num="70" id="7370" /> -<TGConnectingPoint num="71" id="7371" /> -<extraparam> -</extraparam> -</COMPONENT> - -<COMPONENT type="5100" id="7374" index="6" uid="400a3c7a-00df-4093-a694-d08c98e74088" > +<TGConnectingPoint num="0" id="7918" /> +<TGConnectingPoint num="1" id="7919" /> +<TGConnectingPoint num="2" id="7920" /> +<TGConnectingPoint num="3" id="7921" /> +<TGConnectingPoint num="4" id="7922" /> +<TGConnectingPoint num="5" id="7923" /> +<TGConnectingPoint num="6" id="7924" /> +<TGConnectingPoint num="7" id="7925" /> +<TGConnectingPoint num="8" id="7926" /> +<TGConnectingPoint num="9" id="7927" /> +<TGConnectingPoint num="10" id="7928" /> +<TGConnectingPoint num="11" id="7929" /> +<TGConnectingPoint num="12" id="7930" /> +<TGConnectingPoint num="13" id="7931" /> +<TGConnectingPoint num="14" id="7932" /> +<TGConnectingPoint num="15" id="7933" /> +<TGConnectingPoint num="16" id="7934" /> +<TGConnectingPoint num="17" id="7935" /> +<TGConnectingPoint num="18" id="7936" /> +<TGConnectingPoint num="19" id="7937" /> +<TGConnectingPoint num="20" id="7938" /> +<TGConnectingPoint num="21" id="7939" /> +<TGConnectingPoint num="22" id="7940" /> +<TGConnectingPoint num="23" id="7941" /> +<TGConnectingPoint num="24" id="7942" /> +<TGConnectingPoint num="25" id="7943" /> +<TGConnectingPoint num="26" id="7944" /> +<TGConnectingPoint num="27" id="7945" /> +<TGConnectingPoint num="28" id="7946" /> +<TGConnectingPoint num="29" id="7947" /> +<TGConnectingPoint num="30" id="7948" /> +<TGConnectingPoint num="31" id="7949" /> +<TGConnectingPoint num="32" id="7950" /> +<TGConnectingPoint num="33" id="7951" /> +<TGConnectingPoint num="34" id="7952" /> +<TGConnectingPoint num="35" id="7953" /> +<TGConnectingPoint num="36" id="7954" /> +<TGConnectingPoint num="37" id="7955" /> +<TGConnectingPoint num="38" id="7956" /> +<TGConnectingPoint num="39" id="7957" /> +<TGConnectingPoint num="40" id="7958" /> +<TGConnectingPoint num="41" id="7959" /> +<TGConnectingPoint num="42" id="7960" /> +<TGConnectingPoint num="43" id="7961" /> +<TGConnectingPoint num="44" id="7962" /> +<TGConnectingPoint num="45" id="7963" /> +<TGConnectingPoint num="46" id="7964" /> +<TGConnectingPoint num="47" id="7965" /> +<TGConnectingPoint num="48" id="7966" /> +<TGConnectingPoint num="49" id="7967" /> +<TGConnectingPoint num="50" id="7968" /> +<TGConnectingPoint num="51" id="7969" /> +<TGConnectingPoint num="52" id="7970" /> +<TGConnectingPoint num="53" id="7971" /> +<TGConnectingPoint num="54" id="7972" /> +<TGConnectingPoint num="55" id="7973" /> +<TGConnectingPoint num="56" id="7974" /> +<TGConnectingPoint num="57" id="7975" /> +<TGConnectingPoint num="58" id="7976" /> +<TGConnectingPoint num="59" id="7977" /> +<TGConnectingPoint num="60" id="7978" /> +<TGConnectingPoint num="61" id="7979" /> +<TGConnectingPoint num="62" id="7980" /> +<TGConnectingPoint num="63" id="7981" /> +<TGConnectingPoint num="64" id="7982" /> +<TGConnectingPoint num="65" id="7983" /> +<TGConnectingPoint num="66" id="7984" /> +<TGConnectingPoint num="67" id="7985" /> +<TGConnectingPoint num="68" id="7986" /> +<TGConnectingPoint num="69" id="7987" /> +<TGConnectingPoint num="70" id="7988" /> +<TGConnectingPoint num="71" id="7989" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5100" id="7992" index="6" uid="400a3c7a-00df-4093-a694-d08c98e74088" > <cdparam x="401" y="68" /> <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="start state" value="null" /> <new d="false" /> -<TGConnectingPoint num="0" id="7373" /> +<TGConnectingPoint num="0" id="7991" /> </COMPONENT> @@ -13901,1697 +13901,337 @@ Double-click to edit -<Modeling type="Graph" nameTab="Graph" > -<GraphDPanel name="AUT graph" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" fontModifier="1.0" > -<COMPONENT type="5050" id="7407" index="0" uid="cc2b29ed-71ed-4f33-96a1-bae74e71a45f" > -<cdparam x="995" y="30" /> -<sizeparam width="35" height="35" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="vertex" value="0 / Other / start" /> -<new d="false" /> -<TGConnectingPoint num="0" id="7375" /> -<TGConnectingPoint num="1" id="7376" /> -<TGConnectingPoint num="2" id="7377" /> -<TGConnectingPoint num="3" id="7378" /> -<TGConnectingPoint num="4" id="7379" /> -<TGConnectingPoint num="5" id="7380" /> -<TGConnectingPoint num="6" id="7381" /> -<TGConnectingPoint num="7" id="7382" /> -<TGConnectingPoint num="8" id="7383" /> -<TGConnectingPoint num="9" id="7384" /> -<TGConnectingPoint num="10" id="7385" /> -<TGConnectingPoint num="11" id="7386" /> -<TGConnectingPoint num="12" id="7387" /> -<TGConnectingPoint num="13" id="7388" /> -<TGConnectingPoint num="14" id="7389" /> -<TGConnectingPoint num="15" id="7390" /> -<TGConnectingPoint num="16" id="7391" /> -<TGConnectingPoint num="17" id="7392" /> -<TGConnectingPoint num="18" id="7393" /> -<TGConnectingPoint num="19" id="7394" /> -<TGConnectingPoint num="20" id="7395" /> -<TGConnectingPoint num="21" id="7396" /> -<TGConnectingPoint num="22" id="7397" /> -<TGConnectingPoint num="23" id="7398" /> -<TGConnectingPoint num="24" id="7399" /> -<TGConnectingPoint num="25" id="7400" /> -<TGConnectingPoint num="26" id="7401" /> -<TGConnectingPoint num="27" id="7402" /> -<TGConnectingPoint num="28" id="7403" /> -<TGConnectingPoint num="29" id="7404" /> -<TGConnectingPoint num="30" id="7405" /> -<TGConnectingPoint num="31" id="7406" /> -<color value="-16711936" /> -</COMPONENT> +<Modeling type="AVATAR Design" nameTab="Modelsward2023Toy_Before" tabs="Block Diagram$Sender$S1$S2$Receiver$Other" > +<AVATARBlockDiagramPanel name="Block Diagram" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > +<MainCode value="void __user_init() {"/> +<MainCode value="}"/> +<Optimized value="true" /> +<considerTimingOperators value="true" /> +<Validated value="Other;Receiver;Sender;S1;S2;" /> +<Ignored value="" /> -<COMPONENT type="5050" id="7440" index="1" uid="979ec00d-250b-4db1-b893-9f3cce1a26d2" > -<cdparam x="996" y="141" /> -<sizeparam width="35" height="35" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<CONNECTOR type="5002" id="7093" index="0" uid="daa36774-6e57-4f7c-a4b0-686a051e015a" > +<cdparam x="578" y="346" /> +<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="7092" /> +<P1 x="578" y="346" id="7271" /> +<P2 x="686" y="346" id="7138" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +<extraparam> +<isd value="in recv()" /> +<oso value="out send()" /> +<FIFOType asynchronous="true" synchronousCH="false" size="1" blocking="false" private="true" broadcast="false" lossy="false" ams="false" /> +</extraparam> +</CONNECTOR> +<COMPONENT type="5000" id="7134" index="1" uid="958f2b5d-6d6d-4c73-b0f1-e7da099a294d" > +<cdparam x="866" y="285" /> +<sizeparam width="132" height="121" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="vertex" value="1 / Other / avatar transition" /> -<new d="false" /> -<TGConnectingPoint num="0" id="7408" /> -<TGConnectingPoint num="1" id="7409" /> -<TGConnectingPoint num="2" id="7410" /> -<TGConnectingPoint num="3" id="7411" /> -<TGConnectingPoint num="4" id="7412" /> -<TGConnectingPoint num="5" id="7413" /> -<TGConnectingPoint num="6" id="7414" /> -<TGConnectingPoint num="7" id="7415" /> -<TGConnectingPoint num="8" id="7416" /> -<TGConnectingPoint num="9" id="7417" /> -<TGConnectingPoint num="10" id="7418" /> -<TGConnectingPoint num="11" id="7419" /> -<TGConnectingPoint num="12" id="7420" /> -<TGConnectingPoint num="13" id="7421" /> -<TGConnectingPoint num="14" id="7422" /> -<TGConnectingPoint num="15" id="7423" /> -<TGConnectingPoint num="16" id="7424" /> -<TGConnectingPoint num="17" id="7425" /> -<TGConnectingPoint num="18" id="7426" /> -<TGConnectingPoint num="19" id="7427" /> -<TGConnectingPoint num="20" id="7428" /> -<TGConnectingPoint num="21" id="7429" /> -<TGConnectingPoint num="22" id="7430" /> -<TGConnectingPoint num="23" id="7431" /> -<TGConnectingPoint num="24" id="7432" /> -<TGConnectingPoint num="25" id="7433" /> -<TGConnectingPoint num="26" id="7434" /> -<TGConnectingPoint num="27" id="7435" /> -<TGConnectingPoint num="28" id="7436" /> -<TGConnectingPoint num="29" id="7437" /> -<TGConnectingPoint num="30" id="7438" /> -<TGConnectingPoint num="31" id="7439" /> +<infoparam name="Block" value="Other" /> +<new d="false" /> +<TGConnectingPoint num="0" id="7094" /> +<TGConnectingPoint num="1" id="7095" /> +<TGConnectingPoint num="2" id="7096" /> +<TGConnectingPoint num="3" id="7097" /> +<TGConnectingPoint num="4" id="7098" /> +<TGConnectingPoint num="5" id="7099" /> +<TGConnectingPoint num="6" id="7100" /> +<TGConnectingPoint num="7" id="7101" /> +<TGConnectingPoint num="8" id="7102" /> +<TGConnectingPoint num="9" id="7103" /> +<TGConnectingPoint num="10" id="7104" /> +<TGConnectingPoint num="11" id="7105" /> +<TGConnectingPoint num="12" id="7106" /> +<TGConnectingPoint num="13" id="7107" /> +<TGConnectingPoint num="14" id="7108" /> +<TGConnectingPoint num="15" id="7109" /> +<TGConnectingPoint num="16" id="7110" /> +<TGConnectingPoint num="17" id="7111" /> +<TGConnectingPoint num="18" id="7112" /> +<TGConnectingPoint num="19" id="7113" /> +<TGConnectingPoint num="20" id="7114" /> +<TGConnectingPoint num="21" id="7115" /> +<TGConnectingPoint num="22" id="7116" /> +<TGConnectingPoint num="23" id="7117" /> +<TGConnectingPoint num="24" id="7118" /> +<TGConnectingPoint num="25" id="7119" /> +<TGConnectingPoint num="26" id="7120" /> +<TGConnectingPoint num="27" id="7121" /> +<TGConnectingPoint num="28" id="7122" /> +<TGConnectingPoint num="29" id="7123" /> +<TGConnectingPoint num="30" id="7124" /> +<TGConnectingPoint num="31" id="7125" /> +<TGConnectingPoint num="32" id="7126" /> +<TGConnectingPoint num="33" id="7127" /> +<TGConnectingPoint num="34" id="7128" /> +<TGConnectingPoint num="35" id="7129" /> +<TGConnectingPoint num="36" id="7130" /> +<TGConnectingPoint num="37" id="7131" /> +<TGConnectingPoint num="38" id="7132" /> +<TGConnectingPoint num="39" id="7133" /> +<extraparam> +<blockType data="block" color="-4072719" /> +<CryptoBlock value="false" /> +</extraparam> </COMPONENT> -<COMPONENT type="5050" id="7473" index="2" uid="8bccd771-c5bc-4c6c-adb5-6cbef9666b2d" > -<cdparam x="999" y="222" /> -<sizeparam width="35" height="35" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="5000" id="7175" index="2" uid="6d8f387c-997b-4073-a149-a020ac367c58" > +<cdparam x="686" y="287" /> +<sizeparam width="127" height="119" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="vertex" value="2 / Other / stop" /> -<new d="false" /> -<TGConnectingPoint num="0" id="7441" /> -<TGConnectingPoint num="1" id="7442" /> -<TGConnectingPoint num="2" id="7443" /> -<TGConnectingPoint num="3" id="7444" /> -<TGConnectingPoint num="4" id="7445" /> -<TGConnectingPoint num="5" id="7446" /> -<TGConnectingPoint num="6" id="7447" /> -<TGConnectingPoint num="7" id="7448" /> -<TGConnectingPoint num="8" id="7449" /> -<TGConnectingPoint num="9" id="7450" /> -<TGConnectingPoint num="10" id="7451" /> -<TGConnectingPoint num="11" id="7452" /> -<TGConnectingPoint num="12" id="7453" /> -<TGConnectingPoint num="13" id="7454" /> -<TGConnectingPoint num="14" id="7455" /> -<TGConnectingPoint num="15" id="7456" /> -<TGConnectingPoint num="16" id="7457" /> -<TGConnectingPoint num="17" id="7458" /> -<TGConnectingPoint num="18" id="7459" /> -<TGConnectingPoint num="19" id="7460" /> -<TGConnectingPoint num="20" id="7461" /> -<TGConnectingPoint num="21" id="7462" /> -<TGConnectingPoint num="22" id="7463" /> -<TGConnectingPoint num="23" id="7464" /> -<TGConnectingPoint num="24" id="7465" /> -<TGConnectingPoint num="25" id="7466" /> -<TGConnectingPoint num="26" id="7467" /> -<TGConnectingPoint num="27" id="7468" /> -<TGConnectingPoint num="28" id="7469" /> -<TGConnectingPoint num="29" id="7470" /> -<TGConnectingPoint num="30" id="7471" /> -<TGConnectingPoint num="31" id="7472" /> -<color value="-65536" /> +<infoparam name="Block" value="Receiver" /> +<new d="false" /> +<TGConnectingPoint num="0" id="7135" /> +<TGConnectingPoint num="1" id="7136" /> +<TGConnectingPoint num="2" id="7137" /> +<TGConnectingPoint num="3" id="7138" /> +<TGConnectingPoint num="4" id="7139" /> +<TGConnectingPoint num="5" id="7140" /> +<TGConnectingPoint num="6" id="7141" /> +<TGConnectingPoint num="7" id="7142" /> +<TGConnectingPoint num="8" id="7143" /> +<TGConnectingPoint num="9" id="7144" /> +<TGConnectingPoint num="10" id="7145" /> +<TGConnectingPoint num="11" id="7146" /> +<TGConnectingPoint num="12" id="7147" /> +<TGConnectingPoint num="13" id="7148" /> +<TGConnectingPoint num="14" id="7149" /> +<TGConnectingPoint num="15" id="7150" /> +<TGConnectingPoint num="16" id="7151" /> +<TGConnectingPoint num="17" id="7152" /> +<TGConnectingPoint num="18" id="7153" /> +<TGConnectingPoint num="19" id="7154" /> +<TGConnectingPoint num="20" id="7155" /> +<TGConnectingPoint num="21" id="7156" /> +<TGConnectingPoint num="22" id="7157" /> +<TGConnectingPoint num="23" id="7158" /> +<TGConnectingPoint num="24" id="7159" /> +<TGConnectingPoint num="25" id="7160" /> +<TGConnectingPoint num="26" id="7161" /> +<TGConnectingPoint num="27" id="7162" /> +<TGConnectingPoint num="28" id="7163" /> +<TGConnectingPoint num="29" id="7164" /> +<TGConnectingPoint num="30" id="7165" /> +<TGConnectingPoint num="31" id="7166" /> +<TGConnectingPoint num="32" id="7167" /> +<TGConnectingPoint num="33" id="7168" /> +<TGConnectingPoint num="34" id="7169" /> +<TGConnectingPoint num="35" id="7170" /> +<TGConnectingPoint num="36" id="7171" /> +<TGConnectingPoint num="37" id="7172" /> +<TGConnectingPoint num="38" id="7173" /> +<TGConnectingPoint num="39" id="7174" /> +<extraparam> +<blockType data="block" color="-4072719" /> +<CryptoBlock value="false" /> +<Signal value="in recv()" attached="true" /> +</extraparam> </COMPONENT> -<COMPONENT type="5050" id="7506" index="3" uid="541fbce7-5538-41cb-89d9-0d65affe344a" > -<cdparam x="842" y="350" /> -<sizeparam width="35" height="35" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="5000" id="7298" index="3" uid="3d1dd9c5-32f1-478f-93f0-fb00d7c0dfbf" > +<cdparam x="278" y="177" /> +<sizeparam width="300" height="226" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="vertex" value="3 / Receiver / start" /> -<new d="false" /> -<TGConnectingPoint num="0" id="7474" /> -<TGConnectingPoint num="1" id="7475" /> -<TGConnectingPoint num="2" id="7476" /> -<TGConnectingPoint num="3" id="7477" /> -<TGConnectingPoint num="4" id="7478" /> -<TGConnectingPoint num="5" id="7479" /> -<TGConnectingPoint num="6" id="7480" /> -<TGConnectingPoint num="7" id="7481" /> -<TGConnectingPoint num="8" id="7482" /> -<TGConnectingPoint num="9" id="7483" /> -<TGConnectingPoint num="10" id="7484" /> -<TGConnectingPoint num="11" id="7485" /> -<TGConnectingPoint num="12" id="7486" /> -<TGConnectingPoint num="13" id="7487" /> -<TGConnectingPoint num="14" id="7488" /> -<TGConnectingPoint num="15" id="7489" /> -<TGConnectingPoint num="16" id="7490" /> -<TGConnectingPoint num="17" id="7491" /> -<TGConnectingPoint num="18" id="7492" /> -<TGConnectingPoint num="19" id="7493" /> -<TGConnectingPoint num="20" id="7494" /> -<TGConnectingPoint num="21" id="7495" /> -<TGConnectingPoint num="22" id="7496" /> -<TGConnectingPoint num="23" id="7497" /> -<TGConnectingPoint num="24" id="7498" /> -<TGConnectingPoint num="25" id="7499" /> -<TGConnectingPoint num="26" id="7500" /> -<TGConnectingPoint num="27" id="7501" /> -<TGConnectingPoint num="28" id="7502" /> -<TGConnectingPoint num="29" id="7503" /> -<TGConnectingPoint num="30" id="7504" /> -<TGConnectingPoint num="31" id="7505" /> -<color value="-16711936" /> +<infoparam name="Block" value="Sender" /> +<new d="false" /> +<TGConnectingPoint num="0" id="7258" /> +<TGConnectingPoint num="1" id="7259" /> +<TGConnectingPoint num="2" id="7260" /> +<TGConnectingPoint num="3" id="7261" /> +<TGConnectingPoint num="4" id="7262" /> +<TGConnectingPoint num="5" id="7263" /> +<TGConnectingPoint num="6" id="7264" /> +<TGConnectingPoint num="7" id="7265" /> +<TGConnectingPoint num="8" id="7266" /> +<TGConnectingPoint num="9" id="7267" /> +<TGConnectingPoint num="10" id="7268" /> +<TGConnectingPoint num="11" id="7269" /> +<TGConnectingPoint num="12" id="7270" /> +<TGConnectingPoint num="13" id="7271" /> +<TGConnectingPoint num="14" id="7272" /> +<TGConnectingPoint num="15" id="7273" /> +<TGConnectingPoint num="16" id="7274" /> +<TGConnectingPoint num="17" id="7275" /> +<TGConnectingPoint num="18" id="7276" /> +<TGConnectingPoint num="19" id="7277" /> +<TGConnectingPoint num="20" id="7278" /> +<TGConnectingPoint num="21" id="7279" /> +<TGConnectingPoint num="22" id="7280" /> +<TGConnectingPoint num="23" id="7281" /> +<TGConnectingPoint num="24" id="7282" /> +<TGConnectingPoint num="25" id="7283" /> +<TGConnectingPoint num="26" id="7284" /> +<TGConnectingPoint num="27" id="7285" /> +<TGConnectingPoint num="28" id="7286" /> +<TGConnectingPoint num="29" id="7287" /> +<TGConnectingPoint num="30" id="7288" /> +<TGConnectingPoint num="31" id="7289" /> +<TGConnectingPoint num="32" id="7290" /> +<TGConnectingPoint num="33" id="7291" /> +<TGConnectingPoint num="34" id="7292" /> +<TGConnectingPoint num="35" id="7293" /> +<TGConnectingPoint num="36" id="7294" /> +<TGConnectingPoint num="37" id="7295" /> +<TGConnectingPoint num="38" id="7296" /> +<TGConnectingPoint num="39" id="7297" /> +<extraparam> +<blockType data="block" color="-4072719" /> +<CryptoBlock value="false" /> +<Signal value="out send()" attached="true" /> +</extraparam> </COMPONENT> +<SUBCOMPONENT type="5000" id="7216" index="4" uid="89ea6271-f5d7-4ad2-b1f9-7219bd5d9ccd" > +<father id="7298" num="0" /> +<cdparam x="289" y="269" /> +<sizeparam width="117" height="118" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="183" minY="0" maxY="108" /> +<infoparam name="Block" value="S1" /> +<new d="false" /> +<TGConnectingPoint num="0" id="7176" /> +<TGConnectingPoint num="1" id="7177" /> +<TGConnectingPoint num="2" id="7178" /> +<TGConnectingPoint num="3" id="7179" /> +<TGConnectingPoint num="4" id="7180" /> +<TGConnectingPoint num="5" id="7181" /> +<TGConnectingPoint num="6" id="7182" /> +<TGConnectingPoint num="7" id="7183" /> +<TGConnectingPoint num="8" id="7184" /> +<TGConnectingPoint num="9" id="7185" /> +<TGConnectingPoint num="10" id="7186" /> +<TGConnectingPoint num="11" id="7187" /> +<TGConnectingPoint num="12" id="7188" /> +<TGConnectingPoint num="13" id="7189" /> +<TGConnectingPoint num="14" id="7190" /> +<TGConnectingPoint num="15" id="7191" /> +<TGConnectingPoint num="16" id="7192" /> +<TGConnectingPoint num="17" id="7193" /> +<TGConnectingPoint num="18" id="7194" /> +<TGConnectingPoint num="19" id="7195" /> +<TGConnectingPoint num="20" id="7196" /> +<TGConnectingPoint num="21" id="7197" /> +<TGConnectingPoint num="22" id="7198" /> +<TGConnectingPoint num="23" id="7199" /> +<TGConnectingPoint num="24" id="7200" /> +<TGConnectingPoint num="25" id="7201" /> +<TGConnectingPoint num="26" id="7202" /> +<TGConnectingPoint num="27" id="7203" /> +<TGConnectingPoint num="28" id="7204" /> +<TGConnectingPoint num="29" id="7205" /> +<TGConnectingPoint num="30" id="7206" /> +<TGConnectingPoint num="31" id="7207" /> +<TGConnectingPoint num="32" id="7208" /> +<TGConnectingPoint num="33" id="7209" /> +<TGConnectingPoint num="34" id="7210" /> +<TGConnectingPoint num="35" id="7211" /> +<TGConnectingPoint num="36" id="7212" /> +<TGConnectingPoint num="37" id="7213" /> +<TGConnectingPoint num="38" id="7214" /> +<TGConnectingPoint num="39" id="7215" /> +<extraparam> +<blockType data="block" color="-4072719" /> +<CryptoBlock value="false" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="5000" id="7257" index="5" uid="9fd0eb4c-5f19-4616-a24e-56780b544aae" > +<father id="7298" num="1" /> +<cdparam x="422" y="269" /> +<sizeparam width="130" height="117" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="170" minY="0" maxY="109" /> +<infoparam name="Block" value="S2" /> +<new d="false" /> +<TGConnectingPoint num="0" id="7217" /> +<TGConnectingPoint num="1" id="7218" /> +<TGConnectingPoint num="2" id="7219" /> +<TGConnectingPoint num="3" id="7220" /> +<TGConnectingPoint num="4" id="7221" /> +<TGConnectingPoint num="5" id="7222" /> +<TGConnectingPoint num="6" id="7223" /> +<TGConnectingPoint num="7" id="7224" /> +<TGConnectingPoint num="8" id="7225" /> +<TGConnectingPoint num="9" id="7226" /> +<TGConnectingPoint num="10" id="7227" /> +<TGConnectingPoint num="11" id="7228" /> +<TGConnectingPoint num="12" id="7229" /> +<TGConnectingPoint num="13" id="7230" /> +<TGConnectingPoint num="14" id="7231" /> +<TGConnectingPoint num="15" id="7232" /> +<TGConnectingPoint num="16" id="7233" /> +<TGConnectingPoint num="17" id="7234" /> +<TGConnectingPoint num="18" id="7235" /> +<TGConnectingPoint num="19" id="7236" /> +<TGConnectingPoint num="20" id="7237" /> +<TGConnectingPoint num="21" id="7238" /> +<TGConnectingPoint num="22" id="7239" /> +<TGConnectingPoint num="23" id="7240" /> +<TGConnectingPoint num="24" id="7241" /> +<TGConnectingPoint num="25" id="7242" /> +<TGConnectingPoint num="26" id="7243" /> +<TGConnectingPoint num="27" id="7244" /> +<TGConnectingPoint num="28" id="7245" /> +<TGConnectingPoint num="29" id="7246" /> +<TGConnectingPoint num="30" id="7247" /> +<TGConnectingPoint num="31" id="7248" /> +<TGConnectingPoint num="32" id="7249" /> +<TGConnectingPoint num="33" id="7250" /> +<TGConnectingPoint num="34" id="7251" /> +<TGConnectingPoint num="35" id="7252" /> +<TGConnectingPoint num="36" id="7253" /> +<TGConnectingPoint num="37" id="7254" /> +<TGConnectingPoint num="38" id="7255" /> +<TGConnectingPoint num="39" id="7256" /> +<extraparam> +<blockType data="block" color="-4072719" /> +<CryptoBlock value="false" /> +</extraparam> +</SUBCOMPONENT> -<COMPONENT type="5050" id="7539" index="4" uid="70fe8d04-3cee-4c02-8edb-b6d13e0c8e65" > -<cdparam x="772" y="279" /> -<sizeparam width="35" height="35" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> + +</AVATARBlockDiagramPanel> + +<AVATARStateMachineDiagramPanel name="Sender" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > +<COMPONENT type="5100" id="7300" index="0" uid="b7475cec-eef6-4f9a-aeee-b127ef712566" > +<cdparam x="400" y="50" /> +<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="vertex" value="4 / Receiver / Waiting" /> -<new d="false" /> -<TGConnectingPoint num="0" id="7507" /> -<TGConnectingPoint num="1" id="7508" /> -<TGConnectingPoint num="2" id="7509" /> -<TGConnectingPoint num="3" id="7510" /> -<TGConnectingPoint num="4" id="7511" /> -<TGConnectingPoint num="5" id="7512" /> -<TGConnectingPoint num="6" id="7513" /> -<TGConnectingPoint num="7" id="7514" /> -<TGConnectingPoint num="8" id="7515" /> -<TGConnectingPoint num="9" id="7516" /> -<TGConnectingPoint num="10" id="7517" /> -<TGConnectingPoint num="11" id="7518" /> -<TGConnectingPoint num="12" id="7519" /> -<TGConnectingPoint num="13" id="7520" /> -<TGConnectingPoint num="14" id="7521" /> -<TGConnectingPoint num="15" id="7522" /> -<TGConnectingPoint num="16" id="7523" /> -<TGConnectingPoint num="17" id="7524" /> -<TGConnectingPoint num="18" id="7525" /> -<TGConnectingPoint num="19" id="7526" /> -<TGConnectingPoint num="20" id="7527" /> -<TGConnectingPoint num="21" id="7528" /> -<TGConnectingPoint num="22" id="7529" /> -<TGConnectingPoint num="23" id="7530" /> -<TGConnectingPoint num="24" id="7531" /> -<TGConnectingPoint num="25" id="7532" /> -<TGConnectingPoint num="26" id="7533" /> -<TGConnectingPoint num="27" id="7534" /> -<TGConnectingPoint num="28" id="7535" /> -<TGConnectingPoint num="29" id="7536" /> -<TGConnectingPoint num="30" id="7537" /> -<TGConnectingPoint num="31" id="7538" /> +<infoparam name="start state" value="null" /> +<new d="false" /> +<TGConnectingPoint num="0" id="7299" /> </COMPONENT> -<COMPONENT type="5050" id="7572" index="5" uid="83886161-a1f2-4dd0-bf68-411e1858a130" > -<cdparam x="773" y="170" /> -<sizeparam width="35" height="35" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> + +</AVATARStateMachineDiagramPanel> + +<AVATARStateMachineDiagramPanel name="S1" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > +<CONNECTOR type="5102" id="7307" index="0" uid="6af6cf67-1199-4d90-a566-2831294d109d" > +<cdparam x="459" y="172" /> +<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="7306" /> +<P1 x="459" y="172" id="7318" /> +<P2 x="459" y="185" id="7315" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="7305" index="5" uid="bc906f1f-6591-4d76-8cec-710650f55602" > +<father id="7307" num="0" /> +<cdparam x="464" y="180" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> +<enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="vertex" value="5 / Receiver / avatar transition" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> <new d="false" /> -<TGConnectingPoint num="0" id="7540" /> -<TGConnectingPoint num="1" id="7541" /> -<TGConnectingPoint num="2" id="7542" /> -<TGConnectingPoint num="3" id="7543" /> -<TGConnectingPoint num="4" id="7544" /> -<TGConnectingPoint num="5" id="7545" /> -<TGConnectingPoint num="6" id="7546" /> -<TGConnectingPoint num="7" id="7547" /> -<TGConnectingPoint num="8" id="7548" /> -<TGConnectingPoint num="9" id="7549" /> -<TGConnectingPoint num="10" id="7550" /> -<TGConnectingPoint num="11" id="7551" /> -<TGConnectingPoint num="12" id="7552" /> -<TGConnectingPoint num="13" id="7553" /> -<TGConnectingPoint num="14" id="7554" /> -<TGConnectingPoint num="15" id="7555" /> -<TGConnectingPoint num="16" id="7556" /> -<TGConnectingPoint num="17" id="7557" /> -<TGConnectingPoint num="18" id="7558" /> -<TGConnectingPoint num="19" id="7559" /> -<TGConnectingPoint num="20" id="7560" /> -<TGConnectingPoint num="21" id="7561" /> -<TGConnectingPoint num="22" id="7562" /> -<TGConnectingPoint num="23" id="7563" /> -<TGConnectingPoint num="24" id="7564" /> -<TGConnectingPoint num="25" id="7565" /> -<TGConnectingPoint num="26" id="7566" /> -<TGConnectingPoint num="27" id="7567" /> -<TGConnectingPoint num="28" id="7568" /> -<TGConnectingPoint num="29" id="7569" /> -<TGConnectingPoint num="30" id="7570" /> -<TGConnectingPoint num="31" id="7571" /> -</COMPONENT> - -<COMPONENT type="5050" id="7605" index="6" uid="b3884498-d4dc-4416-ba8a-0d9c2fd5d713" > -<cdparam x="774" y="84" /> -<sizeparam width="35" height="35" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="vertex" value="6 / Receiver / END3" /> -<new d="false" /> -<TGConnectingPoint num="0" id="7573" /> -<TGConnectingPoint num="1" id="7574" /> -<TGConnectingPoint num="2" id="7575" /> -<TGConnectingPoint num="3" id="7576" /> -<TGConnectingPoint num="4" id="7577" /> -<TGConnectingPoint num="5" id="7578" /> -<TGConnectingPoint num="6" id="7579" /> -<TGConnectingPoint num="7" id="7580" /> -<TGConnectingPoint num="8" id="7581" /> -<TGConnectingPoint num="9" id="7582" /> -<TGConnectingPoint num="10" id="7583" /> -<TGConnectingPoint num="11" id="7584" /> -<TGConnectingPoint num="12" id="7585" /> -<TGConnectingPoint num="13" id="7586" /> -<TGConnectingPoint num="14" id="7587" /> -<TGConnectingPoint num="15" id="7588" /> -<TGConnectingPoint num="16" id="7589" /> -<TGConnectingPoint num="17" id="7590" /> -<TGConnectingPoint num="18" id="7591" /> -<TGConnectingPoint num="19" id="7592" /> -<TGConnectingPoint num="20" id="7593" /> -<TGConnectingPoint num="21" id="7594" /> -<TGConnectingPoint num="22" id="7595" /> -<TGConnectingPoint num="23" id="7596" /> -<TGConnectingPoint num="24" id="7597" /> -<TGConnectingPoint num="25" id="7598" /> -<TGConnectingPoint num="26" id="7599" /> -<TGConnectingPoint num="27" id="7600" /> -<TGConnectingPoint num="28" id="7601" /> -<TGConnectingPoint num="29" id="7602" /> -<TGConnectingPoint num="30" id="7603" /> -<TGConnectingPoint num="31" id="7604" /> -<color value="-65536" /> -</COMPONENT> - -<COMPONENT type="5050" id="7638" index="7" uid="02b69713-3322-466b-94ce-9f9de7921634" > -<cdparam x="646" y="348" /> -<sizeparam width="35" height="35" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="vertex" value="7 / Receiver / avatar transition" /> -<new d="false" /> -<TGConnectingPoint num="0" id="7606" /> -<TGConnectingPoint num="1" id="7607" /> -<TGConnectingPoint num="2" id="7608" /> -<TGConnectingPoint num="3" id="7609" /> -<TGConnectingPoint num="4" id="7610" /> -<TGConnectingPoint num="5" id="7611" /> -<TGConnectingPoint num="6" id="7612" /> -<TGConnectingPoint num="7" id="7613" /> -<TGConnectingPoint num="8" id="7614" /> -<TGConnectingPoint num="9" id="7615" /> -<TGConnectingPoint num="10" id="7616" /> -<TGConnectingPoint num="11" id="7617" /> -<TGConnectingPoint num="12" id="7618" /> -<TGConnectingPoint num="13" id="7619" /> -<TGConnectingPoint num="14" id="7620" /> -<TGConnectingPoint num="15" id="7621" /> -<TGConnectingPoint num="16" id="7622" /> -<TGConnectingPoint num="17" id="7623" /> -<TGConnectingPoint num="18" id="7624" /> -<TGConnectingPoint num="19" id="7625" /> -<TGConnectingPoint num="20" id="7626" /> -<TGConnectingPoint num="21" id="7627" /> -<TGConnectingPoint num="22" id="7628" /> -<TGConnectingPoint num="23" id="7629" /> -<TGConnectingPoint num="24" id="7630" /> -<TGConnectingPoint num="25" id="7631" /> -<TGConnectingPoint num="26" id="7632" /> -<TGConnectingPoint num="27" id="7633" /> -<TGConnectingPoint num="28" id="7634" /> -<TGConnectingPoint num="29" id="7635" /> -<TGConnectingPoint num="30" id="7636" /> -<TGConnectingPoint num="31" id="7637" /> -</COMPONENT> - -<COMPONENT type="5050" id="7671" index="8" uid="bcbfb1bb-8906-4ef0-ac74-592d34f2828f" > -<cdparam x="316" y="369" /> -<sizeparam width="35" height="35" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="vertex" value="9 / Receiver / END1" /> -<new d="false" /> -<TGConnectingPoint num="0" id="7639" /> -<TGConnectingPoint num="1" id="7640" /> -<TGConnectingPoint num="2" id="7641" /> -<TGConnectingPoint num="3" id="7642" /> -<TGConnectingPoint num="4" id="7643" /> -<TGConnectingPoint num="5" id="7644" /> -<TGConnectingPoint num="6" id="7645" /> -<TGConnectingPoint num="7" id="7646" /> -<TGConnectingPoint num="8" id="7647" /> -<TGConnectingPoint num="9" id="7648" /> -<TGConnectingPoint num="10" id="7649" /> -<TGConnectingPoint num="11" id="7650" /> -<TGConnectingPoint num="12" id="7651" /> -<TGConnectingPoint num="13" id="7652" /> -<TGConnectingPoint num="14" id="7653" /> -<TGConnectingPoint num="15" id="7654" /> -<TGConnectingPoint num="16" id="7655" /> -<TGConnectingPoint num="17" id="7656" /> -<TGConnectingPoint num="18" id="7657" /> -<TGConnectingPoint num="19" id="7658" /> -<TGConnectingPoint num="20" id="7659" /> -<TGConnectingPoint num="21" id="7660" /> -<TGConnectingPoint num="22" id="7661" /> -<TGConnectingPoint num="23" id="7662" /> -<TGConnectingPoint num="24" id="7663" /> -<TGConnectingPoint num="25" id="7664" /> -<TGConnectingPoint num="26" id="7665" /> -<TGConnectingPoint num="27" id="7666" /> -<TGConnectingPoint num="28" id="7667" /> -<TGConnectingPoint num="29" id="7668" /> -<TGConnectingPoint num="30" id="7669" /> -<TGConnectingPoint num="31" id="7670" /> -</COMPONENT> - -<COMPONENT type="5050" id="7704" index="9" uid="43fe389b-c56f-46d2-b9e1-a4a0f6e32ee5" > -<cdparam x="160" y="312" /> -<sizeparam width="35" height="35" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="vertex" value="10 / Receiver / END2" /> -<new d="false" /> -<TGConnectingPoint num="0" id="7672" /> -<TGConnectingPoint num="1" id="7673" /> -<TGConnectingPoint num="2" id="7674" /> -<TGConnectingPoint num="3" id="7675" /> -<TGConnectingPoint num="4" id="7676" /> -<TGConnectingPoint num="5" id="7677" /> -<TGConnectingPoint num="6" id="7678" /> -<TGConnectingPoint num="7" id="7679" /> -<TGConnectingPoint num="8" id="7680" /> -<TGConnectingPoint num="9" id="7681" /> -<TGConnectingPoint num="10" id="7682" /> -<TGConnectingPoint num="11" id="7683" /> -<TGConnectingPoint num="12" id="7684" /> -<TGConnectingPoint num="13" id="7685" /> -<TGConnectingPoint num="14" id="7686" /> -<TGConnectingPoint num="15" id="7687" /> -<TGConnectingPoint num="16" id="7688" /> -<TGConnectingPoint num="17" id="7689" /> -<TGConnectingPoint num="18" id="7690" /> -<TGConnectingPoint num="19" id="7691" /> -<TGConnectingPoint num="20" id="7692" /> -<TGConnectingPoint num="21" id="7693" /> -<TGConnectingPoint num="22" id="7694" /> -<TGConnectingPoint num="23" id="7695" /> -<TGConnectingPoint num="24" id="7696" /> -<TGConnectingPoint num="25" id="7697" /> -<TGConnectingPoint num="26" id="7698" /> -<TGConnectingPoint num="27" id="7699" /> -<TGConnectingPoint num="28" id="7700" /> -<TGConnectingPoint num="29" id="7701" /> -<TGConnectingPoint num="30" id="7702" /> -<TGConnectingPoint num="31" id="7703" /> -<color value="-65536" /> -</COMPONENT> - -<COMPONENT type="5050" id="7737" index="10" uid="d45caaba-260f-4183-a8e1-f69b67796791" > -<cdparam x="130" y="50" /> -<sizeparam width="35" height="35" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="vertex" value="13 / S2 / start" /> -<new d="false" /> -<TGConnectingPoint num="0" id="7705" /> -<TGConnectingPoint num="1" id="7706" /> -<TGConnectingPoint num="2" id="7707" /> -<TGConnectingPoint num="3" id="7708" /> -<TGConnectingPoint num="4" id="7709" /> -<TGConnectingPoint num="5" id="7710" /> -<TGConnectingPoint num="6" id="7711" /> -<TGConnectingPoint num="7" id="7712" /> -<TGConnectingPoint num="8" id="7713" /> -<TGConnectingPoint num="9" id="7714" /> -<TGConnectingPoint num="10" id="7715" /> -<TGConnectingPoint num="11" id="7716" /> -<TGConnectingPoint num="12" id="7717" /> -<TGConnectingPoint num="13" id="7718" /> -<TGConnectingPoint num="14" id="7719" /> -<TGConnectingPoint num="15" id="7720" /> -<TGConnectingPoint num="16" id="7721" /> -<TGConnectingPoint num="17" id="7722" /> -<TGConnectingPoint num="18" id="7723" /> -<TGConnectingPoint num="19" id="7724" /> -<TGConnectingPoint num="20" id="7725" /> -<TGConnectingPoint num="21" id="7726" /> -<TGConnectingPoint num="22" id="7727" /> -<TGConnectingPoint num="23" id="7728" /> -<TGConnectingPoint num="24" id="7729" /> -<TGConnectingPoint num="25" id="7730" /> -<TGConnectingPoint num="26" id="7731" /> -<TGConnectingPoint num="27" id="7732" /> -<TGConnectingPoint num="28" id="7733" /> -<TGConnectingPoint num="29" id="7734" /> -<TGConnectingPoint num="30" id="7735" /> -<TGConnectingPoint num="31" id="7736" /> -<color value="-16711936" /> -</COMPONENT> - -<COMPONENT type="5050" id="7770" index="11" uid="f7a943cd-523a-4dd1-b5a0-bc577d837ce2" > -<cdparam x="130" y="116" /> -<sizeparam width="35" height="35" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="vertex" value="14 / S2 / avatar transition" /> -<new d="false" /> -<TGConnectingPoint num="0" id="7738" /> -<TGConnectingPoint num="1" id="7739" /> -<TGConnectingPoint num="2" id="7740" /> -<TGConnectingPoint num="3" id="7741" /> -<TGConnectingPoint num="4" id="7742" /> -<TGConnectingPoint num="5" id="7743" /> -<TGConnectingPoint num="6" id="7744" /> -<TGConnectingPoint num="7" id="7745" /> -<TGConnectingPoint num="8" id="7746" /> -<TGConnectingPoint num="9" id="7747" /> -<TGConnectingPoint num="10" id="7748" /> -<TGConnectingPoint num="11" id="7749" /> -<TGConnectingPoint num="12" id="7750" /> -<TGConnectingPoint num="13" id="7751" /> -<TGConnectingPoint num="14" id="7752" /> -<TGConnectingPoint num="15" id="7753" /> -<TGConnectingPoint num="16" id="7754" /> -<TGConnectingPoint num="17" id="7755" /> -<TGConnectingPoint num="18" id="7756" /> -<TGConnectingPoint num="19" id="7757" /> -<TGConnectingPoint num="20" id="7758" /> -<TGConnectingPoint num="21" id="7759" /> -<TGConnectingPoint num="22" id="7760" /> -<TGConnectingPoint num="23" id="7761" /> -<TGConnectingPoint num="24" id="7762" /> -<TGConnectingPoint num="25" id="7763" /> -<TGConnectingPoint num="26" id="7764" /> -<TGConnectingPoint num="27" id="7765" /> -<TGConnectingPoint num="28" id="7766" /> -<TGConnectingPoint num="29" id="7767" /> -<TGConnectingPoint num="30" id="7768" /> -<TGConnectingPoint num="31" id="7769" /> -</COMPONENT> - -<COMPONENT type="5050" id="7803" index="12" uid="29c8e8d2-ede8-43e2-96e4-3f80d5533cd5" > -<cdparam x="315" y="45" /> -<sizeparam width="35" height="35" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="vertex" value="15 / S2 / stop" /> -<new d="false" /> -<TGConnectingPoint num="0" id="7771" /> -<TGConnectingPoint num="1" id="7772" /> -<TGConnectingPoint num="2" id="7773" /> -<TGConnectingPoint num="3" id="7774" /> -<TGConnectingPoint num="4" id="7775" /> -<TGConnectingPoint num="5" id="7776" /> -<TGConnectingPoint num="6" id="7777" /> -<TGConnectingPoint num="7" id="7778" /> -<TGConnectingPoint num="8" id="7779" /> -<TGConnectingPoint num="9" id="7780" /> -<TGConnectingPoint num="10" id="7781" /> -<TGConnectingPoint num="11" id="7782" /> -<TGConnectingPoint num="12" id="7783" /> -<TGConnectingPoint num="13" id="7784" /> -<TGConnectingPoint num="14" id="7785" /> -<TGConnectingPoint num="15" id="7786" /> -<TGConnectingPoint num="16" id="7787" /> -<TGConnectingPoint num="17" id="7788" /> -<TGConnectingPoint num="18" id="7789" /> -<TGConnectingPoint num="19" id="7790" /> -<TGConnectingPoint num="20" id="7791" /> -<TGConnectingPoint num="21" id="7792" /> -<TGConnectingPoint num="22" id="7793" /> -<TGConnectingPoint num="23" id="7794" /> -<TGConnectingPoint num="24" id="7795" /> -<TGConnectingPoint num="25" id="7796" /> -<TGConnectingPoint num="26" id="7797" /> -<TGConnectingPoint num="27" id="7798" /> -<TGConnectingPoint num="28" id="7799" /> -<TGConnectingPoint num="29" id="7800" /> -<TGConnectingPoint num="30" id="7801" /> -<TGConnectingPoint num="31" id="7802" /> -<color value="-65536" /> -</COMPONENT> - -<COMPONENT type="5050" id="7836" index="13" uid="9048c5e0-277f-4cc4-a730-208719ac924f" > -<cdparam x="602" y="38" /> -<sizeparam width="35" height="35" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="vertex" value="16 / S1 / start" /> -<new d="false" /> -<TGConnectingPoint num="0" id="7804" /> -<TGConnectingPoint num="1" id="7805" /> -<TGConnectingPoint num="2" id="7806" /> -<TGConnectingPoint num="3" id="7807" /> -<TGConnectingPoint num="4" id="7808" /> -<TGConnectingPoint num="5" id="7809" /> -<TGConnectingPoint num="6" id="7810" /> -<TGConnectingPoint num="7" id="7811" /> -<TGConnectingPoint num="8" id="7812" /> -<TGConnectingPoint num="9" id="7813" /> -<TGConnectingPoint num="10" id="7814" /> -<TGConnectingPoint num="11" id="7815" /> -<TGConnectingPoint num="12" id="7816" /> -<TGConnectingPoint num="13" id="7817" /> -<TGConnectingPoint num="14" id="7818" /> -<TGConnectingPoint num="15" id="7819" /> -<TGConnectingPoint num="16" id="7820" /> -<TGConnectingPoint num="17" id="7821" /> -<TGConnectingPoint num="18" id="7822" /> -<TGConnectingPoint num="19" id="7823" /> -<TGConnectingPoint num="20" id="7824" /> -<TGConnectingPoint num="21" id="7825" /> -<TGConnectingPoint num="22" id="7826" /> -<TGConnectingPoint num="23" id="7827" /> -<TGConnectingPoint num="24" id="7828" /> -<TGConnectingPoint num="25" id="7829" /> -<TGConnectingPoint num="26" id="7830" /> -<TGConnectingPoint num="27" id="7831" /> -<TGConnectingPoint num="28" id="7832" /> -<TGConnectingPoint num="29" id="7833" /> -<TGConnectingPoint num="30" id="7834" /> -<TGConnectingPoint num="31" id="7835" /> -<color value="-16711936" /> -</COMPONENT> - -<COMPONENT type="5050" id="7869" index="14" uid="b949a31e-9486-4bb9-b4d9-3a53d5b4adc9" > -<cdparam x="603" y="119" /> -<sizeparam width="35" height="35" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="vertex" value="17 / S1 / avatar transition" /> -<new d="false" /> -<TGConnectingPoint num="0" id="7837" /> -<TGConnectingPoint num="1" id="7838" /> -<TGConnectingPoint num="2" id="7839" /> -<TGConnectingPoint num="3" id="7840" /> -<TGConnectingPoint num="4" id="7841" /> -<TGConnectingPoint num="5" id="7842" /> -<TGConnectingPoint num="6" id="7843" /> -<TGConnectingPoint num="7" id="7844" /> -<TGConnectingPoint num="8" id="7845" /> -<TGConnectingPoint num="9" id="7846" /> -<TGConnectingPoint num="10" id="7847" /> -<TGConnectingPoint num="11" id="7848" /> -<TGConnectingPoint num="12" id="7849" /> -<TGConnectingPoint num="13" id="7850" /> -<TGConnectingPoint num="14" id="7851" /> -<TGConnectingPoint num="15" id="7852" /> -<TGConnectingPoint num="16" id="7853" /> -<TGConnectingPoint num="17" id="7854" /> -<TGConnectingPoint num="18" id="7855" /> -<TGConnectingPoint num="19" id="7856" /> -<TGConnectingPoint num="20" id="7857" /> -<TGConnectingPoint num="21" id="7858" /> -<TGConnectingPoint num="22" id="7859" /> -<TGConnectingPoint num="23" id="7860" /> -<TGConnectingPoint num="24" id="7861" /> -<TGConnectingPoint num="25" id="7862" /> -<TGConnectingPoint num="26" id="7863" /> -<TGConnectingPoint num="27" id="7864" /> -<TGConnectingPoint num="28" id="7865" /> -<TGConnectingPoint num="29" id="7866" /> -<TGConnectingPoint num="30" id="7867" /> -<TGConnectingPoint num="31" id="7868" /> -</COMPONENT> - -<COMPONENT type="5050" id="7902" index="15" uid="5bf322f4-8194-474b-8c0c-048ecc23fbf0" > -<cdparam x="505" y="36" /> -<sizeparam width="35" height="35" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="vertex" value="18 / S1 / stop" /> -<new d="false" /> -<TGConnectingPoint num="0" id="7870" /> -<TGConnectingPoint num="1" id="7871" /> -<TGConnectingPoint num="2" id="7872" /> -<TGConnectingPoint num="3" id="7873" /> -<TGConnectingPoint num="4" id="7874" /> -<TGConnectingPoint num="5" id="7875" /> -<TGConnectingPoint num="6" id="7876" /> -<TGConnectingPoint num="7" id="7877" /> -<TGConnectingPoint num="8" id="7878" /> -<TGConnectingPoint num="9" id="7879" /> -<TGConnectingPoint num="10" id="7880" /> -<TGConnectingPoint num="11" id="7881" /> -<TGConnectingPoint num="12" id="7882" /> -<TGConnectingPoint num="13" id="7883" /> -<TGConnectingPoint num="14" id="7884" /> -<TGConnectingPoint num="15" id="7885" /> -<TGConnectingPoint num="16" id="7886" /> -<TGConnectingPoint num="17" id="7887" /> -<TGConnectingPoint num="18" id="7888" /> -<TGConnectingPoint num="19" id="7889" /> -<TGConnectingPoint num="20" id="7890" /> -<TGConnectingPoint num="21" id="7891" /> -<TGConnectingPoint num="22" id="7892" /> -<TGConnectingPoint num="23" id="7893" /> -<TGConnectingPoint num="24" id="7894" /> -<TGConnectingPoint num="25" id="7895" /> -<TGConnectingPoint num="26" id="7896" /> -<TGConnectingPoint num="27" id="7897" /> -<TGConnectingPoint num="28" id="7898" /> -<TGConnectingPoint num="29" id="7899" /> -<TGConnectingPoint num="30" id="7900" /> -<TGConnectingPoint num="31" id="7901" /> -<color value="-65536" /> -</COMPONENT> - -<COMPONENT type="5050" id="7935" index="16" uid="9edccb35-c33c-456d-950f-58a819e40ada" > -<cdparam x="314" y="164" /> -<sizeparam width="35" height="35" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="vertex" value="19 / S2 / Sending signal "send"" /> -<new d="false" /> -<TGConnectingPoint num="0" id="7903" /> -<TGConnectingPoint num="1" id="7904" /> -<TGConnectingPoint num="2" id="7905" /> -<TGConnectingPoint num="3" id="7906" /> -<TGConnectingPoint num="4" id="7907" /> -<TGConnectingPoint num="5" id="7908" /> -<TGConnectingPoint num="6" id="7909" /> -<TGConnectingPoint num="7" id="7910" /> -<TGConnectingPoint num="8" id="7911" /> -<TGConnectingPoint num="9" id="7912" /> -<TGConnectingPoint num="10" id="7913" /> -<TGConnectingPoint num="11" id="7914" /> -<TGConnectingPoint num="12" id="7915" /> -<TGConnectingPoint num="13" id="7916" /> -<TGConnectingPoint num="14" id="7917" /> -<TGConnectingPoint num="15" id="7918" /> -<TGConnectingPoint num="16" id="7919" /> -<TGConnectingPoint num="17" id="7920" /> -<TGConnectingPoint num="18" id="7921" /> -<TGConnectingPoint num="19" id="7922" /> -<TGConnectingPoint num="20" id="7923" /> -<TGConnectingPoint num="21" id="7924" /> -<TGConnectingPoint num="22" id="7925" /> -<TGConnectingPoint num="23" id="7926" /> -<TGConnectingPoint num="24" id="7927" /> -<TGConnectingPoint num="25" id="7928" /> -<TGConnectingPoint num="26" id="7929" /> -<TGConnectingPoint num="27" id="7930" /> -<TGConnectingPoint num="28" id="7931" /> -<TGConnectingPoint num="29" id="7932" /> -<TGConnectingPoint num="30" id="7933" /> -<TGConnectingPoint num="31" id="7934" /> -<color value="-1059664" /> -</COMPONENT> - -<COMPONENT type="5050" id="7968" index="17" uid="b2c44989-e482-4da5-b430-52378571eaf5" > -<cdparam x="315" y="259" /> -<sizeparam width="35" height="35" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="vertex" value="20 / Receiver / Receiving signal "recv"" /> -<new d="false" /> -<TGConnectingPoint num="0" id="7936" /> -<TGConnectingPoint num="1" id="7937" /> -<TGConnectingPoint num="2" id="7938" /> -<TGConnectingPoint num="3" id="7939" /> -<TGConnectingPoint num="4" id="7940" /> -<TGConnectingPoint num="5" id="7941" /> -<TGConnectingPoint num="6" id="7942" /> -<TGConnectingPoint num="7" id="7943" /> -<TGConnectingPoint num="8" id="7944" /> -<TGConnectingPoint num="9" id="7945" /> -<TGConnectingPoint num="10" id="7946" /> -<TGConnectingPoint num="11" id="7947" /> -<TGConnectingPoint num="12" id="7948" /> -<TGConnectingPoint num="13" id="7949" /> -<TGConnectingPoint num="14" id="7950" /> -<TGConnectingPoint num="15" id="7951" /> -<TGConnectingPoint num="16" id="7952" /> -<TGConnectingPoint num="17" id="7953" /> -<TGConnectingPoint num="18" id="7954" /> -<TGConnectingPoint num="19" id="7955" /> -<TGConnectingPoint num="20" id="7956" /> -<TGConnectingPoint num="21" id="7957" /> -<TGConnectingPoint num="22" id="7958" /> -<TGConnectingPoint num="23" id="7959" /> -<TGConnectingPoint num="24" id="7960" /> -<TGConnectingPoint num="25" id="7961" /> -<TGConnectingPoint num="26" id="7962" /> -<TGConnectingPoint num="27" id="7963" /> -<TGConnectingPoint num="28" id="7964" /> -<TGConnectingPoint num="29" id="7965" /> -<TGConnectingPoint num="30" id="7966" /> -<TGConnectingPoint num="31" id="7967" /> -<color value="-2638720" /> -</COMPONENT> - -<COMPONENT type="5050" id="8001" index="18" uid="0129a597-b65a-4557-b9fa-1db07b8ed5df" > -<cdparam x="505" y="170" /> -<sizeparam width="35" height="35" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="vertex" value="21 / S1 / Sending signal "send"" /> -<new d="false" /> -<TGConnectingPoint num="0" id="7969" /> -<TGConnectingPoint num="1" id="7970" /> -<TGConnectingPoint num="2" id="7971" /> -<TGConnectingPoint num="3" id="7972" /> -<TGConnectingPoint num="4" id="7973" /> -<TGConnectingPoint num="5" id="7974" /> -<TGConnectingPoint num="6" id="7975" /> -<TGConnectingPoint num="7" id="7976" /> -<TGConnectingPoint num="8" id="7977" /> -<TGConnectingPoint num="9" id="7978" /> -<TGConnectingPoint num="10" id="7979" /> -<TGConnectingPoint num="11" id="7980" /> -<TGConnectingPoint num="12" id="7981" /> -<TGConnectingPoint num="13" id="7982" /> -<TGConnectingPoint num="14" id="7983" /> -<TGConnectingPoint num="15" id="7984" /> -<TGConnectingPoint num="16" id="7985" /> -<TGConnectingPoint num="17" id="7986" /> -<TGConnectingPoint num="18" id="7987" /> -<TGConnectingPoint num="19" id="7988" /> -<TGConnectingPoint num="20" id="7989" /> -<TGConnectingPoint num="21" id="7990" /> -<TGConnectingPoint num="22" id="7991" /> -<TGConnectingPoint num="23" id="7992" /> -<TGConnectingPoint num="24" id="7993" /> -<TGConnectingPoint num="25" id="7994" /> -<TGConnectingPoint num="26" id="7995" /> -<TGConnectingPoint num="27" id="7996" /> -<TGConnectingPoint num="28" id="7997" /> -<TGConnectingPoint num="29" id="7998" /> -<TGConnectingPoint num="30" id="7999" /> -<TGConnectingPoint num="31" id="8000" /> -<color value="-1059664" /> -</COMPONENT> - -<COMPONENT type="5050" id="8034" index="19" uid="9a163c08-647d-416f-ba46-f35b2cef55ac" > -<cdparam x="505" y="273" /> -<sizeparam width="35" height="35" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="vertex" value="22 / Receiver / Receiving signal "recv"" /> -<new d="false" /> -<TGConnectingPoint num="0" id="8002" /> -<TGConnectingPoint num="1" id="8003" /> -<TGConnectingPoint num="2" id="8004" /> -<TGConnectingPoint num="3" id="8005" /> -<TGConnectingPoint num="4" id="8006" /> -<TGConnectingPoint num="5" id="8007" /> -<TGConnectingPoint num="6" id="8008" /> -<TGConnectingPoint num="7" id="8009" /> -<TGConnectingPoint num="8" id="8010" /> -<TGConnectingPoint num="9" id="8011" /> -<TGConnectingPoint num="10" id="8012" /> -<TGConnectingPoint num="11" id="8013" /> -<TGConnectingPoint num="12" id="8014" /> -<TGConnectingPoint num="13" id="8015" /> -<TGConnectingPoint num="14" id="8016" /> -<TGConnectingPoint num="15" id="8017" /> -<TGConnectingPoint num="16" id="8018" /> -<TGConnectingPoint num="17" id="8019" /> -<TGConnectingPoint num="18" id="8020" /> -<TGConnectingPoint num="19" id="8021" /> -<TGConnectingPoint num="20" id="8022" /> -<TGConnectingPoint num="21" id="8023" /> -<TGConnectingPoint num="22" id="8024" /> -<TGConnectingPoint num="23" id="8025" /> -<TGConnectingPoint num="24" id="8026" /> -<TGConnectingPoint num="25" id="8027" /> -<TGConnectingPoint num="26" id="8028" /> -<TGConnectingPoint num="27" id="8029" /> -<TGConnectingPoint num="28" id="8030" /> -<TGConnectingPoint num="29" id="8031" /> -<TGConnectingPoint num="30" id="8032" /> -<TGConnectingPoint num="31" id="8033" /> -<color value="-2638720" /> -</COMPONENT> - -<CONNECTOR type="5051" id="8035" index="20" uid="10ba79fa-b601-4847-8537-778250dd2a4a" > -<cdparam x="753" y="435" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="" /> -<P1 x="1012" y="47" id="7375" /> -<P2 x="1013" y="158" id="7408" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -<extraparam> -<trans randomA="0.0" randomB="0.0" /> -</extraparam> -</CONNECTOR> -<CONNECTOR type="5051" id="8036" index="21" uid="b736ca24-374f-48e8-acc8-af87209ef194" > -<cdparam x="738" y="542" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="" /> -<P1 x="1013" y="158" id="7408" /> -<P2 x="1016" y="239" id="7441" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -<extraparam> -<trans randomA="0.0" randomB="0.0" /> -</extraparam> -</CONNECTOR> -<CONNECTOR type="5051" id="8037" index="22" uid="0d74e802-e4f9-4e93-ae75-f296bdd97474" > -<cdparam x="657" y="929" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="" /> -<P1 x="789" y="296" id="7507" /> -<P2 x="790" y="187" id="7540" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -<extraparam> -<trans randomA="0.0" randomB="0.0" /> -</extraparam> -</CONNECTOR> -<CONNECTOR type="5051" id="8038" index="23" uid="84ac438a-cdbb-4da2-8fd0-c4b034fa8ce5" > -<cdparam x="554" y="965" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="" /> -<P1 x="790" y="187" id="7540" /> -<P2 x="791" y="101" id="7573" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -<extraparam> -<trans randomA="0.0" randomB="0.0" /> -</extraparam> -</CONNECTOR> -<CONNECTOR type="5051" id="8039" index="24" uid="9e15dc40-2fb4-4066-99cc-1c4d5b75bc8b" > -<cdparam x="701" y="872" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="" /> -<P1 x="789" y="296" id="7507" /> -<P2 x="663" y="365" id="7606" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -<extraparam> -<trans randomA="0.0" randomB="0.0" /> -</extraparam> -</CONNECTOR> -<CONNECTOR type="5051" id="8040" index="25" uid="84fc6129-65fc-420e-a5af-0dc7ad3da6bc" > -<cdparam x="383" y="893" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="" /> -<P1 x="663" y="365" id="7606" /> -<P2 x="522" y="290" id="8002" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -<extraparam> -<trans randomA="0.0" randomB="0.0" /> -</extraparam> -</CONNECTOR> -<CONNECTOR type="5051" id="8041" index="26" uid="fbd21d2b-ad29-4c6b-95fe-c8e6dce27fdd" > -<cdparam x="150" y="357" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="" /> -<P1 x="147" y="67" id="7705" /> -<P2 x="147" y="133" id="7738" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -<extraparam> -<trans randomA="0.0" randomB="0.0" /> -</extraparam> -</CONNECTOR> -<CONNECTOR type="5051" id="8042" index="27" uid="67d8174d-f826-4ac3-8cb5-3163d120d507" > -<cdparam x="383" y="140" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="" /> -<P1 x="619" y="55" id="7804" /> -<P2 x="620" y="136" id="7837" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -<extraparam> -<trans randomA="0.0" randomB="0.0" /> -</extraparam> -</CONNECTOR> -<CONNECTOR type="5051" id="8043" index="28" uid="f740d6c2-519c-4a7e-8ee0-4b0d63ed1417" > -<cdparam x="206" y="264" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="" /> -<P1 x="147" y="133" id="7738" /> -<P2 x="331" y="181" id="7903" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -<extraparam> -<trans randomA="0.0" randomB="0.0" /> -</extraparam> -</CONNECTOR> -<CONNECTOR type="5051" id="8044" index="29" uid="b5ba7cf8-3e91-4a8e-b213-83e5f6a6c39c" > -<cdparam x="701" y="161" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="" /> -<P1 x="331" y="181" id="7903" /> -<P2 x="332" y="276" id="7936" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -<extraparam> -<trans randomA="0.0" randomB="0.0" /> -</extraparam> -</CONNECTOR> -<CONNECTOR type="5051" id="8045" index="30" uid="05bda03a-d783-4ab6-883b-7e003952c0a0" > -<cdparam x="790" y="224" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="" /> -<P1 x="332" y="276" id="7936" /> -<P2 x="331" y="181" id="7903" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -<extraparam> -<trans randomA="0.0" randomB="0.0" /> -</extraparam> -</CONNECTOR> -<CONNECTOR type="5051" id="8046" index="31" uid="adcc754b-74d5-4eda-a1c8-b3fd1870e7d1" > -<cdparam x="489" y="117" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="" /> -<P1 x="620" y="136" id="7837" /> -<P2 x="522" y="187" id="7969" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -<extraparam> -<trans randomA="0.0" randomB="0.0" /> -</extraparam> -</CONNECTOR> -<CONNECTOR type="5051" id="8047" index="32" uid="70d6943c-7cc3-4ad6-a12d-a6906f2c28a6" > -<cdparam x="858" y="309" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="" /> -<P1 x="522" y="187" id="7969" /> -<P2 x="522" y="290" id="8002" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -<extraparam> -<trans randomA="0.0" randomB="0.0" /> -</extraparam> -</CONNECTOR> -<CONNECTOR type="5051" id="8048" index="33" uid="6939a184-937b-4e4a-913f-6d29e5056a40" > -<cdparam x="902" y="409" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="" /> -<P1 x="522" y="290" id="8002" /> -<P2 x="522" y="187" id="7969" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -<extraparam> -<trans randomA="0.0" randomB="0.0" /> -</extraparam> -</CONNECTOR> -<CONNECTOR type="5051" id="8049" index="34" uid="0cb3b2c1-c478-4a76-a5c6-40757ba3103d" > -<cdparam x="746" y="866" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="" /> -<P1 x="859" y="367" id="7474" /> -<P2 x="789" y="296" id="7507" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -<extraparam> -<trans randomA="0.0" randomB="0.0" /> -</extraparam> -</CONNECTOR> -<CONNECTOR type="5051" id="8050" index="35" uid="5207bc72-8b12-47cd-976a-72c42bb83f51" > -<cdparam x="286" y="843" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="" /> -<P1 x="663" y="365" id="7606" /> -<P2 x="332" y="276" id="7936" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -<extraparam> -<trans randomA="0.0" randomB="0.0" /> -</extraparam> -</CONNECTOR> -<CONNECTOR type="5051" id="8051" index="36" uid="68f93664-8f9e-4d1b-af06-d44c5c18a943" > -<cdparam x="790" y="224" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="" /> -<P1 x="332" y="276" id="7936" /> -<P2 x="333" y="386" id="7639" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -<extraparam> -<trans randomA="0.0" randomB="0.0" /> -</extraparam> -</CONNECTOR> -<CONNECTOR type="5051" id="8052" index="37" uid="ed6d85e2-c57f-466f-aa90-8fa1d97440b5" > -<cdparam x="902" y="409" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="" /> -<P1 x="522" y="290" id="8002" /> -<P2 x="333" y="386" id="7639" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -<extraparam> -<trans randomA="0.0" randomB="0.0" /> -</extraparam> -</CONNECTOR> -<CONNECTOR type="5051" id="8053" index="38" uid="f3a5e5e6-2282-4174-b214-def60436e26d" > -<cdparam x="206" y="769" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="" /> -<P1 x="333" y="386" id="7639" /> -<P2 x="177" y="329" id="7672" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -<extraparam> -<trans randomA="0.0" randomB="0.0" /> -</extraparam> -</CONNECTOR> -<CONNECTOR type="5051" id="8054" index="39" uid="45ee6076-8fa7-46e9-bedc-daed8867e321" > -<cdparam x="701" y="161" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="" /> -<P1 x="331" y="181" id="7903" /> -<P2 x="332" y="62" id="7771" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -<extraparam> -<trans randomA="0.0" randomB="0.0" /> -</extraparam> -</CONNECTOR> -<CONNECTOR type="5051" id="8055" index="40" uid="4967fdd8-05ff-46b4-a8de-f55b71088e1a" > -<cdparam x="858" y="309" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="" /> -<P1 x="522" y="187" id="7969" /> -<P2 x="522" y="53" id="7870" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -<extraparam> -<trans randomA="0.0" randomB="0.0" /> -</extraparam> -</CONNECTOR> - -</GraphDPanel> - -</Modeling> - - - - -<Modeling type="Graph" nameTab="Graph_cloned" > -<GraphDPanel name="AUT graph" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" fontModifier="1.0" > -<COMPONENT type="5050" id="8088" index="0" uid="8b8b5254-e7f1-4474-97b7-fe418c45097d" > -<cdparam x="308" y="304" /> -<sizeparam width="35" height="35" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="vertex" value="3 / Receiver / start" /> -<new d="false" /> -<TGConnectingPoint num="0" id="8056" /> -<TGConnectingPoint num="1" id="8057" /> -<TGConnectingPoint num="2" id="8058" /> -<TGConnectingPoint num="3" id="8059" /> -<TGConnectingPoint num="4" id="8060" /> -<TGConnectingPoint num="5" id="8061" /> -<TGConnectingPoint num="6" id="8062" /> -<TGConnectingPoint num="7" id="8063" /> -<TGConnectingPoint num="8" id="8064" /> -<TGConnectingPoint num="9" id="8065" /> -<TGConnectingPoint num="10" id="8066" /> -<TGConnectingPoint num="11" id="8067" /> -<TGConnectingPoint num="12" id="8068" /> -<TGConnectingPoint num="13" id="8069" /> -<TGConnectingPoint num="14" id="8070" /> -<TGConnectingPoint num="15" id="8071" /> -<TGConnectingPoint num="16" id="8072" /> -<TGConnectingPoint num="17" id="8073" /> -<TGConnectingPoint num="18" id="8074" /> -<TGConnectingPoint num="19" id="8075" /> -<TGConnectingPoint num="20" id="8076" /> -<TGConnectingPoint num="21" id="8077" /> -<TGConnectingPoint num="22" id="8078" /> -<TGConnectingPoint num="23" id="8079" /> -<TGConnectingPoint num="24" id="8080" /> -<TGConnectingPoint num="25" id="8081" /> -<TGConnectingPoint num="26" id="8082" /> -<TGConnectingPoint num="27" id="8083" /> -<TGConnectingPoint num="28" id="8084" /> -<TGConnectingPoint num="29" id="8085" /> -<TGConnectingPoint num="30" id="8086" /> -<TGConnectingPoint num="31" id="8087" /> -<color value="-16711936" /> -</COMPONENT> - -<COMPONENT type="5050" id="8121" index="1" uid="483e2ee9-23b5-4dbd-84e7-89f0de0d2412" > -<cdparam x="238" y="233" /> -<sizeparam width="35" height="35" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="vertex" value="4 / Receiver / Waiting" /> -<new d="false" /> -<TGConnectingPoint num="0" id="8089" /> -<TGConnectingPoint num="1" id="8090" /> -<TGConnectingPoint num="2" id="8091" /> -<TGConnectingPoint num="3" id="8092" /> -<TGConnectingPoint num="4" id="8093" /> -<TGConnectingPoint num="5" id="8094" /> -<TGConnectingPoint num="6" id="8095" /> -<TGConnectingPoint num="7" id="8096" /> -<TGConnectingPoint num="8" id="8097" /> -<TGConnectingPoint num="9" id="8098" /> -<TGConnectingPoint num="10" id="8099" /> -<TGConnectingPoint num="11" id="8100" /> -<TGConnectingPoint num="12" id="8101" /> -<TGConnectingPoint num="13" id="8102" /> -<TGConnectingPoint num="14" id="8103" /> -<TGConnectingPoint num="15" id="8104" /> -<TGConnectingPoint num="16" id="8105" /> -<TGConnectingPoint num="17" id="8106" /> -<TGConnectingPoint num="18" id="8107" /> -<TGConnectingPoint num="19" id="8108" /> -<TGConnectingPoint num="20" id="8109" /> -<TGConnectingPoint num="21" id="8110" /> -<TGConnectingPoint num="22" id="8111" /> -<TGConnectingPoint num="23" id="8112" /> -<TGConnectingPoint num="24" id="8113" /> -<TGConnectingPoint num="25" id="8114" /> -<TGConnectingPoint num="26" id="8115" /> -<TGConnectingPoint num="27" id="8116" /> -<TGConnectingPoint num="28" id="8117" /> -<TGConnectingPoint num="29" id="8118" /> -<TGConnectingPoint num="30" id="8119" /> -<TGConnectingPoint num="31" id="8120" /> -</COMPONENT> - -<COMPONENT type="5050" id="8154" index="2" uid="e62c8739-5547-4537-a8e2-dddb8aa365c2" > -<cdparam x="239" y="124" /> -<sizeparam width="35" height="35" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="vertex" value="5 / Receiver / avatar transition" /> -<new d="false" /> -<TGConnectingPoint num="0" id="8122" /> -<TGConnectingPoint num="1" id="8123" /> -<TGConnectingPoint num="2" id="8124" /> -<TGConnectingPoint num="3" id="8125" /> -<TGConnectingPoint num="4" id="8126" /> -<TGConnectingPoint num="5" id="8127" /> -<TGConnectingPoint num="6" id="8128" /> -<TGConnectingPoint num="7" id="8129" /> -<TGConnectingPoint num="8" id="8130" /> -<TGConnectingPoint num="9" id="8131" /> -<TGConnectingPoint num="10" id="8132" /> -<TGConnectingPoint num="11" id="8133" /> -<TGConnectingPoint num="12" id="8134" /> -<TGConnectingPoint num="13" id="8135" /> -<TGConnectingPoint num="14" id="8136" /> -<TGConnectingPoint num="15" id="8137" /> -<TGConnectingPoint num="16" id="8138" /> -<TGConnectingPoint num="17" id="8139" /> -<TGConnectingPoint num="18" id="8140" /> -<TGConnectingPoint num="19" id="8141" /> -<TGConnectingPoint num="20" id="8142" /> -<TGConnectingPoint num="21" id="8143" /> -<TGConnectingPoint num="22" id="8144" /> -<TGConnectingPoint num="23" id="8145" /> -<TGConnectingPoint num="24" id="8146" /> -<TGConnectingPoint num="25" id="8147" /> -<TGConnectingPoint num="26" id="8148" /> -<TGConnectingPoint num="27" id="8149" /> -<TGConnectingPoint num="28" id="8150" /> -<TGConnectingPoint num="29" id="8151" /> -<TGConnectingPoint num="30" id="8152" /> -<TGConnectingPoint num="31" id="8153" /> -</COMPONENT> - -<COMPONENT type="5050" id="8187" index="3" uid="824a4c7d-d96f-4a17-a646-a9e9e6d9aae7" > -<cdparam x="240" y="38" /> -<sizeparam width="35" height="35" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="vertex" value="6 / Receiver / END3" /> -<new d="false" /> -<TGConnectingPoint num="0" id="8155" /> -<TGConnectingPoint num="1" id="8156" /> -<TGConnectingPoint num="2" id="8157" /> -<TGConnectingPoint num="3" id="8158" /> -<TGConnectingPoint num="4" id="8159" /> -<TGConnectingPoint num="5" id="8160" /> -<TGConnectingPoint num="6" id="8161" /> -<TGConnectingPoint num="7" id="8162" /> -<TGConnectingPoint num="8" id="8163" /> -<TGConnectingPoint num="9" id="8164" /> -<TGConnectingPoint num="10" id="8165" /> -<TGConnectingPoint num="11" id="8166" /> -<TGConnectingPoint num="12" id="8167" /> -<TGConnectingPoint num="13" id="8168" /> -<TGConnectingPoint num="14" id="8169" /> -<TGConnectingPoint num="15" id="8170" /> -<TGConnectingPoint num="16" id="8171" /> -<TGConnectingPoint num="17" id="8172" /> -<TGConnectingPoint num="18" id="8173" /> -<TGConnectingPoint num="19" id="8174" /> -<TGConnectingPoint num="20" id="8175" /> -<TGConnectingPoint num="21" id="8176" /> -<TGConnectingPoint num="22" id="8177" /> -<TGConnectingPoint num="23" id="8178" /> -<TGConnectingPoint num="24" id="8179" /> -<TGConnectingPoint num="25" id="8180" /> -<TGConnectingPoint num="26" id="8181" /> -<TGConnectingPoint num="27" id="8182" /> -<TGConnectingPoint num="28" id="8183" /> -<TGConnectingPoint num="29" id="8184" /> -<TGConnectingPoint num="30" id="8185" /> -<TGConnectingPoint num="31" id="8186" /> -<color value="-65536" /> -</COMPONENT> - -<COMPONENT type="5050" id="8220" index="4" uid="e1432f0e-dd56-4521-ac87-144eeabc93a2" > -<cdparam x="112" y="302" /> -<sizeparam width="35" height="35" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="vertex" value="7 / Receiver / avatar transition" /> -<new d="false" /> -<TGConnectingPoint num="0" id="8188" /> -<TGConnectingPoint num="1" id="8189" /> -<TGConnectingPoint num="2" id="8190" /> -<TGConnectingPoint num="3" id="8191" /> -<TGConnectingPoint num="4" id="8192" /> -<TGConnectingPoint num="5" id="8193" /> -<TGConnectingPoint num="6" id="8194" /> -<TGConnectingPoint num="7" id="8195" /> -<TGConnectingPoint num="8" id="8196" /> -<TGConnectingPoint num="9" id="8197" /> -<TGConnectingPoint num="10" id="8198" /> -<TGConnectingPoint num="11" id="8199" /> -<TGConnectingPoint num="12" id="8200" /> -<TGConnectingPoint num="13" id="8201" /> -<TGConnectingPoint num="14" id="8202" /> -<TGConnectingPoint num="15" id="8203" /> -<TGConnectingPoint num="16" id="8204" /> -<TGConnectingPoint num="17" id="8205" /> -<TGConnectingPoint num="18" id="8206" /> -<TGConnectingPoint num="19" id="8207" /> -<TGConnectingPoint num="20" id="8208" /> -<TGConnectingPoint num="21" id="8209" /> -<TGConnectingPoint num="22" id="8210" /> -<TGConnectingPoint num="23" id="8211" /> -<TGConnectingPoint num="24" id="8212" /> -<TGConnectingPoint num="25" id="8213" /> -<TGConnectingPoint num="26" id="8214" /> -<TGConnectingPoint num="27" id="8215" /> -<TGConnectingPoint num="28" id="8216" /> -<TGConnectingPoint num="29" id="8217" /> -<TGConnectingPoint num="30" id="8218" /> -<TGConnectingPoint num="31" id="8219" /> -</COMPONENT> - -<CONNECTOR type="5051" id="8221" index="5" uid="0dad6c9a-aa90-4659-a8d1-43a16480eed5" > -<cdparam x="123" y="883" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="" /> -<P1 x="255" y="250" id="8089" /> -<P2 x="256" y="141" id="8122" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -<extraparam> -<trans randomA="0.0" randomB="0.0" /> -</extraparam> -</CONNECTOR> -<CONNECTOR type="5051" id="8222" index="6" uid="1787c693-8257-417c-82e7-dc4303472859" > -<cdparam x="20" y="919" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="" /> -<P1 x="256" y="141" id="8122" /> -<P2 x="257" y="55" id="8155" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -<extraparam> -<trans randomA="0.0" randomB="0.0" /> -</extraparam> -</CONNECTOR> -<CONNECTOR type="5051" id="8223" index="7" uid="28d7451c-a573-49d6-9516-29de3a1a9963" > -<cdparam x="167" y="826" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="" /> -<P1 x="255" y="250" id="8089" /> -<P2 x="129" y="319" id="8188" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -<extraparam> -<trans randomA="0.0" randomB="0.0" /> -</extraparam> -</CONNECTOR> -<CONNECTOR type="5051" id="8224" index="8" uid="84c034ff-2e6c-409c-a923-ae82eec91ef6" > -<cdparam x="212" y="820" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="" /> -<P1 x="325" y="321" id="8056" /> -<P2 x="255" y="250" id="8089" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -<extraparam> -<trans randomA="0.0" randomB="0.0" /> -</extraparam> -</CONNECTOR> - -</GraphDPanel> - -</Modeling> - - - - -<Modeling type="AVATAR Design" nameTab="Modelsward2023Toy_Before" tabs="Block Diagram$Sender$S1$S2$Receiver$Other" > -<AVATARBlockDiagramPanel name="Block Diagram" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > -<MainCode value="void __user_init() {"/> -<MainCode value="}"/> -<Optimized value="true" /> -<considerTimingOperators value="true" /> -<Validated value="Other;Receiver;Sender;S2;S1;" /> -<Ignored value="" /> - -<CONNECTOR type="5002" id="8226" index="0" uid="daa36774-6e57-4f7c-a4b0-686a051e015a" > -<cdparam x="578" y="346" /> -<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="8225" /> -<P1 x="578" y="346" id="8404" /> -<P2 x="686" y="346" id="8271" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -<extraparam> -<isd value="in recv()" /> -<oso value="out send()" /> -<FIFOType asynchronous="false" synchronousCH="true" size="1" blocking="false" private="true" broadcast="false" lossy="false" ams="false" /> -</extraparam> -</CONNECTOR> -<COMPONENT type="5000" id="8267" index="1" uid="958f2b5d-6d6d-4c73-b0f1-e7da099a294d" > -<cdparam x="866" y="285" /> -<sizeparam width="132" height="121" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="Block" value="Other" /> -<new d="false" /> -<TGConnectingPoint num="0" id="8227" /> -<TGConnectingPoint num="1" id="8228" /> -<TGConnectingPoint num="2" id="8229" /> -<TGConnectingPoint num="3" id="8230" /> -<TGConnectingPoint num="4" id="8231" /> -<TGConnectingPoint num="5" id="8232" /> -<TGConnectingPoint num="6" id="8233" /> -<TGConnectingPoint num="7" id="8234" /> -<TGConnectingPoint num="8" id="8235" /> -<TGConnectingPoint num="9" id="8236" /> -<TGConnectingPoint num="10" id="8237" /> -<TGConnectingPoint num="11" id="8238" /> -<TGConnectingPoint num="12" id="8239" /> -<TGConnectingPoint num="13" id="8240" /> -<TGConnectingPoint num="14" id="8241" /> -<TGConnectingPoint num="15" id="8242" /> -<TGConnectingPoint num="16" id="8243" /> -<TGConnectingPoint num="17" id="8244" /> -<TGConnectingPoint num="18" id="8245" /> -<TGConnectingPoint num="19" id="8246" /> -<TGConnectingPoint num="20" id="8247" /> -<TGConnectingPoint num="21" id="8248" /> -<TGConnectingPoint num="22" id="8249" /> -<TGConnectingPoint num="23" id="8250" /> -<TGConnectingPoint num="24" id="8251" /> -<TGConnectingPoint num="25" id="8252" /> -<TGConnectingPoint num="26" id="8253" /> -<TGConnectingPoint num="27" id="8254" /> -<TGConnectingPoint num="28" id="8255" /> -<TGConnectingPoint num="29" id="8256" /> -<TGConnectingPoint num="30" id="8257" /> -<TGConnectingPoint num="31" id="8258" /> -<TGConnectingPoint num="32" id="8259" /> -<TGConnectingPoint num="33" id="8260" /> -<TGConnectingPoint num="34" id="8261" /> -<TGConnectingPoint num="35" id="8262" /> -<TGConnectingPoint num="36" id="8263" /> -<TGConnectingPoint num="37" id="8264" /> -<TGConnectingPoint num="38" id="8265" /> -<TGConnectingPoint num="39" id="8266" /> -<extraparam> -<blockType data="block" color="-4072719" /> -<CryptoBlock value="false" /> -</extraparam> -</COMPONENT> - -<COMPONENT type="5000" id="8308" index="2" uid="6d8f387c-997b-4073-a149-a020ac367c58" > -<cdparam x="686" y="287" /> -<sizeparam width="127" height="119" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="Block" value="Receiver" /> -<new d="false" /> -<TGConnectingPoint num="0" id="8268" /> -<TGConnectingPoint num="1" id="8269" /> -<TGConnectingPoint num="2" id="8270" /> -<TGConnectingPoint num="3" id="8271" /> -<TGConnectingPoint num="4" id="8272" /> -<TGConnectingPoint num="5" id="8273" /> -<TGConnectingPoint num="6" id="8274" /> -<TGConnectingPoint num="7" id="8275" /> -<TGConnectingPoint num="8" id="8276" /> -<TGConnectingPoint num="9" id="8277" /> -<TGConnectingPoint num="10" id="8278" /> -<TGConnectingPoint num="11" id="8279" /> -<TGConnectingPoint num="12" id="8280" /> -<TGConnectingPoint num="13" id="8281" /> -<TGConnectingPoint num="14" id="8282" /> -<TGConnectingPoint num="15" id="8283" /> -<TGConnectingPoint num="16" id="8284" /> -<TGConnectingPoint num="17" id="8285" /> -<TGConnectingPoint num="18" id="8286" /> -<TGConnectingPoint num="19" id="8287" /> -<TGConnectingPoint num="20" id="8288" /> -<TGConnectingPoint num="21" id="8289" /> -<TGConnectingPoint num="22" id="8290" /> -<TGConnectingPoint num="23" id="8291" /> -<TGConnectingPoint num="24" id="8292" /> -<TGConnectingPoint num="25" id="8293" /> -<TGConnectingPoint num="26" id="8294" /> -<TGConnectingPoint num="27" id="8295" /> -<TGConnectingPoint num="28" id="8296" /> -<TGConnectingPoint num="29" id="8297" /> -<TGConnectingPoint num="30" id="8298" /> -<TGConnectingPoint num="31" id="8299" /> -<TGConnectingPoint num="32" id="8300" /> -<TGConnectingPoint num="33" id="8301" /> -<TGConnectingPoint num="34" id="8302" /> -<TGConnectingPoint num="35" id="8303" /> -<TGConnectingPoint num="36" id="8304" /> -<TGConnectingPoint num="37" id="8305" /> -<TGConnectingPoint num="38" id="8306" /> -<TGConnectingPoint num="39" id="8307" /> -<extraparam> -<blockType data="block" color="-4072719" /> -<CryptoBlock value="false" /> -<Signal value="in recv()" attached="true" /> -</extraparam> -</COMPONENT> - -<COMPONENT type="5000" id="8431" index="3" uid="3d1dd9c5-32f1-478f-93f0-fb00d7c0dfbf" > -<cdparam x="278" y="177" /> -<sizeparam width="300" height="226" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="Block" value="Sender" /> -<new d="false" /> -<TGConnectingPoint num="0" id="8391" /> -<TGConnectingPoint num="1" id="8392" /> -<TGConnectingPoint num="2" id="8393" /> -<TGConnectingPoint num="3" id="8394" /> -<TGConnectingPoint num="4" id="8395" /> -<TGConnectingPoint num="5" id="8396" /> -<TGConnectingPoint num="6" id="8397" /> -<TGConnectingPoint num="7" id="8398" /> -<TGConnectingPoint num="8" id="8399" /> -<TGConnectingPoint num="9" id="8400" /> -<TGConnectingPoint num="10" id="8401" /> -<TGConnectingPoint num="11" id="8402" /> -<TGConnectingPoint num="12" id="8403" /> -<TGConnectingPoint num="13" id="8404" /> -<TGConnectingPoint num="14" id="8405" /> -<TGConnectingPoint num="15" id="8406" /> -<TGConnectingPoint num="16" id="8407" /> -<TGConnectingPoint num="17" id="8408" /> -<TGConnectingPoint num="18" id="8409" /> -<TGConnectingPoint num="19" id="8410" /> -<TGConnectingPoint num="20" id="8411" /> -<TGConnectingPoint num="21" id="8412" /> -<TGConnectingPoint num="22" id="8413" /> -<TGConnectingPoint num="23" id="8414" /> -<TGConnectingPoint num="24" id="8415" /> -<TGConnectingPoint num="25" id="8416" /> -<TGConnectingPoint num="26" id="8417" /> -<TGConnectingPoint num="27" id="8418" /> -<TGConnectingPoint num="28" id="8419" /> -<TGConnectingPoint num="29" id="8420" /> -<TGConnectingPoint num="30" id="8421" /> -<TGConnectingPoint num="31" id="8422" /> -<TGConnectingPoint num="32" id="8423" /> -<TGConnectingPoint num="33" id="8424" /> -<TGConnectingPoint num="34" id="8425" /> -<TGConnectingPoint num="35" id="8426" /> -<TGConnectingPoint num="36" id="8427" /> -<TGConnectingPoint num="37" id="8428" /> -<TGConnectingPoint num="38" id="8429" /> -<TGConnectingPoint num="39" id="8430" /> -<extraparam> -<blockType data="block" color="-4072719" /> -<CryptoBlock value="false" /> -<Signal value="out send()" attached="true" /> -</extraparam> -</COMPONENT> -<SUBCOMPONENT type="5000" id="8349" index="4" uid="9fd0eb4c-5f19-4616-a24e-56780b544aae" > -<father id="8431" num="0" /> -<cdparam x="422" y="269" /> -<sizeparam width="130" height="117" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="0" maxX="170" minY="0" maxY="109" /> -<infoparam name="Block" value="S2" /> -<new d="false" /> -<TGConnectingPoint num="0" id="8309" /> -<TGConnectingPoint num="1" id="8310" /> -<TGConnectingPoint num="2" id="8311" /> -<TGConnectingPoint num="3" id="8312" /> -<TGConnectingPoint num="4" id="8313" /> -<TGConnectingPoint num="5" id="8314" /> -<TGConnectingPoint num="6" id="8315" /> -<TGConnectingPoint num="7" id="8316" /> -<TGConnectingPoint num="8" id="8317" /> -<TGConnectingPoint num="9" id="8318" /> -<TGConnectingPoint num="10" id="8319" /> -<TGConnectingPoint num="11" id="8320" /> -<TGConnectingPoint num="12" id="8321" /> -<TGConnectingPoint num="13" id="8322" /> -<TGConnectingPoint num="14" id="8323" /> -<TGConnectingPoint num="15" id="8324" /> -<TGConnectingPoint num="16" id="8325" /> -<TGConnectingPoint num="17" id="8326" /> -<TGConnectingPoint num="18" id="8327" /> -<TGConnectingPoint num="19" id="8328" /> -<TGConnectingPoint num="20" id="8329" /> -<TGConnectingPoint num="21" id="8330" /> -<TGConnectingPoint num="22" id="8331" /> -<TGConnectingPoint num="23" id="8332" /> -<TGConnectingPoint num="24" id="8333" /> -<TGConnectingPoint num="25" id="8334" /> -<TGConnectingPoint num="26" id="8335" /> -<TGConnectingPoint num="27" id="8336" /> -<TGConnectingPoint num="28" id="8337" /> -<TGConnectingPoint num="29" id="8338" /> -<TGConnectingPoint num="30" id="8339" /> -<TGConnectingPoint num="31" id="8340" /> -<TGConnectingPoint num="32" id="8341" /> -<TGConnectingPoint num="33" id="8342" /> -<TGConnectingPoint num="34" id="8343" /> -<TGConnectingPoint num="35" id="8344" /> -<TGConnectingPoint num="36" id="8345" /> -<TGConnectingPoint num="37" id="8346" /> -<TGConnectingPoint num="38" id="8347" /> -<TGConnectingPoint num="39" id="8348" /> -<extraparam> -<blockType data="block" color="-4072719" /> -<CryptoBlock value="false" /> -</extraparam> -</SUBCOMPONENT> -<SUBCOMPONENT type="5000" id="8390" index="5" uid="89ea6271-f5d7-4ad2-b1f9-7219bd5d9ccd" > -<father id="8431" num="1" /> -<cdparam x="289" y="269" /> -<sizeparam width="117" height="118" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="0" maxX="183" minY="0" maxY="108" /> -<infoparam name="Block" value="S1" /> -<new d="false" /> -<TGConnectingPoint num="0" id="8350" /> -<TGConnectingPoint num="1" id="8351" /> -<TGConnectingPoint num="2" id="8352" /> -<TGConnectingPoint num="3" id="8353" /> -<TGConnectingPoint num="4" id="8354" /> -<TGConnectingPoint num="5" id="8355" /> -<TGConnectingPoint num="6" id="8356" /> -<TGConnectingPoint num="7" id="8357" /> -<TGConnectingPoint num="8" id="8358" /> -<TGConnectingPoint num="9" id="8359" /> -<TGConnectingPoint num="10" id="8360" /> -<TGConnectingPoint num="11" id="8361" /> -<TGConnectingPoint num="12" id="8362" /> -<TGConnectingPoint num="13" id="8363" /> -<TGConnectingPoint num="14" id="8364" /> -<TGConnectingPoint num="15" id="8365" /> -<TGConnectingPoint num="16" id="8366" /> -<TGConnectingPoint num="17" id="8367" /> -<TGConnectingPoint num="18" id="8368" /> -<TGConnectingPoint num="19" id="8369" /> -<TGConnectingPoint num="20" id="8370" /> -<TGConnectingPoint num="21" id="8371" /> -<TGConnectingPoint num="22" id="8372" /> -<TGConnectingPoint num="23" id="8373" /> -<TGConnectingPoint num="24" id="8374" /> -<TGConnectingPoint num="25" id="8375" /> -<TGConnectingPoint num="26" id="8376" /> -<TGConnectingPoint num="27" id="8377" /> -<TGConnectingPoint num="28" id="8378" /> -<TGConnectingPoint num="29" id="8379" /> -<TGConnectingPoint num="30" id="8380" /> -<TGConnectingPoint num="31" id="8381" /> -<TGConnectingPoint num="32" id="8382" /> -<TGConnectingPoint num="33" id="8383" /> -<TGConnectingPoint num="34" id="8384" /> -<TGConnectingPoint num="35" id="8385" /> -<TGConnectingPoint num="36" id="8386" /> -<TGConnectingPoint num="37" id="8387" /> -<TGConnectingPoint num="38" id="8388" /> -<TGConnectingPoint num="39" id="8389" /> -<extraparam> -<blockType data="block" color="-4072719" /> -<CryptoBlock value="false" /> -</extraparam> -</SUBCOMPONENT> - - -</AVATARBlockDiagramPanel> - -<AVATARStateMachineDiagramPanel name="Sender" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > -<COMPONENT type="5100" id="8433" index="0" uid="b7475cec-eef6-4f9a-aeee-b127ef712566" > -<cdparam x="400" y="50" /> -<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="start state" value="null" /> -<new d="false" /> -<TGConnectingPoint num="0" id="8432" /> -</COMPONENT> - - -</AVATARStateMachineDiagramPanel> - -<AVATARStateMachineDiagramPanel name="S1" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > -<CONNECTOR type="5102" id="8440" index="0" uid="6af6cf67-1199-4d90-a566-2831294d109d" > -<cdparam x="459" y="172" /> -<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="8439" /> -<P1 x="459" y="172" id="8451" /> -<P2 x="459" y="185" id="8448" /> -<AutomaticDrawing data="true" /> -<new d="false" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="8438" index="5" uid="bc906f1f-6591-4d76-8cec-710650f55602" > -<father id="8440" num="0" /> -<cdparam x="464" y="180" /> -<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="2500" minY="10" maxY="1500" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<new d="false" /> -<TGConnectingPoint num="0" id="8434" /> -<TGConnectingPoint num="1" id="8435" /> -<TGConnectingPoint num="2" id="8436" /> -<TGConnectingPoint num="3" id="8437" /> +<TGConnectingPoint num="0" id="7301" /> +<TGConnectingPoint num="1" id="7302" /> +<TGConnectingPoint num="2" id="7303" /> +<TGConnectingPoint num="3" id="7304" /> <extraparam> <guard value="[ ]" enabled="true"/> <afterMin value="" enabled="true"/> @@ -15605,28 +14245,28 @@ Double-click to edit </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="8447" index="1" uid="cd48cd1e-80c0-4045-a9aa-83402b3a3559" > +<CONNECTOR type="5102" id="7314" index="1" uid="cd48cd1e-80c0-4045-a9aa-83402b3a3559" > <cdparam x="459" y="106" /> <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="8446" /> -<P1 x="459" y="106" id="8461" /> -<P2 x="459" y="142" id="8450" /> +<TGConnectingPoint num="0" id="7313" /> +<P1 x="459" y="106" id="7328" /> +<P2 x="459" y="142" id="7317" /> <AutomaticDrawing data="true" /> <new d="false" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="8445" index="6" uid="f1236b21-20f0-4b04-b83d-7de952baf97e" > -<father id="8447" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="7312" index="6" uid="f1236b21-20f0-4b04-b83d-7de952baf97e" > +<father id="7314" num="0" /> <cdparam x="475" y="126" /> -<sizeparam width="79" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="84" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> <new d="false" /> -<TGConnectingPoint num="0" id="8441" /> -<TGConnectingPoint num="1" id="8442" /> -<TGConnectingPoint num="2" id="8443" /> -<TGConnectingPoint num="3" id="8444" /> +<TGConnectingPoint num="0" id="7308" /> +<TGConnectingPoint num="1" id="7309" /> +<TGConnectingPoint num="2" id="7310" /> +<TGConnectingPoint num="3" id="7311" /> <extraparam> <guard value="[ ]" enabled="true"/> <afterMin value="10" enabled="true"/> @@ -15640,17 +14280,17 @@ Double-click to edit </extraparam> </SUBCOMPONENT> -<COMPONENT type="5101" id="8449" index="2" uid="4ab8c170-0cc9-4147-905e-a597b85eb216" > +<COMPONENT type="5101" id="7316" index="2" uid="4ab8c170-0cc9-4147-905e-a597b85eb216" > <cdparam x="449" y="190" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="stop state" value="null" /> <new d="false" /> -<TGConnectingPoint num="0" id="8448" /> +<TGConnectingPoint num="0" id="7315" /> </COMPONENT> -<COMPONENT type="5103" id="8460" index="3" uid="6860d289-aee2-4d72-8022-2a40c8ee162e" > +<COMPONENT type="5103" id="7327" index="3" uid="6860d289-aee2-4d72-8022-2a40c8ee162e" > <cdparam x="436" y="147" /> <sizeparam width="46" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -15658,54 +14298,54 @@ Double-click to edit <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="Send signal" value="send()" /> <new d="false" /> -<TGConnectingPoint num="0" id="8450" /> -<TGConnectingPoint num="1" id="8451" /> -<TGConnectingPoint num="2" id="8452" /> -<TGConnectingPoint num="3" id="8453" /> -<TGConnectingPoint num="4" id="8454" /> -<TGConnectingPoint num="5" id="8455" /> -<TGConnectingPoint num="6" id="8456" /> -<TGConnectingPoint num="7" id="8457" /> -<TGConnectingPoint num="8" id="8458" /> -<TGConnectingPoint num="9" id="8459" /> +<TGConnectingPoint num="0" id="7317" /> +<TGConnectingPoint num="1" id="7318" /> +<TGConnectingPoint num="2" id="7319" /> +<TGConnectingPoint num="3" id="7320" /> +<TGConnectingPoint num="4" id="7321" /> +<TGConnectingPoint num="5" id="7322" /> +<TGConnectingPoint num="6" id="7323" /> +<TGConnectingPoint num="7" id="7324" /> +<TGConnectingPoint num="8" id="7325" /> +<TGConnectingPoint num="9" id="7326" /> </COMPONENT> -<COMPONENT type="5100" id="8462" index="4" uid="5ea2b9f9-4853-4bf1-9c23-820fe3e6aab8" > +<COMPONENT type="5100" id="7329" index="4" uid="5ea2b9f9-4853-4bf1-9c23-820fe3e6aab8" > <cdparam x="452" y="86" /> <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="start state" value="null" /> <new d="false" /> -<TGConnectingPoint num="0" id="8461" /> +<TGConnectingPoint num="0" id="7328" /> </COMPONENT> </AVATARStateMachineDiagramPanel> <AVATARStateMachineDiagramPanel name="S2" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > -<CONNECTOR type="5102" id="8469" index="0" uid="1e9660a2-3886-4c51-a6d2-f2ea10ed4283" > +<CONNECTOR type="5102" id="7336" index="0" uid="1e9660a2-3886-4c51-a6d2-f2ea10ed4283" > <cdparam x="356" y="231" /> <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="8468" /> -<P1 x="356" y="231" id="8480" /> -<P2 x="356" y="244" id="8477" /> +<TGConnectingPoint num="0" id="7335" /> +<P1 x="356" y="231" id="7347" /> +<P2 x="356" y="244" id="7344" /> <AutomaticDrawing data="true" /> <new d="false" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="8467" index="5" uid="fbd1b94c-7398-4ab9-b41a-b808b57086a1" > -<father id="8469" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="7334" index="5" uid="fbd1b94c-7398-4ab9-b41a-b808b57086a1" > +<father id="7336" num="0" /> <cdparam x="361" y="239" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> <new d="false" /> -<TGConnectingPoint num="0" id="8463" /> -<TGConnectingPoint num="1" id="8464" /> -<TGConnectingPoint num="2" id="8465" /> -<TGConnectingPoint num="3" id="8466" /> +<TGConnectingPoint num="0" id="7330" /> +<TGConnectingPoint num="1" id="7331" /> +<TGConnectingPoint num="2" id="7332" /> +<TGConnectingPoint num="3" id="7333" /> <extraparam> <guard value="[ ]" enabled="true"/> <afterMin value="" enabled="true"/> @@ -15719,28 +14359,28 @@ Double-click to edit </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="8476" index="1" uid="0a2c060e-73fc-4c24-8ec4-63d4bef13e21" > +<CONNECTOR type="5102" id="7343" index="1" uid="0a2c060e-73fc-4c24-8ec4-63d4bef13e21" > <cdparam x="356" y="179" /> <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="8475" /> -<P1 x="356" y="179" id="8490" /> -<P2 x="356" y="201" id="8479" /> +<TGConnectingPoint num="0" id="7342" /> +<P1 x="356" y="179" id="7357" /> +<P2 x="356" y="201" id="7346" /> <AutomaticDrawing data="true" /> <new d="false" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="8474" index="6" uid="8657d172-5b89-4f28-9dba-7de0306c9650" > -<father id="8476" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="7341" index="6" uid="8657d172-5b89-4f28-9dba-7de0306c9650" > +<father id="7343" num="0" /> <cdparam x="369" y="192" /> -<sizeparam width="79" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="84" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> <new d="false" /> -<TGConnectingPoint num="0" id="8470" /> -<TGConnectingPoint num="1" id="8471" /> -<TGConnectingPoint num="2" id="8472" /> -<TGConnectingPoint num="3" id="8473" /> +<TGConnectingPoint num="0" id="7337" /> +<TGConnectingPoint num="1" id="7338" /> +<TGConnectingPoint num="2" id="7339" /> +<TGConnectingPoint num="3" id="7340" /> <extraparam> <guard value="[ ]" enabled="true"/> <afterMin value="10" enabled="true"/> @@ -15754,17 +14394,17 @@ Double-click to edit </extraparam> </SUBCOMPONENT> -<COMPONENT type="5101" id="8478" index="2" uid="d11ba52f-62cd-4b87-bc2b-311548198940" > +<COMPONENT type="5101" id="7345" index="2" uid="d11ba52f-62cd-4b87-bc2b-311548198940" > <cdparam x="346" y="249" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="stop state" value="null" /> <new d="false" /> -<TGConnectingPoint num="0" id="8477" /> +<TGConnectingPoint num="0" id="7344" /> </COMPONENT> -<COMPONENT type="5103" id="8489" index="3" uid="da902c58-09ae-4df5-881f-6169fa2a3260" > +<COMPONENT type="5103" id="7356" index="3" uid="da902c58-09ae-4df5-881f-6169fa2a3260" > <cdparam x="333" y="206" /> <sizeparam width="46" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -15772,58 +14412,58 @@ Double-click to edit <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="Send signal" value="send()" /> <new d="false" /> -<TGConnectingPoint num="0" id="8479" /> -<TGConnectingPoint num="1" id="8480" /> -<TGConnectingPoint num="2" id="8481" /> -<TGConnectingPoint num="3" id="8482" /> -<TGConnectingPoint num="4" id="8483" /> -<TGConnectingPoint num="5" id="8484" /> -<TGConnectingPoint num="6" id="8485" /> -<TGConnectingPoint num="7" id="8486" /> -<TGConnectingPoint num="8" id="8487" /> -<TGConnectingPoint num="9" id="8488" /> +<TGConnectingPoint num="0" id="7346" /> +<TGConnectingPoint num="1" id="7347" /> +<TGConnectingPoint num="2" id="7348" /> +<TGConnectingPoint num="3" id="7349" /> +<TGConnectingPoint num="4" id="7350" /> +<TGConnectingPoint num="5" id="7351" /> +<TGConnectingPoint num="6" id="7352" /> +<TGConnectingPoint num="7" id="7353" /> +<TGConnectingPoint num="8" id="7354" /> +<TGConnectingPoint num="9" id="7355" /> </COMPONENT> -<COMPONENT type="5100" id="8491" index="4" uid="99748b7f-87df-4323-b4b2-aa80eba2146c" > +<COMPONENT type="5100" id="7358" index="4" uid="99748b7f-87df-4323-b4b2-aa80eba2146c" > <cdparam x="349" y="159" /> <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="start state" value="null" /> <new d="false" /> -<TGConnectingPoint num="0" id="8490" /> +<TGConnectingPoint num="0" id="7357" /> </COMPONENT> </AVATARStateMachineDiagramPanel> <AVATARStateMachineDiagramPanel name="Receiver" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > -<CONNECTOR type="5102" id="8505" index="0" uid="146c7a12-f993-4acb-b1cf-efa281a39ff6" > +<CONNECTOR type="5102" id="7365" index="0" uid="146c7a12-f993-4acb-b1cf-efa281a39ff6" > <cdparam x="444" y="294" /> <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="8504" /> -<P1 x="449" y="218" id="8636" /> -<P2 x="449" y="233" id="8826" /> +<TGConnectingPoint num="0" id="7364" /> +<P1 x="449" y="218" id="7423" /> +<P2 x="449" y="263" id="7613" /> <AutomaticDrawing data="true" /> <new d="false" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="8503" index="11" uid="0b7ca9fe-bd49-475c-a39a-568753fd269c" > -<father id="8505" num="0" /> -<cdparam x="444" y="323" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="7363" index="11" uid="0b7ca9fe-bd49-475c-a39a-568753fd269c" > +<father id="7365" num="0" /> +<cdparam x="480" y="230" /> +<sizeparam width="84" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> <new d="false" /> -<TGConnectingPoint num="0" id="8499" /> -<TGConnectingPoint num="1" id="8500" /> -<TGConnectingPoint num="2" id="8501" /> -<TGConnectingPoint num="3" id="8502" /> +<TGConnectingPoint num="0" id="7359" /> +<TGConnectingPoint num="1" id="7360" /> +<TGConnectingPoint num="2" id="7361" /> +<TGConnectingPoint num="3" id="7362" /> <extraparam> <guard value="[ ]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> +<afterMin value="10" enabled="true"/> +<afterMax value="15" enabled="true"/> <extraDelay1 value="" enabled="true"/> <extraDelay2 value="" enabled="true"/> <delayDistributionLaw value="0" enabled="true"/> @@ -15833,28 +14473,28 @@ Double-click to edit </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="8512" index="1" uid="52ebcd14-1247-4d71-91e1-c575bd580a31" > -<cdparam x="470" y="458" /> +<CONNECTOR type="5102" id="7372" index="1" uid="52ebcd14-1247-4d71-91e1-c575bd580a31" > +<cdparam x="470" y="488" /> <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="8511" /> -<P1 x="462" y="306" id="8759" /> -<P2 x="461" y="321" id="8681" /> +<TGConnectingPoint num="0" id="7371" /> +<P1 x="462" y="336" id="7546" /> +<P2 x="461" y="351" id="7468" /> <AutomaticDrawing data="true" /> <new d="false" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="8510" index="12" uid="66494186-3cf1-45a8-b0db-0a1ac3b82602" > -<father id="8512" num="0" /> -<cdparam x="543" y="282" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="7370" index="12" uid="66494186-3cf1-45a8-b0db-0a1ac3b82602" > +<father id="7372" num="0" /> +<cdparam x="543" y="312" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> <new d="false" /> -<TGConnectingPoint num="0" id="8506" /> -<TGConnectingPoint num="1" id="8507" /> -<TGConnectingPoint num="2" id="8508" /> -<TGConnectingPoint num="3" id="8509" /> +<TGConnectingPoint num="0" id="7366" /> +<TGConnectingPoint num="1" id="7367" /> +<TGConnectingPoint num="2" id="7368" /> +<TGConnectingPoint num="3" id="7369" /> <extraparam> <guard value="[ ]" enabled="true"/> <afterMin value="" enabled="true"/> @@ -15868,28 +14508,28 @@ Double-click to edit </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="8519" index="2" uid="b49beda8-b21d-44e2-b035-02aad500fde3" > -<cdparam x="445" y="382" /> +<CONNECTOR type="5102" id="7379" index="2" uid="b49beda8-b21d-44e2-b035-02aad500fde3" > +<cdparam x="445" y="412" /> <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="8518" /> -<P1 x="449" y="263" id="8827" /> -<P2 x="449" y="276" id="8802" /> +<TGConnectingPoint num="0" id="7378" /> +<P1 x="449" y="293" id="7614" /> +<P2 x="449" y="306" id="7589" /> <AutomaticDrawing data="true" /> <new d="false" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="8517" index="13" uid="8dc90ac4-f5d7-4784-a7df-0dbf9dd20842" > -<father id="8519" num="0" /> -<cdparam x="442" y="396" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="7377" index="13" uid="8dc90ac4-f5d7-4784-a7df-0dbf9dd20842" > +<father id="7379" num="0" /> +<cdparam x="442" y="426" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> <new d="false" /> -<TGConnectingPoint num="0" id="8513" /> -<TGConnectingPoint num="1" id="8514" /> -<TGConnectingPoint num="2" id="8515" /> -<TGConnectingPoint num="3" id="8516" /> +<TGConnectingPoint num="0" id="7373" /> +<TGConnectingPoint num="1" id="7374" /> +<TGConnectingPoint num="2" id="7375" /> +<TGConnectingPoint num="3" id="7376" /> <extraparam> <guard value="[ ]" enabled="true"/> <afterMin value="" enabled="true"/> @@ -15903,28 +14543,28 @@ Double-click to edit </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="8526" index="3" uid="a9a35b4d-b739-4c78-8493-1b9617806220" > +<CONNECTOR type="5102" id="7386" index="3" uid="a9a35b4d-b739-4c78-8493-1b9617806220" > <cdparam x="449" y="173" /> <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="8525" /> -<P1 x="449" y="153" id="8899" /> -<P2 x="449" y="188" id="8624" /> +<TGConnectingPoint num="0" id="7385" /> +<P1 x="449" y="153" id="7686" /> +<P2 x="449" y="188" id="7411" /> <AutomaticDrawing data="true" /> <new d="false" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="8524" index="14" uid="10b9d8b4-eda1-4a7a-b03b-32734716e3ed" > -<father id="8526" num="0" /> -<cdparam x="401" y="172" /> -<sizeparam width="63" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="7384" index="14" uid="10b9d8b4-eda1-4a7a-b03b-32734716e3ed" > +<father id="7386" num="0" /> +<cdparam x="389" y="160" /> +<sizeparam width="63" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> <new d="false" /> -<TGConnectingPoint num="0" id="8520" /> -<TGConnectingPoint num="1" id="8521" /> -<TGConnectingPoint num="2" id="8522" /> -<TGConnectingPoint num="3" id="8523" /> +<TGConnectingPoint num="0" id="7380" /> +<TGConnectingPoint num="1" id="7381" /> +<TGConnectingPoint num="2" id="7382" /> +<TGConnectingPoint num="3" id="7383" /> <extraparam> <guard value="[ ]" enabled="true"/> <afterMin value="5" enabled="true"/> @@ -15938,28 +14578,28 @@ Double-click to edit </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="8533" index="4" uid="1a6c8e5c-cfc9-4ef0-8874-719f4f7f91f7" > +<CONNECTOR type="5102" id="7393" index="4" uid="1a6c8e5c-cfc9-4ef0-8874-719f4f7f91f7" > <cdparam x="408" y="88" /> <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="8532" /> -<P1 x="411" y="108" id="8910" /> -<P2 x="412" y="123" id="8877" /> +<TGConnectingPoint num="0" id="7392" /> +<P1 x="408" y="102" id="7697" /> +<P2 x="412" y="123" id="7664" /> <AutomaticDrawing data="true" /> <new d="false" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="8531" index="15" uid="9cb57dab-10f8-4087-867a-4e88d3f7ffa9" > -<father id="8533" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="7391" index="15" uid="9cb57dab-10f8-4087-867a-4e88d3f7ffa9" > +<father id="7393" num="0" /> <cdparam x="410" y="105" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="50" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> <new d="false" /> -<TGConnectingPoint num="0" id="8527" /> -<TGConnectingPoint num="1" id="8528" /> -<TGConnectingPoint num="2" id="8529" /> -<TGConnectingPoint num="3" id="8530" /> +<TGConnectingPoint num="0" id="7387" /> +<TGConnectingPoint num="1" id="7388" /> +<TGConnectingPoint num="2" id="7389" /> +<TGConnectingPoint num="3" id="7390" /> <extraparam> <guard value="[ ]" enabled="true"/> <afterMin value="" enabled="true"/> @@ -15973,7 +14613,7 @@ Double-click to edit </extraparam> </SUBCOMPONENT> -<COMPONENT type="5106" id="8679" index="5" uid="3e84ba88-554b-4308-beb3-4a87ed799789" > +<COMPONENT type="5106" id="7466" index="5" uid="3e84ba88-554b-4308-beb3-4a87ed799789" > <cdparam x="414" y="188" /> <sizeparam width="97" height="30" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -15981,272 +14621,272 @@ Double-click to edit <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="state" value="transition" /> <new d="false" /> -<TGConnectingPoint num="0" id="8607" /> -<TGConnectingPoint num="1" id="8608" /> -<TGConnectingPoint num="2" id="8609" /> -<TGConnectingPoint num="3" id="8610" /> -<TGConnectingPoint num="4" id="8611" /> -<TGConnectingPoint num="5" id="8612" /> -<TGConnectingPoint num="6" id="8613" /> -<TGConnectingPoint num="7" id="8614" /> -<TGConnectingPoint num="8" id="8615" /> -<TGConnectingPoint num="9" id="8616" /> -<TGConnectingPoint num="10" id="8617" /> -<TGConnectingPoint num="11" id="8618" /> -<TGConnectingPoint num="12" id="8619" /> -<TGConnectingPoint num="13" id="8620" /> -<TGConnectingPoint num="14" id="8621" /> -<TGConnectingPoint num="15" id="8622" /> -<TGConnectingPoint num="16" id="8623" /> -<TGConnectingPoint num="17" id="8624" /> -<TGConnectingPoint num="18" id="8625" /> -<TGConnectingPoint num="19" id="8626" /> -<TGConnectingPoint num="20" id="8627" /> -<TGConnectingPoint num="21" id="8628" /> -<TGConnectingPoint num="22" id="8629" /> -<TGConnectingPoint num="23" id="8630" /> -<TGConnectingPoint num="24" id="8631" /> -<TGConnectingPoint num="25" id="8632" /> -<TGConnectingPoint num="26" id="8633" /> -<TGConnectingPoint num="27" id="8634" /> -<TGConnectingPoint num="28" id="8635" /> -<TGConnectingPoint num="29" id="8636" /> -<TGConnectingPoint num="30" id="8637" /> -<TGConnectingPoint num="31" id="8638" /> -<TGConnectingPoint num="32" id="8639" /> -<TGConnectingPoint num="33" id="8640" /> -<TGConnectingPoint num="34" id="8641" /> -<TGConnectingPoint num="35" id="8642" /> -<TGConnectingPoint num="36" id="8643" /> -<TGConnectingPoint num="37" id="8644" /> -<TGConnectingPoint num="38" id="8645" /> -<TGConnectingPoint num="39" id="8646" /> -<TGConnectingPoint num="40" id="8647" /> -<TGConnectingPoint num="41" id="8648" /> -<TGConnectingPoint num="42" id="8649" /> -<TGConnectingPoint num="43" id="8650" /> -<TGConnectingPoint num="44" id="8651" /> -<TGConnectingPoint num="45" id="8652" /> -<TGConnectingPoint num="46" id="8653" /> -<TGConnectingPoint num="47" id="8654" /> -<TGConnectingPoint num="48" id="8655" /> -<TGConnectingPoint num="49" id="8656" /> -<TGConnectingPoint num="50" id="8657" /> -<TGConnectingPoint num="51" id="8658" /> -<TGConnectingPoint num="52" id="8659" /> -<TGConnectingPoint num="53" id="8660" /> -<TGConnectingPoint num="54" id="8661" /> -<TGConnectingPoint num="55" id="8662" /> -<TGConnectingPoint num="56" id="8663" /> -<TGConnectingPoint num="57" id="8664" /> -<TGConnectingPoint num="58" id="8665" /> -<TGConnectingPoint num="59" id="8666" /> -<TGConnectingPoint num="60" id="8667" /> -<TGConnectingPoint num="61" id="8668" /> -<TGConnectingPoint num="62" id="8669" /> -<TGConnectingPoint num="63" id="8670" /> -<TGConnectingPoint num="64" id="8671" /> -<TGConnectingPoint num="65" id="8672" /> -<TGConnectingPoint num="66" id="8673" /> -<TGConnectingPoint num="67" id="8674" /> -<TGConnectingPoint num="68" id="8675" /> -<TGConnectingPoint num="69" id="8676" /> -<TGConnectingPoint num="70" id="8677" /> -<TGConnectingPoint num="71" id="8678" /> +<TGConnectingPoint num="0" id="7394" /> +<TGConnectingPoint num="1" id="7395" /> +<TGConnectingPoint num="2" id="7396" /> +<TGConnectingPoint num="3" id="7397" /> +<TGConnectingPoint num="4" id="7398" /> +<TGConnectingPoint num="5" id="7399" /> +<TGConnectingPoint num="6" id="7400" /> +<TGConnectingPoint num="7" id="7401" /> +<TGConnectingPoint num="8" id="7402" /> +<TGConnectingPoint num="9" id="7403" /> +<TGConnectingPoint num="10" id="7404" /> +<TGConnectingPoint num="11" id="7405" /> +<TGConnectingPoint num="12" id="7406" /> +<TGConnectingPoint num="13" id="7407" /> +<TGConnectingPoint num="14" id="7408" /> +<TGConnectingPoint num="15" id="7409" /> +<TGConnectingPoint num="16" id="7410" /> +<TGConnectingPoint num="17" id="7411" /> +<TGConnectingPoint num="18" id="7412" /> +<TGConnectingPoint num="19" id="7413" /> +<TGConnectingPoint num="20" id="7414" /> +<TGConnectingPoint num="21" id="7415" /> +<TGConnectingPoint num="22" id="7416" /> +<TGConnectingPoint num="23" id="7417" /> +<TGConnectingPoint num="24" id="7418" /> +<TGConnectingPoint num="25" id="7419" /> +<TGConnectingPoint num="26" id="7420" /> +<TGConnectingPoint num="27" id="7421" /> +<TGConnectingPoint num="28" id="7422" /> +<TGConnectingPoint num="29" id="7423" /> +<TGConnectingPoint num="30" id="7424" /> +<TGConnectingPoint num="31" id="7425" /> +<TGConnectingPoint num="32" id="7426" /> +<TGConnectingPoint num="33" id="7427" /> +<TGConnectingPoint num="34" id="7428" /> +<TGConnectingPoint num="35" id="7429" /> +<TGConnectingPoint num="36" id="7430" /> +<TGConnectingPoint num="37" id="7431" /> +<TGConnectingPoint num="38" id="7432" /> +<TGConnectingPoint num="39" id="7433" /> +<TGConnectingPoint num="40" id="7434" /> +<TGConnectingPoint num="41" id="7435" /> +<TGConnectingPoint num="42" id="7436" /> +<TGConnectingPoint num="43" id="7437" /> +<TGConnectingPoint num="44" id="7438" /> +<TGConnectingPoint num="45" id="7439" /> +<TGConnectingPoint num="46" id="7440" /> +<TGConnectingPoint num="47" id="7441" /> +<TGConnectingPoint num="48" id="7442" /> +<TGConnectingPoint num="49" id="7443" /> +<TGConnectingPoint num="50" id="7444" /> +<TGConnectingPoint num="51" id="7445" /> +<TGConnectingPoint num="52" id="7446" /> +<TGConnectingPoint num="53" id="7447" /> +<TGConnectingPoint num="54" id="7448" /> +<TGConnectingPoint num="55" id="7449" /> +<TGConnectingPoint num="56" id="7450" /> +<TGConnectingPoint num="57" id="7451" /> +<TGConnectingPoint num="58" id="7452" /> +<TGConnectingPoint num="59" id="7453" /> +<TGConnectingPoint num="60" id="7454" /> +<TGConnectingPoint num="61" id="7455" /> +<TGConnectingPoint num="62" id="7456" /> +<TGConnectingPoint num="63" id="7457" /> +<TGConnectingPoint num="64" id="7458" /> +<TGConnectingPoint num="65" id="7459" /> +<TGConnectingPoint num="66" id="7460" /> +<TGConnectingPoint num="67" id="7461" /> +<TGConnectingPoint num="68" id="7462" /> +<TGConnectingPoint num="69" id="7463" /> +<TGConnectingPoint num="70" id="7464" /> +<TGConnectingPoint num="71" id="7465" /> <accessibility /> <extraparam> </extraparam> </COMPONENT> -<COMPONENT type="5106" id="8752" index="6" uid="9534afef-9dfc-42a5-a079-c601fb2f2e48" > -<cdparam x="411" y="321" /> +<COMPONENT type="5106" id="7539" index="6" uid="9534afef-9dfc-42a5-a079-c601fb2f2e48" > +<cdparam x="411" y="351" /> <sizeparam width="100" height="30" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="state" value="END2" /> <new d="false" /> -<TGConnectingPoint num="0" id="8680" /> -<TGConnectingPoint num="1" id="8681" /> -<TGConnectingPoint num="2" id="8682" /> -<TGConnectingPoint num="3" id="8683" /> -<TGConnectingPoint num="4" id="8684" /> -<TGConnectingPoint num="5" id="8685" /> -<TGConnectingPoint num="6" id="8686" /> -<TGConnectingPoint num="7" id="8687" /> -<TGConnectingPoint num="8" id="8688" /> -<TGConnectingPoint num="9" id="8689" /> -<TGConnectingPoint num="10" id="8690" /> -<TGConnectingPoint num="11" id="8691" /> -<TGConnectingPoint num="12" id="8692" /> -<TGConnectingPoint num="13" id="8693" /> -<TGConnectingPoint num="14" id="8694" /> -<TGConnectingPoint num="15" id="8695" /> -<TGConnectingPoint num="16" id="8696" /> -<TGConnectingPoint num="17" id="8697" /> -<TGConnectingPoint num="18" id="8698" /> -<TGConnectingPoint num="19" id="8699" /> -<TGConnectingPoint num="20" id="8700" /> -<TGConnectingPoint num="21" id="8701" /> -<TGConnectingPoint num="22" id="8702" /> -<TGConnectingPoint num="23" id="8703" /> -<TGConnectingPoint num="24" id="8704" /> -<TGConnectingPoint num="25" id="8705" /> -<TGConnectingPoint num="26" id="8706" /> -<TGConnectingPoint num="27" id="8707" /> -<TGConnectingPoint num="28" id="8708" /> -<TGConnectingPoint num="29" id="8709" /> -<TGConnectingPoint num="30" id="8710" /> -<TGConnectingPoint num="31" id="8711" /> -<TGConnectingPoint num="32" id="8712" /> -<TGConnectingPoint num="33" id="8713" /> -<TGConnectingPoint num="34" id="8714" /> -<TGConnectingPoint num="35" id="8715" /> -<TGConnectingPoint num="36" id="8716" /> -<TGConnectingPoint num="37" id="8717" /> -<TGConnectingPoint num="38" id="8718" /> -<TGConnectingPoint num="39" id="8719" /> -<TGConnectingPoint num="40" id="8720" /> -<TGConnectingPoint num="41" id="8721" /> -<TGConnectingPoint num="42" id="8722" /> -<TGConnectingPoint num="43" id="8723" /> -<TGConnectingPoint num="44" id="8724" /> -<TGConnectingPoint num="45" id="8725" /> -<TGConnectingPoint num="46" id="8726" /> -<TGConnectingPoint num="47" id="8727" /> -<TGConnectingPoint num="48" id="8728" /> -<TGConnectingPoint num="49" id="8729" /> -<TGConnectingPoint num="50" id="8730" /> -<TGConnectingPoint num="51" id="8731" /> -<TGConnectingPoint num="52" id="8732" /> -<TGConnectingPoint num="53" id="8733" /> -<TGConnectingPoint num="54" id="8734" /> -<TGConnectingPoint num="55" id="8735" /> -<TGConnectingPoint num="56" id="8736" /> -<TGConnectingPoint num="57" id="8737" /> -<TGConnectingPoint num="58" id="8738" /> -<TGConnectingPoint num="59" id="8739" /> -<TGConnectingPoint num="60" id="8740" /> -<TGConnectingPoint num="61" id="8741" /> -<TGConnectingPoint num="62" id="8742" /> -<TGConnectingPoint num="63" id="8743" /> -<TGConnectingPoint num="64" id="8744" /> -<TGConnectingPoint num="65" id="8745" /> -<TGConnectingPoint num="66" id="8746" /> -<TGConnectingPoint num="67" id="8747" /> -<TGConnectingPoint num="68" id="8748" /> -<TGConnectingPoint num="69" id="8749" /> -<TGConnectingPoint num="70" id="8750" /> -<TGConnectingPoint num="71" id="8751" /> -<extraparam> -</extraparam> -</COMPONENT> - -<COMPONENT type="5106" id="8825" index="7" uid="28b75c69-ae3d-441f-a09b-37086e8a9148" > -<cdparam x="412" y="276" /> +<TGConnectingPoint num="0" id="7467" /> +<TGConnectingPoint num="1" id="7468" /> +<TGConnectingPoint num="2" id="7469" /> +<TGConnectingPoint num="3" id="7470" /> +<TGConnectingPoint num="4" id="7471" /> +<TGConnectingPoint num="5" id="7472" /> +<TGConnectingPoint num="6" id="7473" /> +<TGConnectingPoint num="7" id="7474" /> +<TGConnectingPoint num="8" id="7475" /> +<TGConnectingPoint num="9" id="7476" /> +<TGConnectingPoint num="10" id="7477" /> +<TGConnectingPoint num="11" id="7478" /> +<TGConnectingPoint num="12" id="7479" /> +<TGConnectingPoint num="13" id="7480" /> +<TGConnectingPoint num="14" id="7481" /> +<TGConnectingPoint num="15" id="7482" /> +<TGConnectingPoint num="16" id="7483" /> +<TGConnectingPoint num="17" id="7484" /> +<TGConnectingPoint num="18" id="7485" /> +<TGConnectingPoint num="19" id="7486" /> +<TGConnectingPoint num="20" id="7487" /> +<TGConnectingPoint num="21" id="7488" /> +<TGConnectingPoint num="22" id="7489" /> +<TGConnectingPoint num="23" id="7490" /> +<TGConnectingPoint num="24" id="7491" /> +<TGConnectingPoint num="25" id="7492" /> +<TGConnectingPoint num="26" id="7493" /> +<TGConnectingPoint num="27" id="7494" /> +<TGConnectingPoint num="28" id="7495" /> +<TGConnectingPoint num="29" id="7496" /> +<TGConnectingPoint num="30" id="7497" /> +<TGConnectingPoint num="31" id="7498" /> +<TGConnectingPoint num="32" id="7499" /> +<TGConnectingPoint num="33" id="7500" /> +<TGConnectingPoint num="34" id="7501" /> +<TGConnectingPoint num="35" id="7502" /> +<TGConnectingPoint num="36" id="7503" /> +<TGConnectingPoint num="37" id="7504" /> +<TGConnectingPoint num="38" id="7505" /> +<TGConnectingPoint num="39" id="7506" /> +<TGConnectingPoint num="40" id="7507" /> +<TGConnectingPoint num="41" id="7508" /> +<TGConnectingPoint num="42" id="7509" /> +<TGConnectingPoint num="43" id="7510" /> +<TGConnectingPoint num="44" id="7511" /> +<TGConnectingPoint num="45" id="7512" /> +<TGConnectingPoint num="46" id="7513" /> +<TGConnectingPoint num="47" id="7514" /> +<TGConnectingPoint num="48" id="7515" /> +<TGConnectingPoint num="49" id="7516" /> +<TGConnectingPoint num="50" id="7517" /> +<TGConnectingPoint num="51" id="7518" /> +<TGConnectingPoint num="52" id="7519" /> +<TGConnectingPoint num="53" id="7520" /> +<TGConnectingPoint num="54" id="7521" /> +<TGConnectingPoint num="55" id="7522" /> +<TGConnectingPoint num="56" id="7523" /> +<TGConnectingPoint num="57" id="7524" /> +<TGConnectingPoint num="58" id="7525" /> +<TGConnectingPoint num="59" id="7526" /> +<TGConnectingPoint num="60" id="7527" /> +<TGConnectingPoint num="61" id="7528" /> +<TGConnectingPoint num="62" id="7529" /> +<TGConnectingPoint num="63" id="7530" /> +<TGConnectingPoint num="64" id="7531" /> +<TGConnectingPoint num="65" id="7532" /> +<TGConnectingPoint num="66" id="7533" /> +<TGConnectingPoint num="67" id="7534" /> +<TGConnectingPoint num="68" id="7535" /> +<TGConnectingPoint num="69" id="7536" /> +<TGConnectingPoint num="70" id="7537" /> +<TGConnectingPoint num="71" id="7538" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5106" id="7612" index="7" uid="28b75c69-ae3d-441f-a09b-37086e8a9148" > +<cdparam x="412" y="306" /> <sizeparam width="100" height="30" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="state" value="END1" /> <new d="false" /> -<TGConnectingPoint num="0" id="8753" /> -<TGConnectingPoint num="1" id="8754" /> -<TGConnectingPoint num="2" id="8755" /> -<TGConnectingPoint num="3" id="8756" /> -<TGConnectingPoint num="4" id="8757" /> -<TGConnectingPoint num="5" id="8758" /> -<TGConnectingPoint num="6" id="8759" /> -<TGConnectingPoint num="7" id="8760" /> -<TGConnectingPoint num="8" id="8761" /> -<TGConnectingPoint num="9" id="8762" /> -<TGConnectingPoint num="10" id="8763" /> -<TGConnectingPoint num="11" id="8764" /> -<TGConnectingPoint num="12" id="8765" /> -<TGConnectingPoint num="13" id="8766" /> -<TGConnectingPoint num="14" id="8767" /> -<TGConnectingPoint num="15" id="8768" /> -<TGConnectingPoint num="16" id="8769" /> -<TGConnectingPoint num="17" id="8770" /> -<TGConnectingPoint num="18" id="8771" /> -<TGConnectingPoint num="19" id="8772" /> -<TGConnectingPoint num="20" id="8773" /> -<TGConnectingPoint num="21" id="8774" /> -<TGConnectingPoint num="22" id="8775" /> -<TGConnectingPoint num="23" id="8776" /> -<TGConnectingPoint num="24" id="8777" /> -<TGConnectingPoint num="25" id="8778" /> -<TGConnectingPoint num="26" id="8779" /> -<TGConnectingPoint num="27" id="8780" /> -<TGConnectingPoint num="28" id="8781" /> -<TGConnectingPoint num="29" id="8782" /> -<TGConnectingPoint num="30" id="8783" /> -<TGConnectingPoint num="31" id="8784" /> -<TGConnectingPoint num="32" id="8785" /> -<TGConnectingPoint num="33" id="8786" /> -<TGConnectingPoint num="34" id="8787" /> -<TGConnectingPoint num="35" id="8788" /> -<TGConnectingPoint num="36" id="8789" /> -<TGConnectingPoint num="37" id="8790" /> -<TGConnectingPoint num="38" id="8791" /> -<TGConnectingPoint num="39" id="8792" /> -<TGConnectingPoint num="40" id="8793" /> -<TGConnectingPoint num="41" id="8794" /> -<TGConnectingPoint num="42" id="8795" /> -<TGConnectingPoint num="43" id="8796" /> -<TGConnectingPoint num="44" id="8797" /> -<TGConnectingPoint num="45" id="8798" /> -<TGConnectingPoint num="46" id="8799" /> -<TGConnectingPoint num="47" id="8800" /> -<TGConnectingPoint num="48" id="8801" /> -<TGConnectingPoint num="49" id="8802" /> -<TGConnectingPoint num="50" id="8803" /> -<TGConnectingPoint num="51" id="8804" /> -<TGConnectingPoint num="52" id="8805" /> -<TGConnectingPoint num="53" id="8806" /> -<TGConnectingPoint num="54" id="8807" /> -<TGConnectingPoint num="55" id="8808" /> -<TGConnectingPoint num="56" id="8809" /> -<TGConnectingPoint num="57" id="8810" /> -<TGConnectingPoint num="58" id="8811" /> -<TGConnectingPoint num="59" id="8812" /> -<TGConnectingPoint num="60" id="8813" /> -<TGConnectingPoint num="61" id="8814" /> -<TGConnectingPoint num="62" id="8815" /> -<TGConnectingPoint num="63" id="8816" /> -<TGConnectingPoint num="64" id="8817" /> -<TGConnectingPoint num="65" id="8818" /> -<TGConnectingPoint num="66" id="8819" /> -<TGConnectingPoint num="67" id="8820" /> -<TGConnectingPoint num="68" id="8821" /> -<TGConnectingPoint num="69" id="8822" /> -<TGConnectingPoint num="70" id="8823" /> -<TGConnectingPoint num="71" id="8824" /> -<extraparam> -</extraparam> -</COMPONENT> - -<COMPONENT type="5104" id="8836" index="8" uid="79888452-0286-4e14-a7c3-f01ffcc5f5e4" > -<cdparam x="424" y="238" /> +<TGConnectingPoint num="0" id="7540" /> +<TGConnectingPoint num="1" id="7541" /> +<TGConnectingPoint num="2" id="7542" /> +<TGConnectingPoint num="3" id="7543" /> +<TGConnectingPoint num="4" id="7544" /> +<TGConnectingPoint num="5" id="7545" /> +<TGConnectingPoint num="6" id="7546" /> +<TGConnectingPoint num="7" id="7547" /> +<TGConnectingPoint num="8" id="7548" /> +<TGConnectingPoint num="9" id="7549" /> +<TGConnectingPoint num="10" id="7550" /> +<TGConnectingPoint num="11" id="7551" /> +<TGConnectingPoint num="12" id="7552" /> +<TGConnectingPoint num="13" id="7553" /> +<TGConnectingPoint num="14" id="7554" /> +<TGConnectingPoint num="15" id="7555" /> +<TGConnectingPoint num="16" id="7556" /> +<TGConnectingPoint num="17" id="7557" /> +<TGConnectingPoint num="18" id="7558" /> +<TGConnectingPoint num="19" id="7559" /> +<TGConnectingPoint num="20" id="7560" /> +<TGConnectingPoint num="21" id="7561" /> +<TGConnectingPoint num="22" id="7562" /> +<TGConnectingPoint num="23" id="7563" /> +<TGConnectingPoint num="24" id="7564" /> +<TGConnectingPoint num="25" id="7565" /> +<TGConnectingPoint num="26" id="7566" /> +<TGConnectingPoint num="27" id="7567" /> +<TGConnectingPoint num="28" id="7568" /> +<TGConnectingPoint num="29" id="7569" /> +<TGConnectingPoint num="30" id="7570" /> +<TGConnectingPoint num="31" id="7571" /> +<TGConnectingPoint num="32" id="7572" /> +<TGConnectingPoint num="33" id="7573" /> +<TGConnectingPoint num="34" id="7574" /> +<TGConnectingPoint num="35" id="7575" /> +<TGConnectingPoint num="36" id="7576" /> +<TGConnectingPoint num="37" id="7577" /> +<TGConnectingPoint num="38" id="7578" /> +<TGConnectingPoint num="39" id="7579" /> +<TGConnectingPoint num="40" id="7580" /> +<TGConnectingPoint num="41" id="7581" /> +<TGConnectingPoint num="42" id="7582" /> +<TGConnectingPoint num="43" id="7583" /> +<TGConnectingPoint num="44" id="7584" /> +<TGConnectingPoint num="45" id="7585" /> +<TGConnectingPoint num="46" id="7586" /> +<TGConnectingPoint num="47" id="7587" /> +<TGConnectingPoint num="48" id="7588" /> +<TGConnectingPoint num="49" id="7589" /> +<TGConnectingPoint num="50" id="7590" /> +<TGConnectingPoint num="51" id="7591" /> +<TGConnectingPoint num="52" id="7592" /> +<TGConnectingPoint num="53" id="7593" /> +<TGConnectingPoint num="54" id="7594" /> +<TGConnectingPoint num="55" id="7595" /> +<TGConnectingPoint num="56" id="7596" /> +<TGConnectingPoint num="57" id="7597" /> +<TGConnectingPoint num="58" id="7598" /> +<TGConnectingPoint num="59" id="7599" /> +<TGConnectingPoint num="60" id="7600" /> +<TGConnectingPoint num="61" id="7601" /> +<TGConnectingPoint num="62" id="7602" /> +<TGConnectingPoint num="63" id="7603" /> +<TGConnectingPoint num="64" id="7604" /> +<TGConnectingPoint num="65" id="7605" /> +<TGConnectingPoint num="66" id="7606" /> +<TGConnectingPoint num="67" id="7607" /> +<TGConnectingPoint num="68" id="7608" /> +<TGConnectingPoint num="69" id="7609" /> +<TGConnectingPoint num="70" id="7610" /> +<TGConnectingPoint num="71" id="7611" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5104" id="7623" index="8" uid="79888452-0286-4e14-a7c3-f01ffcc5f5e4" > +<cdparam x="424" y="268" /> <sizeparam width="50" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="Receive signal" value="recv()" /> <new d="false" /> -<TGConnectingPoint num="0" id="8826" /> -<TGConnectingPoint num="1" id="8827" /> -<TGConnectingPoint num="2" id="8828" /> -<TGConnectingPoint num="3" id="8829" /> -<TGConnectingPoint num="4" id="8830" /> -<TGConnectingPoint num="5" id="8831" /> -<TGConnectingPoint num="6" id="8832" /> -<TGConnectingPoint num="7" id="8833" /> -<TGConnectingPoint num="8" id="8834" /> -<TGConnectingPoint num="9" id="8835" /> +<TGConnectingPoint num="0" id="7613" /> +<TGConnectingPoint num="1" id="7614" /> +<TGConnectingPoint num="2" id="7615" /> +<TGConnectingPoint num="3" id="7616" /> +<TGConnectingPoint num="4" id="7617" /> +<TGConnectingPoint num="5" id="7618" /> +<TGConnectingPoint num="6" id="7619" /> +<TGConnectingPoint num="7" id="7620" /> +<TGConnectingPoint num="8" id="7621" /> +<TGConnectingPoint num="9" id="7622" /> </COMPONENT> -<COMPONENT type="5106" id="8909" index="9" uid="abc1e4bb-d022-4e38-8aeb-d344342028f2" > +<COMPONENT type="5106" id="7696" index="9" uid="abc1e4bb-d022-4e38-8aeb-d344342028f2" > <cdparam x="387" y="123" /> <sizeparam width="100" height="30" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -16254,118 +14894,118 @@ Double-click to edit <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="state" value="Waiting" /> <new d="false" /> -<TGConnectingPoint num="0" id="8837" /> -<TGConnectingPoint num="1" id="8838" /> -<TGConnectingPoint num="2" id="8839" /> -<TGConnectingPoint num="3" id="8840" /> -<TGConnectingPoint num="4" id="8841" /> -<TGConnectingPoint num="5" id="8842" /> -<TGConnectingPoint num="6" id="8843" /> -<TGConnectingPoint num="7" id="8844" /> -<TGConnectingPoint num="8" id="8845" /> -<TGConnectingPoint num="9" id="8846" /> -<TGConnectingPoint num="10" id="8847" /> -<TGConnectingPoint num="11" id="8848" /> -<TGConnectingPoint num="12" id="8849" /> -<TGConnectingPoint num="13" id="8850" /> -<TGConnectingPoint num="14" id="8851" /> -<TGConnectingPoint num="15" id="8852" /> -<TGConnectingPoint num="16" id="8853" /> -<TGConnectingPoint num="17" id="8854" /> -<TGConnectingPoint num="18" id="8855" /> -<TGConnectingPoint num="19" id="8856" /> -<TGConnectingPoint num="20" id="8857" /> -<TGConnectingPoint num="21" id="8858" /> -<TGConnectingPoint num="22" id="8859" /> -<TGConnectingPoint num="23" id="8860" /> -<TGConnectingPoint num="24" id="8861" /> -<TGConnectingPoint num="25" id="8862" /> -<TGConnectingPoint num="26" id="8863" /> -<TGConnectingPoint num="27" id="8864" /> -<TGConnectingPoint num="28" id="8865" /> -<TGConnectingPoint num="29" id="8866" /> -<TGConnectingPoint num="30" id="8867" /> -<TGConnectingPoint num="31" id="8868" /> -<TGConnectingPoint num="32" id="8869" /> -<TGConnectingPoint num="33" id="8870" /> -<TGConnectingPoint num="34" id="8871" /> -<TGConnectingPoint num="35" id="8872" /> -<TGConnectingPoint num="36" id="8873" /> -<TGConnectingPoint num="37" id="8874" /> -<TGConnectingPoint num="38" id="8875" /> -<TGConnectingPoint num="39" id="8876" /> -<TGConnectingPoint num="40" id="8877" /> -<TGConnectingPoint num="41" id="8878" /> -<TGConnectingPoint num="42" id="8879" /> -<TGConnectingPoint num="43" id="8880" /> -<TGConnectingPoint num="44" id="8881" /> -<TGConnectingPoint num="45" id="8882" /> -<TGConnectingPoint num="46" id="8883" /> -<TGConnectingPoint num="47" id="8884" /> -<TGConnectingPoint num="48" id="8885" /> -<TGConnectingPoint num="49" id="8886" /> -<TGConnectingPoint num="50" id="8887" /> -<TGConnectingPoint num="51" id="8888" /> -<TGConnectingPoint num="52" id="8889" /> -<TGConnectingPoint num="53" id="8890" /> -<TGConnectingPoint num="54" id="8891" /> -<TGConnectingPoint num="55" id="8892" /> -<TGConnectingPoint num="56" id="8893" /> -<TGConnectingPoint num="57" id="8894" /> -<TGConnectingPoint num="58" id="8895" /> -<TGConnectingPoint num="59" id="8896" /> -<TGConnectingPoint num="60" id="8897" /> -<TGConnectingPoint num="61" id="8898" /> -<TGConnectingPoint num="62" id="8899" /> -<TGConnectingPoint num="63" id="8900" /> -<TGConnectingPoint num="64" id="8901" /> -<TGConnectingPoint num="65" id="8902" /> -<TGConnectingPoint num="66" id="8903" /> -<TGConnectingPoint num="67" id="8904" /> -<TGConnectingPoint num="68" id="8905" /> -<TGConnectingPoint num="69" id="8906" /> -<TGConnectingPoint num="70" id="8907" /> -<TGConnectingPoint num="71" id="8908" /> -<extraparam> -</extraparam> -</COMPONENT> - -<COMPONENT type="5100" id="8911" index="10" uid="f47a6d52-2763-4062-98d8-4698b9677040" > -<cdparam x="404" y="88" /> +<TGConnectingPoint num="0" id="7624" /> +<TGConnectingPoint num="1" id="7625" /> +<TGConnectingPoint num="2" id="7626" /> +<TGConnectingPoint num="3" id="7627" /> +<TGConnectingPoint num="4" id="7628" /> +<TGConnectingPoint num="5" id="7629" /> +<TGConnectingPoint num="6" id="7630" /> +<TGConnectingPoint num="7" id="7631" /> +<TGConnectingPoint num="8" id="7632" /> +<TGConnectingPoint num="9" id="7633" /> +<TGConnectingPoint num="10" id="7634" /> +<TGConnectingPoint num="11" id="7635" /> +<TGConnectingPoint num="12" id="7636" /> +<TGConnectingPoint num="13" id="7637" /> +<TGConnectingPoint num="14" id="7638" /> +<TGConnectingPoint num="15" id="7639" /> +<TGConnectingPoint num="16" id="7640" /> +<TGConnectingPoint num="17" id="7641" /> +<TGConnectingPoint num="18" id="7642" /> +<TGConnectingPoint num="19" id="7643" /> +<TGConnectingPoint num="20" id="7644" /> +<TGConnectingPoint num="21" id="7645" /> +<TGConnectingPoint num="22" id="7646" /> +<TGConnectingPoint num="23" id="7647" /> +<TGConnectingPoint num="24" id="7648" /> +<TGConnectingPoint num="25" id="7649" /> +<TGConnectingPoint num="26" id="7650" /> +<TGConnectingPoint num="27" id="7651" /> +<TGConnectingPoint num="28" id="7652" /> +<TGConnectingPoint num="29" id="7653" /> +<TGConnectingPoint num="30" id="7654" /> +<TGConnectingPoint num="31" id="7655" /> +<TGConnectingPoint num="32" id="7656" /> +<TGConnectingPoint num="33" id="7657" /> +<TGConnectingPoint num="34" id="7658" /> +<TGConnectingPoint num="35" id="7659" /> +<TGConnectingPoint num="36" id="7660" /> +<TGConnectingPoint num="37" id="7661" /> +<TGConnectingPoint num="38" id="7662" /> +<TGConnectingPoint num="39" id="7663" /> +<TGConnectingPoint num="40" id="7664" /> +<TGConnectingPoint num="41" id="7665" /> +<TGConnectingPoint num="42" id="7666" /> +<TGConnectingPoint num="43" id="7667" /> +<TGConnectingPoint num="44" id="7668" /> +<TGConnectingPoint num="45" id="7669" /> +<TGConnectingPoint num="46" id="7670" /> +<TGConnectingPoint num="47" id="7671" /> +<TGConnectingPoint num="48" id="7672" /> +<TGConnectingPoint num="49" id="7673" /> +<TGConnectingPoint num="50" id="7674" /> +<TGConnectingPoint num="51" id="7675" /> +<TGConnectingPoint num="52" id="7676" /> +<TGConnectingPoint num="53" id="7677" /> +<TGConnectingPoint num="54" id="7678" /> +<TGConnectingPoint num="55" id="7679" /> +<TGConnectingPoint num="56" id="7680" /> +<TGConnectingPoint num="57" id="7681" /> +<TGConnectingPoint num="58" id="7682" /> +<TGConnectingPoint num="59" id="7683" /> +<TGConnectingPoint num="60" id="7684" /> +<TGConnectingPoint num="61" id="7685" /> +<TGConnectingPoint num="62" id="7686" /> +<TGConnectingPoint num="63" id="7687" /> +<TGConnectingPoint num="64" id="7688" /> +<TGConnectingPoint num="65" id="7689" /> +<TGConnectingPoint num="66" id="7690" /> +<TGConnectingPoint num="67" id="7691" /> +<TGConnectingPoint num="68" id="7692" /> +<TGConnectingPoint num="69" id="7693" /> +<TGConnectingPoint num="70" id="7694" /> +<TGConnectingPoint num="71" id="7695" /> +<extraparam> +</extraparam> +</COMPONENT> + +<COMPONENT type="5100" id="7698" index="10" uid="f47a6d52-2763-4062-98d8-4698b9677040" > +<cdparam x="401" y="82" /> <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="start state" value="null" /> <new d="false" /> -<TGConnectingPoint num="0" id="8910" /> +<TGConnectingPoint num="0" id="7697" /> </COMPONENT> </AVATARStateMachineDiagramPanel> <AVATARStateMachineDiagramPanel name="Other" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > -<CONNECTOR type="5102" id="8918" index="0" uid="299bd485-d0e3-4c21-9275-844aec01a318" > +<CONNECTOR type="5102" id="7705" index="0" uid="299bd485-d0e3-4c21-9275-844aec01a318" > <cdparam x="407" y="70" /> <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="8917" /> -<P1 x="407" y="70" id="8921" /> -<P2 x="407" y="114" id="8919" /> +<TGConnectingPoint num="0" id="7704" /> +<P1 x="407" y="70" id="7708" /> +<P2 x="407" y="114" id="7706" /> <AutomaticDrawing data="true" /> <new d="false" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="8916" index="3" uid="0602822d-ee2e-4fa2-8065-e9f41a1bfc41" > -<father id="8918" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="7703" index="3" uid="0602822d-ee2e-4fa2-8065-e9f41a1bfc41" > +<father id="7705" num="0" /> <cdparam x="416" y="94" /> -<sizeparam width="79" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="84" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> <new d="false" /> -<TGConnectingPoint num="0" id="8912" /> -<TGConnectingPoint num="1" id="8913" /> -<TGConnectingPoint num="2" id="8914" /> -<TGConnectingPoint num="3" id="8915" /> +<TGConnectingPoint num="0" id="7699" /> +<TGConnectingPoint num="1" id="7700" /> +<TGConnectingPoint num="2" id="7701" /> +<TGConnectingPoint num="3" id="7702" /> <extraparam> <guard value="[ ]" enabled="true"/> <afterMin value="15" enabled="true"/> @@ -16379,24 +15019,24 @@ Double-click to edit </extraparam> </SUBCOMPONENT> -<COMPONENT type="5101" id="8920" index="1" uid="304bab9d-462b-4dc8-92a7-4269e1ec0214" > +<COMPONENT type="5101" id="7707" index="1" uid="304bab9d-462b-4dc8-92a7-4269e1ec0214" > <cdparam x="397" y="119" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="stop state" value="null" /> <new d="false" /> -<TGConnectingPoint num="0" id="8919" /> +<TGConnectingPoint num="0" id="7706" /> </COMPONENT> -<COMPONENT type="5100" id="8922" index="2" uid="ed596b50-7b63-46e0-ac5f-52a23990559c" > +<COMPONENT type="5100" id="7709" index="2" uid="ed596b50-7b63-46e0-ac5f-52a23990559c" > <cdparam x="400" y="50" /> <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="start state" value="null" /> <new d="false" /> -<TGConnectingPoint num="0" id="8921" /> +<TGConnectingPoint num="0" id="7708" /> </COMPONENT> diff --git a/modeling/SysMLSec/AliceAndBob.xml b/modeling/SysMLSec/AliceAndBob.xml index 716187ba0ecb44e48bdb84d4b65f04490d0762c0..c06f7d2abb33ced98e910a1c3bd8ed8a0ae15770 100644 --- a/modeling/SysMLSec/AliceAndBob.xml +++ b/modeling/SysMLSec/AliceAndBob.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<TURTLEGMODELING version="1.0beta" ANIMATE_INTERACTIVE_SIMULATION="true" ACTIVATE_PENALTIES="true" UPDATE_INFORMATION_DIPLO_SIM="true" ANIMATE_WITH_INFO_DIPLO_SIM="true" OPEN_DIAG_DIPLO_SIM="false" LAST_SELECTED_MAIN_TAB="3" LAST_SELECTED_SUB_TAB="0"> +<TURTLEGMODELING version="3.0 beta" ANIMATE_INTERACTIVE_SIMULATION="true" ACTIVATE_PENALTIES="true" UPDATE_INFORMATION_DIPLO_SIM="true" ANIMATE_WITH_INFO_DIPLO_SIM="true" OPEN_DIAG_DIPLO_SIM="false" LAST_SELECTED_MAIN_TAB="3" LAST_SELECTED_SUB_TAB="0"> <Modeling type="AVATAR Design" nameTab="Example" tabs="Block Diagram$System$Alice$Bob" > <AVATARBlockDiagramPanel name="Block Diagram" minX="10" maxX="1400" minY="10" maxY="900" zoom="1.0" > @@ -99,7 +99,7 @@ <TGConnectingPoint num="6" id="30" /> <TGConnectingPoint num="7" id="31" /> <extraparam> -<Attribute access="0" id="data" value="" type="8" typeOther="" /> +<Attribute access="0" var="0" id="data" value="" type="8" typeOther="" /> </extraparam> </COMPONENT> @@ -119,7 +119,7 @@ <TGConnectingPoint num="6" id="39" /> <TGConnectingPoint num="7" id="40" /> <extraparam> -<Attribute access="0" id="data" value="" type="8" typeOther="" /> +<Attribute access="0" var="0" id="data" value="" type="8" typeOther="" /> </extraparam> </COMPONENT> @@ -228,10 +228,10 @@ <extraparam> <blockType data="cryptoblock" color="-4072719" /> <CryptoBlock value="true" /> -<Attribute access="0" id="m" value="" type="5" typeOther="Message" /> -<Attribute access="0" id="m2" value="" type="5" typeOther="Message" /> -<Attribute access="0" id="sk" value="" type="5" typeOther="Key" /> -<Attribute access="0" id="receivedData" value="" type="8" typeOther="" /> +<Attribute access="0" var="0" id="m" value="" type="5" typeOther="Message" /> +<Attribute access="0" var="0" id="m2" value="" type="5" typeOther="Message" /> +<Attribute access="0" var="0" id="sk" value="" type="5" typeOther="Key" /> +<Attribute access="0" var="0" id="receivedData" value="" type="8" typeOther="" /> <Method value="Message encrypt(Message msg, Key k)" /> <Method value="Message decrypt(Message msg, Key k)" /> <Method value="Message sencrypt(Message msg, Key k)" /> @@ -307,10 +307,10 @@ <extraparam> <blockType data="cryptoblock" color="-4072719" /> <CryptoBlock value="true" /> -<Attribute access="0" id="secretData" value="" type="8" typeOther="" /> -<Attribute access="0" id="m" value="" type="5" typeOther="Message" /> -<Attribute access="0" id="m1" value="" type="5" typeOther="Message" /> -<Attribute access="0" id="sk" value="" type="5" typeOther="Key" /> +<Attribute access="0" var="0" id="secretData" value="" type="8" typeOther="" /> +<Attribute access="0" var="0" id="m" value="" type="5" typeOther="Message" /> +<Attribute access="0" var="0" id="m1" value="" type="5" typeOther="Message" /> +<Attribute access="0" var="0" id="sk" value="" type="5" typeOther="Key" /> <Method value="Message encrypt(Message msg, Key k)" /> <Method value="Message decrypt(Message msg, Key k)" /> <Method value="Message sencrypt(Message msg, Key k)" /> @@ -1477,7 +1477,7 @@ <TGConnectingPoint num="6" id="805" /> <TGConnectingPoint num="7" id="806" /> <extraparam> -<Attribute access="0" id="data" value="" type="8" typeOther="" /> +<Attribute access="0" var="0" id="data" value="" type="8" typeOther="" /> </extraparam> </COMPONENT> @@ -1497,7 +1497,7 @@ <TGConnectingPoint num="6" id="814" /> <TGConnectingPoint num="7" id="815" /> <extraparam> -<Attribute access="0" id="data" value="" type="8" typeOther="" /> +<Attribute access="0" var="0" id="data" value="" type="8" typeOther="" /> </extraparam> </COMPONENT> @@ -1606,13 +1606,13 @@ <extraparam> <blockType data="cryptoblock" color="-4072719" /> <CryptoBlock value="true" /> -<Attribute access="0" id="secretData" value="" type="8" typeOther="" /> -<Attribute access="0" id="m" value="" type="5" typeOther="Message" /> -<Attribute access="0" id="m1" value="" type="5" typeOther="Message" /> -<Attribute access="0" id="sk" value="" type="5" typeOther="Key" /> -<Attribute access="0" id="pubK" value="" type="5" typeOther="Key" /> -<Attribute access="0" id="privK" value="" type="5" typeOther="Key" /> -<Attribute access="0" id="bobPubK" value="" type="5" typeOther="Key" /> +<Attribute access="0" var="0" id="secretData" value="" type="8" typeOther="" /> +<Attribute access="0" var="0" id="m" value="" type="5" typeOther="Message" /> +<Attribute access="0" var="0" id="m1" value="" type="5" typeOther="Message" /> +<Attribute access="0" var="0" id="sk" value="" type="5" typeOther="Key" /> +<Attribute access="0" var="0" id="pubK" value="" type="5" typeOther="Key" /> +<Attribute access="0" var="0" id="privK" value="" type="5" typeOther="Key" /> +<Attribute access="0" var="0" id="bobPubK" value="" type="5" typeOther="Key" /> <Method value="Message encrypt(Message msg, Key k)" /> <Method value="Message decrypt(Message msg, Key k)" /> <Method value="Message sencrypt(Message msg, Key k)" /> @@ -1688,13 +1688,13 @@ <extraparam> <blockType data="cryptoblock" color="-4072719" /> <CryptoBlock value="true" /> -<Attribute access="0" id="m" value="" type="5" typeOther="Message" /> -<Attribute access="0" id="m2" value="" type="5" typeOther="Message" /> -<Attribute access="0" id="sk" value="" type="5" typeOther="Key" /> -<Attribute access="0" id="receivedData" value="" type="8" typeOther="" /> -<Attribute access="0" id="privK" value="" type="5" typeOther="Key" /> -<Attribute access="0" id="pubK" value="" type="5" typeOther="Key" /> -<Attribute access="0" id="alicePubK" value="" type="5" typeOther="Key" /> +<Attribute access="0" var="0" id="m" value="" type="5" typeOther="Message" /> +<Attribute access="0" var="0" id="m2" value="" type="5" typeOther="Message" /> +<Attribute access="0" var="0" id="sk" value="" type="5" typeOther="Key" /> +<Attribute access="0" var="0" id="receivedData" value="" type="8" typeOther="" /> +<Attribute access="0" var="0" id="privK" value="" type="5" typeOther="Key" /> +<Attribute access="0" var="0" id="pubK" value="" type="5" typeOther="Key" /> +<Attribute access="0" var="0" id="alicePubK" value="" type="5" typeOther="Key" /> <Method value="Message encrypt(Message msg, Key k)" /> <Method value="Message decrypt(Message msg, Key k)" /> <Method value="Message sencrypt(Message msg, Key k)" /> @@ -3575,7 +3575,7 @@ <TGConnectingPoint num="6" id="1972" /> <TGConnectingPoint num="7" id="1973" /> <extraparam> -<Attribute access="0" id="data" value="" type="8" typeOther="" /> +<Attribute access="0" var="0" id="data" value="" type="8" typeOther="" /> </extraparam> </COMPONENT> @@ -3595,7 +3595,7 @@ <TGConnectingPoint num="6" id="1981" /> <TGConnectingPoint num="7" id="1982" /> <extraparam> -<Attribute access="0" id="data" value="" type="8" typeOther="" /> +<Attribute access="0" var="0" id="data" value="" type="8" typeOther="" /> </extraparam> </COMPONENT> @@ -3704,18 +3704,18 @@ <extraparam> <blockType data="cryptoblock" color="-4072719" /> <CryptoBlock value="true" /> -<Attribute access="0" id="m" value="" type="5" typeOther="Message" /> -<Attribute access="0" id="m2" value="" type="5" typeOther="Message" /> -<Attribute access="0" id="sk" value="" type="5" typeOther="Key" /> -<Attribute access="0" id="receivedData" value="" type="8" typeOther="" /> -<Attribute access="0" id="privK" value="" type="5" typeOther="Key" /> -<Attribute access="0" id="pubK" value="" type="5" typeOther="Key" /> -<Attribute access="0" id="alicePubK" value="" type="5" typeOther="Key" /> -<Attribute access="0" id="CAPubK" value="" type="5" typeOther="Key" /> -<Attribute access="0" id="aliceID" value="" type="8" typeOther="" /> -<Attribute access="0" id="m1" value="" type="5" typeOther="Message" /> -<Attribute access="0" id="sig" value="" type="5" typeOther="Message" /> -<Attribute access="0" id="certOK" value="" type="4" typeOther="" /> +<Attribute access="0" var="0" id="m" value="" type="5" typeOther="Message" /> +<Attribute access="0" var="0" id="m2" value="" type="5" typeOther="Message" /> +<Attribute access="0" var="0" id="sk" value="" type="5" typeOther="Key" /> +<Attribute access="0" var="0" id="receivedData" value="" type="8" typeOther="" /> +<Attribute access="0" var="0" id="privK" value="" type="5" typeOther="Key" /> +<Attribute access="0" var="0" id="pubK" value="" type="5" typeOther="Key" /> +<Attribute access="0" var="0" id="alicePubK" value="" type="5" typeOther="Key" /> +<Attribute access="0" var="0" id="CAPubK" value="" type="5" typeOther="Key" /> +<Attribute access="0" var="0" id="aliceID" value="" type="8" typeOther="" /> +<Attribute access="0" var="0" id="m1" value="" type="5" typeOther="Message" /> +<Attribute access="0" var="0" id="sig" value="" type="5" typeOther="Message" /> +<Attribute access="0" var="0" id="certOK" value="" type="4" typeOther="" /> <Method value="Message encrypt(Message msg, Key k)" /> <Method value="Message decrypt(Message msg, Key k)" /> <Method value="Message sencrypt(Message msg, Key k)" /> @@ -3791,18 +3791,18 @@ <extraparam> <blockType data="cryptoblock" color="-4072719" /> <CryptoBlock value="true" /> -<Attribute access="0" id="secretData" value="" type="8" typeOther="" /> -<Attribute access="0" id="m" value="" type="5" typeOther="Message" /> -<Attribute access="0" id="m1" value="" type="5" typeOther="Message" /> -<Attribute access="0" id="sk" value="" type="5" typeOther="Key" /> -<Attribute access="0" id="pubK" value="" type="5" typeOther="Key" /> -<Attribute access="0" id="privK" value="" type="5" typeOther="Key" /> -<Attribute access="0" id="bobPubK" value="" type="5" typeOther="Key" /> -<Attribute access="0" id="CAPubK" value="" type="5" typeOther="Key" /> -<Attribute access="0" id="bobID" value="" type="8" typeOther="" /> -<Attribute access="0" id="m2" value="" type="5" typeOther="Message" /> -<Attribute access="0" id="sig" value="" type="5" typeOther="Message" /> -<Attribute access="0" id="certOK" value="" type="4" typeOther="" /> +<Attribute access="0" var="0" id="secretData" value="" type="8" typeOther="" /> +<Attribute access="0" var="0" id="m" value="" type="5" typeOther="Message" /> +<Attribute access="0" var="0" id="m1" value="" type="5" typeOther="Message" /> +<Attribute access="0" var="0" id="sk" value="" type="5" typeOther="Key" /> +<Attribute access="0" var="0" id="pubK" value="" type="5" typeOther="Key" /> +<Attribute access="0" var="0" id="privK" value="" type="5" typeOther="Key" /> +<Attribute access="0" var="0" id="bobPubK" value="" type="5" typeOther="Key" /> +<Attribute access="0" var="0" id="CAPubK" value="" type="5" typeOther="Key" /> +<Attribute access="0" var="0" id="bobID" value="" type="8" typeOther="" /> +<Attribute access="0" var="0" id="m2" value="" type="5" typeOther="Message" /> +<Attribute access="0" var="0" id="sig" value="" type="5" typeOther="Message" /> +<Attribute access="0" var="0" id="certOK" value="" type="4" typeOther="" /> <Method value="Message encrypt(Message msg, Key k)" /> <Method value="Message decrypt(Message msg, Key k)" /> <Method value="Message sencrypt(Message msg, Key k)" /> @@ -3878,18 +3878,18 @@ <extraparam> <blockType data="cryptoblock" color="-4072719" /> <CryptoBlock value="true" /> -<Attribute access="0" id="privK" value="" type="5" typeOther="Key" /> -<Attribute access="0" id="pubK" value="" type="5" typeOther="Key" /> -<Attribute access="0" id="alicePubK" value="" type="5" typeOther="Key" /> -<Attribute access="0" id="bobPubK" value="" type="5" typeOther="Key" /> -<Attribute access="0" id="aliceID" value="" type="8" typeOther="" /> -<Attribute access="0" id="bobID" value="" type="8" typeOther="" /> -<Attribute access="0" id="m" value="" type="5" typeOther="Message" /> -<Attribute access="0" id="newK" value="" type="5" typeOther="Key" /> -<Attribute access="0" id="newCert" value="" type="5" typeOther="Message" /> -<Attribute access="0" id="m1" value="" type="5" typeOther="Message" /> -<Attribute access="0" id="m2" value="" type="5" typeOther="Message" /> -<Attribute access="0" id="newID" value="" type="8" typeOther="" /> +<Attribute access="0" var="0" id="privK" value="" type="5" typeOther="Key" /> +<Attribute access="0" var="0" id="pubK" value="" type="5" typeOther="Key" /> +<Attribute access="0" var="0" id="alicePubK" value="" type="5" typeOther="Key" /> +<Attribute access="0" var="0" id="bobPubK" value="" type="5" typeOther="Key" /> +<Attribute access="0" var="0" id="aliceID" value="" type="8" typeOther="" /> +<Attribute access="0" var="0" id="bobID" value="" type="8" typeOther="" /> +<Attribute access="0" var="0" id="m" value="" type="5" typeOther="Message" /> +<Attribute access="0" var="0" id="newK" value="" type="5" typeOther="Key" /> +<Attribute access="0" var="0" id="newCert" value="" type="5" typeOther="Message" /> +<Attribute access="0" var="0" id="m1" value="" type="5" typeOther="Message" /> +<Attribute access="0" var="0" id="m2" value="" type="5" typeOther="Message" /> +<Attribute access="0" var="0" id="newID" value="" type="8" typeOther="" /> <Method value="Message aencrypt(Message msg, Key k)" /> <Method value="Message adecrypt(Message msg, Key k)" /> <Method value="Key pk(Key k)" /> @@ -6557,18 +6557,18 @@ <MainCode value="}"/> <Optimized value="true" /> <considerTimingOperators value="true" /> -<Validated value="" /> +<Validated value="System;Bob;Alice;" /> <Ignored value="" /> -<CONNECTOR type="5002" id="4261" index="0" uid="5e9ea5bc-0eac-45c7-b468-24e6f5a65e1f" > +<CONNECTOR type="5002" id="3566" index="0" uid="5e9ea5bc-0eac-45c7-b468-24e6f5a65e1f" > <cdparam x="568" y="220" /> <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="4258" /> -<TGConnectingPoint num="1" id="4259" /> -<TGConnectingPoint num="2" id="4260" /> -<P1 x="459" y="199" id="4390" /> -<P2 x="459" y="254" id="4383" /> +<TGConnectingPoint num="0" id="3563" /> +<TGConnectingPoint num="1" id="3564" /> +<TGConnectingPoint num="2" id="3565" /> +<P1 x="459" y="199" id="3695" /> +<P2 x="459" y="254" id="3688" /> <Point x="490" y="199" /> <Point x="490" y="254" /> <AutomaticDrawing data="true" /> @@ -6578,8 +6578,8 @@ <osd value="out chout(Message msg)" /> <FIFOType asynchronous="false" synchronousCH="true" size="1" blocking="false" private="true" broadcast="false" lossy="false" ams="false" /> </extraparam> -</CONNECTOR><SUBCOMPONENT type="-1" id="4256" index="5" uid="c8213529-738a-46d4-bbf7-ea9e24c11f5a" > -<father id="4261" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3561" index="5" uid="c8213529-738a-46d4-bbf7-ea9e24c11f5a" > +<father id="3566" num="0" /> <cdparam x="490" y="199" /> <sizeparam width="8" height="8" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -6587,8 +6587,8 @@ <infoparam name="point " value="null" /> <new d="false" /> </SUBCOMPONENT> -<SUBCOMPONENT type="-1" id="4257" index="6" uid="2c2224b4-6c04-4d47-a0d9-466f88f4d68a" > -<father id="4261" num="1" /> +<SUBCOMPONENT type="-1" id="3562" index="6" uid="2c2224b4-6c04-4d47-a0d9-466f88f4d68a" > +<father id="3566" num="1" /> <cdparam x="490" y="254" /> <sizeparam width="8" height="8" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -6597,7 +6597,7 @@ <new d="false" /> </SUBCOMPONENT> -<COMPONENT type="302" id="4278" index="1" uid="029b1805-5bd8-44cc-9fbd-9dfae02d8e94" > +<COMPONENT type="302" id="3583" index="1" uid="029b1805-5bd8-44cc-9fbd-9dfae02d8e94" > <cdparam x="535" y="149" /> <sizeparam width="420" height="66" minWidth="80" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -6606,115 +6606,115 @@ #Authenticity Alice.sendingMessage.m Bob.messageDecrypted.m " /> <new d="false" /> -<TGConnectingPoint num="0" id="4262" /> -<TGConnectingPoint num="1" id="4263" /> -<TGConnectingPoint num="2" id="4264" /> -<TGConnectingPoint num="3" id="4265" /> -<TGConnectingPoint num="4" id="4266" /> -<TGConnectingPoint num="5" id="4267" /> -<TGConnectingPoint num="6" id="4268" /> -<TGConnectingPoint num="7" id="4269" /> -<TGConnectingPoint num="8" id="4270" /> -<TGConnectingPoint num="9" id="4271" /> -<TGConnectingPoint num="10" id="4272" /> -<TGConnectingPoint num="11" id="4273" /> -<TGConnectingPoint num="12" id="4274" /> -<TGConnectingPoint num="13" id="4275" /> -<TGConnectingPoint num="14" id="4276" /> -<TGConnectingPoint num="15" id="4277" /> +<TGConnectingPoint num="0" id="3567" /> +<TGConnectingPoint num="1" id="3568" /> +<TGConnectingPoint num="2" id="3569" /> +<TGConnectingPoint num="3" id="3570" /> +<TGConnectingPoint num="4" id="3571" /> +<TGConnectingPoint num="5" id="3572" /> +<TGConnectingPoint num="6" id="3573" /> +<TGConnectingPoint num="7" id="3574" /> +<TGConnectingPoint num="8" id="3575" /> +<TGConnectingPoint num="9" id="3576" /> +<TGConnectingPoint num="10" id="3577" /> +<TGConnectingPoint num="11" id="3578" /> +<TGConnectingPoint num="12" id="3579" /> +<TGConnectingPoint num="13" id="3580" /> +<TGConnectingPoint num="14" id="3581" /> +<TGConnectingPoint num="15" id="3582" /> <extraparam> <Line value="#Confidentiality Alice.secretData" /> <Line value="#Authenticity Alice.sendingMessage.m Bob.messageDecrypted.m" /> </extraparam> </COMPONENT> -<COMPONENT type="5003" id="4287" index="2" uid="6ff09061-6050-477e-9429-0ca0a94d0652" > +<COMPONENT type="5003" id="3592" index="2" uid="6ff09061-6050-477e-9429-0ca0a94d0652" > <cdparam x="260" y="373" /> <sizeparam width="129" height="61" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="DataType0" value="Message" /> <new d="false" /> -<TGConnectingPoint num="0" id="4279" /> -<TGConnectingPoint num="1" id="4280" /> -<TGConnectingPoint num="2" id="4281" /> -<TGConnectingPoint num="3" id="4282" /> -<TGConnectingPoint num="4" id="4283" /> -<TGConnectingPoint num="5" id="4284" /> -<TGConnectingPoint num="6" id="4285" /> -<TGConnectingPoint num="7" id="4286" /> +<TGConnectingPoint num="0" id="3584" /> +<TGConnectingPoint num="1" id="3585" /> +<TGConnectingPoint num="2" id="3586" /> +<TGConnectingPoint num="3" id="3587" /> +<TGConnectingPoint num="4" id="3588" /> +<TGConnectingPoint num="5" id="3589" /> +<TGConnectingPoint num="6" id="3590" /> +<TGConnectingPoint num="7" id="3591" /> <extraparam> -<Attribute access="0" id="data" value="" type="8" typeOther="" /> +<Attribute access="0" var="0" id="data" value="" type="8" typeOther="" /> </extraparam> </COMPONENT> -<COMPONENT type="5003" id="4296" index="3" uid="abad1e2f-9763-48d1-b6fe-911c3f0c6cd6" > +<COMPONENT type="5003" id="3601" index="3" uid="abad1e2f-9763-48d1-b6fe-911c3f0c6cd6" > <cdparam x="68" y="372" /> <sizeparam width="123" height="62" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="DataType0" value="Key" /> <new d="false" /> -<TGConnectingPoint num="0" id="4288" /> -<TGConnectingPoint num="1" id="4289" /> -<TGConnectingPoint num="2" id="4290" /> -<TGConnectingPoint num="3" id="4291" /> -<TGConnectingPoint num="4" id="4292" /> -<TGConnectingPoint num="5" id="4293" /> -<TGConnectingPoint num="6" id="4294" /> -<TGConnectingPoint num="7" id="4295" /> +<TGConnectingPoint num="0" id="3593" /> +<TGConnectingPoint num="1" id="3594" /> +<TGConnectingPoint num="2" id="3595" /> +<TGConnectingPoint num="3" id="3596" /> +<TGConnectingPoint num="4" id="3597" /> +<TGConnectingPoint num="5" id="3598" /> +<TGConnectingPoint num="6" id="3599" /> +<TGConnectingPoint num="7" id="3600" /> <extraparam> -<Attribute access="0" id="data" value="" type="8" typeOther="" /> +<Attribute access="0" var="0" id="data" value="" type="8" typeOther="" /> </extraparam> </COMPONENT> -<COMPONENT type="5000" id="4419" index="4" uid="a468054d-8335-41ee-8174-1e236a68c252" > +<COMPONENT type="5000" id="3724" index="4" uid="a468054d-8335-41ee-8174-1e236a68c252" > <cdparam x="21" y="145" /> <sizeparam width="438" height="219" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="Block0" value="System" /> <new d="false" /> -<TGConnectingPoint num="0" id="4379" /> -<TGConnectingPoint num="1" id="4380" /> -<TGConnectingPoint num="2" id="4381" /> -<TGConnectingPoint num="3" id="4382" /> -<TGConnectingPoint num="4" id="4383" /> -<TGConnectingPoint num="5" id="4384" /> -<TGConnectingPoint num="6" id="4385" /> -<TGConnectingPoint num="7" id="4386" /> -<TGConnectingPoint num="8" id="4387" /> -<TGConnectingPoint num="9" id="4388" /> -<TGConnectingPoint num="10" id="4389" /> -<TGConnectingPoint num="11" id="4390" /> -<TGConnectingPoint num="12" id="4391" /> -<TGConnectingPoint num="13" id="4392" /> -<TGConnectingPoint num="14" id="4393" /> -<TGConnectingPoint num="15" id="4394" /> -<TGConnectingPoint num="16" id="4395" /> -<TGConnectingPoint num="17" id="4396" /> -<TGConnectingPoint num="18" id="4397" /> -<TGConnectingPoint num="19" id="4398" /> -<TGConnectingPoint num="20" id="4399" /> -<TGConnectingPoint num="21" id="4400" /> -<TGConnectingPoint num="22" id="4401" /> -<TGConnectingPoint num="23" id="4402" /> -<TGConnectingPoint num="24" id="4403" /> -<TGConnectingPoint num="25" id="4404" /> -<TGConnectingPoint num="26" id="4405" /> -<TGConnectingPoint num="27" id="4406" /> -<TGConnectingPoint num="28" id="4407" /> -<TGConnectingPoint num="29" id="4408" /> -<TGConnectingPoint num="30" id="4409" /> -<TGConnectingPoint num="31" id="4410" /> -<TGConnectingPoint num="32" id="4411" /> -<TGConnectingPoint num="33" id="4412" /> -<TGConnectingPoint num="34" id="4413" /> -<TGConnectingPoint num="35" id="4414" /> -<TGConnectingPoint num="36" id="4415" /> -<TGConnectingPoint num="37" id="4416" /> -<TGConnectingPoint num="38" id="4417" /> -<TGConnectingPoint num="39" id="4418" /> +<TGConnectingPoint num="0" id="3684" /> +<TGConnectingPoint num="1" id="3685" /> +<TGConnectingPoint num="2" id="3686" /> +<TGConnectingPoint num="3" id="3687" /> +<TGConnectingPoint num="4" id="3688" /> +<TGConnectingPoint num="5" id="3689" /> +<TGConnectingPoint num="6" id="3690" /> +<TGConnectingPoint num="7" id="3691" /> +<TGConnectingPoint num="8" id="3692" /> +<TGConnectingPoint num="9" id="3693" /> +<TGConnectingPoint num="10" id="3694" /> +<TGConnectingPoint num="11" id="3695" /> +<TGConnectingPoint num="12" id="3696" /> +<TGConnectingPoint num="13" id="3697" /> +<TGConnectingPoint num="14" id="3698" /> +<TGConnectingPoint num="15" id="3699" /> +<TGConnectingPoint num="16" id="3700" /> +<TGConnectingPoint num="17" id="3701" /> +<TGConnectingPoint num="18" id="3702" /> +<TGConnectingPoint num="19" id="3703" /> +<TGConnectingPoint num="20" id="3704" /> +<TGConnectingPoint num="21" id="3705" /> +<TGConnectingPoint num="22" id="3706" /> +<TGConnectingPoint num="23" id="3707" /> +<TGConnectingPoint num="24" id="3708" /> +<TGConnectingPoint num="25" id="3709" /> +<TGConnectingPoint num="26" id="3710" /> +<TGConnectingPoint num="27" id="3711" /> +<TGConnectingPoint num="28" id="3712" /> +<TGConnectingPoint num="29" id="3713" /> +<TGConnectingPoint num="30" id="3714" /> +<TGConnectingPoint num="31" id="3715" /> +<TGConnectingPoint num="32" id="3716" /> +<TGConnectingPoint num="33" id="3717" /> +<TGConnectingPoint num="34" id="3718" /> +<TGConnectingPoint num="35" id="3719" /> +<TGConnectingPoint num="36" id="3720" /> +<TGConnectingPoint num="37" id="3721" /> +<TGConnectingPoint num="38" id="3722" /> +<TGConnectingPoint num="39" id="3723" /> <extraparam> <blockType data="block" color="-4072719" /> <CryptoBlock value="false" /> @@ -6722,59 +6722,59 @@ <Signal value="out chout(Message msg)" attached="true" /> </extraparam> </COMPONENT> -<SUBCOMPONENT type="5000" id="4337" index="7" uid="7bb99390-2a74-452a-8601-e344bd028850" > -<father id="4419" num="0" /> +<SUBCOMPONENT type="5000" id="3642" index="7" uid="7bb99390-2a74-452a-8601-e344bd028850" > +<father id="3724" num="0" /> <cdparam x="263" y="233" /> <sizeparam width="139" height="126" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="0" maxX="299" minY="0" maxY="93" /> <infoparam name="Block0" value="Bob" /> <new d="false" /> -<TGConnectingPoint num="0" id="4297" /> -<TGConnectingPoint num="1" id="4298" /> -<TGConnectingPoint num="2" id="4299" /> -<TGConnectingPoint num="3" id="4300" /> -<TGConnectingPoint num="4" id="4301" /> -<TGConnectingPoint num="5" id="4302" /> -<TGConnectingPoint num="6" id="4303" /> -<TGConnectingPoint num="7" id="4304" /> -<TGConnectingPoint num="8" id="4305" /> -<TGConnectingPoint num="9" id="4306" /> -<TGConnectingPoint num="10" id="4307" /> -<TGConnectingPoint num="11" id="4308" /> -<TGConnectingPoint num="12" id="4309" /> -<TGConnectingPoint num="13" id="4310" /> -<TGConnectingPoint num="14" id="4311" /> -<TGConnectingPoint num="15" id="4312" /> -<TGConnectingPoint num="16" id="4313" /> -<TGConnectingPoint num="17" id="4314" /> -<TGConnectingPoint num="18" id="4315" /> -<TGConnectingPoint num="19" id="4316" /> -<TGConnectingPoint num="20" id="4317" /> -<TGConnectingPoint num="21" id="4318" /> -<TGConnectingPoint num="22" id="4319" /> -<TGConnectingPoint num="23" id="4320" /> -<TGConnectingPoint num="24" id="4321" /> -<TGConnectingPoint num="25" id="4322" /> -<TGConnectingPoint num="26" id="4323" /> -<TGConnectingPoint num="27" id="4324" /> -<TGConnectingPoint num="28" id="4325" /> -<TGConnectingPoint num="29" id="4326" /> -<TGConnectingPoint num="30" id="4327" /> -<TGConnectingPoint num="31" id="4328" /> -<TGConnectingPoint num="32" id="4329" /> -<TGConnectingPoint num="33" id="4330" /> -<TGConnectingPoint num="34" id="4331" /> -<TGConnectingPoint num="35" id="4332" /> -<TGConnectingPoint num="36" id="4333" /> -<TGConnectingPoint num="37" id="4334" /> -<TGConnectingPoint num="38" id="4335" /> -<TGConnectingPoint num="39" id="4336" /> +<TGConnectingPoint num="0" id="3602" /> +<TGConnectingPoint num="1" id="3603" /> +<TGConnectingPoint num="2" id="3604" /> +<TGConnectingPoint num="3" id="3605" /> +<TGConnectingPoint num="4" id="3606" /> +<TGConnectingPoint num="5" id="3607" /> +<TGConnectingPoint num="6" id="3608" /> +<TGConnectingPoint num="7" id="3609" /> +<TGConnectingPoint num="8" id="3610" /> +<TGConnectingPoint num="9" id="3611" /> +<TGConnectingPoint num="10" id="3612" /> +<TGConnectingPoint num="11" id="3613" /> +<TGConnectingPoint num="12" id="3614" /> +<TGConnectingPoint num="13" id="3615" /> +<TGConnectingPoint num="14" id="3616" /> +<TGConnectingPoint num="15" id="3617" /> +<TGConnectingPoint num="16" id="3618" /> +<TGConnectingPoint num="17" id="3619" /> +<TGConnectingPoint num="18" id="3620" /> +<TGConnectingPoint num="19" id="3621" /> +<TGConnectingPoint num="20" id="3622" /> +<TGConnectingPoint num="21" id="3623" /> +<TGConnectingPoint num="22" id="3624" /> +<TGConnectingPoint num="23" id="3625" /> +<TGConnectingPoint num="24" id="3626" /> +<TGConnectingPoint num="25" id="3627" /> +<TGConnectingPoint num="26" id="3628" /> +<TGConnectingPoint num="27" id="3629" /> +<TGConnectingPoint num="28" id="3630" /> +<TGConnectingPoint num="29" id="3631" /> +<TGConnectingPoint num="30" id="3632" /> +<TGConnectingPoint num="31" id="3633" /> +<TGConnectingPoint num="32" id="3634" /> +<TGConnectingPoint num="33" id="3635" /> +<TGConnectingPoint num="34" id="3636" /> +<TGConnectingPoint num="35" id="3637" /> +<TGConnectingPoint num="36" id="3638" /> +<TGConnectingPoint num="37" id="3639" /> +<TGConnectingPoint num="38" id="3640" /> +<TGConnectingPoint num="39" id="3641" /> <extraparam> <blockType data="cryptoblock" color="-4072719" /> <CryptoBlock value="true" /> -<Attribute access="0" id="m" value="" type="5" typeOther="Message" /> -<Attribute access="0" id="receivedData" value="" type="8" typeOther="" /> +<Attribute access="0" var="0" id="m" value="" type="5" typeOther="Message" /> +<Attribute access="0" var="0" id="receivedData" value="" type="8" typeOther="" /> <Method value="Message encrypt(Message msg, Key k)" /> <Method value="Message decrypt(Message msg, Key k)" /> <Method value="Message sencrypt(Message msg, Key k)" /> @@ -6799,59 +6799,59 @@ <Method value="Message hash(Message msg)" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5000" id="4378" index="8" uid="58e32c17-1811-4588-ab32-863569a17a48" > -<father id="4419" num="1" /> +<SUBCOMPONENT type="5000" id="3683" index="8" uid="58e32c17-1811-4588-ab32-863569a17a48" > +<father id="3724" num="1" /> <cdparam x="36" y="233" /> <sizeparam width="215" height="126" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="0" maxX="223" minY="0" maxY="93" /> <infoparam name="Block0" value="Alice" /> <new d="false" /> -<TGConnectingPoint num="0" id="4338" /> -<TGConnectingPoint num="1" id="4339" /> -<TGConnectingPoint num="2" id="4340" /> -<TGConnectingPoint num="3" id="4341" /> -<TGConnectingPoint num="4" id="4342" /> -<TGConnectingPoint num="5" id="4343" /> -<TGConnectingPoint num="6" id="4344" /> -<TGConnectingPoint num="7" id="4345" /> -<TGConnectingPoint num="8" id="4346" /> -<TGConnectingPoint num="9" id="4347" /> -<TGConnectingPoint num="10" id="4348" /> -<TGConnectingPoint num="11" id="4349" /> -<TGConnectingPoint num="12" id="4350" /> -<TGConnectingPoint num="13" id="4351" /> -<TGConnectingPoint num="14" id="4352" /> -<TGConnectingPoint num="15" id="4353" /> -<TGConnectingPoint num="16" id="4354" /> -<TGConnectingPoint num="17" id="4355" /> -<TGConnectingPoint num="18" id="4356" /> -<TGConnectingPoint num="19" id="4357" /> -<TGConnectingPoint num="20" id="4358" /> -<TGConnectingPoint num="21" id="4359" /> -<TGConnectingPoint num="22" id="4360" /> -<TGConnectingPoint num="23" id="4361" /> -<TGConnectingPoint num="24" id="4362" /> -<TGConnectingPoint num="25" id="4363" /> -<TGConnectingPoint num="26" id="4364" /> -<TGConnectingPoint num="27" id="4365" /> -<TGConnectingPoint num="28" id="4366" /> -<TGConnectingPoint num="29" id="4367" /> -<TGConnectingPoint num="30" id="4368" /> -<TGConnectingPoint num="31" id="4369" /> -<TGConnectingPoint num="32" id="4370" /> -<TGConnectingPoint num="33" id="4371" /> -<TGConnectingPoint num="34" id="4372" /> -<TGConnectingPoint num="35" id="4373" /> -<TGConnectingPoint num="36" id="4374" /> -<TGConnectingPoint num="37" id="4375" /> -<TGConnectingPoint num="38" id="4376" /> -<TGConnectingPoint num="39" id="4377" /> +<TGConnectingPoint num="0" id="3643" /> +<TGConnectingPoint num="1" id="3644" /> +<TGConnectingPoint num="2" id="3645" /> +<TGConnectingPoint num="3" id="3646" /> +<TGConnectingPoint num="4" id="3647" /> +<TGConnectingPoint num="5" id="3648" /> +<TGConnectingPoint num="6" id="3649" /> +<TGConnectingPoint num="7" id="3650" /> +<TGConnectingPoint num="8" id="3651" /> +<TGConnectingPoint num="9" id="3652" /> +<TGConnectingPoint num="10" id="3653" /> +<TGConnectingPoint num="11" id="3654" /> +<TGConnectingPoint num="12" id="3655" /> +<TGConnectingPoint num="13" id="3656" /> +<TGConnectingPoint num="14" id="3657" /> +<TGConnectingPoint num="15" id="3658" /> +<TGConnectingPoint num="16" id="3659" /> +<TGConnectingPoint num="17" id="3660" /> +<TGConnectingPoint num="18" id="3661" /> +<TGConnectingPoint num="19" id="3662" /> +<TGConnectingPoint num="20" id="3663" /> +<TGConnectingPoint num="21" id="3664" /> +<TGConnectingPoint num="22" id="3665" /> +<TGConnectingPoint num="23" id="3666" /> +<TGConnectingPoint num="24" id="3667" /> +<TGConnectingPoint num="25" id="3668" /> +<TGConnectingPoint num="26" id="3669" /> +<TGConnectingPoint num="27" id="3670" /> +<TGConnectingPoint num="28" id="3671" /> +<TGConnectingPoint num="29" id="3672" /> +<TGConnectingPoint num="30" id="3673" /> +<TGConnectingPoint num="31" id="3674" /> +<TGConnectingPoint num="32" id="3675" /> +<TGConnectingPoint num="33" id="3676" /> +<TGConnectingPoint num="34" id="3677" /> +<TGConnectingPoint num="35" id="3678" /> +<TGConnectingPoint num="36" id="3679" /> +<TGConnectingPoint num="37" id="3680" /> +<TGConnectingPoint num="38" id="3681" /> +<TGConnectingPoint num="39" id="3682" /> <extraparam> <blockType data="cryptoblock" color="-4072719" /> <CryptoBlock value="true" /> -<Attribute access="0" id="secretData" value="" type="8" typeOther="" /> -<Attribute access="0" id="m" value="" type="5" typeOther="Message" /> +<Attribute access="0" var="0" id="secretData" value="" type="8" typeOther="" /> +<Attribute access="0" var="0" id="m" value="" type="5" typeOther="Message" /> <Method value="Message encrypt(Message msg, Key k)" /> <Method value="Message decrypt(Message msg, Key k)" /> <Method value="Message sencrypt(Message msg, Key k)" /> @@ -6881,42 +6881,42 @@ </AVATARBlockDiagramPanel> <AVATARStateMachineDiagramPanel name="System" minX="10" maxX="1400" minY="10" maxY="900" zoom="1.0" > -<COMPONENT type="5100" id="4421" index="0" uid="2009f392-28ba-4e63-95db-e00eb87b0f22" > +<COMPONENT type="5100" id="3726" index="0" uid="2009f392-28ba-4e63-95db-e00eb87b0f22" > <cdparam x="400" y="50" /> <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" /> <new d="false" /> -<TGConnectingPoint num="0" id="4420" /> +<TGConnectingPoint num="0" id="3725" /> </COMPONENT> </AVATARStateMachineDiagramPanel> <AVATARStateMachineDiagramPanel name="Alice" minX="10" maxX="1400" minY="10" maxY="900" zoom="1.0" > -<CONNECTOR type="5102" id="4428" index="0" uid="9adf36c0-0bac-4b20-9868-21d7833c947e" > +<CONNECTOR type="5102" id="3733" index="0" uid="9adf36c0-0bac-4b20-9868-21d7833c947e" > <cdparam x="407" y="310" /> <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="4427" /> -<P1 x="407" y="310" id="4531" /> -<P2 x="407" y="341" id="4458" /> +<TGConnectingPoint num="0" id="3732" /> +<P1 x="407" y="310" id="3836" /> +<P2 x="407" y="341" id="3763" /> <AutomaticDrawing data="true" /> <new d="false" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="4426" index="11" uid="7a2775eb-770e-487d-ba05-121548176731" > -<father id="4428" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3731" index="11" uid="7a2775eb-770e-487d-ba05-121548176731" > +<father id="3733" num="0" /> <cdparam x="449" y="353" /> -<sizeparam width="10" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="50" height="25" 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="" /> <new d="false" /> -<TGConnectingPoint num="0" id="4422" /> -<TGConnectingPoint num="1" id="4423" /> -<TGConnectingPoint num="2" id="4424" /> -<TGConnectingPoint num="3" id="4425" /> +<TGConnectingPoint num="0" id="3727" /> +<TGConnectingPoint num="1" id="3728" /> +<TGConnectingPoint num="2" id="3729" /> +<TGConnectingPoint num="3" id="3730" /> <extraparam> <guard value="[ ]" enabled="true"/> <afterMin value="" enabled="true"/> @@ -6930,28 +6930,28 @@ </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="4435" index="1" uid="97aacae5-7830-488b-bdd6-3c6e7197e995" > +<CONNECTOR type="5102" id="3740" index="1" uid="97aacae5-7830-488b-bdd6-3c6e7197e995" > <cdparam x="492" y="446" /> <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="4434" /> -<P1 x="407" y="391" id="4463" /> -<P2 x="413" y="423" id="4541" /> +<TGConnectingPoint num="0" id="3739" /> +<P1 x="407" y="391" id="3768" /> +<P2 x="413" y="423" id="3846" /> <AutomaticDrawing data="true" /> <new d="false" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="4433" index="12" uid="8abb1648-de57-438e-bcf4-2ef63367150f" > -<father id="4435" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3738" index="12" uid="8abb1648-de57-438e-bcf4-2ef63367150f" > +<father id="3740" num="0" /> <cdparam x="449" y="440" /> -<sizeparam width="10" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="50" height="25" 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="" /> <new d="false" /> -<TGConnectingPoint num="0" id="4429" /> -<TGConnectingPoint num="1" id="4430" /> -<TGConnectingPoint num="2" id="4431" /> -<TGConnectingPoint num="3" id="4432" /> +<TGConnectingPoint num="0" id="3734" /> +<TGConnectingPoint num="1" id="3735" /> +<TGConnectingPoint num="2" id="3736" /> +<TGConnectingPoint num="3" id="3737" /> <extraparam> <guard value="[ ]" enabled="true"/> <afterMin value="" enabled="true"/> @@ -6965,28 +6965,28 @@ </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="4442" index="2" uid="b28d7e0e-a0ca-43c2-a559-bbcc55cfed28" > +<CONNECTOR type="5102" id="3747" index="2" uid="b28d7e0e-a0ca-43c2-a559-bbcc55cfed28" > <cdparam x="407" y="251" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from state0 to stop state" value="null" /> -<TGConnectingPoint num="0" id="4441" /> -<P1 x="406" y="229" id="4549" /> -<P2 x="407" y="280" id="4530" /> +<TGConnectingPoint num="0" id="3746" /> +<P1 x="406" y="229" id="3854" /> +<P2 x="407" y="280" id="3835" /> <AutomaticDrawing data="true" /> <new d="false" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="4440" index="13" uid="e5ccdb03-9694-4337-a917-267ad5e738b5" > -<father id="4442" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3745" index="13" uid="e5ccdb03-9694-4337-a917-267ad5e738b5" > +<father id="3747" num="0" /> <cdparam x="407" y="291" /> -<sizeparam width="10" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="50" height="25" 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="" /> <new d="false" /> -<TGConnectingPoint num="0" id="4436" /> -<TGConnectingPoint num="1" id="4437" /> -<TGConnectingPoint num="2" id="4438" /> -<TGConnectingPoint num="3" id="4439" /> +<TGConnectingPoint num="0" id="3741" /> +<TGConnectingPoint num="1" id="3742" /> +<TGConnectingPoint num="2" id="3743" /> +<TGConnectingPoint num="3" id="3744" /> <extraparam> <guard value="[ ]" enabled="true"/> <afterMin value="" enabled="true"/> @@ -7000,17 +7000,17 @@ </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="4449" index="3" uid="0ec6abac-e2d0-4bd7-83ed-2a870aa460e3" > +<CONNECTOR type="5102" id="3754" index="3" uid="0ec6abac-e2d0-4bd7-83ed-2a870aa460e3" > <cdparam x="407" y="132" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from state0 to state0" value="null" /> -<TGConnectingPoint num="0" id="4448" /> -<P1 x="407" y="132" id="4622" /> -<P2 x="406" y="189" id="4544" /> +<TGConnectingPoint num="0" id="3753" /> +<P1 x="407" y="132" id="3927" /> +<P2 x="406" y="189" id="3849" /> <AutomaticDrawing data="true" /> <new d="false" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="4447" index="14" uid="97226e5e-67e4-4eff-a9e3-fdb15e54f5e8" > -<father id="4449" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3752" index="14" uid="97226e5e-67e4-4eff-a9e3-fdb15e54f5e8" > +<father id="3754" num="0" /> <cdparam x="465" y="153" /> <sizeparam width="144" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -7018,10 +7018,10 @@ <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> <new d="false" /> -<TGConnectingPoint num="0" id="4443" /> -<TGConnectingPoint num="1" id="4444" /> -<TGConnectingPoint num="2" id="4445" /> -<TGConnectingPoint num="3" id="4446" /> +<TGConnectingPoint num="0" id="3748" /> +<TGConnectingPoint num="1" id="3749" /> +<TGConnectingPoint num="2" id="3750" /> +<TGConnectingPoint num="3" id="3751" /> <extraparam> <guard value="[ ]" enabled="true"/> <afterMin value="" enabled="true"/> @@ -7036,28 +7036,28 @@ </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="4456" index="4" uid="71404e00-a56f-49a5-9127-4be33041f927" > +<CONNECTOR type="5102" id="3761" index="4" uid="71404e00-a56f-49a5-9127-4be33041f927" > <cdparam x="407" y="70" /> <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="4455" /> -<P1 x="407" y="70" id="4689" /> -<P2 x="407" y="92" id="4617" /> +<TGConnectingPoint num="0" id="3760" /> +<P1 x="407" y="70" id="3994" /> +<P2 x="407" y="92" id="3922" /> <AutomaticDrawing data="true" /> <new d="false" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="4454" index="15" uid="3b640d5d-82b0-4d0c-8738-7156d7672224" > -<father id="4456" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="3759" index="15" uid="3b640d5d-82b0-4d0c-8738-7156d7672224" > +<father id="3761" num="0" /> <cdparam x="407" y="110" /> -<sizeparam width="10" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="50" height="25" 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="" /> <new d="false" /> -<TGConnectingPoint num="0" id="4450" /> -<TGConnectingPoint num="1" id="4451" /> -<TGConnectingPoint num="2" id="4452" /> -<TGConnectingPoint num="3" id="4453" /> +<TGConnectingPoint num="0" id="3755" /> +<TGConnectingPoint num="1" id="3756" /> +<TGConnectingPoint num="2" id="3757" /> +<TGConnectingPoint num="3" id="3758" /> <extraparam> <guard value="[ ]" enabled="true"/> <afterMin value="" enabled="true"/> @@ -7071,7 +7071,7 @@ </extraparam> </SUBCOMPONENT> -<COMPONENT type="5106" id="4529" index="5" uid="d0f4fc47-1fff-456e-999f-70eb622aa998" > +<COMPONENT type="5106" id="3834" index="5" uid="d0f4fc47-1fff-456e-999f-70eb622aa998" > <cdparam x="357" y="341" /> <sizeparam width="100" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -7079,83 +7079,83 @@ <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="State" value="beforeFinish" /> <new d="false" /> -<TGConnectingPoint num="0" id="4457" /> -<TGConnectingPoint num="1" id="4458" /> -<TGConnectingPoint num="2" id="4459" /> -<TGConnectingPoint num="3" id="4460" /> -<TGConnectingPoint num="4" id="4461" /> -<TGConnectingPoint num="5" id="4462" /> -<TGConnectingPoint num="6" id="4463" /> -<TGConnectingPoint num="7" id="4464" /> -<TGConnectingPoint num="8" id="4465" /> -<TGConnectingPoint num="9" id="4466" /> -<TGConnectingPoint num="10" id="4467" /> -<TGConnectingPoint num="11" id="4468" /> -<TGConnectingPoint num="12" id="4469" /> -<TGConnectingPoint num="13" id="4470" /> -<TGConnectingPoint num="14" id="4471" /> -<TGConnectingPoint num="15" id="4472" /> -<TGConnectingPoint num="16" id="4473" /> -<TGConnectingPoint num="17" id="4474" /> -<TGConnectingPoint num="18" id="4475" /> -<TGConnectingPoint num="19" id="4476" /> -<TGConnectingPoint num="20" id="4477" /> -<TGConnectingPoint num="21" id="4478" /> -<TGConnectingPoint num="22" id="4479" /> -<TGConnectingPoint num="23" id="4480" /> -<TGConnectingPoint num="24" id="4481" /> -<TGConnectingPoint num="25" id="4482" /> -<TGConnectingPoint num="26" id="4483" /> -<TGConnectingPoint num="27" id="4484" /> -<TGConnectingPoint num="28" id="4485" /> -<TGConnectingPoint num="29" id="4486" /> -<TGConnectingPoint num="30" id="4487" /> -<TGConnectingPoint num="31" id="4488" /> -<TGConnectingPoint num="32" id="4489" /> -<TGConnectingPoint num="33" id="4490" /> -<TGConnectingPoint num="34" id="4491" /> -<TGConnectingPoint num="35" id="4492" /> -<TGConnectingPoint num="36" id="4493" /> -<TGConnectingPoint num="37" id="4494" /> -<TGConnectingPoint num="38" id="4495" /> -<TGConnectingPoint num="39" id="4496" /> -<TGConnectingPoint num="40" id="4497" /> -<TGConnectingPoint num="41" id="4498" /> -<TGConnectingPoint num="42" id="4499" /> -<TGConnectingPoint num="43" id="4500" /> -<TGConnectingPoint num="44" id="4501" /> -<TGConnectingPoint num="45" id="4502" /> -<TGConnectingPoint num="46" id="4503" /> -<TGConnectingPoint num="47" id="4504" /> -<TGConnectingPoint num="48" id="4505" /> -<TGConnectingPoint num="49" id="4506" /> -<TGConnectingPoint num="50" id="4507" /> -<TGConnectingPoint num="51" id="4508" /> -<TGConnectingPoint num="52" id="4509" /> -<TGConnectingPoint num="53" id="4510" /> -<TGConnectingPoint num="54" id="4511" /> -<TGConnectingPoint num="55" id="4512" /> -<TGConnectingPoint num="56" id="4513" /> -<TGConnectingPoint num="57" id="4514" /> -<TGConnectingPoint num="58" id="4515" /> -<TGConnectingPoint num="59" id="4516" /> -<TGConnectingPoint num="60" id="4517" /> -<TGConnectingPoint num="61" id="4518" /> -<TGConnectingPoint num="62" id="4519" /> -<TGConnectingPoint num="63" id="4520" /> -<TGConnectingPoint num="64" id="4521" /> -<TGConnectingPoint num="65" id="4522" /> -<TGConnectingPoint num="66" id="4523" /> -<TGConnectingPoint num="67" id="4524" /> -<TGConnectingPoint num="68" id="4525" /> -<TGConnectingPoint num="69" id="4526" /> -<TGConnectingPoint num="70" id="4527" /> -<TGConnectingPoint num="71" id="4528" /> +<TGConnectingPoint num="0" id="3762" /> +<TGConnectingPoint num="1" id="3763" /> +<TGConnectingPoint num="2" id="3764" /> +<TGConnectingPoint num="3" id="3765" /> +<TGConnectingPoint num="4" id="3766" /> +<TGConnectingPoint num="5" id="3767" /> +<TGConnectingPoint num="6" id="3768" /> +<TGConnectingPoint num="7" id="3769" /> +<TGConnectingPoint num="8" id="3770" /> +<TGConnectingPoint num="9" id="3771" /> +<TGConnectingPoint num="10" id="3772" /> +<TGConnectingPoint num="11" id="3773" /> +<TGConnectingPoint num="12" id="3774" /> +<TGConnectingPoint num="13" id="3775" /> +<TGConnectingPoint num="14" id="3776" /> +<TGConnectingPoint num="15" id="3777" /> +<TGConnectingPoint num="16" id="3778" /> +<TGConnectingPoint num="17" id="3779" /> +<TGConnectingPoint num="18" id="3780" /> +<TGConnectingPoint num="19" id="3781" /> +<TGConnectingPoint num="20" id="3782" /> +<TGConnectingPoint num="21" id="3783" /> +<TGConnectingPoint num="22" id="3784" /> +<TGConnectingPoint num="23" id="3785" /> +<TGConnectingPoint num="24" id="3786" /> +<TGConnectingPoint num="25" id="3787" /> +<TGConnectingPoint num="26" id="3788" /> +<TGConnectingPoint num="27" id="3789" /> +<TGConnectingPoint num="28" id="3790" /> +<TGConnectingPoint num="29" id="3791" /> +<TGConnectingPoint num="30" id="3792" /> +<TGConnectingPoint num="31" id="3793" /> +<TGConnectingPoint num="32" id="3794" /> +<TGConnectingPoint num="33" id="3795" /> +<TGConnectingPoint num="34" id="3796" /> +<TGConnectingPoint num="35" id="3797" /> +<TGConnectingPoint num="36" id="3798" /> +<TGConnectingPoint num="37" id="3799" /> +<TGConnectingPoint num="38" id="3800" /> +<TGConnectingPoint num="39" id="3801" /> +<TGConnectingPoint num="40" id="3802" /> +<TGConnectingPoint num="41" id="3803" /> +<TGConnectingPoint num="42" id="3804" /> +<TGConnectingPoint num="43" id="3805" /> +<TGConnectingPoint num="44" id="3806" /> +<TGConnectingPoint num="45" id="3807" /> +<TGConnectingPoint num="46" id="3808" /> +<TGConnectingPoint num="47" id="3809" /> +<TGConnectingPoint num="48" id="3810" /> +<TGConnectingPoint num="49" id="3811" /> +<TGConnectingPoint num="50" id="3812" /> +<TGConnectingPoint num="51" id="3813" /> +<TGConnectingPoint num="52" id="3814" /> +<TGConnectingPoint num="53" id="3815" /> +<TGConnectingPoint num="54" id="3816" /> +<TGConnectingPoint num="55" id="3817" /> +<TGConnectingPoint num="56" id="3818" /> +<TGConnectingPoint num="57" id="3819" /> +<TGConnectingPoint num="58" id="3820" /> +<TGConnectingPoint num="59" id="3821" /> +<TGConnectingPoint num="60" id="3822" /> +<TGConnectingPoint num="61" id="3823" /> +<TGConnectingPoint num="62" id="3824" /> +<TGConnectingPoint num="63" id="3825" /> +<TGConnectingPoint num="64" id="3826" /> +<TGConnectingPoint num="65" id="3827" /> +<TGConnectingPoint num="66" id="3828" /> +<TGConnectingPoint num="67" id="3829" /> +<TGConnectingPoint num="68" id="3830" /> +<TGConnectingPoint num="69" id="3831" /> +<TGConnectingPoint num="70" id="3832" /> +<TGConnectingPoint num="71" id="3833" /> <extraparam> </extraparam> </COMPONENT> -<COMPONENT type="5103" id="4540" index="6" uid="b7c78bc4-bc9b-413a-872d-6cb488584f62" > +<COMPONENT type="5103" id="3845" index="6" uid="b7c78bc4-bc9b-413a-872d-6cb488584f62" > <cdparam x="377" y="285" /> <sizeparam width="60" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -7163,29 +7163,29 @@ <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="Send signal" value="chout(m)" /> <new d="false" /> -<TGConnectingPoint num="0" id="4530" /> -<TGConnectingPoint num="1" id="4531" /> -<TGConnectingPoint num="2" id="4532" /> -<TGConnectingPoint num="3" id="4533" /> -<TGConnectingPoint num="4" id="4534" /> -<TGConnectingPoint num="5" id="4535" /> -<TGConnectingPoint num="6" id="4536" /> -<TGConnectingPoint num="7" id="4537" /> -<TGConnectingPoint num="8" id="4538" /> -<TGConnectingPoint num="9" id="4539" /> +<TGConnectingPoint num="0" id="3835" /> +<TGConnectingPoint num="1" id="3836" /> +<TGConnectingPoint num="2" id="3837" /> +<TGConnectingPoint num="3" id="3838" /> +<TGConnectingPoint num="4" id="3839" /> +<TGConnectingPoint num="5" id="3840" /> +<TGConnectingPoint num="6" id="3841" /> +<TGConnectingPoint num="7" id="3842" /> +<TGConnectingPoint num="8" id="3843" /> +<TGConnectingPoint num="9" id="3844" /> </COMPONENT> -<COMPONENT type="5101" id="4542" index="7" uid="db9822cc-3240-4766-967d-9afe81c0d8b0" > +<COMPONENT type="5101" id="3847" index="7" uid="db9822cc-3240-4766-967d-9afe81c0d8b0" > <cdparam x="403" y="428" /> <sizeparam width="20" height="20" 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="stop state" value="null" /> <new d="false" /> -<TGConnectingPoint num="0" id="4541" /> +<TGConnectingPoint num="0" id="3846" /> </COMPONENT> -<COMPONENT type="5106" id="4615" index="8" uid="5e6cf696-97ff-4111-823a-95f8c039d3c4" > +<COMPONENT type="5106" id="3920" index="8" uid="5e6cf696-97ff-4111-823a-95f8c039d3c4" > <cdparam x="335" y="189" /> <sizeparam width="143" height="40" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -7193,83 +7193,83 @@ <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="state0" value="sendingMessage" /> <new d="false" /> -<TGConnectingPoint num="0" id="4543" /> -<TGConnectingPoint num="1" id="4544" /> -<TGConnectingPoint num="2" id="4545" /> -<TGConnectingPoint num="3" id="4546" /> -<TGConnectingPoint num="4" id="4547" /> -<TGConnectingPoint num="5" id="4548" /> -<TGConnectingPoint num="6" id="4549" /> -<TGConnectingPoint num="7" id="4550" /> -<TGConnectingPoint num="8" id="4551" /> -<TGConnectingPoint num="9" id="4552" /> -<TGConnectingPoint num="10" id="4553" /> -<TGConnectingPoint num="11" id="4554" /> -<TGConnectingPoint num="12" id="4555" /> -<TGConnectingPoint num="13" id="4556" /> -<TGConnectingPoint num="14" id="4557" /> -<TGConnectingPoint num="15" id="4558" /> -<TGConnectingPoint num="16" id="4559" /> -<TGConnectingPoint num="17" id="4560" /> -<TGConnectingPoint num="18" id="4561" /> -<TGConnectingPoint num="19" id="4562" /> -<TGConnectingPoint num="20" id="4563" /> -<TGConnectingPoint num="21" id="4564" /> -<TGConnectingPoint num="22" id="4565" /> -<TGConnectingPoint num="23" id="4566" /> -<TGConnectingPoint num="24" id="4567" /> -<TGConnectingPoint num="25" id="4568" /> -<TGConnectingPoint num="26" id="4569" /> -<TGConnectingPoint num="27" id="4570" /> -<TGConnectingPoint num="28" id="4571" /> -<TGConnectingPoint num="29" id="4572" /> -<TGConnectingPoint num="30" id="4573" /> -<TGConnectingPoint num="31" id="4574" /> -<TGConnectingPoint num="32" id="4575" /> -<TGConnectingPoint num="33" id="4576" /> -<TGConnectingPoint num="34" id="4577" /> -<TGConnectingPoint num="35" id="4578" /> -<TGConnectingPoint num="36" id="4579" /> -<TGConnectingPoint num="37" id="4580" /> -<TGConnectingPoint num="38" id="4581" /> -<TGConnectingPoint num="39" id="4582" /> -<TGConnectingPoint num="40" id="4583" /> -<TGConnectingPoint num="41" id="4584" /> -<TGConnectingPoint num="42" id="4585" /> -<TGConnectingPoint num="43" id="4586" /> -<TGConnectingPoint num="44" id="4587" /> -<TGConnectingPoint num="45" id="4588" /> -<TGConnectingPoint num="46" id="4589" /> -<TGConnectingPoint num="47" id="4590" /> -<TGConnectingPoint num="48" id="4591" /> -<TGConnectingPoint num="49" id="4592" /> -<TGConnectingPoint num="50" id="4593" /> -<TGConnectingPoint num="51" id="4594" /> -<TGConnectingPoint num="52" id="4595" /> -<TGConnectingPoint num="53" id="4596" /> -<TGConnectingPoint num="54" id="4597" /> -<TGConnectingPoint num="55" id="4598" /> -<TGConnectingPoint num="56" id="4599" /> -<TGConnectingPoint num="57" id="4600" /> -<TGConnectingPoint num="58" id="4601" /> -<TGConnectingPoint num="59" id="4602" /> -<TGConnectingPoint num="60" id="4603" /> -<TGConnectingPoint num="61" id="4604" /> -<TGConnectingPoint num="62" id="4605" /> -<TGConnectingPoint num="63" id="4606" /> -<TGConnectingPoint num="64" id="4607" /> -<TGConnectingPoint num="65" id="4608" /> -<TGConnectingPoint num="66" id="4609" /> -<TGConnectingPoint num="67" id="4610" /> -<TGConnectingPoint num="68" id="4611" /> -<TGConnectingPoint num="69" id="4612" /> -<TGConnectingPoint num="70" id="4613" /> -<TGConnectingPoint num="71" id="4614" /> +<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" /> +<TGConnectingPoint num="10" id="3858" /> +<TGConnectingPoint num="11" id="3859" /> +<TGConnectingPoint num="12" id="3860" /> +<TGConnectingPoint num="13" id="3861" /> +<TGConnectingPoint num="14" id="3862" /> +<TGConnectingPoint num="15" id="3863" /> +<TGConnectingPoint num="16" id="3864" /> +<TGConnectingPoint num="17" id="3865" /> +<TGConnectingPoint num="18" id="3866" /> +<TGConnectingPoint num="19" id="3867" /> +<TGConnectingPoint num="20" id="3868" /> +<TGConnectingPoint num="21" id="3869" /> +<TGConnectingPoint num="22" id="3870" /> +<TGConnectingPoint num="23" id="3871" /> +<TGConnectingPoint num="24" id="3872" /> +<TGConnectingPoint num="25" id="3873" /> +<TGConnectingPoint num="26" id="3874" /> +<TGConnectingPoint num="27" id="3875" /> +<TGConnectingPoint num="28" id="3876" /> +<TGConnectingPoint num="29" id="3877" /> +<TGConnectingPoint num="30" id="3878" /> +<TGConnectingPoint num="31" id="3879" /> +<TGConnectingPoint num="32" id="3880" /> +<TGConnectingPoint num="33" id="3881" /> +<TGConnectingPoint num="34" id="3882" /> +<TGConnectingPoint num="35" id="3883" /> +<TGConnectingPoint num="36" id="3884" /> +<TGConnectingPoint num="37" id="3885" /> +<TGConnectingPoint num="38" id="3886" /> +<TGConnectingPoint num="39" id="3887" /> +<TGConnectingPoint num="40" id="3888" /> +<TGConnectingPoint num="41" id="3889" /> +<TGConnectingPoint num="42" id="3890" /> +<TGConnectingPoint num="43" id="3891" /> +<TGConnectingPoint num="44" id="3892" /> +<TGConnectingPoint num="45" id="3893" /> +<TGConnectingPoint num="46" id="3894" /> +<TGConnectingPoint num="47" id="3895" /> +<TGConnectingPoint num="48" id="3896" /> +<TGConnectingPoint num="49" id="3897" /> +<TGConnectingPoint num="50" id="3898" /> +<TGConnectingPoint num="51" id="3899" /> +<TGConnectingPoint num="52" id="3900" /> +<TGConnectingPoint num="53" id="3901" /> +<TGConnectingPoint num="54" id="3902" /> +<TGConnectingPoint num="55" id="3903" /> +<TGConnectingPoint num="56" id="3904" /> +<TGConnectingPoint num="57" id="3905" /> +<TGConnectingPoint num="58" id="3906" /> +<TGConnectingPoint num="59" id="3907" /> +<TGConnectingPoint num="60" id="3908" /> +<TGConnectingPoint num="61" id="3909" /> +<TGConnectingPoint num="62" id="3910" /> +<TGConnectingPoint num="63" id="3911" /> +<TGConnectingPoint num="64" id="3912" /> +<TGConnectingPoint num="65" id="3913" /> +<TGConnectingPoint num="66" id="3914" /> +<TGConnectingPoint num="67" id="3915" /> +<TGConnectingPoint num="68" id="3916" /> +<TGConnectingPoint num="69" id="3917" /> +<TGConnectingPoint num="70" id="3918" /> +<TGConnectingPoint num="71" id="3919" /> <extraparam> </extraparam> </COMPONENT> -<COMPONENT type="5106" id="4688" index="9" uid="c49e4216-81c0-453c-a319-7102c1722c5f" > +<COMPONENT type="5106" id="3993" index="9" uid="c49e4216-81c0-453c-a319-7102c1722c5f" > <cdparam x="340" y="92" /> <sizeparam width="134" height="40" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -7277,107 +7277,107 @@ <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="state0" value="makingMessage" /> <new d="false" /> -<TGConnectingPoint num="0" id="4616" /> -<TGConnectingPoint num="1" id="4617" /> -<TGConnectingPoint num="2" id="4618" /> -<TGConnectingPoint num="3" id="4619" /> -<TGConnectingPoint num="4" id="4620" /> -<TGConnectingPoint num="5" id="4621" /> -<TGConnectingPoint num="6" id="4622" /> -<TGConnectingPoint num="7" id="4623" /> -<TGConnectingPoint num="8" id="4624" /> -<TGConnectingPoint num="9" id="4625" /> -<TGConnectingPoint num="10" id="4626" /> -<TGConnectingPoint num="11" id="4627" /> -<TGConnectingPoint num="12" id="4628" /> -<TGConnectingPoint num="13" id="4629" /> -<TGConnectingPoint num="14" id="4630" /> -<TGConnectingPoint num="15" id="4631" /> -<TGConnectingPoint num="16" id="4632" /> -<TGConnectingPoint num="17" id="4633" /> -<TGConnectingPoint num="18" id="4634" /> -<TGConnectingPoint num="19" id="4635" /> -<TGConnectingPoint num="20" id="4636" /> -<TGConnectingPoint num="21" id="4637" /> -<TGConnectingPoint num="22" id="4638" /> -<TGConnectingPoint num="23" id="4639" /> -<TGConnectingPoint num="24" id="4640" /> -<TGConnectingPoint num="25" id="4641" /> -<TGConnectingPoint num="26" id="4642" /> -<TGConnectingPoint num="27" id="4643" /> -<TGConnectingPoint num="28" id="4644" /> -<TGConnectingPoint num="29" id="4645" /> -<TGConnectingPoint num="30" id="4646" /> -<TGConnectingPoint num="31" id="4647" /> -<TGConnectingPoint num="32" id="4648" /> -<TGConnectingPoint num="33" id="4649" /> -<TGConnectingPoint num="34" id="4650" /> -<TGConnectingPoint num="35" id="4651" /> -<TGConnectingPoint num="36" id="4652" /> -<TGConnectingPoint num="37" id="4653" /> -<TGConnectingPoint num="38" id="4654" /> -<TGConnectingPoint num="39" id="4655" /> -<TGConnectingPoint num="40" id="4656" /> -<TGConnectingPoint num="41" id="4657" /> -<TGConnectingPoint num="42" id="4658" /> -<TGConnectingPoint num="43" id="4659" /> -<TGConnectingPoint num="44" id="4660" /> -<TGConnectingPoint num="45" id="4661" /> -<TGConnectingPoint num="46" id="4662" /> -<TGConnectingPoint num="47" id="4663" /> -<TGConnectingPoint num="48" id="4664" /> -<TGConnectingPoint num="49" id="4665" /> -<TGConnectingPoint num="50" id="4666" /> -<TGConnectingPoint num="51" id="4667" /> -<TGConnectingPoint num="52" id="4668" /> -<TGConnectingPoint num="53" id="4669" /> -<TGConnectingPoint num="54" id="4670" /> -<TGConnectingPoint num="55" id="4671" /> -<TGConnectingPoint num="56" id="4672" /> -<TGConnectingPoint num="57" id="4673" /> -<TGConnectingPoint num="58" id="4674" /> -<TGConnectingPoint num="59" id="4675" /> -<TGConnectingPoint num="60" id="4676" /> -<TGConnectingPoint num="61" id="4677" /> -<TGConnectingPoint num="62" id="4678" /> -<TGConnectingPoint num="63" id="4679" /> -<TGConnectingPoint num="64" id="4680" /> -<TGConnectingPoint num="65" id="4681" /> -<TGConnectingPoint num="66" id="4682" /> -<TGConnectingPoint num="67" id="4683" /> -<TGConnectingPoint num="68" id="4684" /> -<TGConnectingPoint num="69" id="4685" /> -<TGConnectingPoint num="70" id="4686" /> -<TGConnectingPoint num="71" id="4687" /> +<TGConnectingPoint num="0" id="3921" /> +<TGConnectingPoint num="1" id="3922" /> +<TGConnectingPoint num="2" id="3923" /> +<TGConnectingPoint num="3" id="3924" /> +<TGConnectingPoint num="4" id="3925" /> +<TGConnectingPoint num="5" id="3926" /> +<TGConnectingPoint num="6" id="3927" /> +<TGConnectingPoint num="7" id="3928" /> +<TGConnectingPoint num="8" id="3929" /> +<TGConnectingPoint num="9" id="3930" /> +<TGConnectingPoint num="10" id="3931" /> +<TGConnectingPoint num="11" id="3932" /> +<TGConnectingPoint num="12" id="3933" /> +<TGConnectingPoint num="13" id="3934" /> +<TGConnectingPoint num="14" id="3935" /> +<TGConnectingPoint num="15" id="3936" /> +<TGConnectingPoint num="16" id="3937" /> +<TGConnectingPoint num="17" id="3938" /> +<TGConnectingPoint num="18" id="3939" /> +<TGConnectingPoint num="19" id="3940" /> +<TGConnectingPoint num="20" id="3941" /> +<TGConnectingPoint num="21" id="3942" /> +<TGConnectingPoint num="22" id="3943" /> +<TGConnectingPoint num="23" id="3944" /> +<TGConnectingPoint num="24" id="3945" /> +<TGConnectingPoint num="25" id="3946" /> +<TGConnectingPoint num="26" id="3947" /> +<TGConnectingPoint num="27" id="3948" /> +<TGConnectingPoint num="28" id="3949" /> +<TGConnectingPoint num="29" id="3950" /> +<TGConnectingPoint num="30" id="3951" /> +<TGConnectingPoint num="31" id="3952" /> +<TGConnectingPoint num="32" id="3953" /> +<TGConnectingPoint num="33" id="3954" /> +<TGConnectingPoint num="34" id="3955" /> +<TGConnectingPoint num="35" id="3956" /> +<TGConnectingPoint num="36" id="3957" /> +<TGConnectingPoint num="37" id="3958" /> +<TGConnectingPoint num="38" id="3959" /> +<TGConnectingPoint num="39" id="3960" /> +<TGConnectingPoint num="40" id="3961" /> +<TGConnectingPoint num="41" id="3962" /> +<TGConnectingPoint num="42" id="3963" /> +<TGConnectingPoint num="43" id="3964" /> +<TGConnectingPoint num="44" id="3965" /> +<TGConnectingPoint num="45" id="3966" /> +<TGConnectingPoint num="46" id="3967" /> +<TGConnectingPoint num="47" id="3968" /> +<TGConnectingPoint num="48" id="3969" /> +<TGConnectingPoint num="49" id="3970" /> +<TGConnectingPoint num="50" id="3971" /> +<TGConnectingPoint num="51" id="3972" /> +<TGConnectingPoint num="52" id="3973" /> +<TGConnectingPoint num="53" id="3974" /> +<TGConnectingPoint num="54" id="3975" /> +<TGConnectingPoint num="55" id="3976" /> +<TGConnectingPoint num="56" id="3977" /> +<TGConnectingPoint num="57" id="3978" /> +<TGConnectingPoint num="58" id="3979" /> +<TGConnectingPoint num="59" id="3980" /> +<TGConnectingPoint num="60" id="3981" /> +<TGConnectingPoint num="61" id="3982" /> +<TGConnectingPoint num="62" id="3983" /> +<TGConnectingPoint num="63" id="3984" /> +<TGConnectingPoint num="64" id="3985" /> +<TGConnectingPoint num="65" id="3986" /> +<TGConnectingPoint num="66" id="3987" /> +<TGConnectingPoint num="67" id="3988" /> +<TGConnectingPoint num="68" id="3989" /> +<TGConnectingPoint num="69" id="3990" /> +<TGConnectingPoint num="70" id="3991" /> +<TGConnectingPoint num="71" id="3992" /> <extraparam> </extraparam> </COMPONENT> -<COMPONENT type="5100" id="4690" index="10" uid="26306ba6-bb54-4a40-add4-6702f55d2d80" > +<COMPONENT type="5100" id="3995" index="10" uid="26306ba6-bb54-4a40-add4-6702f55d2d80" > <cdparam x="400" y="50" /> <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" /> <new d="false" /> -<TGConnectingPoint num="0" id="4689" /> +<TGConnectingPoint num="0" id="3994" /> </COMPONENT> </AVATARStateMachineDiagramPanel> <AVATARStateMachineDiagramPanel name="Bob" minX="10" maxX="1400" minY="10" maxY="900" zoom="1.0" > -<CONNECTOR type="5102" id="4697" index="0" uid="890868e4-deab-4a24-a5b5-a7d428ee6071" > +<CONNECTOR type="5102" id="4002" index="0" uid="890868e4-deab-4a24-a5b5-a7d428ee6071" > <cdparam x="407" y="269" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from state0 to state0" value="null" /> -<TGConnectingPoint num="0" id="4696" /> -<P1 x="407" y="269" id="4725" /> -<P2 x="406" y="313" id="4793" /> +<TGConnectingPoint num="0" id="4001" /> +<P1 x="407" y="269" id="4030" /> +<P2 x="406" y="313" id="4098" /> <AutomaticDrawing data="true" /> <new d="false" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="4695" index="9" uid="e5d4915d-c674-4f3c-adcc-29c5348adc60" > -<father id="4697" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="4000" index="9" uid="e5d4915d-c674-4f3c-adcc-29c5348adc60" > +<father id="4002" num="0" /> <cdparam x="421" y="282" /> <sizeparam width="145" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -7385,10 +7385,10 @@ <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> <new d="false" /> -<TGConnectingPoint num="0" id="4691" /> -<TGConnectingPoint num="1" id="4692" /> -<TGConnectingPoint num="2" id="4693" /> -<TGConnectingPoint num="3" id="4694" /> +<TGConnectingPoint num="0" id="3996" /> +<TGConnectingPoint num="1" id="3997" /> +<TGConnectingPoint num="2" id="3998" /> +<TGConnectingPoint num="3" id="3999" /> <extraparam> <guard value="[ ]" enabled="true"/> <afterMin value="" enabled="true"/> @@ -7403,28 +7403,28 @@ </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="4704" index="1" uid="25f5afc6-98de-41c8-a1c1-74ff4eb1a19c" > +<CONNECTOR type="5102" id="4009" index="1" uid="25f5afc6-98de-41c8-a1c1-74ff4eb1a19c" > <cdparam x="406" y="201" /> <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="4703" /> -<P1 x="406" y="201" id="4866" /> -<P2 x="407" y="229" id="4720" /> +<TGConnectingPoint num="0" id="4008" /> +<P1 x="406" y="201" id="4171" /> +<P2 x="407" y="229" id="4025" /> <AutomaticDrawing data="true" /> <new d="false" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="4702" index="10" uid="4635a8b0-4efd-4bb1-aaa9-897d96203e1b" > -<father id="4704" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="4007" index="10" uid="4635a8b0-4efd-4bb1-aaa9-897d96203e1b" > +<father id="4009" num="0" /> <cdparam x="406" y="241" /> -<sizeparam width="10" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="50" height="25" 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="" /> <new d="false" /> -<TGConnectingPoint num="0" id="4698" /> -<TGConnectingPoint num="1" id="4699" /> -<TGConnectingPoint num="2" id="4700" /> -<TGConnectingPoint num="3" id="4701" /> +<TGConnectingPoint num="0" id="4003" /> +<TGConnectingPoint num="1" id="4004" /> +<TGConnectingPoint num="2" id="4005" /> +<TGConnectingPoint num="3" id="4006" /> <extraparam> <guard value="[ ]" enabled="true"/> <afterMin value="" enabled="true"/> @@ -7438,28 +7438,28 @@ </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="4711" index="2" uid="95791ba2-7827-43b7-a9c6-a2048f47cf10" > +<CONNECTOR type="5102" id="4016" index="2" uid="95791ba2-7827-43b7-a9c6-a2048f47cf10" > <cdparam x="406" y="141" /> <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="4710" /> -<P1 x="406" y="141" id="4882" /> -<P2 x="406" y="171" id="4865" /> +<TGConnectingPoint num="0" id="4015" /> +<P1 x="406" y="141" id="4187" /> +<P2 x="406" y="171" id="4170" /> <AutomaticDrawing data="true" /> <new d="false" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="4709" index="11" uid="c1fc7778-b738-4947-b211-687651391037" > -<father id="4711" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="4014" index="11" uid="c1fc7778-b738-4947-b211-687651391037" > +<father id="4016" num="0" /> <cdparam x="406" y="181" /> -<sizeparam width="10" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="50" height="25" 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="" /> <new d="false" /> -<TGConnectingPoint num="0" id="4705" /> -<TGConnectingPoint num="1" id="4706" /> -<TGConnectingPoint num="2" id="4707" /> -<TGConnectingPoint num="3" id="4708" /> +<TGConnectingPoint num="0" id="4010" /> +<TGConnectingPoint num="1" id="4011" /> +<TGConnectingPoint num="2" id="4012" /> +<TGConnectingPoint num="3" id="4013" /> <extraparam> <guard value="[ ]" enabled="true"/> <afterMin value="" enabled="true"/> @@ -7473,28 +7473,28 @@ </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="4718" index="3" uid="0fbb1d6e-4ac7-48aa-9047-cbe35af27998" > +<CONNECTOR type="5102" id="4023" index="3" uid="0fbb1d6e-4ac7-48aa-9047-cbe35af27998" > <cdparam x="407" y="70" /> <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="4717" /> -<P1 x="407" y="70" id="4949" /> -<P2 x="406" y="101" id="4877" /> +<TGConnectingPoint num="0" id="4022" /> +<P1 x="407" y="70" id="4254" /> +<P2 x="406" y="101" id="4182" /> <AutomaticDrawing data="true" /> <new d="false" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="4716" index="12" uid="b5480821-b913-47ee-8935-894c1cb922cb" > -<father id="4718" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="4021" index="12" uid="b5480821-b913-47ee-8935-894c1cb922cb" > +<father id="4023" num="0" /> <cdparam x="407" y="110" /> -<sizeparam width="10" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="50" height="25" 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="" /> <new d="false" /> -<TGConnectingPoint num="0" id="4712" /> -<TGConnectingPoint num="1" id="4713" /> -<TGConnectingPoint num="2" id="4714" /> -<TGConnectingPoint num="3" id="4715" /> +<TGConnectingPoint num="0" id="4017" /> +<TGConnectingPoint num="1" id="4018" /> +<TGConnectingPoint num="2" id="4019" /> +<TGConnectingPoint num="3" id="4020" /> <extraparam> <guard value="[ ]" enabled="true"/> <afterMin value="" enabled="true"/> @@ -7508,7 +7508,7 @@ </extraparam> </SUBCOMPONENT> -<COMPONENT type="5106" id="4791" index="4" uid="54b9b02e-93f0-4269-97e5-b009a35fbcba" > +<COMPONENT type="5106" id="4096" index="4" uid="54b9b02e-93f0-4269-97e5-b009a35fbcba" > <cdparam x="318" y="229" /> <sizeparam width="178" height="40" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -7516,83 +7516,83 @@ <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="state0" value="messageDecrypted" /> <new d="false" /> -<TGConnectingPoint num="0" id="4719" /> -<TGConnectingPoint num="1" id="4720" /> -<TGConnectingPoint num="2" id="4721" /> -<TGConnectingPoint num="3" id="4722" /> -<TGConnectingPoint num="4" id="4723" /> -<TGConnectingPoint num="5" id="4724" /> -<TGConnectingPoint num="6" id="4725" /> -<TGConnectingPoint num="7" id="4726" /> -<TGConnectingPoint num="8" id="4727" /> -<TGConnectingPoint num="9" id="4728" /> -<TGConnectingPoint num="10" id="4729" /> -<TGConnectingPoint num="11" id="4730" /> -<TGConnectingPoint num="12" id="4731" /> -<TGConnectingPoint num="13" id="4732" /> -<TGConnectingPoint num="14" id="4733" /> -<TGConnectingPoint num="15" id="4734" /> -<TGConnectingPoint num="16" id="4735" /> -<TGConnectingPoint num="17" id="4736" /> -<TGConnectingPoint num="18" id="4737" /> -<TGConnectingPoint num="19" id="4738" /> -<TGConnectingPoint num="20" id="4739" /> -<TGConnectingPoint num="21" id="4740" /> -<TGConnectingPoint num="22" id="4741" /> -<TGConnectingPoint num="23" id="4742" /> -<TGConnectingPoint num="24" id="4743" /> -<TGConnectingPoint num="25" id="4744" /> -<TGConnectingPoint num="26" id="4745" /> -<TGConnectingPoint num="27" id="4746" /> -<TGConnectingPoint num="28" id="4747" /> -<TGConnectingPoint num="29" id="4748" /> -<TGConnectingPoint num="30" id="4749" /> -<TGConnectingPoint num="31" id="4750" /> -<TGConnectingPoint num="32" id="4751" /> -<TGConnectingPoint num="33" id="4752" /> -<TGConnectingPoint num="34" id="4753" /> -<TGConnectingPoint num="35" id="4754" /> -<TGConnectingPoint num="36" id="4755" /> -<TGConnectingPoint num="37" id="4756" /> -<TGConnectingPoint num="38" id="4757" /> -<TGConnectingPoint num="39" id="4758" /> -<TGConnectingPoint num="40" id="4759" /> -<TGConnectingPoint num="41" id="4760" /> -<TGConnectingPoint num="42" id="4761" /> -<TGConnectingPoint num="43" id="4762" /> -<TGConnectingPoint num="44" id="4763" /> -<TGConnectingPoint num="45" id="4764" /> -<TGConnectingPoint num="46" id="4765" /> -<TGConnectingPoint num="47" id="4766" /> -<TGConnectingPoint num="48" id="4767" /> -<TGConnectingPoint num="49" id="4768" /> -<TGConnectingPoint num="50" id="4769" /> -<TGConnectingPoint num="51" id="4770" /> -<TGConnectingPoint num="52" id="4771" /> -<TGConnectingPoint num="53" id="4772" /> -<TGConnectingPoint num="54" id="4773" /> -<TGConnectingPoint num="55" id="4774" /> -<TGConnectingPoint num="56" id="4775" /> -<TGConnectingPoint num="57" id="4776" /> -<TGConnectingPoint num="58" id="4777" /> -<TGConnectingPoint num="59" id="4778" /> -<TGConnectingPoint num="60" id="4779" /> -<TGConnectingPoint num="61" id="4780" /> -<TGConnectingPoint num="62" id="4781" /> -<TGConnectingPoint num="63" id="4782" /> -<TGConnectingPoint num="64" id="4783" /> -<TGConnectingPoint num="65" id="4784" /> -<TGConnectingPoint num="66" id="4785" /> -<TGConnectingPoint num="67" id="4786" /> -<TGConnectingPoint num="68" id="4787" /> -<TGConnectingPoint num="69" id="4788" /> -<TGConnectingPoint num="70" id="4789" /> -<TGConnectingPoint num="71" id="4790" /> +<TGConnectingPoint num="0" id="4024" /> +<TGConnectingPoint num="1" id="4025" /> +<TGConnectingPoint num="2" id="4026" /> +<TGConnectingPoint num="3" id="4027" /> +<TGConnectingPoint num="4" id="4028" /> +<TGConnectingPoint num="5" id="4029" /> +<TGConnectingPoint num="6" id="4030" /> +<TGConnectingPoint num="7" id="4031" /> +<TGConnectingPoint num="8" id="4032" /> +<TGConnectingPoint num="9" id="4033" /> +<TGConnectingPoint num="10" id="4034" /> +<TGConnectingPoint num="11" id="4035" /> +<TGConnectingPoint num="12" id="4036" /> +<TGConnectingPoint num="13" id="4037" /> +<TGConnectingPoint num="14" id="4038" /> +<TGConnectingPoint num="15" id="4039" /> +<TGConnectingPoint num="16" id="4040" /> +<TGConnectingPoint num="17" id="4041" /> +<TGConnectingPoint num="18" id="4042" /> +<TGConnectingPoint num="19" id="4043" /> +<TGConnectingPoint num="20" id="4044" /> +<TGConnectingPoint num="21" id="4045" /> +<TGConnectingPoint num="22" id="4046" /> +<TGConnectingPoint num="23" id="4047" /> +<TGConnectingPoint num="24" id="4048" /> +<TGConnectingPoint num="25" id="4049" /> +<TGConnectingPoint num="26" id="4050" /> +<TGConnectingPoint num="27" id="4051" /> +<TGConnectingPoint num="28" id="4052" /> +<TGConnectingPoint num="29" id="4053" /> +<TGConnectingPoint num="30" id="4054" /> +<TGConnectingPoint num="31" id="4055" /> +<TGConnectingPoint num="32" id="4056" /> +<TGConnectingPoint num="33" id="4057" /> +<TGConnectingPoint num="34" id="4058" /> +<TGConnectingPoint num="35" id="4059" /> +<TGConnectingPoint num="36" id="4060" /> +<TGConnectingPoint num="37" id="4061" /> +<TGConnectingPoint num="38" id="4062" /> +<TGConnectingPoint num="39" id="4063" /> +<TGConnectingPoint num="40" id="4064" /> +<TGConnectingPoint num="41" id="4065" /> +<TGConnectingPoint num="42" id="4066" /> +<TGConnectingPoint num="43" id="4067" /> +<TGConnectingPoint num="44" id="4068" /> +<TGConnectingPoint num="45" id="4069" /> +<TGConnectingPoint num="46" id="4070" /> +<TGConnectingPoint num="47" id="4071" /> +<TGConnectingPoint num="48" id="4072" /> +<TGConnectingPoint num="49" id="4073" /> +<TGConnectingPoint num="50" id="4074" /> +<TGConnectingPoint num="51" id="4075" /> +<TGConnectingPoint num="52" id="4076" /> +<TGConnectingPoint num="53" id="4077" /> +<TGConnectingPoint num="54" id="4078" /> +<TGConnectingPoint num="55" id="4079" /> +<TGConnectingPoint num="56" id="4080" /> +<TGConnectingPoint num="57" id="4081" /> +<TGConnectingPoint num="58" id="4082" /> +<TGConnectingPoint num="59" id="4083" /> +<TGConnectingPoint num="60" id="4084" /> +<TGConnectingPoint num="61" id="4085" /> +<TGConnectingPoint num="62" id="4086" /> +<TGConnectingPoint num="63" id="4087" /> +<TGConnectingPoint num="64" id="4088" /> +<TGConnectingPoint num="65" id="4089" /> +<TGConnectingPoint num="66" id="4090" /> +<TGConnectingPoint num="67" id="4091" /> +<TGConnectingPoint num="68" id="4092" /> +<TGConnectingPoint num="69" id="4093" /> +<TGConnectingPoint num="70" id="4094" /> +<TGConnectingPoint num="71" id="4095" /> <extraparam> </extraparam> </COMPONENT> -<COMPONENT type="5106" id="4864" index="5" uid="6e816852-20a4-49f3-a2ff-b25a9be79602" > +<COMPONENT type="5106" id="4169" index="5" uid="6e816852-20a4-49f3-a2ff-b25a9be79602" > <cdparam x="336" y="313" /> <sizeparam width="140" height="40" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -7600,83 +7600,83 @@ <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="state0" value="SecretDataReceived" /> <new d="false" /> -<TGConnectingPoint num="0" id="4792" /> -<TGConnectingPoint num="1" id="4793" /> -<TGConnectingPoint num="2" id="4794" /> -<TGConnectingPoint num="3" id="4795" /> -<TGConnectingPoint num="4" id="4796" /> -<TGConnectingPoint num="5" id="4797" /> -<TGConnectingPoint num="6" id="4798" /> -<TGConnectingPoint num="7" id="4799" /> -<TGConnectingPoint num="8" id="4800" /> -<TGConnectingPoint num="9" id="4801" /> -<TGConnectingPoint num="10" id="4802" /> -<TGConnectingPoint num="11" id="4803" /> -<TGConnectingPoint num="12" id="4804" /> -<TGConnectingPoint num="13" id="4805" /> -<TGConnectingPoint num="14" id="4806" /> -<TGConnectingPoint num="15" id="4807" /> -<TGConnectingPoint num="16" id="4808" /> -<TGConnectingPoint num="17" id="4809" /> -<TGConnectingPoint num="18" id="4810" /> -<TGConnectingPoint num="19" id="4811" /> -<TGConnectingPoint num="20" id="4812" /> -<TGConnectingPoint num="21" id="4813" /> -<TGConnectingPoint num="22" id="4814" /> -<TGConnectingPoint num="23" id="4815" /> -<TGConnectingPoint num="24" id="4816" /> -<TGConnectingPoint num="25" id="4817" /> -<TGConnectingPoint num="26" id="4818" /> -<TGConnectingPoint num="27" id="4819" /> -<TGConnectingPoint num="28" id="4820" /> -<TGConnectingPoint num="29" id="4821" /> -<TGConnectingPoint num="30" id="4822" /> -<TGConnectingPoint num="31" id="4823" /> -<TGConnectingPoint num="32" id="4824" /> -<TGConnectingPoint num="33" id="4825" /> -<TGConnectingPoint num="34" id="4826" /> -<TGConnectingPoint num="35" id="4827" /> -<TGConnectingPoint num="36" id="4828" /> -<TGConnectingPoint num="37" id="4829" /> -<TGConnectingPoint num="38" id="4830" /> -<TGConnectingPoint num="39" id="4831" /> -<TGConnectingPoint num="40" id="4832" /> -<TGConnectingPoint num="41" id="4833" /> -<TGConnectingPoint num="42" id="4834" /> -<TGConnectingPoint num="43" id="4835" /> -<TGConnectingPoint num="44" id="4836" /> -<TGConnectingPoint num="45" id="4837" /> -<TGConnectingPoint num="46" id="4838" /> -<TGConnectingPoint num="47" id="4839" /> -<TGConnectingPoint num="48" id="4840" /> -<TGConnectingPoint num="49" id="4841" /> -<TGConnectingPoint num="50" id="4842" /> -<TGConnectingPoint num="51" id="4843" /> -<TGConnectingPoint num="52" id="4844" /> -<TGConnectingPoint num="53" id="4845" /> -<TGConnectingPoint num="54" id="4846" /> -<TGConnectingPoint num="55" id="4847" /> -<TGConnectingPoint num="56" id="4848" /> -<TGConnectingPoint num="57" id="4849" /> -<TGConnectingPoint num="58" id="4850" /> -<TGConnectingPoint num="59" id="4851" /> -<TGConnectingPoint num="60" id="4852" /> -<TGConnectingPoint num="61" id="4853" /> -<TGConnectingPoint num="62" id="4854" /> -<TGConnectingPoint num="63" id="4855" /> -<TGConnectingPoint num="64" id="4856" /> -<TGConnectingPoint num="65" id="4857" /> -<TGConnectingPoint num="66" id="4858" /> -<TGConnectingPoint num="67" id="4859" /> -<TGConnectingPoint num="68" id="4860" /> -<TGConnectingPoint num="69" id="4861" /> -<TGConnectingPoint num="70" id="4862" /> -<TGConnectingPoint num="71" id="4863" /> +<TGConnectingPoint num="0" id="4097" /> +<TGConnectingPoint num="1" id="4098" /> +<TGConnectingPoint num="2" id="4099" /> +<TGConnectingPoint num="3" id="4100" /> +<TGConnectingPoint num="4" id="4101" /> +<TGConnectingPoint num="5" id="4102" /> +<TGConnectingPoint num="6" id="4103" /> +<TGConnectingPoint num="7" id="4104" /> +<TGConnectingPoint num="8" id="4105" /> +<TGConnectingPoint num="9" id="4106" /> +<TGConnectingPoint num="10" id="4107" /> +<TGConnectingPoint num="11" id="4108" /> +<TGConnectingPoint num="12" id="4109" /> +<TGConnectingPoint num="13" id="4110" /> +<TGConnectingPoint num="14" id="4111" /> +<TGConnectingPoint num="15" id="4112" /> +<TGConnectingPoint num="16" id="4113" /> +<TGConnectingPoint num="17" id="4114" /> +<TGConnectingPoint num="18" id="4115" /> +<TGConnectingPoint num="19" id="4116" /> +<TGConnectingPoint num="20" id="4117" /> +<TGConnectingPoint num="21" id="4118" /> +<TGConnectingPoint num="22" id="4119" /> +<TGConnectingPoint num="23" id="4120" /> +<TGConnectingPoint num="24" id="4121" /> +<TGConnectingPoint num="25" id="4122" /> +<TGConnectingPoint num="26" id="4123" /> +<TGConnectingPoint num="27" id="4124" /> +<TGConnectingPoint num="28" id="4125" /> +<TGConnectingPoint num="29" id="4126" /> +<TGConnectingPoint num="30" id="4127" /> +<TGConnectingPoint num="31" id="4128" /> +<TGConnectingPoint num="32" id="4129" /> +<TGConnectingPoint num="33" id="4130" /> +<TGConnectingPoint num="34" id="4131" /> +<TGConnectingPoint num="35" id="4132" /> +<TGConnectingPoint num="36" id="4133" /> +<TGConnectingPoint num="37" id="4134" /> +<TGConnectingPoint num="38" id="4135" /> +<TGConnectingPoint num="39" id="4136" /> +<TGConnectingPoint num="40" id="4137" /> +<TGConnectingPoint num="41" id="4138" /> +<TGConnectingPoint num="42" id="4139" /> +<TGConnectingPoint num="43" id="4140" /> +<TGConnectingPoint num="44" id="4141" /> +<TGConnectingPoint num="45" id="4142" /> +<TGConnectingPoint num="46" id="4143" /> +<TGConnectingPoint num="47" id="4144" /> +<TGConnectingPoint num="48" id="4145" /> +<TGConnectingPoint num="49" id="4146" /> +<TGConnectingPoint num="50" id="4147" /> +<TGConnectingPoint num="51" id="4148" /> +<TGConnectingPoint num="52" id="4149" /> +<TGConnectingPoint num="53" id="4150" /> +<TGConnectingPoint num="54" id="4151" /> +<TGConnectingPoint num="55" id="4152" /> +<TGConnectingPoint num="56" id="4153" /> +<TGConnectingPoint num="57" id="4154" /> +<TGConnectingPoint num="58" id="4155" /> +<TGConnectingPoint num="59" id="4156" /> +<TGConnectingPoint num="60" id="4157" /> +<TGConnectingPoint num="61" id="4158" /> +<TGConnectingPoint num="62" id="4159" /> +<TGConnectingPoint num="63" id="4160" /> +<TGConnectingPoint num="64" id="4161" /> +<TGConnectingPoint num="65" id="4162" /> +<TGConnectingPoint num="66" id="4163" /> +<TGConnectingPoint num="67" id="4164" /> +<TGConnectingPoint num="68" id="4165" /> +<TGConnectingPoint num="69" id="4166" /> +<TGConnectingPoint num="70" id="4167" /> +<TGConnectingPoint num="71" id="4168" /> <extraparam> </extraparam> </COMPONENT> -<COMPONENT type="5104" id="4875" index="6" uid="7f6ca4f7-7f58-441f-9377-ed7e42784a39" > +<COMPONENT type="5104" id="4180" index="6" uid="7f6ca4f7-7f58-441f-9377-ed7e42784a39" > <cdparam x="376" y="176" /> <sizeparam width="60" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -7684,19 +7684,19 @@ <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="Send signal" value="chin(m)" /> <new d="false" /> -<TGConnectingPoint num="0" id="4865" /> -<TGConnectingPoint num="1" id="4866" /> -<TGConnectingPoint num="2" id="4867" /> -<TGConnectingPoint num="3" id="4868" /> -<TGConnectingPoint num="4" id="4869" /> -<TGConnectingPoint num="5" id="4870" /> -<TGConnectingPoint num="6" id="4871" /> -<TGConnectingPoint num="7" id="4872" /> -<TGConnectingPoint num="8" id="4873" /> -<TGConnectingPoint num="9" id="4874" /> +<TGConnectingPoint num="0" id="4170" /> +<TGConnectingPoint num="1" id="4171" /> +<TGConnectingPoint num="2" id="4172" /> +<TGConnectingPoint num="3" id="4173" /> +<TGConnectingPoint num="4" id="4174" /> +<TGConnectingPoint num="5" id="4175" /> +<TGConnectingPoint num="6" id="4176" /> +<TGConnectingPoint num="7" id="4177" /> +<TGConnectingPoint num="8" id="4178" /> +<TGConnectingPoint num="9" id="4179" /> </COMPONENT> -<COMPONENT type="5106" id="4948" index="7" uid="7090acff-d617-4c4c-9b81-8a6a2c59d419" > +<COMPONENT type="5106" id="4253" index="7" uid="7090acff-d617-4c4c-9b81-8a6a2c59d419" > <cdparam x="340" y="101" /> <sizeparam width="132" height="40" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -7704,90 +7704,90 @@ <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="state0" value="waitingForMessage" /> <new d="false" /> -<TGConnectingPoint num="0" id="4876" /> -<TGConnectingPoint num="1" id="4877" /> -<TGConnectingPoint num="2" id="4878" /> -<TGConnectingPoint num="3" id="4879" /> -<TGConnectingPoint num="4" id="4880" /> -<TGConnectingPoint num="5" id="4881" /> -<TGConnectingPoint num="6" id="4882" /> -<TGConnectingPoint num="7" id="4883" /> -<TGConnectingPoint num="8" id="4884" /> -<TGConnectingPoint num="9" id="4885" /> -<TGConnectingPoint num="10" id="4886" /> -<TGConnectingPoint num="11" id="4887" /> -<TGConnectingPoint num="12" id="4888" /> -<TGConnectingPoint num="13" id="4889" /> -<TGConnectingPoint num="14" id="4890" /> -<TGConnectingPoint num="15" id="4891" /> -<TGConnectingPoint num="16" id="4892" /> -<TGConnectingPoint num="17" id="4893" /> -<TGConnectingPoint num="18" id="4894" /> -<TGConnectingPoint num="19" id="4895" /> -<TGConnectingPoint num="20" id="4896" /> -<TGConnectingPoint num="21" id="4897" /> -<TGConnectingPoint num="22" id="4898" /> -<TGConnectingPoint num="23" id="4899" /> -<TGConnectingPoint num="24" id="4900" /> -<TGConnectingPoint num="25" id="4901" /> -<TGConnectingPoint num="26" id="4902" /> -<TGConnectingPoint num="27" id="4903" /> -<TGConnectingPoint num="28" id="4904" /> -<TGConnectingPoint num="29" id="4905" /> -<TGConnectingPoint num="30" id="4906" /> -<TGConnectingPoint num="31" id="4907" /> -<TGConnectingPoint num="32" id="4908" /> -<TGConnectingPoint num="33" id="4909" /> -<TGConnectingPoint num="34" id="4910" /> -<TGConnectingPoint num="35" id="4911" /> -<TGConnectingPoint num="36" id="4912" /> -<TGConnectingPoint num="37" id="4913" /> -<TGConnectingPoint num="38" id="4914" /> -<TGConnectingPoint num="39" id="4915" /> -<TGConnectingPoint num="40" id="4916" /> -<TGConnectingPoint num="41" id="4917" /> -<TGConnectingPoint num="42" id="4918" /> -<TGConnectingPoint num="43" id="4919" /> -<TGConnectingPoint num="44" id="4920" /> -<TGConnectingPoint num="45" id="4921" /> -<TGConnectingPoint num="46" id="4922" /> -<TGConnectingPoint num="47" id="4923" /> -<TGConnectingPoint num="48" id="4924" /> -<TGConnectingPoint num="49" id="4925" /> -<TGConnectingPoint num="50" id="4926" /> -<TGConnectingPoint num="51" id="4927" /> -<TGConnectingPoint num="52" id="4928" /> -<TGConnectingPoint num="53" id="4929" /> -<TGConnectingPoint num="54" id="4930" /> -<TGConnectingPoint num="55" id="4931" /> -<TGConnectingPoint num="56" id="4932" /> -<TGConnectingPoint num="57" id="4933" /> -<TGConnectingPoint num="58" id="4934" /> -<TGConnectingPoint num="59" id="4935" /> -<TGConnectingPoint num="60" id="4936" /> -<TGConnectingPoint num="61" id="4937" /> -<TGConnectingPoint num="62" id="4938" /> -<TGConnectingPoint num="63" id="4939" /> -<TGConnectingPoint num="64" id="4940" /> -<TGConnectingPoint num="65" id="4941" /> -<TGConnectingPoint num="66" id="4942" /> -<TGConnectingPoint num="67" id="4943" /> -<TGConnectingPoint num="68" id="4944" /> -<TGConnectingPoint num="69" id="4945" /> -<TGConnectingPoint num="70" id="4946" /> -<TGConnectingPoint num="71" id="4947" /> +<TGConnectingPoint num="0" id="4181" /> +<TGConnectingPoint num="1" id="4182" /> +<TGConnectingPoint num="2" id="4183" /> +<TGConnectingPoint num="3" id="4184" /> +<TGConnectingPoint num="4" id="4185" /> +<TGConnectingPoint num="5" id="4186" /> +<TGConnectingPoint num="6" id="4187" /> +<TGConnectingPoint num="7" id="4188" /> +<TGConnectingPoint num="8" id="4189" /> +<TGConnectingPoint num="9" id="4190" /> +<TGConnectingPoint num="10" id="4191" /> +<TGConnectingPoint num="11" id="4192" /> +<TGConnectingPoint num="12" id="4193" /> +<TGConnectingPoint num="13" id="4194" /> +<TGConnectingPoint num="14" id="4195" /> +<TGConnectingPoint num="15" id="4196" /> +<TGConnectingPoint num="16" id="4197" /> +<TGConnectingPoint num="17" id="4198" /> +<TGConnectingPoint num="18" id="4199" /> +<TGConnectingPoint num="19" id="4200" /> +<TGConnectingPoint num="20" id="4201" /> +<TGConnectingPoint num="21" id="4202" /> +<TGConnectingPoint num="22" id="4203" /> +<TGConnectingPoint num="23" id="4204" /> +<TGConnectingPoint num="24" id="4205" /> +<TGConnectingPoint num="25" id="4206" /> +<TGConnectingPoint num="26" id="4207" /> +<TGConnectingPoint num="27" id="4208" /> +<TGConnectingPoint num="28" id="4209" /> +<TGConnectingPoint num="29" id="4210" /> +<TGConnectingPoint num="30" id="4211" /> +<TGConnectingPoint num="31" id="4212" /> +<TGConnectingPoint num="32" id="4213" /> +<TGConnectingPoint num="33" id="4214" /> +<TGConnectingPoint num="34" id="4215" /> +<TGConnectingPoint num="35" id="4216" /> +<TGConnectingPoint num="36" id="4217" /> +<TGConnectingPoint num="37" id="4218" /> +<TGConnectingPoint num="38" id="4219" /> +<TGConnectingPoint num="39" id="4220" /> +<TGConnectingPoint num="40" id="4221" /> +<TGConnectingPoint num="41" id="4222" /> +<TGConnectingPoint num="42" id="4223" /> +<TGConnectingPoint num="43" id="4224" /> +<TGConnectingPoint num="44" id="4225" /> +<TGConnectingPoint num="45" id="4226" /> +<TGConnectingPoint num="46" id="4227" /> +<TGConnectingPoint num="47" id="4228" /> +<TGConnectingPoint num="48" id="4229" /> +<TGConnectingPoint num="49" id="4230" /> +<TGConnectingPoint num="50" id="4231" /> +<TGConnectingPoint num="51" id="4232" /> +<TGConnectingPoint num="52" id="4233" /> +<TGConnectingPoint num="53" id="4234" /> +<TGConnectingPoint num="54" id="4235" /> +<TGConnectingPoint num="55" id="4236" /> +<TGConnectingPoint num="56" id="4237" /> +<TGConnectingPoint num="57" id="4238" /> +<TGConnectingPoint num="58" id="4239" /> +<TGConnectingPoint num="59" id="4240" /> +<TGConnectingPoint num="60" id="4241" /> +<TGConnectingPoint num="61" id="4242" /> +<TGConnectingPoint num="62" id="4243" /> +<TGConnectingPoint num="63" id="4244" /> +<TGConnectingPoint num="64" id="4245" /> +<TGConnectingPoint num="65" id="4246" /> +<TGConnectingPoint num="66" id="4247" /> +<TGConnectingPoint num="67" id="4248" /> +<TGConnectingPoint num="68" id="4249" /> +<TGConnectingPoint num="69" id="4250" /> +<TGConnectingPoint num="70" id="4251" /> +<TGConnectingPoint num="71" id="4252" /> <extraparam> </extraparam> </COMPONENT> -<COMPONENT type="5100" id="4950" index="8" uid="39d32476-240b-44bf-846b-8589f13139ea" > +<COMPONENT type="5100" id="4255" index="8" uid="39d32476-240b-44bf-846b-8589f13139ea" > <cdparam x="400" y="50" /> <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" /> <new d="false" /> -<TGConnectingPoint num="0" id="4949" /> +<TGConnectingPoint num="0" id="4254" /> </COMPONENT> diff --git a/src/main/java/ai/AIAmulet.java b/src/main/java/ai/AIAmulet.java index 6d8e9241227c59d4d5ba616ff515933e29fb1841..8bd11a801d4290094daac9f01f952b663ad8be52 100644 --- a/src/main/java/ai/AIAmulet.java +++ b/src/main/java/ai/AIAmulet.java @@ -49,6 +49,7 @@ import ui.window.JFrameAI; import java.io.BufferedReader; import java.io.StringReader; +import java.util.ArrayList; /** * Class AIAmulet @@ -83,7 +84,41 @@ public class AIAmulet extends AIInteract implements AISysMLV2DiagramContent { } String questionT = "\nTTool:" + chatData.lastQuestion.trim()+ "\n"; - boolean ok = makeQuestion(questionT); + ArrayList<String> errors = new ArrayList<>(); + errors.add("Errors"); + int cpt = 0; + + while (cpt<20 && !(errors.isEmpty())){ + boolean ok = makeQuestion(questionT); + String automatedAnswer = chatData.lastAnswer; + BufferedReader buff = new BufferedReader(new StringReader(automatedAnswer)); + String line ; + errors.clear(); + try { + while ((line = buff.readLine()) != null) { + if (line.startsWith("add ") || line.startsWith("remove ") || line.startsWith("modify ") || line.startsWith("attach ") || line.startsWith("detach ")) { + try { + AvatarMutation.createFromString(line); + } catch (ParseMutationException e) { + TraceManager.addDev("Exception in parsing mutation: " + e.getMessage()); + errors.add("There is an error in your AMULET command: " + e.getMessage() + ". Could you correct the relevant AMULET " + + "line in your command list?"); + } + } + } + if (!errors.isEmpty()){ + questionT = "Your answer was not correct because of the following errors: "; + for (String e:errors){ + questionT += "\n" + e; + } + } + } catch (Exception e) { + error("Mutation parsing failed: " + e.getMessage()); + } + cpt++; + } + TraceManager.addDev("Reached end of AImulet internal request."); + } public Object applyAnswer(Object input) { @@ -99,9 +134,8 @@ public class AIAmulet extends AIInteract implements AISysMLV2DiagramContent { Boolean mutationApplied = false; try { - while ((line = buff.readLine()) != null) { - if (line.startsWith("add ") || line.startsWith("remove ") || line.startsWith("modify ")) { + if (line.startsWith("add ") || line.startsWith("remove ") || line.startsWith("modify ") || line.startsWith("attach ") || line.startsWith("detach ")) { try { AvatarMutation am = AvatarMutation.createFromString(line); if (am != null) { @@ -142,8 +176,7 @@ public class AIAmulet extends AIInteract implements AISysMLV2DiagramContent { private void injectAMULETKnowledge() { chatData.aiinterface.addKnowledge("AMULET is a SysML mutation language. In AMULET, adding a block b in a block diagram is written " + - "\"add block b\".\nRemoving a block b from a block diagram is written \"remove block b\".\n","AMULET source-code for adding a block" + - " myBlock is \"add block myBlock\" and for removing a block myBlock is \"remove block myBlock\"."); + "\"add block b\".\nRemoving a block b from a block diagram is written \"remove block b\".\n","OK."); chatData.aiinterface.addKnowledge("Here are some more AMULET commands. Adding an input signal sig in a block b is written \"add input signal " + "sig in " + @@ -151,68 +184,58 @@ public class AIAmulet extends AIInteract implements AISysMLV2DiagramContent { "Removing an input signal sig from a block b is written \"remove input signal sig in b\".\n" + "Adding an output signal sig in a block b is written \"add output signal sig in b\". If the signal sig conveys parameters (e.g. int" + " i and bool x), we will write \"add output signal sig(int i, bool x) in b\".\n" + - "Removing an output signal sig from a block b is written \"remove output signal sig in b\".\n", "In AMULET, adding an input" + - " signal mySig in a block myBlock is written \"add input signal mySig in myBlock\". If this signal conveys three parameters int n, " + - "int m and bool b, it is written \"add input signal mySig (int n, int m, bool b) in myBlock\". Adding an output signal mySig in a " + - "block myBlock is written \"add output signal mySig in myBlock\". If this signal conveys two parameters bool b and int n, it is " + - "written \"add output signal mySig(bool b, int n) in myBlock\". Removing an input signal mySig from a block myBlock is written " + - "\"remove input signal mySig in myBlock\", and removing an output signal mySig from a block myBlock is written \"remove output " + - "signal mySig in myBlock\"."); + "Removing an output signal sig from a block b is written \"remove output signal sig in b\".\n", "OK."); chatData.aiinterface.addKnowledge("Here are some more AMULET commands. Adding an integer attribute i in a block b is written \"add attribute " + "int i in b\".\n" + "Adding a boolean " + "attribute x in a block b is written \"add attribute bool x in b\".\n" + "Removing an attribute a from a block b is written" + - " \"remove attribute a in b\"","In AMULET, adding an integer attribute n in a block myBlock is written \"add attribute int n in " + - "myBlock\".\n" + "Adding a boolean attribute b in a block myBlock is written \"add attribute bool b in myBlock\".\n" + - "Removing an attribute myAttribute from a block myBlock is written \"remove attribute myAttribute in myBlock\"."); + " \"remove attribute a in b\"","OK."); + + chatData.aiinterface.addKnowledge("If you want to add several attributes, you have to add them separately. For instance, you can't write " + + "\"add attribute int i, j in myBlock\" but you must write \"add attribute int i in myBlock\" then \"add attribute int j in " + + "myBlock\".", "OK."); chatData.aiinterface.addKnowledge("Here are some more AMULET commands. Adding a connection between the ports of two blocks b1 and b2 is " + "written \"add link between b1 and b2\".\n" + - "Removing a connection between the ports of two blocks b1 and b2 is written \"remove link between b1 and b2\".", "In " + - "AMULET, adding a connection between the ports of two blocks b1 and b2 is written \"add link between b1 and b2\".\n" + "Removing a " + - "connection between the ports of two blocks b1 and b2 is written \"remove link between b1 and b2\"."); + "Removing a connection between the ports of two blocks b1 and b2 is written \"remove link between b1 and b2\".", "OK."); chatData.aiinterface.addKnowledge("Here are some more AMULET commands. If we want an input and an output signal to be synchronized, we need " + "to connect them. Connecting an input signal insig in a block b to an output signal outsig in a block c is written \"add connection " + - "between outsig in c to insig in b\".\n" + "Removing a connection between an input signal insig in a block b to an output signal " + - "outsig in a block c is written \"remove connection between outsig in c to insig in b\".","In AMULET, connecting an input signal " + - "inSig in a block myBlock to an output signal outSig in a block mySecondBlock is written \"add connection between outSig in " + - "mySecondBlock to inSig in myBlock\".\n" + "Removing a connection between an input signal inSig in a block myBlock to an output " + - "signal outSig in a block mySecondBlock is written \"remove connection between outSig in mySecondBlock to inSig in myBlock\"."); + "from outsig in c to insig in b\".\n" + "Removing a connection between an input signal insig in a block b to an output signal " + + "outsig in a block c is written \"remove connection from outsig in c to insig in b\".","OK."); chatData.aiinterface.addKnowledge("Connections are only possible between two signals, an input one and an output one.","Right, we can't " + "connect a signal to an attribute but only to another signal of the opposite type (input, output)."); chatData.aiinterface.addKnowledge("Here are some more AMULET commands. Adding a state s in a block b's state-machine diagram is written " + - "\"add state s in b\".\n Removing a state s from a block b's state-machine diagram is written \"remove state s in b\".", "In " + - "AMULET, adding a state myState in a block myBlock's state-machine diagram is written \"add state myState in myBlock\".\n Removing a state myState " + - "from a block myBlock's state-machine diagram is written \"remove state myState in myBlock\"."); + "\"add state s in b\".\n Removing a state s from a block b's state-machine diagram is written \"remove state s in b\".", "OK."); chatData.aiinterface.addKnowledge("Here are some more AMULET commands. Adding a transition t in a block b's state-machine diagram from a " + "state s0 to" + " a state s1 is written \"add transition t in b from s0 to s1\". If this transition has a guard (i.e., a boolean condition " + "boolean_condition allowing its firing), we will write \"add transition t in b from s0 to s2 with [boolean_condition]\".\n" + "Removing a transition t in a block b's state-machine diagram from a state s0 to a state s1 is written \"remove transition t in b\"" + - " or, if there is only one transition from s0 to s1, \"remove transition in b from s0 to s1\".", "In AMULET, adding a transition " + - "myTransition in a block myBlock's state-machine diagram from a state myState to a state mySecondState is written \"add transition " + - "myTransition in myBlock from myState to mySecondState\". If this transition has a guard (i.e., a boolean condition " + - "boolean_condition allowing its firing), we will write \"add transition myTransition in myBlock from myState to mySecondState with " + - "[boolean_condition]\".\n" + "Removing a transition myTransition in a block myBlock's state-machine diagram from a state myState to" + - " a state mySecondState is written \"remove transition myTransition in myState\" or, if there is only one transition from myState " + - "to mySecondState, \"remove transition in myBlock from myState to mySecondState\"."); + " or, if there is only one transition from s0 to s1, \"remove transition in b from s0 to s1\".", "OK."); + + chatData.aiinterface.addKnowledge("If we want a block b0 to be a subblock (or a child block) of a block b1, we will write \"attach b0 to " + + "b1\". And if we no longer want a block b1 to be a superblock (or a parent block) of a block b0, we will write \"detach b0 from " + + "b1\".", "OK."); + + chatData.aiinterface.addKnowledge("In AMULET, if we want to set an existing attribute n of a block myBlock to a value x, we will write " + + "\"modify attribute n in myBlock to x","OK."); chatData.aiinterface.addKnowledge("If we want a block b to receive a parameter p through an input signal and if b has no attribute of the " + - "type of p, we need first to add the relevant attribute to b.","Right. For instance, if we want a block b to receive an " + - "integer parameter n and if b has no integer attribute, we will first add an integer attribute n: add attribute int n in b"); + "type of p, you need first to add the relevant attribute to b. Similarly, if we want b to send a parameter p through an output " + + "signal and if b has no attribute of the type of p, you must first add the attribute to b.","OK."); chatData.aiinterface.addKnowledge("Consider a block having an integer attribute myInt. If we want this block to send this value " + - "through an output signal myOutSig, the output signal declaration will be myOutSig(int myInt).","Right. And if this block " + - "has a boolean attribute myBool and we want it to receive a boolean value from an input signal myInSig and if we want this value to be assigned " + - "to myBool, the input signal declaration will be myInSig(bool myBool)."); + "through an output signal myOutSig, the output signal declaration will be myOutSig(int myInt). Similarly, if this block has a " + + "boolean attribute myBool and we want it to receive a boolean value from an input signal myInSig and if we want this value to be " + + "assigned to myBool, the input signal declaration will be myInSig(bool myBool)","OK"); chatData.aiinterface.addKnowledge("A link can only exist between two blocks. We can't add a link between to signals, only a connection.", "Right. If I want two blocks b1 and b2 to be connected, I will write \"add link between b1 and b2\", and if I want two signals s1 " + - "and s2 belonging to b1 and b2 to be connected, I will write \"add connection between s1 in b1 to s2 in b2\"."); + "and s2 belonging to b1 and b2 to be connected, I will write \"add connection from s1 in b1 to s2 in b2\"."); chatData.aiinterface.addKnowledge("If a block already exists in the model, we don't need to add it with an AMULET \"add\" command.", "Right, if the model I analyze already has a block b1, I will never write \"add block b1\" except if b1 has been deleted by another" + @@ -223,11 +246,19 @@ public class AIAmulet extends AIInteract implements AISysMLV2DiagramContent { chatData.aiinterface.addKnowledge("Consider a block diagram with a block b1 and a block b2. I want b1 to send an integer value n to b2. Could" + " you provide the relevant AMULET source code?","add attribute int n in b2\n add attribute int n in b1\n add output signal sendInt" + - "(int n) in b1\n add input signal receiveInt(int n) in b2"); + "(int n) in b1\n add link between b1 and b2\n add input signal receiveInt(int n) in b2"); + + chatData.aiinterface.addKnowledge("Consider a block diagram with a block b1 and a block b2, where b1 and b2 are already linked together. I " + + "want b1 to send an boolean value b to b2. Could you provide the relevant AMULET source code?","add attribute bool b in b1\n add " + + "attribute bool b in b2\n add output signal sendBool(bool b) in b1\n add input signal receiveBool(bool b) in b2"); + + chatData.aiinterface.addKnowledge("Prior to writing a \"add connection\" command between a signal from a block b1 and another signal from " + + "a block b2, you must check if some ports of b1 and b2 are already connected. If it is not the case, you must first write \"add " + + "link between b1 and b2\".","OK."); - chatData.aiinterface.addKnowledge("Consider a block diagram with a block b1 and a block b2. I want b1 to send an boolean value b to b2. Could" + - " you provide the relevant AMULET source code?","add attribute bool b in b1\n add attribute bool b in b2\n add output signal " + - "sendBool(bool b) in b1\n add input signal receiveBool(bool b) in b2"); + chatData.aiinterface.addKnowledge("Even if the SysML textual specification provides the names of the blocks prefixed by \"Block__\", you " + + "should never write this prefix in an AMULET command. For instance, for removing a block named \"Block__myBlock\" in the " + + "specification, you will write \"remove block myBlock\".","OK."); } diff --git a/src/main/java/ai/AIAvatarSpecificationRequired.java b/src/main/java/ai/AIAvatarSpecificationRequired.java new file mode 100644 index 0000000000000000000000000000000000000000..85bdd4e3ddcd1eac897302b9bb72818e57c5aa8c --- /dev/null +++ b/src/main/java/ai/AIAvatarSpecificationRequired.java @@ -0,0 +1,58 @@ +/* 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 ai; + + +import avatartranslator.AvatarSpecification; + +/** + * interface AIAvatarSpecificationRequired + * + * Creation: 15/06/2023 + * @version 1.0 15/06/2023 + * @author Ludovic APVRILLE + */ + + +public interface AIAvatarSpecificationRequired { + + public void setAvatarSpecification(AvatarSpecification _specification); + +} diff --git a/src/main/java/ai/AIBlock.java b/src/main/java/ai/AIBlock.java index c18359d9855ed157f656e36664d4a9120cc4bd76..5780fd4e331c945c39fd60aac0ad4a0e04f8305f 100644 --- a/src/main/java/ai/AIBlock.java +++ b/src/main/java/ai/AIBlock.java @@ -73,7 +73,7 @@ public class AIBlock extends AIInteract { "#Respect: Two connected signals must have " + "the same list of attributes, even if they are " + "defined in two different blocks. One of them must be output, the other one must be input" + - "#Respect: all input signals must have exactly one corresponding output signal, i.e. a signal with the same name" + + "#Respect: all input signals must have exactly one corresponding output signal, i.e., an ouput signal with the same name" + "#Respect: two signals with the same name must be defined in different blocks"; /*"and after " + "the blocks, add the " + @@ -90,8 +90,6 @@ public class AIBlock extends AIInteract { "# A signal must be involved in one connection exactly";*/ - - public static String[] KNOWLEDGE_STAGES = {KNOWLEDGE_ON_JSON_FOR_BLOCKS_AND_ATTRIBUTES, KNOWLEDGE_ON_JSON_FOR_BLOCKS_AND_CONNECTIONS}; AvatarSpecification specification; private String[] QUESTION_IDENTIFY_SYSTEM_BLOCKS = {"From the following system specification, using the specified JSON format, identify the " + @@ -126,7 +124,7 @@ public class AIBlock extends AIInteract { ArrayList<String> errors; try { TraceManager.addDev("Making specification from " + chatData.lastAnswer); - specification = AvatarSpecification.fromJSON(extractJSON(), "design", null); + specification = AvatarSpecification.fromJSON(extractJSON(), "design", null, true); errors = AvatarSpecification.getJSONErrors(); } catch (org.json.JSONException e) { diff --git a/src/main/java/ai/AIChatData.java b/src/main/java/ai/AIChatData.java index 38570c34ab8a487b59157e7568c88e4577808fd0..a44f69e2aab1a3121729433d59b24f8ec53fb09d 100644 --- a/src/main/java/ai/AIChatData.java +++ b/src/main/java/ai/AIChatData.java @@ -64,6 +64,7 @@ public class AIChatData { public boolean knowledgeOnProperties = false; public int knowledgeOnBlockJSON = -1; public boolean knowledgeOnAMULET = false; + public boolean knowledgeOnStateMachines = false; public AIFeedback feedback; public String lastQuestion; diff --git a/src/main/java/ai/AISoftwareBlock.java b/src/main/java/ai/AISoftwareBlock.java index c8beb5da5e0ed4c6732f4d0b731d8d41ce16a069..39c3c2a11c368455d5e8533d8c8ec318fc59d1af 100644 --- a/src/main/java/ai/AISoftwareBlock.java +++ b/src/main/java/ai/AISoftwareBlock.java @@ -133,7 +133,7 @@ public class AISoftwareBlock extends AIInteract { ArrayList<String> errors; try { TraceManager.addDev("Making specification from " + chatData.lastAnswer); - specification = AvatarSpecification.fromJSON(extractJSON(), "design", null); + specification = AvatarSpecification.fromJSON(extractJSON(), "design", null, cpt == 20); errors = AvatarSpecification.getJSONErrors(); } catch (org.json.JSONException e) { diff --git a/src/main/java/ai/AIStateMachine.java b/src/main/java/ai/AIStateMachine.java index 67e00c415da9f88ba6a69aeef6c72f38f7bb64f9..726d92d7c463f053356218ddcb1b645a88047155 100644 --- a/src/main/java/ai/AIStateMachine.java +++ b/src/main/java/ai/AIStateMachine.java @@ -42,7 +42,9 @@ package ai; import avatartranslator.AvatarBlock; import avatartranslator.AvatarSpecification; +import avatartranslator.tosysmlv2.AVATAR2SysMLV2; import myutil.TraceManager; +import org.apache.batik.anim.timing.Trace; import java.util.ArrayList; @@ -56,50 +58,38 @@ import java.util.ArrayList; */ -public class AIStateMachine extends AIInteract { +public class AIStateMachine extends AIInteract implements AISysMLV2DiagramContent, AIAvatarSpecificationRequired { + private static String[] SUPPORTED_DIAGRAMS = {"BD"}; + private static String[] EXCLUSIONS_IN_INPUT = {"state", "method"}; - public static String KNOWLEDGE_ON_JSON_FOR_BLOCKS_AND_ATTRIBUTES = "When you are asked to identify SysML blocks, " + + public static String KNOWLEDGE_ON_JSON_FOR_STATE_MACHINES = "When you are asked to identify the SysML state machine of a block, " + "return them as a JSON specification " + "formatted as follows:" + - "{blocks: [{ \"name\": \"Name of block\", \"attributes\": [\"name\": \"name of attribute\", \"type\": \"int or bool\" ...} ...]}" + - "Use only attributes of type int or boolean. If you want to use \"String\" or another other attribute, use int." + - "# Respect: each attribute must be of type \"int\" or \"bool\" only" + - "# Respect: Any identifier (block, attribute, etc.) must no contain any space. Use \"_\" instead."; - public static String KNOWLEDGE_ON_JSON_FOR_BLOCKS_AND_CONNECTIONS = "When you are ask to identify signals of blocks, JSON is as follows: " + - "{blocks: [{ \"name\": \"Name of block\", \"signals\": " + - "[ ... signals ... ] ... (no need to relist the attributes of signals, nor to give a direction). " + - "#Respect: signals are defined like this in JSON: {\"signal\": \"input sig1(int x, bool b)\"} if the signal is an input signal" + - " and {\"signal\": \"output sig1(int x, bool b)\"} if the signal is an output signal" + - "#Respect 2 signals with the same name are assumed to be connected: this is the only way to connect signals. " + - "#Respect: Two connected signals must have " + - "the same list of attributes, even if they are " + - "defined in two different blocks. One of them must be output, the other one must be input" + - "#Respect: all input signals must have exactly one corresponding output signal, i.e. a signal with the same name" + - "#Respect: two signals with the same name must be defined in different blocks"; - /*"and after " + - "the blocks, add the " + - "following JSON: " + - "connections: [{\"block1\" : name of first block, \"sig1\": name of first " + - "signal\", \"block2\" : name of second block" + - "\"sig2\": \"name of second signal\"}, ." + - "..]. " + ".#" + - "Respect: in a connection, sig1 and sig2 must be different. The name of the signal only include its identifier, so not " + - "\"input\" nor " + - "\"output\", nor its attributes.#" + - "Two connected signals must have the \" +\n" + - " \"same list of attributes." + - "# A signal must be involved in one connection exactly";*/ - - - - - public static String[] KNOWLEDGE_STAGES = {KNOWLEDGE_ON_JSON_FOR_BLOCKS_AND_ATTRIBUTES, KNOWLEDGE_ON_JSON_FOR_BLOCKS_AND_CONNECTIONS}; - AvatarSpecification specification; - private String[] QUESTION_IDENTIFY_SYSTEM_BLOCKS = {"From the following system specification, using the specified JSON format, identify the " + - "typical system blocks and their attributes. Do respect the JSON format, and provide only JSON (no explanation before or after).\n", - "From the previous JSON and system specification, update " + - "this JSON with" + - " the signals you have to identify. If necessary, you can add new blocks and new attributes."}; + "{states: [{ \"name\": \"Name of state\", transitions [{ \"destinationstate\" : \"state name\", \"guard\": \"boolean condition\", " + + "\"after\": \"time " + + "value\", \"action\":" + + " \"attribute action or signal receiving/sending\"}]}]} ." + + "# Respect: in actions, use only attributes and signals already defined in the corresponding block" + + "# Respect: at least one state must be called \"Start\", which is the start state" + + "# Respect: if a guard, an action, or an after is empty, use an empty string \"\", do not use \"null\"" + + "# Respect: an action contains either a variable affection, e.g. \"x = x + 1\" or a signal send/receive " + + "# Respect If a transition contains several actions, use a \";\" to separate them " + + "# Respect: a signal send is out::signalName(..) and a signal receive is in::signaNamd(...) " + + "# Respect: the attribute of an action is named by its identifier, do not reference its block " + + "# Respect: A guard cannot contain a reference to a signal " + + "# Rexpect: To reference the attribute \"x\" of block \"B\", use \"x\" and never \"B.x\" nor \"B::x\""; + + + private AvatarSpecification specification; + + private String diagramContentInSysMLV2; + + private static String KNOWLEDGE_SYSTEM_SPECIFICATION = "The specification of the system is:"; + private static String KNOWLEDGE_SYSTEM_BLOCKS = "The specification of the blocks in SysML V2 is:"; + + private String[] QUESTION_IDENTIFY_STATE_MACHINE = {"From the system specification, and from the definition of blocks and" + + " their " + + "connections, identify the state machine of block: "}; public AIStateMachine(AIChatData _chatData) { @@ -108,61 +98,88 @@ public class AIStateMachine extends AIInteract { public void internalRequest() { - int stage = 0; - String questionT = QUESTION_IDENTIFY_SYSTEM_BLOCKS[stage] + "\n" + chatData.lastQuestion.trim() + "\n"; + // Add the knowledge, retrieve the block names, attributes, etc. + if (!chatData.knowledgeOnStateMachines) { + chatData.aiinterface.addKnowledge(KNOWLEDGE_ON_JSON_FOR_STATE_MACHINES, "ok"); + chatData.knowledgeOnStateMachines = true; + } + + chatData.aiinterface.addKnowledge(KNOWLEDGE_SYSTEM_SPECIFICATION + chatData.lastQuestion, "ok"); + chatData.aiinterface.addKnowledge(KNOWLEDGE_SYSTEM_BLOCKS + diagramContentInSysMLV2, "ok"); + + // Getting block names for SysMLV2 spec + //TraceManager.addDev("SysML V2 spec: " + diagramContentInSysMLV2); + ArrayList<String> blockNames = AVATAR2SysMLV2.getAllBlockNames(diagramContentInSysMLV2); + + TraceManager.addDev("Going to handle the following blocks: "); + for(String s: blockNames) { + TraceManager.addDev("\tblock: " + s); + } - makeKnowledge(stage); boolean done = false; int cpt = 0; - // Blocks and attributes - while (!done && cpt < 20) { - cpt++; - boolean ok = makeQuestion(questionT); - if (!ok) { - done = true; - TraceManager.addDev("Make question failed"); - } - ArrayList<String> errors; - try { - TraceManager.addDev("Making specification from " + chatData.lastAnswer); - specification = AvatarSpecification.fromJSON(extractJSON(), "design", null); - errors = AvatarSpecification.getJSONErrors(); - - } catch (org.json.JSONException e) { - TraceManager.addDev("Invalid JSON spec: " + extractJSON() + " because " + e.getMessage() + ": INJECTING ERROR"); - errors = new ArrayList<>(); - errors.add("There is an error in your JSON: " + e.getMessage() + ". probably the JSON spec was incomplete. Do correct it. I need " + - "the full specification at once."); - } + String questionT; + - if ((errors != null) && (errors.size() > 0)) { - questionT = "Your answer was not correct because of the following errors:"; - for (String s : errors) { - questionT += "\n- " + s; + for(String blockName: blockNames) { + TraceManager.addDev("Handling block: " + blockName); + done = false; cpt = 0; + int max = 3; + + + questionT = QUESTION_IDENTIFY_STATE_MACHINE[0] + blockName; + while (!done && cpt < max) { + done = true; + boolean ok = makeQuestion(questionT); + if (!ok) { + TraceManager.addDev("Make question failed"); } - } else { - TraceManager.addDev(" Avatar spec=" + specification); - stage++; - if (stage == KNOWLEDGE_STAGES.length) { - done = true; - } else { - makeKnowledge(stage); - questionT = QUESTION_IDENTIFY_SYSTEM_BLOCKS[stage] + "\n"; + if (ok && specification != null) { + AvatarBlock b = specification.getBlockWithName(blockName); + if (b != null) { + TraceManager.addDev("Making the state machine of " + blockName); + ArrayList<String> errors = b.makeStateMachineFromJSON(extractJSON(), cpt == (max - 1)); + if ((errors != null) && (errors.size() > 0)) { + done = false; + questionT = "Your answer was not correct because of the following errors:"; + for (String s : errors) { + TraceManager.addDev("Error in JSON: " + s); + questionT += "\n- " + s; + } + } else { + TraceManager.addDev("SMD done for Block " + blockName); + } + } else { + TraceManager.addDev("ERROR: no block named " + blockName); + } + } else { + TraceManager.addDev("Null specification or false ok"); } - } - waitIfConditionTrue(!done && cpt < 20); + waitIfConditionTrue(!done && cpt < max); - cpt++; + cpt ++; + } + // Remove knowledge of previous questions + while(cpt > 0) { + cpt --; + chatData.aiinterface.removePreviousKnowledge(); + } } - TraceManager.addDev("Reached end of AIBlock internal request cpt=" + cpt); + TraceManager.addDev("Reached end of AIStateMachine internal request cpt=" + cpt); } public Object applyAnswer(Object input) { + TraceManager.addDev("Apply answer in AIState Machine"); + if (specification == null) { + TraceManager.addDev("Null spec"); + } else { + TraceManager.addDev("Non null spec"); + } if (input == null) { return specification; } @@ -170,20 +187,23 @@ public class AIStateMachine extends AIInteract { return specification; } - public void makeKnowledge(int stage) { - TraceManager.addDev("makeKnowledge. stage: " + stage + " chatData.knowledgeOnBlockJSON: " + chatData.knowledgeOnBlockJSON); - if (stage > chatData.knowledgeOnBlockJSON) { - chatData.knowledgeOnBlockJSON++; + public void setAvatarSpecification(AvatarSpecification _specification) { + specification = _specification; + }; - String [] know = KNOWLEDGE_STAGES[chatData.knowledgeOnBlockJSON].split("#"); + public void setDiagramContentInSysMLV2(String _diagramContentInSysMLV2) { + diagramContentInSysMLV2 = _diagramContentInSysMLV2; + }; - for(String s: know) { - TraceManager.addDev("\nKnowledge added: " + s); - chatData.aiinterface.addKnowledge(s, "ok"); - } - } + public String[] getValidDiagrams() { + return SUPPORTED_DIAGRAMS; } + public String[] getDiagramExclusions() { + return EXCLUSIONS_IN_INPUT; + } + + diff --git a/src/main/java/avatartranslator/AvatarActionOnSignal.java b/src/main/java/avatartranslator/AvatarActionOnSignal.java index 6a956c1dc7d5333426593e7bf1a70f6e1c80808e..cadfa837c2494a922684b1ffc2a63dab6f18ce94 100644 --- a/src/main/java/avatartranslator/AvatarActionOnSignal.java +++ b/src/main/java/avatartranslator/AvatarActionOnSignal.java @@ -61,15 +61,16 @@ public class AvatarActionOnSignal extends AvatarStateMachineElement { private List<AvatarExpressionAttributeInterface> actionAttr; - public AvatarActionOnSignal(String _name, AvatarSignal _signal, Object _referenceObject ) { - this( _name, _signal, _referenceObject, false ); + public AvatarActionOnSignal(String _name, AvatarSignal _signal, Object _referenceObject, AvatarStateMachineOwner _block) { + this( _name, _signal, _referenceObject, _block, false ); } public AvatarActionOnSignal( String _name, AvatarSignal _signal, Object _referenceObject, + AvatarStateMachineOwner _block, boolean _isCheckable ) { - super( _name, _referenceObject, _isCheckable, false ); + super( _name, _referenceObject, _block, _isCheckable, false ); signal = _signal; values = new LinkedList<String>(); @@ -143,7 +144,8 @@ public class AvatarActionOnSignal extends AvatarStateMachineElement { //TraceManager.addDev("I HAVE BEEN CLONED: " + this); AvatarSignal sig = _block.getAvatarSignalWithName(getSignal().getName()); if (sig != null) { - AvatarActionOnSignal aaos = new AvatarActionOnSignal(getName() + "__clone", sig, getReferenceObject(), isCheckable()/*, isChecked()*/); + AvatarActionOnSignal aaos = new AvatarActionOnSignal(getName() + "__clone", sig, getReferenceObject(), _block, isCheckable()/*, + isChecked()*/); for(int i=0; i<getNbOfValues(); i++) { aaos.addValue(getValue(i)); } @@ -205,4 +207,25 @@ public class AvatarActionOnSignal extends AvatarStateMachineElement { public void setSignal(AvatarSignal _signal) { signal = _signal; } + + public boolean equals(AvatarActionOnSignal _aaos) { + if (getSignal() != _aaos.getSignal()) { + TraceManager.addDev("\tSignal is different"); + return false; + } + + if (values.size() != _aaos.getNbOfValues()) { + TraceManager.addDev("\tNb of values is different"); + return false; + } + + for(int i=0; i<getNbOfValues(); i++) { + if (getValue(i).compareTo(_aaos.getValue(i)) != 0) { + TraceManager.addDev("\tValue #" + i + " is different"); + return false; + } + } + + return true; + } } diff --git a/src/main/java/avatartranslator/AvatarBlock.java b/src/main/java/avatartranslator/AvatarBlock.java index 1d44368b2dbc945e3d5a1c3ce0d3fae66cb1fc90..41d995d870ee383a5e9eeea4ce42f6fd8b6e2084 100644 --- a/src/main/java/avatartranslator/AvatarBlock.java +++ b/src/main/java/avatartranslator/AvatarBlock.java @@ -38,21 +38,22 @@ package avatartranslator; +import avatartranslator.intboolsolver.AvatarIBSolver; import myutil.NameChecker; import myutil.TraceManager; import myutil.intboolsolver.IBSParamComp; +import org.json.JSONArray; +import org.json.JSONObject; + +import java.util.*; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; /** * Class AvatarBlock * Creation: 20/05/2010 * * @author Ludovic APVRILLE, Raja GATGOUT - * @version 1.1 01/07/2014 + * @version 2.0 15/06/2023 */ public class AvatarBlock extends AvatarElement implements AvatarStateMachineOwner, NameChecker.NameStartWithUpperCase, IBSParamComp { @@ -351,6 +352,32 @@ public class AvatarBlock extends AvatarElement implements AvatarStateMachineOwne return sb.toString(); } + public String toStringRecursive() { + //Thread.currentThread().dumpStack(); + StringBuffer sb = new StringBuffer("block:" + getName() + " ID=" + getID() + " \n"); + if (getFather() != null) { + sb.append(" subblock of: " + getFather().getName() + " ID=" + getFather().getID() + "\n"); + } else { + sb.append(" top level block\n"); + } + for (AvatarAttribute attribute : attributes) { + sb.append(" attribute: " + attribute.toString() + " ID=" + attribute.getID() + "\n"); + } + for (AvatarMethod method : methods) { + sb.append(" method: " + method.toString() + " ID=" + method.getID() + "\n"); + } + for (AvatarSignal signal : signals) { + sb.append(" signal: " + signal.toString() + " ID=" + signal.getID() + "\n"); + } + if (asm != null) { + sb.append(asm.toStringRecursive()); + } else { + sb.append("No state machine"); + } + + return sb.toString(); + } + public String toShortString() { //Thread.currentThread().dumpStack(); StringBuffer sb = new StringBuffer("block:" + getName() + " ID=" + getID() + " \n"); @@ -612,7 +639,7 @@ public class AvatarBlock extends AvatarElement implements AvatarStateMachineOwne } public String findUniqueSignalName(String inputName) { - for(AvatarSignal signal: signals) { + for (AvatarSignal signal : signals) { if (signal.getSignalName().compareTo(inputName) == 0) { return findUniqueSignalName(inputName + "0"); } @@ -621,7 +648,7 @@ public class AvatarBlock extends AvatarElement implements AvatarStateMachineOwne } public String findUniqueAttributeName(String inputName) { - for(AvatarAttribute attr: attributes) { + for (AvatarAttribute attr : attributes) { if (attr.getName().compareTo(inputName) == 0) { return findUniqueAttributeName(inputName + "0"); } @@ -888,7 +915,7 @@ public class AvatarBlock extends AvatarElement implements AvatarStateMachineOwne toKeep = true; } } else if (elt instanceof AvatarLibraryFunctionCall) { - if ( ((AvatarLibraryFunctionCall)(elt)).getReturnAttributes().contains(attr)) { + if (((AvatarLibraryFunctionCall) (elt)).getReturnAttributes().contains(attr)) { toKeep = true; } } @@ -951,7 +978,7 @@ public class AvatarBlock extends AvatarElement implements AvatarStateMachineOwne // Replacing ops for (AvatarQueryOnSignal q : elts) { - AvatarActionOnSignal aaosQuery = new AvatarActionOnSignal("query", _newSignal, q.getReferenceObject()); + AvatarActionOnSignal aaosQuery = new AvatarActionOnSignal("query", _newSignal, q.getReferenceObject(), asm.getOwner()); aaosQuery.addValue(q.getAttribute().getName()); asm.replace(q, aaosQuery); } @@ -1003,4 +1030,293 @@ public class AvatarBlock extends AvatarElement implements AvatarStateMachineOwne } return nes; } + + // Returns errors as String + public ArrayList<String> makeStateMachineFromJSON(String _jsonSpec, boolean forceIfIncorrectExpression) { + if (_jsonSpec == null) { + return null; + } + + asm.clear(); + AvatarStartState startState = new AvatarStartState("StartState", null, asm.getOwner()); + asm.addElement(startState); + asm.setStartState(startState); + + ArrayList<String> errors = new ArrayList<>(); + JSONObject mainObject; + + try { + mainObject = new JSONObject(_jsonSpec); + + JSONArray statesJSON = mainObject.getJSONArray("states"); + + for (int i = 0; i < statesJSON.length(); i++) { + JSONObject state0 = statesJSON.getJSONObject(i); + String name = AvatarSpecification.removeSpaces(state0.getString("name")); + + AvatarState sameState = asm.getStateByName(name); + if (sameState != null) { + TraceManager.addDev("State " + name + " is defined several times"); + errors.add("State " + name + " is defined several times"); + } else { + AvatarState newState = new AvatarState(name, this.getReferenceObject(), asm.getOwner()); + asm.addElement(newState); + TraceManager.addDev("Adding state " + newState); + + if (name.toLowerCase(Locale.ROOT).compareTo("start") == 0) { + TraceManager.addDev("This state is a start state: " + newState); + AvatarTransition at = new AvatarTransition(this, "firstTransition", this.getReferenceObject()); + asm.addElement(at); + asm.getStartState().addNext(at); + at.addNext(newState); + } + } + } + + for (int i = 0; i < statesJSON.length(); i++) { + JSONObject state0 = statesJSON.getJSONObject(i); + String name = AvatarSpecification.removeSpaces(state0.getString("name")); + if (name != null) { + TraceManager.addDev("Getting state: " + name); + AvatarState originState = asm.getStateByName(name); + if (originState != null) { + TraceManager.addDev("Non null state: " + name); + JSONArray transitionsJSON = state0.getJSONArray("transitions"); + for (int j = 0; j < transitionsJSON.length(); j++) { + JSONObject transitions0 = transitionsJSON.getJSONObject(j); + String destinationState = transitions0.getString("destinationstate"); + if (destinationState == null) { + //TraceManager.addDev("A transition has no destination: \"destinationstate\""); + // Looping on itself + destinationState = name; + + //errors.add("A transition has no destination: \"destinationstate\""); + } + destinationState = AvatarSpecification.removeSpaces(destinationState); + AvatarState dstState = asm.getStateByName(destinationState); + if (dstState == null) { + TraceManager.addDev("A transition has a undefined destination state to state\"" + destinationState + "\""); + //errors.add("A transition has a undefined destination state to state\"" + destinationState + "\""); + AvatarState newState = new AvatarState(destinationState, this.getReferenceObject(), asm.getOwner()); + asm.addElement(newState); + dstState = asm.getStateByName(destinationState); + } + AvatarTransition at = + new AvatarTransition(this, "name" + "_to_" + destinationState, getReferenceObject()); + asm.addElement(at); + originState.addNext(at); + at.addNext(dstState); + + // Handling guard, after and action + String guard = transitions0.getString("guard"); + if ((guard != null) && (guard.length() > 0)) { + + int g = AvatarSyntaxChecker.isAValidGuard(getAvatarSpecification(), this, guard); + + if ((g != 0) && (!forceIfIncorrectExpression)) { + TraceManager.addDev("The following guard " + guard + " is incorrect"); + errors.add("The following guard " + guard + " is incorrect"); + } else { + at.setGuard(guard); + } + + // Check if the guard is valid + /*AvatarIBSolver.clearBadIdents(); + AvatarIBSExpressions.BExpr g = AvatarIBSolver.parseBool(this, guard); + if (g == null) { + HashSet<String> hs = AvatarIBSolver.getBadIdents(); + String badAttrib = ""; + for (String s : hs) { + badAttrib += s + " "; + } + errors.add("The following elements of the guard " + guard + " are incorrect: " + badAttrib); + } else { + at.setGuard(guard); + }*/ + } + + // After + String afterS = transitions0.getString("after"); + if ((afterS != null) && (afterS.length() > 0)) { + + int af = AvatarSyntaxChecker.isAValidIntExpr(getAvatarSpecification(), this, afterS); + + if ((af != 0) && (!forceIfIncorrectExpression)){ + TraceManager.addDev("The following after clause \"" + afterS + "\" is incorrect (maybe the attribute does not exist?" + + " In that case, directly use a numerical value)"); + errors.add("The following after clause \"" + afterS + "\" is incorrect (maybe the attribute does not exist?" + + " In that case, directly use a numerical value)"); + } else { + at.setDelays(afterS, afterS); + } + + + /*AvatarIBSolver.clearBadIdents(); + AvatarIBSExpressions.IExpr expr = AvatarIBSolver.parseInt(this, afterS); + if (expr == null) { + HashSet<String> hs = AvatarIBSolver.getBadIdents(); + String badAttrib = ""; + for (String s : hs) { + badAttrib += s + " "; + } + errors.add("The following elements of the after " + afterS + " are incorrect: " + badAttrib); + } else { + at.setDelays(afterS, afterS); + }*/ + } + + // Action + String actionS = transitions0.getString("action"); + + if ((actionS != null) && (actionS.length() > 0)) { + String actions[] = actionS.split(";"); + + try { + for (String action : actions) { + // Affectation? + if (action.contains("=")) { + int index = action.indexOf('='); + String variableName = action.substring(0, index).trim(); + AvatarAttribute aa = getAvatarAttributeWithName(variableName); + if (aa == null) { + TraceManager.addDev("The following action is not valid: " + action + " because it contains an attribute " + + variableName + " which is not declared in the block " + getName()); + errors.add("The following action is not valid: " + action + " because it contains an attribute " + + variableName + " which is not declared in the block " + getName()); + } else { + String expr = action.substring(index + 1).trim(); + TraceManager.addDev("Analyzing expr:" + expr); + AvatarIBSolver.clearBadIdents(); + if (aa.getType() == AvatarType.INTEGER) { + TraceManager.addDev("int expr"); + + int ex = AvatarSyntaxChecker.isAValidIntExpr(getAvatarSpecification(), this, expr); + + if ((ex != 0) && (!forceIfIncorrectExpression)) { + TraceManager.addDev("The action " + action + " is incorrect. Maybe it uses undeclared " + + "attributes? In that case"); + errors.add("The action " + action + " is incorrect. Maybe it uses undeclared " + + "attributes? In that case"); + } else { + at.addAction(action); + } + + /*AvatarIBSExpressions.IExpr iExpr = AvatarIBSolver.parseInt(this, expr); + if (iExpr == null) { + HashSet<String> hs = AvatarIBSolver.getBadIdents(); + String badAttrib = ""; + for (String s : hs) { + badAttrib += s + " "; + } + errors.add("The following elements of the int expr " + action + " are incorrect: " + badAttrib); + } else { + at.addAction(action); + }*/ + } else if (aa.getType() == AvatarType.BOOLEAN) { + TraceManager.addDev("bool expr"); + int ex = AvatarSyntaxChecker.isAValidBoolExpr(getAvatarSpecification(), this, expr); + + if ((ex != 0)&& (!forceIfIncorrectExpression)) { + TraceManager.addDev("The action " + action + " is incorrect"); + errors.add("The action " + action + " is incorrect"); + } else { + at.addAction(action); + } + /*AvatarIBSExpressions.BExpr bExpr = AvatarIBSolver.parseBool(this, expr); + if (bExpr == null) { + HashSet<String> hs = AvatarIBSolver.getBadIdents(); + String badAttrib = ""; + for (String s : hs) { + badAttrib += s + " "; + } + errors.add("The following elements of the bool expr " + action + " are incorrect: " + badAttrib); + } else { + at.addAction(action); + }*/ + } + + } + + + } + // signal sending / receiving + else if (action.contains("::")) { + TraceManager.addDev("Handing communication action: " + action); + + int index = action.indexOf("::"); + boolean isIn = action.substring(0, index).trim().compareTo("in") == 0; + String signalSent = action.substring(index+2); + + if (signalSent.length() >0) { + int indexLPar = signalSent.indexOf("("); + String sigName = signalSent; + if (indexLPar > - 1) { + sigName = signalSent.substring(0, indexLPar).trim(); + } + AvatarSignal atas = getAvatarSignalWithName(sigName); + if ((atas == null) && (!forceIfIncorrectExpression)) { + TraceManager.addDev("No signal named \"" + action + "\" in block \"" + getName() + "\""); + errors.add("No signal named \"" + action + "\" in block \"" + getName() + "\"" ); + } else { + if (atas == null) { + // Adding signal to block + atas = new AvatarSignal(sigName, isIn?AvatarSignal.IN : AvatarSignal.OUT, null); + addSignal(atas); + } + AvatarActionOnSignal aaos = new AvatarActionOnSignal( + sigName + "_aaos", atas, null, asm.getOwner()); + // Chaining components + asm.addElement(aaos); + AvatarTransition atBis = + new AvatarTransition(this, "name" + "_from_" + sigName, getReferenceObject()); + asm.addElement(atBis); + + AvatarStateMachineElement asme = at.getNext(0); + at.removeAllNexts(); + at.addNext(aaos); + aaos.addNext(atBis); + atBis.addNext(asme); + at = atBis; + + + } + + } else { + TraceManager.addDev("No signal provided in the following action: " + action + "."); + errors.add("No signal provided in the following action: " + action + "."); + } + + + + } else { + if (forceIfIncorrectExpression) { + at.addAction(action); + } else { + TraceManager.addDev("The following action is not valid: " + action + ". It must contain either the affectation of a " + + "variable or a signal send/receive"); + errors.add("The following action is not valid: " + action + ". It must contain either the affectation of a " + + "variable or a signal send/receive"); + } + } + } + } catch (Exception e) { + + } + } + + + } + } + } + + } + } catch (org.json.JSONException e) { + errors.add("Invalid JSON: " + e.getMessage()); + } + + TraceManager.addDev("******************** State Machine of block: " + getName() + ":" + getStateMachine().toString()); + + + return errors; + } } diff --git a/src/main/java/avatartranslator/AvatarBlockTemplate.java b/src/main/java/avatartranslator/AvatarBlockTemplate.java index 054d02d7774f48de0f01f74f1bc7e0a4b0575e13..239e38cc6bd1f77ba96afeef95720149bdc0cbf8 100644 --- a/src/main/java/avatartranslator/AvatarBlockTemplate.java +++ b/src/main/java/avatartranslator/AvatarBlockTemplate.java @@ -78,32 +78,32 @@ public class AvatarBlockTemplate { ab.addSignal(expire); AvatarStateMachine asm = ab.getStateMachine(); - AvatarStartState ass = new AvatarStartState("start", _referenceBlock); + AvatarStartState ass = new AvatarStartState("start", _referenceBlock, ab); asm.setStartState(ass); asm.addElement(ass); - AvatarState as1 = new AvatarState("wait4set", _referenceBlock); + AvatarState as1 = new AvatarState("wait4set", _referenceBlock, ab); asm.addElement(as1); - AvatarState as2 = new AvatarState("wait4expire", _referenceBlock); + AvatarState as2 = new AvatarState("wait4expire", _referenceBlock, ab); asm.addElement(as2); - AvatarActionOnSignal aaos1 = new AvatarActionOnSignal("set1", set, _referenceSet); + AvatarActionOnSignal aaos1 = new AvatarActionOnSignal("set1", set, _referenceSet, ab); aaos1.addValue("value"); asm.addElement(aaos1); - AvatarActionOnSignal aaos2 = new AvatarActionOnSignal("set2", set, _referenceSet); + AvatarActionOnSignal aaos2 = new AvatarActionOnSignal("set2", set, _referenceSet, ab); aaos2.addValue("value"); asm.addElement(aaos2); - AvatarActionOnSignal aaos3 = new AvatarActionOnSignal("reset1", reset, _referenceReset); + AvatarActionOnSignal aaos3 = new AvatarActionOnSignal("reset1", reset, _referenceReset, ab); asm.addElement(aaos3); - AvatarActionOnSignal aaos4 = new AvatarActionOnSignal("reset2", reset, _referenceReset); + AvatarActionOnSignal aaos4 = new AvatarActionOnSignal("reset2", reset, _referenceReset, ab); asm.addElement(aaos4); - AvatarActionOnSignal aaos5 = new AvatarActionOnSignal("expire", expire, _referenceExpire); + AvatarActionOnSignal aaos5 = new AvatarActionOnSignal("expire", expire, _referenceExpire, ab); asm.addElement(aaos5); AvatarTransition at; @@ -176,19 +176,17 @@ public class AvatarBlockTemplate { ab.addAttribute(queryA); queryS.addParameter(queryA.advancedClone(null)); - AvatarTransition at; AvatarStateMachine asm = ab.getStateMachine(); - // Start state - AvatarStartState ass = new AvatarStartState("start", _referenceRelation); + AvatarStartState ass = new AvatarStartState("start", _referenceRelation, ab); asm.setStartState(ass); asm.addElement(ass); // Main state: Wait4Request - AvatarState main = new AvatarState("Wait4Request", _referenceRelation); + AvatarState main = new AvatarState("Wait4Request", _referenceRelation, ab); asm.addElement(main); at = makeAvatarEmptyTransitionBetween(ab, asm, ass, main, _referenceRelation); @@ -202,7 +200,7 @@ public class AvatarBlockTemplate { if ( (_sig1.getListOfAttributes().size() == 0) ) { // Write - AvatarActionOnSignal aaos_write = new AvatarActionOnSignal("write_elt", write, _referenceRelation); + AvatarActionOnSignal aaos_write = new AvatarActionOnSignal("write_elt", write, _referenceRelation, ab); asm.addElement(aaos_write); at = makeAvatarEmptyTransitionBetween(ab, asm, main, aaos_write, _referenceRelation); at.setGuard("[(size < maxSize)]"); @@ -210,7 +208,7 @@ public class AvatarBlockTemplate { at.addAction("size = size + 1"); if (!_ar.isBlocking()) { - AvatarActionOnSignal aaos_write_bucket = new AvatarActionOnSignal("write_elt_bucket", write, _referenceRelation); + AvatarActionOnSignal aaos_write_bucket = new AvatarActionOnSignal("write_elt_bucket", write, _referenceRelation, ab); asm.addElement(aaos_write_bucket); at = makeAvatarEmptyTransitionBetween(ab, asm, main, aaos_write_bucket, _referenceRelation); at.setGuard("[(size == maxSize)]"); @@ -218,7 +216,7 @@ public class AvatarBlockTemplate { } if (_ar.isLossy()) { - AvatarActionOnSignal aaos_write_loss = new AvatarActionOnSignal("write_elt_loss", write, _referenceRelation); + AvatarActionOnSignal aaos_write_loss = new AvatarActionOnSignal("write_elt_loss", write, _referenceRelation, ab); asm.addElement(aaos_write_loss); at = makeAvatarEmptyTransitionBetween(ab, asm, main, aaos_write_loss, _referenceRelation); at.setGuard("[(size < maxSize)]"); @@ -226,7 +224,7 @@ public class AvatarBlockTemplate { } // read - AvatarActionOnSignal aaos_read = new AvatarActionOnSignal("read_elt", read, _referenceRelation); + AvatarActionOnSignal aaos_read = new AvatarActionOnSignal("read_elt", read, _referenceRelation, ab); asm.addElement(aaos_read); at = makeAvatarEmptyTransitionBetween(ab, asm, main, aaos_read, _referenceRelation); at.setGuard("[(size > 0)]"); @@ -289,7 +287,7 @@ public class AvatarBlockTemplate { // Can write only if fifo is not full only if transition - AvatarState testHead = new AvatarState("testHead", _referenceRelation); + AvatarState testHead = new AvatarState("testHead", _referenceRelation, ab); asm.addElement(testHead); at = makeAvatarEmptyTransitionBetween(ab, asm, testHead, main, _referenceRelation); at.addAction("head = head + 1"); @@ -301,7 +299,7 @@ public class AvatarBlockTemplate { at.addAction("size = size + 1"); for (int i = 0; i < _sizeOfFifo; i++) { - AvatarActionOnSignal aaos_write = new AvatarActionOnSignal("write_" + i, write, _referenceRelation); + AvatarActionOnSignal aaos_write = new AvatarActionOnSignal("write_" + i, write, _referenceRelation, ab); for (AvatarAttribute aa : _sig1.getListOfAttributes()) { aaos_write.addValue("arg_" + aa.getName() + "_" + i); } @@ -315,7 +313,7 @@ public class AvatarBlockTemplate { } // if is lossy, can write, and does not store this nor increase the fifo size if (_ar.isLossy()) { - AvatarActionOnSignal aaos_write_loss = new AvatarActionOnSignal("writeloss_", write, _referenceRelation); + AvatarActionOnSignal aaos_write_loss = new AvatarActionOnSignal("writeloss_", write, _referenceRelation, ab); for (AvatarAttribute aa : _sig1.getListOfAttributes()) { aaos_write_loss.addValue("loss_" + aa.getName()); } @@ -328,7 +326,7 @@ public class AvatarBlockTemplate { /// If maxSize has been reached // If it is blocking, then, the new message is written but not added if (!(_ar.isBlocking())) { - AvatarActionOnSignal aaos_write_bucket = new AvatarActionOnSignal("writebucket_", write, _referenceRelation); + AvatarActionOnSignal aaos_write_bucket = new AvatarActionOnSignal("writebucket_", write, _referenceRelation, ab); for (AvatarAttribute aa : _sig1.getListOfAttributes()) { aaos_write_bucket.addValue("bucket_" + aa.getName()); } @@ -339,7 +337,7 @@ public class AvatarBlockTemplate { } // Read - AvatarState testTail = new AvatarState("testTail", _referenceRelation); + AvatarState testTail = new AvatarState("testTail", _referenceRelation, ab); asm.addElement(testTail); at = makeAvatarEmptyTransitionBetween(ab, asm, testTail, main, _referenceRelation); at.setGuard("[tail<(maxSize-1)]"); @@ -350,7 +348,7 @@ public class AvatarBlockTemplate { at.addAction("tail=0"); at.addAction("size = size - 1"); for (int i = 0; i < _sizeOfFifo; i++) { - AvatarActionOnSignal aaos_read = new AvatarActionOnSignal("read_" + i, read, _referenceRelation); + AvatarActionOnSignal aaos_read = new AvatarActionOnSignal("read_" + i, read, _referenceRelation, ab); for (AvatarAttribute aa : _sig1.getListOfAttributes()) { aaos_read.addValue("arg_" + aa.getName() + "_" + i); } @@ -368,7 +366,7 @@ public class AvatarBlockTemplate { } // Query - AvatarActionOnSignal aaosQuery = new AvatarActionOnSignal("query", queryS, _referenceRelation); + AvatarActionOnSignal aaosQuery = new AvatarActionOnSignal("query", queryS, _referenceRelation, ab); asm.addElement(aaosQuery); aaosQuery.addValue("size"); at = makeAvatarEmptyTransitionBetween(ab, asm, main, aaosQuery, _referenceRelation); @@ -463,18 +461,18 @@ public class AvatarBlockTemplate { AvatarStateMachine asm = ab.getStateMachine(); // Start state - AvatarStartState ass = new AvatarStartState("start", _referenceRelation); + AvatarStartState ass = new AvatarStartState("start", _referenceRelation, ab); asm.setStartState(ass); asm.addElement(ass); // Main state: Wait4Request - AvatarState main = new AvatarState("Wait4Request", _referenceRelation); + AvatarState main = new AvatarState("Wait4Request", _referenceRelation, ab); asm.addElement(main); at = makeAvatarEmptyTransitionBetween(ab, asm, ass, main, _referenceRelation); // Can write only if fifo is not full only if transition - AvatarState testHead = new AvatarState("testHead", _referenceRelation); + AvatarState testHead = new AvatarState("testHead", _referenceRelation, ab); asm.addElement(testHead); at = makeAvatarEmptyTransitionBetween(ab, asm, testHead, main, _referenceRelation); at.setGuard("[head<maxSize]"); @@ -483,7 +481,7 @@ public class AvatarBlockTemplate { at.addAction("head=0"); for (int i = 0; i < _sizeOfFifo; i++) { - AvatarActionOnSignal aaos_write = new AvatarActionOnSignal("write_" + i, write, _referenceRelation); + AvatarActionOnSignal aaos_write = new AvatarActionOnSignal("write_" + i, write, _referenceRelation, ab); for (AvatarAttribute aa : _sig1.getListOfAttributes()) { aaos_write.addValue("arg_" + aa.getName() + "_" + i); } @@ -497,7 +495,7 @@ public class AvatarBlockTemplate { } // if is lossy, can write, and does not store this nor increase the fifo size if (_ar.isLossy()) { - AvatarActionOnSignal aaos_write_loss = new AvatarActionOnSignal("writeloss_", write, _referenceRelation); + AvatarActionOnSignal aaos_write_loss = new AvatarActionOnSignal("writeloss_", write, _referenceRelation, ab); for (AvatarAttribute aa : _sig1.getListOfAttributes()) { aaos_write_loss.addValue("loss_" + aa.getName()); } @@ -509,7 +507,7 @@ public class AvatarBlockTemplate { // If it is non blocking, then, the new message is written but not added if (!(_ar.isBlocking())) { - AvatarActionOnSignal aaos_write_bucket = new AvatarActionOnSignal("writebucket_", write, _referenceRelation); + AvatarActionOnSignal aaos_write_bucket = new AvatarActionOnSignal("writebucket_", write, _referenceRelation, ab); for (AvatarAttribute aa : _sig1.getListOfAttributes()) { aaos_write_bucket.addValue("bucket_" + aa.getName()); } @@ -520,7 +518,7 @@ public class AvatarBlockTemplate { } // Read - AvatarState testTail = new AvatarState("testTail", _referenceRelation); + AvatarState testTail = new AvatarState("testTail", _referenceRelation, ab); asm.addElement(testTail); at = makeAvatarEmptyTransitionBetween(ab, asm, testTail, main, _referenceRelation); at.setGuard("[tail<maxSize]"); @@ -528,7 +526,7 @@ public class AvatarBlockTemplate { at.setGuard("[tail==maxSize]"); at.addAction("tail=0"); for (int i = 0; i < _sizeOfFifo; i++) { - AvatarActionOnSignal aaos_read = new AvatarActionOnSignal("read_" + i, read, _referenceRelation); + AvatarActionOnSignal aaos_read = new AvatarActionOnSignal("read_" + i, read, _referenceRelation, ab); for (AvatarAttribute aa : _sig1.getListOfAttributes()) { aaos_read.addValue("arg_" + aa.getName() + "_" + i); } @@ -541,7 +539,7 @@ public class AvatarBlockTemplate { } // Notified - AvatarActionOnSignal aaosNotified = new AvatarActionOnSignal("notified", notified, _referenceRelation); + AvatarActionOnSignal aaosNotified = new AvatarActionOnSignal("notified", notified, _referenceRelation, ab); aaosNotified.addValue("size"); asm.addElement(aaosNotified); at = makeAvatarEmptyTransitionBetween(ab, asm, main, aaosNotified, _referenceRelation); @@ -609,23 +607,23 @@ public class AvatarBlockTemplate { AvatarStateMachine asm = ab.getStateMachine(); // Start state - AvatarStartState ass = new AvatarStartState("start", _refB); + AvatarStartState ass = new AvatarStartState("start", _refB, ab); asm.setStartState(ass); asm.addElement(ass); // Main state - AvatarState mainState = new AvatarState("Main", _refB); + AvatarState mainState = new AvatarState("Main", _refB, ab); asm.addElement(mainState); if (unblokedBySigs.size() > 1) { - AvatarState waitForUnblock = new AvatarState("start", _refB); + AvatarState waitForUnblock = new AvatarState("start", _refB, ab); asm.addElement(waitForUnblock); at = makeAvatarEmptyTransitionBetween(ab, asm, ass, waitForUnblock, _refB); // Wait for being unblocked for (AvatarSignal as : unblokedBySigs) { - AvatarActionOnSignal aaosRead = new AvatarActionOnSignal("read_" + as.getSignalName(), as, _refB); + AvatarActionOnSignal aaosRead = new AvatarActionOnSignal("read_" + as.getSignalName(), as, _refB, ab); asm.addElement(aaosRead); at = makeAvatarEmptyTransitionBetween(ab, asm, waitForUnblock, aaosRead, _refB); at = makeAvatarEmptyTransitionBetween(ab, asm, aaosRead, waitForUnblock, _refB); @@ -637,7 +635,7 @@ public class AvatarBlockTemplate { at.setGuard("nbOfUnblocks == " + unblokedBySigs.size()); } else if (unblokedBySigs.size() == 1){ AvatarSignal as = unblokedBySigs.get(0); - AvatarActionOnSignal aaosRead = new AvatarActionOnSignal("read_" + as.getSignalName(), as, _refB); + AvatarActionOnSignal aaosRead = new AvatarActionOnSignal("read_" + as.getSignalName(), as, _refB, ab); asm.addElement(aaosRead); at = makeAvatarEmptyTransitionBetween(ab, asm, ass, aaosRead, _refB); at = makeAvatarEmptyTransitionBetween(ab, asm, aaosRead, mainState, _refB); @@ -645,18 +643,18 @@ public class AvatarBlockTemplate { at = makeAvatarEmptyTransitionBetween(ab, asm, ass, mainState, _refB); } - AvatarActionOnSignal selectWrite = new AvatarActionOnSignal("write_" + selectP.getSignalName(), selectP, _refB); + AvatarActionOnSignal selectWrite = new AvatarActionOnSignal("write_" + selectP.getSignalName(), selectP, _refB, ab); asm.addElement(selectWrite); selectWrite.addValue("duration"); at = makeAvatarEmptyTransitionBetween(ab, asm, mainState, selectWrite, _refB); // Activated - AvatarState activatedState = new AvatarState("activatedState", _refB); + AvatarState activatedState = new AvatarState("activatedState", _refB, ab); asm.addElement(activatedState); at = makeAvatarEmptyTransitionBetween(ab, asm, selectWrite, activatedState, _refB); // Making a step - AvatarActionOnSignal stepRead = new AvatarActionOnSignal("read_" + stepP.getSignalName(), stepP, _refB); + AvatarActionOnSignal stepRead = new AvatarActionOnSignal("read_" + stepP.getSignalName(), stepP, _refB, ab); stepRead.addValue("step"); asm.addElement(stepRead); at = makeAvatarEmptyTransitionBetween(ab, asm, activatedState, stepRead, _refB); @@ -666,7 +664,7 @@ public class AvatarBlockTemplate { at.addAction("duration = duration - step"); // Preempted - AvatarActionOnSignal preemptRead = new AvatarActionOnSignal("read_" + preemptP.getSignalName(), preemptP, _refB); + AvatarActionOnSignal preemptRead = new AvatarActionOnSignal("read_" + preemptP.getSignalName(), preemptP, _refB, ab); asm.addElement(preemptRead); at = makeAvatarEmptyTransitionBetween(ab, asm, activatedState, preemptRead, _refB); at.setGuard("duration>0"); @@ -675,7 +673,7 @@ public class AvatarBlockTemplate { // Finished! // Unblocking next - AvatarState unblockingState = new AvatarState("unblockingState", _refB); + AvatarState unblockingState = new AvatarState("unblockingState", _refB, ab); asm.addElement(unblockingState); at = makeAvatarEmptyTransitionBetween(ab, asm, mainState, unblockingState, _refB); at.setGuard("duration==0"); @@ -683,18 +681,18 @@ public class AvatarBlockTemplate { AvatarStateMachineElement previous = unblockingState; // Adding all unblocking signals for(AvatarSignal as: unblokingBySigs) { - AvatarActionOnSignal aaosWrite = new AvatarActionOnSignal("write_" + as.getSignalName(), as, _refB); + AvatarActionOnSignal aaosWrite = new AvatarActionOnSignal("write_" + as.getSignalName(), as, _refB, ab); asm.addElement(aaosWrite); at = makeAvatarEmptyTransitionBetween(ab, asm, previous, aaosWrite, _refB); previous = aaosWrite; } - AvatarActionOnSignal finishRead = new AvatarActionOnSignal("write_" + finishP.getSignalName(), finishP, _refB); + AvatarActionOnSignal finishRead = new AvatarActionOnSignal("write_" + finishP.getSignalName(), finishP, _refB, ab); asm.addElement(finishRead); at = makeAvatarEmptyTransitionBetween(ab, asm, previous, finishRead, _refB); - AvatarStopState stopState = new AvatarStopState("stopState", _refB); + AvatarStopState stopState = new AvatarStopState("stopState", _refB, ab); asm.addElement(stopState); at = makeAvatarEmptyTransitionBetween(ab, asm, finishRead, stopState, _refB); @@ -761,23 +759,23 @@ public class AvatarBlockTemplate { AvatarStateMachine asm = ab.getStateMachine(); // Start state - AvatarStartState ass = new AvatarStartState("start", _refB); + AvatarStartState ass = new AvatarStartState("start", _refB, ab); asm.setStartState(ass); asm.addElement(ass); // Main state - AvatarState mainState = new AvatarState("Main", _refB); + AvatarState mainState = new AvatarState("Main", _refB, ab); asm.addElement(mainState); if (unblokedBySigs.size() > 1) { - AvatarState waitForUnblock = new AvatarState("start", _refB); + AvatarState waitForUnblock = new AvatarState("start", _refB, ab); asm.addElement(waitForUnblock); at = makeAvatarEmptyTransitionBetween(ab, asm, ass, waitForUnblock, _refB); // Wait for being unblocked for (AvatarSignal as : unblokedBySigs) { - AvatarActionOnSignal aaosRead = new AvatarActionOnSignal("read_" + as.getSignalName(), as, _refB); + AvatarActionOnSignal aaosRead = new AvatarActionOnSignal("read_" + as.getSignalName(), as, _refB, ab); asm.addElement(aaosRead); at = makeAvatarEmptyTransitionBetween(ab, asm, waitForUnblock, aaosRead, _refB); at = makeAvatarEmptyTransitionBetween(ab, asm, aaosRead, waitForUnblock, _refB); @@ -789,7 +787,7 @@ public class AvatarBlockTemplate { at.setGuard("nbOfUnblocks == " + unblokedBySigs.size()); } else if (unblokedBySigs.size() == 1){ AvatarSignal as = unblokedBySigs.get(0); - AvatarActionOnSignal aaosRead = new AvatarActionOnSignal("read_" + as.getSignalName(), as, _refB); + AvatarActionOnSignal aaosRead = new AvatarActionOnSignal("read_" + as.getSignalName(), as, _refB, ab); asm.addElement(aaosRead); at = makeAvatarEmptyTransitionBetween(ab, asm, ass, aaosRead, _refB); at = makeAvatarEmptyTransitionBetween(ab, asm, aaosRead, mainState, _refB); @@ -812,29 +810,29 @@ public class AvatarBlockTemplate { asm.addElement(mainState); at = makeAvatarEmptyTransitionBetween(ab, asm, previous, mainState, _refB);*/ - AvatarActionOnSignal selectWrite = new AvatarActionOnSignal("write_" + selectP.getSignalName(), selectP, _refB); + AvatarActionOnSignal selectWrite = new AvatarActionOnSignal("write_" + selectP.getSignalName(), selectP, _refB, ab); selectWrite.addValue("duration"); asm.addElement(selectWrite); at = makeAvatarEmptyTransitionBetween(ab, asm, mainState, selectWrite, _refB); // Activation / deactivation - AvatarActionOnSignal deactivateRead = new AvatarActionOnSignal("read_" + deactivatedP.getSignalName(), deactivatedP, _refB); + AvatarActionOnSignal deactivateRead = new AvatarActionOnSignal("read_" + deactivatedP.getSignalName(), deactivatedP, _refB, ab); asm.addElement(deactivateRead); at = makeAvatarEmptyTransitionBetween(ab, asm, mainState, deactivateRead, _refB); - AvatarActionOnSignal activateRead = new AvatarActionOnSignal("read_" + reactivatedP.getSignalName(), reactivatedP, _refB); + AvatarActionOnSignal activateRead = new AvatarActionOnSignal("read_" + reactivatedP.getSignalName(), reactivatedP, _refB, ab); asm.addElement(activateRead); at = makeAvatarEmptyTransitionBetween(ab, asm, deactivateRead, activateRead, _refB); at = makeAvatarEmptyTransitionBetween(ab, asm, activateRead, mainState, _refB); // Activated - AvatarState activatedState = new AvatarState("activatedState", _refB); + AvatarState activatedState = new AvatarState("activatedState", _refB, ab); asm.addElement(activatedState); at = makeAvatarEmptyTransitionBetween(ab, asm, selectWrite, activatedState, _refB); // Making a step - AvatarActionOnSignal stepRead = new AvatarActionOnSignal("read_" + stepP.getSignalName(), stepP, _refB); + AvatarActionOnSignal stepRead = new AvatarActionOnSignal("read_" + stepP.getSignalName(), stepP, _refB, ab); stepRead.addValue("step"); asm.addElement(stepRead); at = makeAvatarEmptyTransitionBetween(ab, asm, activatedState, stepRead, _refB); @@ -847,7 +845,7 @@ public class AvatarBlockTemplate { // Unblocking next - AvatarState unblockingState = new AvatarState("unblockingState", _refB); + AvatarState unblockingState = new AvatarState("unblockingState", _refB, ab); asm.addElement(unblockingState); at = makeAvatarEmptyTransitionBetween(ab, asm, activatedState, unblockingState, _refB); at.setGuard("duration==0"); @@ -855,18 +853,18 @@ public class AvatarBlockTemplate { AvatarStateMachineElement previous = unblockingState; // Adding all unblocking signals for(AvatarSignal as: unblokingBySigs) { - AvatarActionOnSignal aaosWrite = new AvatarActionOnSignal("write_" + as.getSignalName(), as, _refB); + AvatarActionOnSignal aaosWrite = new AvatarActionOnSignal("write_" + as.getSignalName(), as, _refB, ab); asm.addElement(aaosWrite); at = makeAvatarEmptyTransitionBetween(ab, asm, previous, aaosWrite, _refB); previous = aaosWrite; } - AvatarActionOnSignal finishRead = new AvatarActionOnSignal("write_" + finishP.getSignalName(), finishP, _refB); + AvatarActionOnSignal finishRead = new AvatarActionOnSignal("write_" + finishP.getSignalName(), finishP, _refB, ab); asm.addElement(finishRead); at = makeAvatarEmptyTransitionBetween(ab, asm, previous, finishRead, _refB); - AvatarStopState stopState = new AvatarStopState("stopState", _refB); + AvatarStopState stopState = new AvatarStopState("stopState", _refB, ab); asm.addElement(stopState); at = makeAvatarEmptyTransitionBetween(ab, asm, finishRead, stopState, _refB); @@ -935,18 +933,18 @@ public class AvatarBlockTemplate { AvatarStateMachine asm = ab.getStateMachine(); // Start state - AvatarStartState ass = new AvatarStartState("start", _refB); + AvatarStartState ass = new AvatarStartState("start", _refB, ab); asm.setStartState(ass); asm.addElement(ass); // Main state - AvatarState mainState = new AvatarState("mainState", _refB); + AvatarState mainState = new AvatarState("mainState", _refB, ab); asm.addElement(mainState); at = makeAvatarEmptyTransitionBetween(ab, asm, ass, mainState, _refB); // Min Computation state - AvatarState minState = new AvatarState("minState", _refB); + AvatarState minState = new AvatarState("minState", _refB, ab); asm.addElement(minState); for(AvatarAttribute aa0: allMins) { at = makeAvatarEmptyTransitionBetween(ab, asm, minState, mainState, _refB); @@ -967,7 +965,7 @@ public class AvatarBlockTemplate { // SelectClock for(String task: allTasks) { as = ab.getAvatarSignalWithName("selectClock_" + task); - AvatarActionOnSignal newStepRead = new AvatarActionOnSignal("selectClock_" + as.getSignalName(), as, _refB); + AvatarActionOnSignal newStepRead = new AvatarActionOnSignal("selectClock_" + as.getSignalName(), as, _refB, ab); newStepRead.addValue("step_" + task); asm.addElement(newStepRead); at = makeAvatarEmptyTransitionBetween(ab, asm, mainState, newStepRead, _refB); @@ -978,7 +976,7 @@ public class AvatarBlockTemplate { //TraceManager.addDev("Set clock actions"); for(String task: allTasks) { as = ab.getAvatarSignalWithName("setClock_" + task); - AvatarActionOnSignal newStepRead = new AvatarActionOnSignal("setClock_" + as.getSignalName(), as, _refB); + AvatarActionOnSignal newStepRead = new AvatarActionOnSignal("setClock_" + as.getSignalName(), as, _refB, ab); newStepRead.addValue("step_" + task); asm.addElement(newStepRead); at = makeAvatarEmptyTransitionBetween(ab, asm, mainState, newStepRead, _refB); @@ -989,7 +987,7 @@ public class AvatarBlockTemplate { // Tick - AvatarActionOnSignal aaosWrite = new AvatarActionOnSignal("sendTickIn_" + tick.getSignalName(), tick, _refB); + AvatarActionOnSignal aaosWrite = new AvatarActionOnSignal("sendTickIn_" + tick.getSignalName(), tick, _refB, ab); asm.addElement(aaosWrite); aaosWrite.addValue("step"); at = makeAvatarEmptyTransitionBetween(ab, asm, mainState, aaosWrite, _refB); @@ -1000,12 +998,12 @@ public class AvatarBlockTemplate { } // finished - aaosWrite = new AvatarActionOnSignal("sendAllFinished_" + allFinished.getSignalName(), allFinished, _refB); + aaosWrite = new AvatarActionOnSignal("sendAllFinished_" + allFinished.getSignalName(), allFinished, _refB, ab); aaosWrite.addValue("h"); asm.addElement(aaosWrite); at = makeAvatarEmptyTransitionBetween(ab, asm, mainState, aaosWrite, _refB); - AvatarStopState stop = new AvatarStopState("stop", _refB); + AvatarStopState stop = new AvatarStopState("stop", _refB, ab); asm.addElement(stop); at = makeAvatarEmptyTransitionBetween(ab, asm, aaosWrite, stop, _refB); @@ -1030,23 +1028,23 @@ public class AvatarBlockTemplate { AvatarStateMachine asm = ab.getStateMachine(); // Start state - AvatarStartState ass = new AvatarStartState("start", _refB); + AvatarStartState ass = new AvatarStartState("start", _refB, ab); asm.setStartState(ass); asm.addElement(ass); // MainState state - AvatarState mainState = new AvatarState("mainState", _refB); + AvatarState mainState = new AvatarState("mainState", _refB, ab); asm.addElement(mainState); at = makeAvatarEmptyTransitionBetween(ab, asm, ass, mainState, _refB); // Receive startDR - AvatarActionOnSignal aaosRead = new AvatarActionOnSignal("startDR", startDR, _refB); + AvatarActionOnSignal aaosRead = new AvatarActionOnSignal("startDR", startDR, _refB, ab); asm.addElement(aaosRead); at = makeAvatarEmptyTransitionBetween(ab, asm, mainState, aaosRead, _refB); at = makeAvatarEmptyTransitionBetween(ab, asm, aaosRead, mainState, _refB); // Receive stopDR - aaosRead = new AvatarActionOnSignal("stopDR", stopDR, _refB); + aaosRead = new AvatarActionOnSignal("stopDR", stopDR, _refB, ab); asm.addElement(aaosRead); at = makeAvatarEmptyTransitionBetween(ab, asm, mainState, aaosRead, _refB); at = makeAvatarEmptyTransitionBetween(ab, asm, aaosRead, mainState, _refB); @@ -1220,21 +1218,21 @@ public class AvatarBlockTemplate { AvatarStateMachine asm = ab.getStateMachine(); // Start state - AvatarStartState ass = new AvatarStartState("start", _refB); + AvatarStartState ass = new AvatarStartState("start", _refB, ab); asm.setStartState(ass); asm.addElement(ass); // finishSW state - AvatarState finishSW = new AvatarState("finishSW", _refB); + AvatarState finishSW = new AvatarState("finishSW", _refB, ab); asm.addElement(finishSW); at = makeAvatarEmptyTransitionBetween(ab, asm, ass, finishSW, _refB); for(String task: swTasks) { as = ab.getAvatarSignalWithName("finished_" + task); - AvatarActionOnSignal finishedSWRead = new AvatarActionOnSignal("read_" + as.getSignalName() + "_" + task, as, _refB); + AvatarActionOnSignal finishedSWRead = new AvatarActionOnSignal("read_" + as.getSignalName() + "_" + task, as, _refB, ab); asm.addElement(finishedSWRead); as = ab.getAvatarSignalWithName("selectClock_" + task); - AvatarActionOnSignal selectSWWrite = new AvatarActionOnSignal("writeclock_" + as.getSignalName(), as, _refB); + AvatarActionOnSignal selectSWWrite = new AvatarActionOnSignal("writeclock_" + as.getSignalName(), as, _refB, ab); selectSWWrite.addValue("maxStep"); asm.addElement(selectSWWrite); at = makeAvatarEmptyTransitionBetween(ab, asm, finishSW, finishedSWRead, _refB); @@ -1246,7 +1244,7 @@ public class AvatarBlockTemplate { } // finishHW state - AvatarState finishHW = new AvatarState("finishHW", _refB); + AvatarState finishHW = new AvatarState("finishHW", _refB, ab); asm.addElement(finishHW); at = makeAvatarEmptyTransitionBetween(ab, asm, finishSW, finishHW, _refB); at.setDelays("1", "1"); @@ -1255,10 +1253,10 @@ public class AvatarBlockTemplate { cpt = 0; for(String task: hwTasks) { as = ab.getAvatarSignalWithName("finished_" + task); - AvatarActionOnSignal finishedHWRead = new AvatarActionOnSignal("read_" + as.getSignalName(), as, _refB); + AvatarActionOnSignal finishedHWRead = new AvatarActionOnSignal("read_" + as.getSignalName(), as, _refB, ab); asm.addElement(finishedHWRead); as = ab.getAvatarSignalWithName("selectClock_" + task); - AvatarActionOnSignal selectHWWrite = new AvatarActionOnSignal("writeclock_" + as.getSignalName(), as, _refB); + AvatarActionOnSignal selectHWWrite = new AvatarActionOnSignal("writeclock_" + as.getSignalName(), as, _refB, ab); selectHWWrite.addValue("maxStep"); asm.addElement(selectHWWrite); at = makeAvatarEmptyTransitionBetween(ab, asm, finishHW, finishedHWRead, _refB); @@ -1274,7 +1272,7 @@ public class AvatarBlockTemplate { } else { as = allFinished; - AvatarActionOnSignal allFinishedRead = new AvatarActionOnSignal("read_" + as.getSignalName(), as, _refB); + AvatarActionOnSignal allFinishedRead = new AvatarActionOnSignal("read_" + as.getSignalName(), as, _refB, ab); allFinishedRead.addValue("finalClockValue"); asm.addElement(allFinishedRead); @@ -1283,7 +1281,7 @@ public class AvatarBlockTemplate { at.addAction("runningHW = runningHW - 1"); at.addAction("nbHWTasks = nbHWTasks - 1"); - AvatarStopState stop = new AvatarStopState("stopAllFinished", _refB); + AvatarStopState stop = new AvatarStopState("stopAllFinished", _refB, ab); asm.addElement(stop); at = makeAvatarEmptyTransitionBetween(ab, asm, allFinishedRead, stop, _refB); } @@ -1292,14 +1290,14 @@ public class AvatarBlockTemplate { } // evaluateSW state - AvatarState evaluateSW = new AvatarState("evaluateSW", _refB); + AvatarState evaluateSW = new AvatarState("evaluateSW", _refB, ab); asm.addElement(evaluateSW); at = makeAvatarEmptyTransitionBetween(ab, asm, finishHW, evaluateSW, _refB); at.setDelays("1", "1"); // preemptSW state - AvatarState preemptSW = new AvatarState("preemptSW", _refB); + AvatarState preemptSW = new AvatarState("preemptSW", _refB, ab); asm.addElement(preemptSW); at = makeAvatarEmptyTransitionBetween(ab, asm, evaluateSW, preemptSW, _refB); at.setGuard("(allocCore > 0) && (rescheduleSW)"); @@ -1307,7 +1305,7 @@ public class AvatarBlockTemplate { for(String task: swTasks) { as = ab.getAvatarSignalWithName("preempt_" + task); - AvatarActionOnSignal preemptSWWrite = new AvatarActionOnSignal("write_" + as.getSignalName(), as, _refB); + AvatarActionOnSignal preemptSWWrite = new AvatarActionOnSignal("write_" + as.getSignalName(), as, _refB, ab); asm.addElement(preemptSWWrite); at = makeAvatarEmptyTransitionBetween(ab, asm, preemptSW, preemptSWWrite, _refB); at = makeAvatarEmptyTransitionBetween(ab, asm, preemptSWWrite, preemptSW, _refB); @@ -1316,7 +1314,7 @@ public class AvatarBlockTemplate { // selectSW state - AvatarState selectSW = new AvatarState("selectSW", _refB); + AvatarState selectSW = new AvatarState("selectSW", _refB, ab); asm.addElement(selectSW); at = makeAvatarEmptyTransitionBetween(ab, asm, preemptSW, selectSW, _refB); at.setDelays("1", "1"); @@ -1325,11 +1323,11 @@ public class AvatarBlockTemplate { for(String task: swTasks) { as = ab.getAvatarSignalWithName("select_" + task); - AvatarActionOnSignal selectSWRead = new AvatarActionOnSignal("read_" + as.getSignalName(), as, _refB); + AvatarActionOnSignal selectSWRead = new AvatarActionOnSignal("read_" + as.getSignalName(), as, _refB, ab); selectSWRead.addValue("step"); asm.addElement(selectSWRead); as = ab.getAvatarSignalWithName("selectClock_" + task); - AvatarActionOnSignal selectSWWrite = new AvatarActionOnSignal("writeclock_" + as.getSignalName(), as, _refB); + AvatarActionOnSignal selectSWWrite = new AvatarActionOnSignal("writeclock_" + as.getSignalName(), as, _refB, ab); selectSWWrite.addValue("step"); asm.addElement(selectSWWrite); at = makeAvatarEmptyTransitionBetween(ab, asm, selectSW, selectSWRead, _refB); @@ -1343,7 +1341,7 @@ public class AvatarBlockTemplate { //TraceManager.addDev("Main block: 1" ); // selectHW state - AvatarState selectHW = new AvatarState("selectHW", _refB); + AvatarState selectHW = new AvatarState("selectHW", _refB, ab); asm.addElement(selectHW); at = makeAvatarEmptyTransitionBetween(ab, asm, selectSW, selectHW, _refB); at.setDelays("2", "2"); @@ -1353,11 +1351,11 @@ public class AvatarBlockTemplate { cpt = 0; for(String task: hwTasks) { as = ab.getAvatarSignalWithName("select_" + task); - AvatarActionOnSignal selectHWRead = new AvatarActionOnSignal("read_" + as.getSignalName(), as, _refB); + AvatarActionOnSignal selectHWRead = new AvatarActionOnSignal("read_" + as.getSignalName(), as, _refB, ab); selectHWRead.addValue("step"); asm.addElement(selectHWRead); as = ab.getAvatarSignalWithName("selectClock_" + task); - AvatarActionOnSignal selectHWWrite = new AvatarActionOnSignal("writeClock_" + as.getSignalName(), as, _refB); + AvatarActionOnSignal selectHWWrite = new AvatarActionOnSignal("writeClock_" + as.getSignalName(), as, _refB, ab); selectHWWrite.addValue("step"); asm.addElement(selectHWWrite); //TraceManager.addDev("Main block: 1.2" ); @@ -1385,14 +1383,14 @@ public class AvatarBlockTemplate { // blockNonSelected state - AvatarState blockNonSelected = new AvatarState("blockNonSelected", _refB); + AvatarState blockNonSelected = new AvatarState("blockNonSelected", _refB, ab); asm.addElement(blockNonSelected); at = makeAvatarEmptyTransitionBetween(ab, asm, selectHW, blockNonSelected, _refB); at.setGuard("runningHW> 0 "); for(String task: hwTasks) { as = ab.getAvatarSignalWithName("deactivate_" + task); - AvatarActionOnSignal deactivateHWWrite = new AvatarActionOnSignal("deactivate_" + as.getSignalName(), as, _refB); + AvatarActionOnSignal deactivateHWWrite = new AvatarActionOnSignal("deactivate_" + as.getSignalName(), as, _refB, ab); asm.addElement(deactivateHWWrite); at = makeAvatarEmptyTransitionBetween(ab, asm, blockNonSelected, deactivateHWWrite, _refB); at = makeAvatarEmptyTransitionBetween(ab, asm, deactivateHWWrite, blockNonSelected, _refB); @@ -1400,14 +1398,14 @@ public class AvatarBlockTemplate { //TraceManager.addDev("Main block: 1.5" ); // startDR state - AvatarState startDR = new AvatarState("startDR", _refB); + AvatarState startDR = new AvatarState("startDR", _refB, ab); asm.addElement(startDR); at = makeAvatarEmptyTransitionBetween(ab, asm, selectHW, startDR, _refB); //at.setGuard("(runningHW == 0) && (allocHW > 0)"); at.setGuard("(runningHW == 0) && ((allocHW > 0) && (delayDR == false))"); - AvatarActionOnSignal startDRWrite = new AvatarActionOnSignal("startDRWrite", startDRSig, _refB); + AvatarActionOnSignal startDRWrite = new AvatarActionOnSignal("startDRWrite", startDRSig, _refB, ab); asm.addElement(startDRWrite); - AvatarActionOnSignal startDRWriteClock = new AvatarActionOnSignal("startDRWrite", selectDR, _refB); + AvatarActionOnSignal startDRWriteClock = new AvatarActionOnSignal("startDRWrite", selectDR, _refB, ab); startDRWriteClock.addValue("durationDR"); asm.addElement(startDRWriteClock); at = makeAvatarEmptyTransitionBetween(ab, asm, startDR, startDRWrite, _refB); @@ -1418,14 +1416,14 @@ public class AvatarBlockTemplate { at.addAction("delayDR = true"); // unblockAllHWP state - AvatarState unblockAllHWP = new AvatarState("unblockAllHWP", _refB); + AvatarState unblockAllHWP = new AvatarState("unblockAllHWP", _refB, ab); asm.addElement(unblockAllHWP); at = makeAvatarEmptyTransitionBetween(ab, asm, startDRWriteClock, unblockAllHWP, _refB); for(String task: hwTasks) { as = ab.getAvatarSignalWithName("reactivate_" + task); - AvatarActionOnSignal reactivateHWWrite = new AvatarActionOnSignal("reactivate_" + as.getSignalName(), as, _refB); + AvatarActionOnSignal reactivateHWWrite = new AvatarActionOnSignal("reactivate_" + as.getSignalName(), as, _refB, ab); asm.addElement(reactivateHWWrite); at = makeAvatarEmptyTransitionBetween(ab, asm, unblockAllHWP, reactivateHWWrite, _refB); at = makeAvatarEmptyTransitionBetween(ab, asm, reactivateHWWrite, unblockAllHWP, _refB); @@ -1433,7 +1431,7 @@ public class AvatarBlockTemplate { //TraceManager.addDev("Main block: 2" ); // makeStep state - AvatarState makeStep = new AvatarState("makeStep", _refB); + AvatarState makeStep = new AvatarState("makeStep", _refB, ab); asm.addElement(makeStep); at = makeAvatarEmptyTransitionBetween(ab, asm, selectSW, makeStep, _refB); @@ -1457,11 +1455,11 @@ public class AvatarBlockTemplate { //TraceManager.addDev("Main block: 3" ); // makeSteps state - AvatarState makeSteps = new AvatarState("makeSteps", _refB); + AvatarState makeSteps = new AvatarState("makeSteps", _refB, ab); asm.addElement(makeSteps); - AvatarState verifyStep = new AvatarState("verifyStep", _refB); + AvatarState verifyStep = new AvatarState("verifyStep", _refB, ab); asm.addElement(verifyStep); - AvatarActionOnSignal tickRead = new AvatarActionOnSignal(tick.getSignalName(), tick, _refB); + AvatarActionOnSignal tickRead = new AvatarActionOnSignal(tick.getSignalName(), tick, _refB, ab); tickRead.addValue("step"); asm.addElement(tickRead); at = makeAvatarEmptyTransitionBetween(ab, asm, makeStep, tickRead, _refB); @@ -1471,14 +1469,14 @@ public class AvatarBlockTemplate { at = makeAvatarEmptyTransitionBetween(ab, asm, verifyStep, makeSteps, _refB); at.setGuard("else"); - AvatarStopState stopState = new AvatarStopState("stopState", _refB); + AvatarStopState stopState = new AvatarStopState("stopState", _refB, ab); asm.addElement(stopState); at = makeAvatarEmptyTransitionBetween(ab, asm, verifyStep, stopState, _refB); at.setGuard("(step == 0) || (step>5000)"); for(String task: swTasks) { as = ab.getAvatarSignalWithName("step_" + task); - AvatarActionOnSignal stepSWWrite = new AvatarActionOnSignal("step_" + as.getSignalName(), as, _refB); + AvatarActionOnSignal stepSWWrite = new AvatarActionOnSignal("step_" + as.getSignalName(), as, _refB, ab); stepSWWrite.addValue("step"); asm.addElement(stepSWWrite); at = makeAvatarEmptyTransitionBetween(ab, asm, makeSteps, stepSWWrite, _refB); @@ -1487,7 +1485,7 @@ public class AvatarBlockTemplate { for(String task: hwTasks) { as = ab.getAvatarSignalWithName("step_" + task); - AvatarActionOnSignal stepHWWrite = new AvatarActionOnSignal("step_" + as.getSignalName(), as, _refB); + AvatarActionOnSignal stepHWWrite = new AvatarActionOnSignal("step_" + as.getSignalName(), as, _refB, ab); asm.addElement(stepHWWrite); stepHWWrite.addValue("step"); at = makeAvatarEmptyTransitionBetween(ab, asm, makeSteps, stepHWWrite, _refB); @@ -1496,20 +1494,20 @@ public class AvatarBlockTemplate { //TraceManager.addDev("Main block: 3" ); // nothing is running? Stop now! - AvatarStopState assDeadlock = new AvatarStopState("deadlockstate", _refB); + AvatarStopState assDeadlock = new AvatarStopState("deadlockstate", _refB, ab); asm.addElement(assDeadlock); at = makeAvatarEmptyTransitionBetween(ab, asm, makeSteps, assDeadlock, _refB); at.setGuard("(runningHW == 0) && ((allocCore == 0) && (currentDR == 0))"); // waitForSteps state - AvatarState waitForSteps = new AvatarState("waitForSteps", _refB); + AvatarState waitForSteps = new AvatarState("waitForSteps", _refB, ab); asm.addElement(waitForSteps); at = makeAvatarEmptyTransitionBetween(ab, asm, makeSteps, waitForSteps, _refB); at.setDelays("1", "1"); at.setGuard("currentDR == 0"); - AvatarState DRAnalysisSState = new AvatarState("DRAnalysisSState", _refB); + AvatarState DRAnalysisSState = new AvatarState("DRAnalysisSState", _refB, ab); asm.addElement(DRAnalysisSState); at = makeAvatarEmptyTransitionBetween(ab, asm, makeSteps, DRAnalysisSState, _refB); at.setDelays("1", "1"); @@ -1520,9 +1518,9 @@ public class AvatarBlockTemplate { at.setGuard("currentDR > 0"); - AvatarActionOnSignal drStopWrite = new AvatarActionOnSignal("drStopWrite", stopDRSig, _refB); + AvatarActionOnSignal drStopWrite = new AvatarActionOnSignal("drStopWrite", stopDRSig, _refB, ab); asm.addElement(drStopWrite); - AvatarActionOnSignal stopDRWriteClock = new AvatarActionOnSignal("stopDRWriteClock", setDR, _refB); + AvatarActionOnSignal stopDRWriteClock = new AvatarActionOnSignal("stopDRWriteClock", setDR, _refB, ab); stopDRWriteClock.addValue("maxStep"); asm.addElement(stopDRWriteClock); at = makeAvatarEmptyTransitionBetween(ab, asm, DRAnalysisSState, drStopWrite, _refB); diff --git a/src/main/java/avatartranslator/AvatarCompactDependencyGraph.java b/src/main/java/avatartranslator/AvatarCompactDependencyGraph.java new file mode 100644 index 0000000000000000000000000000000000000000..2b0efc82a696f484bbd23a777bc82bd88e6a0dba --- /dev/null +++ b/src/main/java/avatartranslator/AvatarCompactDependencyGraph.java @@ -0,0 +1,998 @@ +/* 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 avatartranslator; + + +import graph.AUTGraph; +import graph.AUTState; +import graph.AUTTransition; +import myutil.TraceManager; +import org.apache.batik.anim.timing.Trace; +import org.jfree.data.json.impl.JSONObject; +import ui.TGComponent; + +import java.util.*; + +/** + * Class AvatarCompactDependencyGraph + * Creation: 27/06/2023 + * + * @author Ludovic APVRILLE + * @version 1.0 27/06/2023 + */ +public class AvatarCompactDependencyGraph { + private AUTGraph graph; + private int id = 0; + + public static int ID = 0; + + public AvatarCompactDependencyGraph() { + //fromStates = new HashMap<>(); + } + + public AUTGraph getGraph() { + return graph; + } + + public void setGraph(AUTGraph _g) { + graph = _g; + } + + /*public void setRefs(HashMap<AvatarElement, ArrayList<AUTState>> _toStates, HashMap<AUTState, AvatarElement> _fromStates) { + toStates = _toStates; + fromStates = _fromStates; + }*/ + + public AUTState getFirstStateWithReference(AvatarElement _ae) { + return graph.getFirstStateWithReference(_ae); + } + + public void buildGraph(AvatarSpecification _avspec, boolean withID) { + + + graph = new AUTGraph(); + id = 0; + + ArrayList<AUTState> states = new ArrayList<>(); + ArrayList<AUTTransition> transitions = new ArrayList<>(); + // First build state machines, and then link them on RD / WR operators + + for (AvatarBlock block : _avspec.getListOfBlocks()) { + AvatarStateMachine asm = block.getStateMachine(); + if (!(asm.isBasicStateMachine())) { + AvatarStartState ass = asm.getStartState(); + + // Make general structure + makeCompactDependencyGraphForAvatarElement(block, ass, null, null, states, transitions, withID, null); + } + } + + ArrayList<AUTState> newStates = new ArrayList<>(); + HashSet<AUTState> oldStatesRemove = new HashSet<>(); + + HashSet<AUTState> previousRead = new HashSet<>(); + + // Connect everything i.e. writers to all potential readers + // For each writing state, we draw a transition to all possible corresponding readers + // Double direction if synchronous + for (AUTState state : states) { + AvatarActionOnSignal aaos = getAvatarActionOnSignalInReferences(state); + if (aaos != null) { + + // Find previous of state + AUTTransition previousTr = state.inTransitions.get(0); + int previousId = previousTr.origin; + AUTState previousState = null; + for (AUTState st : states) { + if (st.id == previousId) { + previousState = st; + break; + } + } + + if (previousState != null) { + AvatarSignal signal = aaos.getSignal(); + boolean found = false; + + AUTTransition previousDTr = null; + AUTState previousStateD = null; + + if (signal.isOut()) { + // Write operation + AvatarSignal correspondingSig = _avspec.getCorrespondingSignal(signal); + //TraceManager.addDev("Corresponding signal=" + correspondingSig); + if (correspondingSig != null) { + for (AUTState stateDestination : states) { + AvatarActionOnSignal aaosD = getAvatarActionOnSignalInReferences(stateDestination); + if (aaosD != null) { + if (aaosD.getSignal() == correspondingSig) { + // Found relation + //TraceManager.addDev("Found relation!"); + found = true; + oldStatesRemove.add(state); + + // Create a new state dedicated to this relation + AUTState newState = new AUTState(id); + newState.referenceObject = state.referenceObject; + newState.info = state.info; + + newStates.add(newState); + id++; + + AUTTransition tr = new AUTTransition(previousId, "", newState.id); + transitions.add(tr); + previousState.addOutTransition(tr); + newState.addInTransition(tr); + + tr = new AUTTransition(newState.id, "", state.id); + transitions.add(tr); + newState.addOutTransition(tr); + state.addInTransition(tr); + + // We must do the same for the destination : create a state before + + // Find previous of state + previousDTr = stateDestination.inTransitions.get(0); + int previousDId = previousDTr.origin; + previousStateD = null; + for (AUTState st : states) { + if (st.id == previousDId) { + previousStateD = st; + break; + } + } + + if (previousStateD != null) { + oldStatesRemove.add(stateDestination); + previousRead.add(previousStateD); + + AUTState newStateD = new AUTState(id); + newStateD.referenceObject = stateDestination.referenceObject; + newStateD.info = stateDestination.info; + newStates.add(newStateD); + id++; + + // linking the new state to the correct states + + tr = new AUTTransition(previousDId, "", newStateD.id); + transitions.add(tr); + previousStateD.addOutTransition(tr); + newStateD.addInTransition(tr); + + tr = new AUTTransition(newStateD.id, "", stateDestination.id); + transitions.add(tr); + newStateD.addOutTransition(tr); + stateDestination.addInTransition(tr); + + + // Links between the two new states + + tr = new AUTTransition(newState.id, "", newStateD.id); + tr.addTag(AUTGraph.COMM_TAG); + transitions.add(tr); + newState.addOutTransition(tr); + newStateD.addInTransition(tr); + AvatarRelation ar = _avspec.getAvatarRelationWithSignal(correspondingSig); + + if (!(ar.isAsynchronous())) { + tr = new AUTTransition(newStateD.id, "", newState.id); + tr.addTag(AUTGraph.COMM_TAG); + transitions.add(tr); + newStateD.addOutTransition(tr); + newState.addInTransition(tr); + } + + // We can remove the transition between the prev and the first sttae of this read + + + } + } + } + } + } + } + + if (found) { + // We have to remove the old transition + if (state.inTransitions.size() > 0) { + TraceManager.addDev("Found: we have to remove the wrong transition tr=" + state.inTransitions.get(0).toString()); + previousState.outTransitions.remove(0); + state.inTransitions.remove(0); + transitions.remove(previousTr); + } else { + TraceManager.addDev("No inTransition for state " + state.id); + } + + } + } + } + } + + + // We remove all transitions from previous to the first next in read operations + for (AUTState state : previousRead) { + if (state.outTransitions.size() > 0) { + AUTTransition tr = state.outTransitions.get(0); + AUTState otherState = states.get(tr.destination); + state.outTransitions.remove(0); + otherState.inTransitions.remove(0); + transitions.remove(tr); + } + } + + for (AUTState state : newStates) { + states.add(state); + } + + for (AUTState state : oldStatesRemove) { + + ArrayList<AUTTransition> newTR = new ArrayList<>(); + for (AUTTransition atPrev : state.inTransitions) { + for (int i = 0; i < state.outTransitions.size(); i++) { + AUTTransition tr = new AUTTransition(atPrev.origin, + state.outTransitions.get(i).transition, state.outTransitions.get(i).destination); + newTR.add(tr); + state.outTransitions.get(i); + } + } + + AUTState sTmp; + for (AUTTransition atPrev : state.outTransitions) { + transitions.remove(atPrev); + sTmp = states.get(atPrev.destination); + sTmp.removeInTransition(atPrev); + } + + for (AUTTransition atPrev : state.inTransitions) { + transitions.remove(atPrev); + sTmp = states.get(atPrev.origin); + sTmp.removeOutTransition(atPrev); + } + + for (AUTTransition tr : newTR) { + transitions.add(tr); + sTmp = states.get(tr.destination); + sTmp.addInTransition(tr); + sTmp = states.get(tr.origin); + sTmp.addOutTransition(tr); + } + } + + for (AUTState state : oldStatesRemove) { + states.remove(state); + } + + int cpt = 0; + + cpt = 0; + for (AUTState state : states) { + if (cpt != state.id) { + // We now have to compact state ids + // We place the last state at index position + // We accordingly modify transitions + // Nothing to do if state index is already at last position + state.id = cpt; + for (AUTTransition atIn : state.inTransitions) { + atIn.destination = cpt; + } + for (AUTTransition atOut : state.outTransitions) { + atOut.origin = cpt; + } + } + cpt++; + } + + cpt = 0; + + + /*for(AUTState state: states) { + TraceManager.addDev("" + cpt + ": state " + state.id + " / " + state.info + " / " + state); + cpt ++; + }*/ + + // Optimization: remove states representing empty transitions + ArrayList<AUTState> toBeRemoved = new ArrayList<>(); + for (AUTState state : states) { + //TraceManager.addDev("Testing " + state.referenceObject.toString()); + if (state.referenceObject instanceof AvatarTransition) { + AvatarTransition at = (AvatarTransition) state.referenceObject; + TraceManager.addDev("Found transition ID: " + at.getID()); + if (at.isEmpty()) { + TraceManager.addDev("Found empty transition ID: " + at.getID()); + if (!at.isGuarded()) { + TraceManager.addDev("Not guarded ID: " + at.getID()); + if (at.getNexts().size() > 0) { + //if (state.outTransitions.size() == 1) { + // State can be removed + + // We can update the transitions + // We assume that there is only one out transition + + toBeRemoved.add(state); + ArrayList<AUTTransition> newTR = new ArrayList<>(); + for (AUTTransition atPrev : state.inTransitions) { + for (int i = 0; i < state.outTransitions.size(); i++) { + AUTTransition tr = new AUTTransition(atPrev.origin, + state.outTransitions.get(i).transition, state.outTransitions.get(i).destination); + newTR.add(tr); + state.outTransitions.get(i); + } + } + + AUTState sTmp; + for (AUTTransition atPrev : state.outTransitions) { + transitions.remove(atPrev); + sTmp = states.get(atPrev.destination); + sTmp.removeInTransition(atPrev); + } + + for (AUTTransition atPrev : state.inTransitions) { + transitions.remove(atPrev); + sTmp = states.get(atPrev.origin); + sTmp.removeOutTransition(atPrev); + } + + for (AUTTransition tr : newTR) { + transitions.add(tr); + sTmp = states.get(tr.destination); + sTmp.addInTransition(tr); + sTmp = states.get(tr.origin); + sTmp.addOutTransition(tr); + } + } + } + } + } + } + + + for (AUTState state : toBeRemoved) { + states.remove(state); + } + + + // We update all ids; + cpt = 0; + for (AUTState state : states) { + if (cpt != state.id) { + // We now have to compact state ids + // We place the last state at index position + // We accordingly modify transitions + // Nothing to do if state index is already at last position + state.id = cpt; + for (AUTTransition atIn : state.inTransitions) { + atIn.destination = cpt; + } + for (AUTTransition atOut : state.outTransitions) { + atOut.origin = cpt; + } + } + cpt++; + } + + cpt = 0; + /*for(AUTState state: states) { + TraceManager.addDev("" + cpt + ": state " + state.id + " / " + state.info + " / " + state); + cpt ++; + }*/ + + + // Rework Avatar Actions on Signals if multiple, synchros for the same AAOS + + // Make the graph + graph = new AUTGraph(states, transitions); + + + } + + @SuppressWarnings("unchecked") + private void addReferenceElement(AUTState _state, AvatarStateMachineElement _elt) { + ArrayList<AvatarStateMachineElement> refs = null; + if ( (_state.referenceObject == null) ) { + refs = new ArrayList<>(); + _state.referenceObject = refs; + } else { + refs = (ArrayList<AvatarStateMachineElement> ) (_state.referenceObject); + } + refs.add(_elt); + } + + @SuppressWarnings("unchecked") + private boolean hasReferenceObject(AUTState _state, AvatarStateMachineElement _elt) { + if (_state.referenceObject == null) { + return false; + } + ArrayList<AvatarStateMachineElement> refs = (ArrayList<AvatarStateMachineElement> )(_state.referenceObject); + return refs.contains(_elt); + } + + @SuppressWarnings("unchecked") + private AvatarActionOnSignal getAvatarActionOnSignalInReferences(AUTState _state) { + if (_state.referenceObject == null) { + return null; + } + ArrayList<AvatarStateMachineElement> refs = (ArrayList<AvatarStateMachineElement> )(_state.referenceObject); + for(AvatarStateMachineElement elt: refs) { + if (elt instanceof AvatarActionOnSignal) { + return (AvatarActionOnSignal)elt; + } + } + return null; + } + + @SuppressWarnings("unchecked") + private AvatarStateMachineElement getFirstReferenceObjectFromState(AUTState _state) { + if (_state.referenceObject == null) { + return null; + } + ArrayList<AvatarStateMachineElement> refs = (ArrayList<AvatarStateMachineElement> )(_state.referenceObject); + if (refs.size() > 0) { + return refs.get(0); + } + return null; + } + + @SuppressWarnings("unchecked") + private AvatarStateMachineElement getLastReferenceObjectFromState(AUTState _state) { + if (_state.referenceObject == null) { + return null; + } + ArrayList<AvatarStateMachineElement> refs = (ArrayList<AvatarStateMachineElement> )(_state.referenceObject); + if (refs.size() > 0) { + return refs.get(refs.size()-1); + } + return null; + } + + + + + private AUTState makeCompactDependencyGraphForAvatarElement(AvatarBlock bl, AvatarStateMachineElement _elt, + AUTState _previousS, AvatarStateMachineElement _previousE, + ArrayList<AUTState> _states, + ArrayList<AUTTransition> _transitions, boolean withID, + AvatarTransition _previousAvatarTransition) { + if (_elt == null) { + return null; + } + + // Already a state for a next? + AUTState stateN = null; + for (AUTState st : _states) { + if (hasReferenceObject(st, _elt)) { + stateN = st; + TraceManager.addDev("Found known state machine element for " + _elt.getExtendedName()); + break; + } + } + //AUTState stateN = getFirstStateFor(eltN); + if (stateN != null) { + AUTTransition tr = new AUTTransition(_previousS.id, "", stateN.id); + _transitions.add(tr); + _previousS.addOutTransition(tr); + stateN.addInTransition(tr); + return stateN; + } + + TraceManager.addDev("Handling sme: " + _elt.getName() + "/" + _elt.getExtendedName()); + + if ( (_elt instanceof AvatarTransition) && (_elt.getNext(0) instanceof AvatarActionOnSignal)) { + if (_elt.getNext(0) != null) { + return makeCompactDependencyGraphForAvatarElement(bl, _elt.getNext(0), _previousS, _elt, _states, _transitions, withID, + (AvatarTransition) _elt); + } else { + return _previousS; + } + } + + if (_elt instanceof AvatarTransition) { + AvatarTransition at = (AvatarTransition) _elt; + if (at.isEmpty()) { + if (_elt.getNext(0) != null) { + return makeCompactDependencyGraphForAvatarElement(bl, _elt.getNext(0), _previousS, _elt, _states, _transitions, withID, + null); + } else { + return _previousS; + } + } + } + + // + // Find + AUTState state = new AUTState(id); + _states.add(state); + if (_previousAvatarTransition != null) { + addReferenceElement(state, _previousAvatarTransition); + } + addReferenceElement(state, _elt); + if (withID) { + state.info = _elt.toStringExtendedID(); + } else { + state.info = bl.getName() + " / " + _elt.getExtendedName(); + } + + if (_elt.referenceObject instanceof ElementWithNew) { + if (((ElementWithNew) (_elt.referenceObject)).isNew()) { + state.info += " (New)"; + } + } + + //putState(_elt, state); + + //fromStates.put(state, _elt); + id++; + + if (_previousE != null) { + AUTTransition tr = new AUTTransition(_previousS.id, "", state.id); + _transitions.add(tr); + _previousS.addOutTransition(tr); + state.addInTransition(tr); + } else { + state.isOrigin = true; + } + + // Handling all nexts + //if (!(_elt instanceof AvatarActionOnSignal)) { + for (AvatarStateMachineElement eltN : _elt.getNexts()) { + makeCompactDependencyGraphForAvatarElement(bl, eltN, state, _elt, _states, _transitions, withID, null); + } + //} + return state; + } + + + @SuppressWarnings("unchecked") + public AvatarCompactDependencyGraph clone() { + AvatarCompactDependencyGraph adg = new AvatarCompactDependencyGraph(); + AUTGraph g = graph.cloneMe(); + adg.setGraph(g); + + //HashMap<AvatarElement, ArrayList<AUTState>> newToStates = new HashMap<>(); + //HashMap<AUTState, AvatarElement> newFromStates = new HashMap<>(); + + //adg.setRefs(newToStates, newFromStates); + + // Filling states references + /*for (AvatarElement ae : toStates.keySet()) { + ArrayList<AUTState> list = toStates.get(ae); + + ArrayList<AUTState> newList = new ArrayList<>(); + for(AUTState oldS: list) { + // We must find the corresponding state in the new graph + AUTState newState = g.getState(oldS.id); + newList.add(newState); + newFromStates.put(newState, ae); + } + if (newList.size() > 0) { + newToStates.put(ae, newList); + } + }*/ + + + return adg; + } + + public AvatarCompactDependencyGraph reduceGraphBefore(ArrayList<AvatarElement> eltsOfInterest) { + AvatarCompactDependencyGraph result = clone(); + + /*TraceManager.addDev("Size of original graph: s" + graph.getNbOfStates() + " t" + graph.getNbOfTransitions()); + TraceManager.addDev("Size of graph after clone: s" + result.graph.getNbOfStates() + " t" + result.graph.getNbOfTransitions()); + + TraceManager.addDev("old graph:\n" + graph.toStringAll() + "\n"); + + TraceManager.addDev("Cloned graph:\n" + result.graph.toStringAll() + "\n");*/ + + /*TraceManager.addDev("Size of original graph toStates:" + toStates.size()); + TraceManager.addDev("Size of original graph fromStates:" + fromStates.size()); + TraceManager.addDev("Size of cloned graph toStates:" + result.toStates.size()); + TraceManager.addDev("Size of cloned graph fromStates:" + result.fromStates.size());*/ + + // For each state, we figure out whether if it is linked to go to the elt states + // or if they are after the elts. + + HashSet<AUTState> beforeStates = new HashSet<>(); + + + // We take each elt one after the other and we complete the after or before states + for (AvatarElement ae : eltsOfInterest) { + //TraceManager.addDev("Considering elt:" + ae.getName()); + Object ref = ae.getReferenceObject(); + if (ref != null) { + // Finding the state referencing o + AUTState stateOfInterest = null; + for (AUTState s : graph.getStates()) { + AvatarElement elt = (AvatarElement) s.referenceObject; + if (elt.getReferenceObject() == ref) { + stateOfInterest = s; + break; + } + } + + if (stateOfInterest != null) { + //TraceManager.addDev("Has a state of interest: " + stateOfInterest.id); + for (AUTState state : graph.getStates()) { + if (state == stateOfInterest) { + beforeStates.add(result.graph.getState(state.id)); + } else { + /*if (graph.hasPathFromTo(state.id, stateOfInterest.id)) { + beforeStates.add(result.graph.getState(state.id)); + }*/ + if (graph.canGoFromTo(state.id, stateOfInterest.id)) { + beforeStates.add(result.graph.getState(state.id)); + } + } + } + } + } + } + + TraceManager.addDev("Size of before: " + beforeStates.size()); + + // We now have to figure out which states have to be removed + ArrayList<AUTState> toRemoveStates = new ArrayList<>(); + for (AUTState st : result.graph.getStates()) { + if (!beforeStates.contains(st)) { + toRemoveStates.add(st); + } + } + + TraceManager.addDev("Size of remove: " + toRemoveStates.size()); + + result.graph.removeStates(toRemoveStates); + result.removeReferencesOf(toRemoveStates); + + /*TraceManager.addDev("Size of graph after remove: s" + result.graph.getNbOfStates() + " t" + result.graph.getNbOfTransitions()); + TraceManager.addDev("New graph:\n" +result.graph.toStringAll() + "\n");*/ + + + // We have to update state references + + + return result; + + } + + public AvatarSpecification makeAvatarSpecification() { + ID = 0; + + AvatarSpecification newAvspec = new AvatarSpecification("from CDG", this); + + // We look for start states: we create the block with attributes / signals etc. + // We take from the other avatar spec of relations + + // We create all blocks + for (AUTState st : graph.getStates()) { + if (st.getNbInTransitions() == 0) { + // This is a start state + AvatarStateMachineElement asme = getFirstReferenceObjectFromState(st); + if ((asme != null) && (asme instanceof AvatarStartState)) { + AvatarStateMachineOwner asmo = asme.getOwner(); + + if ((asmo != null) && (asmo instanceof AvatarBlock)) { + AvatarBlock ab = (AvatarBlock) asmo; + AvatarBlock newBlock = new AvatarBlock(ab.getName(), newAvspec, this); + TraceManager.addDev("Creating new block: " + newBlock.getName() + " from block " + ab.getName()); + newAvspec.addBlock(newBlock); + for (AvatarAttribute aa : ab.getAttributes()) { + AvatarAttribute newA = aa.advancedClone(newBlock); + newA.clearReferenceObject(); + newA.setReferenceObject(this); + newBlock.addAttribute(newA); + TraceManager.addDev("\t Adding attribute: " + newA.getName()); + } + for (AvatarMethod am : ab.getMethods()) { + AvatarMethod newAm = am.advancedClone(newBlock); + newAm.clearReferenceObject(); + newAm.setReferenceObject(this); + newBlock.addMethod(newAm); + TraceManager.addDev("\t Adding method: " + newAm.getName()); + } + for (AvatarSignal as : ab.getSignals()) { + AvatarSignal newAs = as.advancedClone(newBlock); + newAs.clearReferenceObject(); + newAs.setReferenceObject(this); + newBlock.addSignal(newAs); + TraceManager.addDev("\t Adding signal: " + newAs.getName()); + } + } + } + } + } + + // We have to ensure the block hierarchy + for (AUTState st : graph.getStates()) { + if (st.getNbInTransitions() == 0) { + // This is a start state + AvatarStateMachineElement asme = getFirstReferenceObjectFromState(st); + if ((asme != null) && (asme instanceof AvatarStartState)) { + AvatarStateMachineOwner asmo = asme.getOwner(); + + if ((asmo != null) && (asmo instanceof AvatarBlock)) { + AvatarBlock ab = (AvatarBlock) asmo; + + + AvatarBlock father = ab.getFather(); + if (father != null) { + AvatarBlock newSon = newAvspec.getBlockWithName(ab.getName()); + AvatarBlock newFather = newAvspec.getBlockWithName(father.getName()); + + if (newSon != null && newFather != null) { + newSon.setFather(newFather); + } + } + } + } + } + } + + // We make the relations between blocks + for (AUTState st : graph.getStates()) { + if (st.getNbInTransitions() == 0) { + // This is a start state + AvatarStateMachineElement asme = getFirstReferenceObjectFromState(st); + if ((asme != null) && (asme instanceof AvatarStartState)) { + AvatarStateMachineOwner asmo = asme.getOwner(); + + if ((asmo != null) && (asmo instanceof AvatarBlock)) { + AvatarBlock ab = (AvatarBlock) asmo; + AvatarBlock newBlock = newAvspec.getBlockWithName(ab.getName()); + if (newBlock != null) { + // We add relations for which the two related blocks have been defined + AvatarSpecification oldSpec = asmo.getAvatarSpecification(); + if (oldSpec != null) { + for (AvatarRelation ar: oldSpec.getRelations()) { + boolean b1 = ar.getBlock1().getName().compareTo(newBlock.getName()) == 0; + + if (b1) { + String nameOther = ar.getBlock2().getName(); + + //TraceManager.addDev("Looking for relation with blocks " + newBlock.getName() + " and " + nameOther); + AvatarBlock bOther = newAvspec.getBlockWithName(nameOther); + //TraceManager.addDev("Checking bOther"); + if (bOther != null) { + + HashMap<AvatarBlock, AvatarBlock> blMap = new HashMap<AvatarBlock, AvatarBlock>(); + blMap.put(ar.getBlock1(), newBlock); + blMap.put(ar.getBlock2(), bOther); + AvatarRelation newAr = ar.advancedClone(blMap); + //TraceManager.addDev("Cloning the relation"); + if (newAr != null) { + newAr.setReferenceObject(this); + //TraceManager.addDev("Non null relation"); + newAvspec.addRelation(newAr); + } else { + TraceManager.addDev("Null clone"); + } + } + } + + } + } + } + } + } + } + } + + + // We make the state machines + for (AUTState st : graph.getStates()) { + if (st.getNbInTransitions() == 0) { + // This is a start state + AvatarStateMachineElement asme = getFirstReferenceObjectFromState(st); + if ((asme != null) && (asme instanceof AvatarStartState)) { + AvatarStateMachineOwner asmo = asme.getOwner(); + + if ((asmo != null) && (asmo instanceof AvatarBlock)) { + AvatarBlock ab = (AvatarBlock) asmo; + AvatarBlock newBlock = newAvspec.getBlockWithName(ab.getName()); + if (newBlock != null) { + + // We start from the start state to build the SMD + makeASMFromState(newBlock, st, null, null); + } + } + } + } + } + + + if (newAvspec.removeDuplicatedTransitions()) { + TraceManager.addDev("Useless transitions were removed"); + } else { + TraceManager.addDev("No duplicate transitions"); + } + + return newAvspec; + + + } + + @SuppressWarnings("unchecked") + public void makeASMFromState(AvatarBlock _block, AUTState _currentState, AvatarStateMachineElement _previousE, HashMap<AUTState, + AvatarStateMachineElement> elementM) { + // Handling referenced elements + + AvatarStateMachineElement asme = getLastReferenceObjectFromState(_currentState); + if (asme == null) { + return; + } + + AvatarStateMachine asm = _block.getStateMachine(); + if (asm == null) { + return; + } + + if (elementM == null) { + elementM = new HashMap<>(); + } + + + if (_previousE != null) { + //TraceManager.addDev("Considering state " + _currentState.id + " with previous=" + _previousE.getName()); + } else { + //TraceManager.addDev("Considering state " + _currentState.id + " with no previous"); + } + if (_currentState.referenceObject == null) { + //TraceManager.addDev("Nb of referenced elements of this state: 0"); + } else { + Object o = _currentState.referenceObject; + try { + ArrayList<AvatarStateMachineElement> refs = (ArrayList<AvatarStateMachineElement>)(_currentState.referenceObject); + for(AvatarStateMachineElement refAsme: refs) { + //TraceManager.addDev("\tref object:" + refAsme.getName() + " / " + refAsme.getClass().toString()); + } + } catch (Exception e) { + TraceManager.addDev("No valid referenced object"); + } + } + + boolean mustLinkToPrevious = false; + AvatarStateMachineElement newE = null; + AvatarStateMachineElement newASME = elementM.get(_currentState); + + if (asme instanceof AvatarStartState) { + AvatarStartState ass = new AvatarStartState(asme.getName() + ID++, this, _block); + asm.addElement(ass); + asm.setStartState(ass); + newE = ass; + + } else if (asme instanceof AvatarState) { + + if (newASME == null) { + AvatarState as = new AvatarState(asme.getName(), this, _block); + asm.addElement(as); + newE = as; + } else { + newE = newASME; + } + mustLinkToPrevious = true; + + + } else if (asme instanceof AvatarStopState) { + AvatarStopState ass = new AvatarStopState(asme.getName() + ID++, this, _block); + asm.addElement(ass); + newE = ass; + mustLinkToPrevious = true; + + } else if (asme instanceof AvatarActionOnSignal) { + AvatarActionOnSignal aaos = ((AvatarActionOnSignal) asme).basicCloneMe(_block); + aaos.setName(aaos.getName() + ID++); + asm.addElement(aaos); + newE = aaos; + + if (_previousE instanceof AvatarTransition) { + mustLinkToPrevious = true; + } else { + // Look at reference objects + AvatarStateMachineElement asmeFirst = getFirstReferenceObjectFromState(_currentState); + if (asmeFirst instanceof AvatarTransition) { + //TraceManager.addDev("Transition before aaos found in referenced objects"); + AvatarTransition at = ((AvatarTransition) asmeFirst).cloneMe(); + at.removeAllNexts(); + at.setName("TransitionBeforeAAOS" + ID++); + at.setReferenceObject(this); + asm.addElement(at); + _previousE.addNext(at); + at.addNext(newE); + mustLinkToPrevious = false; + } else { + mustLinkToPrevious = true; + } + } + + } else if (asme instanceof AvatarTransition) { + AvatarTransition at = ((AvatarTransition) asme).cloneMe(); + at.removeAllNexts(); + at.setName("TransitionInGraph" + ID++); + asme.setReferenceObject(this); + asm.addElement(at); + _previousE.addNext(at); + newE = at; + } + + if (mustLinkToPrevious && _previousE != null && newE != null) { + if (_previousE instanceof AvatarTransition) { + _previousE.addNext(newE); + } else { + AvatarTransition at = new AvatarTransition(_block, "EmptyTransition" + ID++, this); + asm.addElement(at); + _previousE.addNext(at); + at.addNext(newE); + } + } + + if (newE != null) { + elementM.put(_currentState, newE); + } + + if ((newE != null) && (newASME == null)) { + // We have to handle the next states of currentState + for(AUTTransition tr: _currentState.outTransitions) { + if (!(tr.hasTag(AUTGraph.COMM_TAG))) { + AUTState st = graph.getState(tr.destination); + if (st != null) { + makeASMFromState(_block, st, newE, elementM); + } + } + } + } + + + } + + public void removeReferencesOf(Collection<AUTState> _c) { + /*for (AUTState st : _c) { + fromStates.remove(st); + } + + ArrayList<AvatarElement> toBeRemoved = new ArrayList<>(); + for (AvatarElement ae : toStates.keySet()) { + if (_c.contains(toStates.get(ae))) { + toBeRemoved.add(ae); + } + } + + for (AvatarElement ae : toBeRemoved) { + toStates.remove(ae); + }*/ + } + + +} diff --git a/src/main/java/avatartranslator/AvatarDummyState.java b/src/main/java/avatartranslator/AvatarDummyState.java index 3bd0f6623725fa38b72984437b1672c22fac7fe3..860bfb0ca56ca8226ba1aafec7e58ee254e4457c 100644 --- a/src/main/java/avatartranslator/AvatarDummyState.java +++ b/src/main/java/avatartranslator/AvatarDummyState.java @@ -12,7 +12,8 @@ package avatartranslator; public class AvatarDummyState extends AvatarState { public AvatarDummyState( final String name, - final Object _referenceObject ) { - super( name + "_converted_to_dummy_state", _referenceObject ); + final Object _referenceObject, + final AvatarStateMachineOwner _block) { + super( name + "_converted_to_dummy_state", _referenceObject, _block); } } diff --git a/src/main/java/avatartranslator/AvatarElement.java b/src/main/java/avatartranslator/AvatarElement.java index c6af29ede2b65188522ea35ba3783b055d1e90c0..ab9abde53357bd0ddffd1f69e95b368b93b18b0e 100644 --- a/src/main/java/avatartranslator/AvatarElement.java +++ b/src/main/java/avatartranslator/AvatarElement.java @@ -78,6 +78,14 @@ public class AvatarElement implements NameChecker.NamedElement { } + public void clearReferenceObject() { + referenceObject = null; + } + + public void setReferenceObject(Object _referenceObject) { + referenceObject = _referenceObject; + } + public void addReferenceObject(Object _ref) { if (otherReferenceObjects == null) { otherReferenceObjects = new Vector<Object>(); diff --git a/src/main/java/avatartranslator/AvatarEmpty.java b/src/main/java/avatartranslator/AvatarEmpty.java index 4ab48360c2cc4cf568740b5efdc80d2f7d6a4e86..fd9ab1f9914acd3d91f024ecbfbfa9fbf955e412 100644 --- a/src/main/java/avatartranslator/AvatarEmpty.java +++ b/src/main/java/avatartranslator/AvatarEmpty.java @@ -49,13 +49,10 @@ package avatartranslator; */ public class AvatarEmpty extends AvatarStateMachineElement { - - public AvatarEmpty(String _name, Object _referenceObject) { - super(_name, _referenceObject); + public AvatarEmpty(String _name, Object _referenceObject, AvatarStateMachineOwner _block) { + super(_name, _referenceObject, _block); } - - public String getNiceName() { return "Empty " ; } @@ -65,8 +62,7 @@ public class AvatarEmpty extends AvatarStateMachineElement { } public AvatarStateMachineElement basicCloneMe(AvatarStateMachineOwner _block) { - AvatarEmpty ar = new AvatarEmpty(getName() + "_clone", getReferenceObject()); - + AvatarEmpty ar = new AvatarEmpty(getName() + "_clone", getReferenceObject(), _block); return ar; } diff --git a/src/main/java/avatartranslator/AvatarExpireTimer.java b/src/main/java/avatartranslator/AvatarExpireTimer.java index 680fc475f6a2a6756ba8c33fa39dfea269523f08..f9b319bb7f7cd7c5d63ddd810e49624cfd3956f5 100644 --- a/src/main/java/avatartranslator/AvatarExpireTimer.java +++ b/src/main/java/avatartranslator/AvatarExpireTimer.java @@ -49,12 +49,13 @@ package avatartranslator; */ public class AvatarExpireTimer extends AvatarTimerOperator { - public AvatarExpireTimer(String _name, Object _referenceObject) { - super(_name, _referenceObject); + public AvatarExpireTimer(String _name, Object _referenceObject, AvatarStateMachineOwner _block) { + + super(_name, _referenceObject, _block); } public AvatarStateMachineElement basicCloneMe(AvatarStateMachineOwner _block) { - AvatarExpireTimer aet = new AvatarExpireTimer(getName(), getReferenceObject()); + AvatarExpireTimer aet = new AvatarExpireTimer(getName(), getReferenceObject(), _block); aet.setTimer(getTimer()); return aet; } diff --git a/src/main/java/avatartranslator/AvatarLibraryFunction.java b/src/main/java/avatartranslator/AvatarLibraryFunction.java index 6d19b4849af32133e7b9221a981884ac77ed451e..b5ed6a9d841dc6e15e4fc7797d938de6383424a7 100644 --- a/src/main/java/avatartranslator/AvatarLibraryFunction.java +++ b/src/main/java/avatartranslator/AvatarLibraryFunction.java @@ -454,7 +454,7 @@ public class AvatarLibraryFunction extends AvatarElement implements AvatarTransl public AvatarState translateASMWithMapping( Map<AvatarAttribute, AvatarAttribute> placeholdersMapping, Map<AvatarSignal, AvatarSignal> signalsMapping, AvatarStateMachineElement firstElement, AvatarBlock block, Object referenceObject, int counter) { /* Create the last state */ - AvatarState lastState = new AvatarState ("exit_" + this.name + "_" + counter, referenceObject); + AvatarState lastState = new AvatarState ("exit_" + this.name + "_" + counter, referenceObject, block); block.getStateMachine().addElement(lastState); /* Create the argument object that will be passed to translation functions */ @@ -521,14 +521,14 @@ public class AvatarLibraryFunction extends AvatarElement implements AvatarTransl if (_asme instanceof AvatarSetTimer) { // TODO: isn't the name used for the timer ? - asme = new AvatarSetTimer (this.name + "_" + arg.counter + "__" + _asme.getName (), arg.referenceObject); + asme = new AvatarSetTimer (this.name + "_" + arg.counter + "__" + _asme.getName (), arg.referenceObject, _asme.getOwner()); // TODO: should probably replace attributes too, right ? ((AvatarSetTimer) asme).setTimerValue (((AvatarSetTimer) _asme).getTimerValue ()); } else if (_asme instanceof AvatarResetTimer) - asme = new AvatarResetTimer (this.name + "_" + arg.counter + "__" + _asme.getName (), arg.referenceObject); + asme = new AvatarResetTimer (this.name + "_" + arg.counter + "__" + _asme.getName (), arg.referenceObject, _asme.getOwner()); else if (_asme instanceof AvatarExpireTimer) - asme = new AvatarExpireTimer (this.name + "_" + arg.counter + "__" + _asme.getName (), arg.referenceObject); + asme = new AvatarExpireTimer (this.name + "_" + arg.counter + "__" + _asme.getName (), arg.referenceObject, _asme.getOwner()); else /* !!! should not happen */ return; @@ -542,7 +542,8 @@ public class AvatarLibraryFunction extends AvatarElement implements AvatarTransl public void translateActionOnSignal (AvatarActionOnSignal _asme, Object _arg) { TranslatorArgument arg = (TranslatorArgument) _arg; - AvatarActionOnSignal asme = new AvatarActionOnSignal (this.name + "_" + arg.counter + "__" + _asme.getName (), arg.signalsMapping.get (_asme.getSignal ()), arg.referenceObject); + AvatarActionOnSignal asme = new AvatarActionOnSignal (this.name + "_" + arg.counter + "__" + _asme.getName (), + arg.signalsMapping.get (_asme.getSignal ()), arg.referenceObject, _asme.getOwner()); for (String s: _asme.getValues ()) { AvatarAttribute attr = this.getAvatarAttributeWithName (s); if (attr == null) @@ -609,7 +610,8 @@ public class AvatarLibraryFunction extends AvatarElement implements AvatarTransl * reachability of state in a function for a particular invocation of this * function. */ - AvatarState asme = new AvatarState (this.name + "_" + arg.counter + "__" + _asme.getName (), arg.referenceObject, false, false); + AvatarState asme = new AvatarState (this.name + "_" + arg.counter + "__" + _asme.getName (), arg.referenceObject, _asme.getOwner(), false, + false); asme.setHidden (true); asme.addEntryCode (_asme.getEntryCode ()); @@ -620,7 +622,7 @@ public class AvatarLibraryFunction extends AvatarElement implements AvatarTransl public void translateRandom (AvatarRandom _asme, Object _arg) { TranslatorArgument arg = (TranslatorArgument) _arg; - AvatarRandom asme = new AvatarRandom (this.name + "_" + arg.counter + "__" + _asme.getName (), arg.referenceObject); + AvatarRandom asme = new AvatarRandom (this.name + "_" + arg.counter + "__" + _asme.getName (), arg.referenceObject, _asme.getOwner()); asme.setValues (replaceAttributesInExpr(_asme.getMinValue (), _arg), replaceAttributesInExpr(_asme.getMaxValue (), _arg)); asme.setFunctionId (_asme.getFunctionId ()); asme.setExtraAttribute1(_asme.getExtraAttribute1()); diff --git a/src/main/java/avatartranslator/AvatarLibraryFunctionCall.java b/src/main/java/avatartranslator/AvatarLibraryFunctionCall.java index 99b4cb14a3779961456efdeb1a4988c50a810a0b..f6ce6c1d53d9fcbd90f1f88c507a4fb0a52874ae 100644 --- a/src/main/java/avatartranslator/AvatarLibraryFunctionCall.java +++ b/src/main/java/avatartranslator/AvatarLibraryFunctionCall.java @@ -93,7 +93,7 @@ public class AvatarLibraryFunctionCall extends AvatarStateMachineElement { * The library function that corresponds to this call. */ public AvatarLibraryFunctionCall (String name, AvatarLibraryFunction libraryFunction, Object referenceObject) { - super(name, referenceObject); + super(name, referenceObject, libraryFunction); this.libraryFunction = libraryFunction; this.counter = this.libraryFunction.getCounter(); diff --git a/src/main/java/avatartranslator/AvatarQueryOnSignal.java b/src/main/java/avatartranslator/AvatarQueryOnSignal.java index 45fcaf48edb11744700db76c0e10748d160788a1..321b1790d0d0b30dd3567e7ff5d508e52e8acd4a 100644 --- a/src/main/java/avatartranslator/AvatarQueryOnSignal.java +++ b/src/main/java/avatartranslator/AvatarQueryOnSignal.java @@ -56,8 +56,8 @@ public class AvatarQueryOnSignal extends AvatarStateMachineElement { private AvatarSignal signal; private AvatarAttribute attribute; - public AvatarQueryOnSignal(String _name, AvatarSignal _signal, AvatarAttribute _attribute, Object _referenceObject ) { - super(_name, _referenceObject); + public AvatarQueryOnSignal(String _name, AvatarSignal _signal, AvatarAttribute _attribute, Object _referenceObject, AvatarStateMachineOwner _block ) { + super(_name, _referenceObject, _block); signal = _signal; attribute = _attribute; @@ -80,7 +80,7 @@ public class AvatarQueryOnSignal extends AvatarStateMachineElement { AvatarSignal sig = _block.getAvatarSignalWithName(getSignal().getName()); AvatarAttribute att = _block.getAvatarAttributeWithName(getAttribute().getName()); if ((sig != null) && (att != null)) { - AvatarQueryOnSignal aqos = new AvatarQueryOnSignal(getName() + "__clone", sig, att, getReferenceObject()); + AvatarQueryOnSignal aqos = new AvatarQueryOnSignal(getName() + "__clone", sig, att, getReferenceObject(), _block); return aqos; } else { TraceManager.addDev("Basic clone failed for AvatarQueryOnSignal"); diff --git a/src/main/java/avatartranslator/AvatarRandom.java b/src/main/java/avatartranslator/AvatarRandom.java index 3082e3c4dcb957c8c8332203f9ddd757ac0e1b38..581ccc0ffed668b8fb9640661fba3b76509da8f8 100644 --- a/src/main/java/avatartranslator/AvatarRandom.java +++ b/src/main/java/avatartranslator/AvatarRandom.java @@ -69,8 +69,8 @@ public class AvatarRandom extends AvatarStateMachineElement { protected String extraAttribute1; protected String extraAttribute2; - public AvatarRandom(String _name, Object _referenceObject) { - super(_name, _referenceObject); + public AvatarRandom(String _name, Object _referenceObject, AvatarStateMachineOwner block) { + super(_name, _referenceObject, block); } public String getVariable() { @@ -126,7 +126,7 @@ public class AvatarRandom extends AvatarStateMachineElement { } public AvatarStateMachineElement basicCloneMe(AvatarStateMachineOwner _block) { - AvatarRandom ar = new AvatarRandom(getName() + "_clone", getReferenceObject()); + AvatarRandom ar = new AvatarRandom(getName() + "_clone", getReferenceObject(), _block); ar.setVariable(variable); ar.setValues(minValue, maxValue); diff --git a/src/main/java/avatartranslator/AvatarRelation.java b/src/main/java/avatartranslator/AvatarRelation.java index 21a19fab1f4f5f4b2afb9bf30e25a7882bd003d5..f42dbf9460ff4d20725e3ccc68bba6cb83e101c1 100644 --- a/src/main/java/avatartranslator/AvatarRelation.java +++ b/src/main/java/avatartranslator/AvatarRelation.java @@ -310,7 +310,7 @@ public class AvatarRelation extends AvatarElement { AvatarSignal ns1 = b1.getSignalByName(s1.getName()); AvatarSignal ns2 = b2.getSignalByName(s2.getName()); if ((ns1 == null) || (ns2 == null)) { - continue; + continue; } ar.addSignals(ns1, ns2); } diff --git a/src/main/java/avatartranslator/AvatarResetTimer.java b/src/main/java/avatartranslator/AvatarResetTimer.java index 2efeb8a8caa82bdc947a69e7a29d3a1ec6f56c6a..b534b6f3c8d7c5c5b35c92229c718b458b840c53 100644 --- a/src/main/java/avatartranslator/AvatarResetTimer.java +++ b/src/main/java/avatartranslator/AvatarResetTimer.java @@ -49,12 +49,12 @@ package avatartranslator; */ public class AvatarResetTimer extends AvatarTimerOperator { - public AvatarResetTimer(String _name, Object _referenceObject) { - super(_name, _referenceObject); + public AvatarResetTimer(String _name, Object _referenceObject, AvatarStateMachineOwner _block) { + super(_name, _referenceObject, _block); } public AvatarStateMachineElement basicCloneMe(AvatarStateMachineOwner _block) { - AvatarResetTimer art = new AvatarResetTimer(getName(), getReferenceObject()); + AvatarResetTimer art = new AvatarResetTimer(getName(), getReferenceObject(), _block); art.setTimer(getTimer()); return art; } diff --git a/src/main/java/avatartranslator/AvatarSetTimer.java b/src/main/java/avatartranslator/AvatarSetTimer.java index 25e0808e52b1b8dd6e7d95032054866dfbd29f3b..4b59f161600e9c6252bdb343fa10abb95649aa9d 100644 --- a/src/main/java/avatartranslator/AvatarSetTimer.java +++ b/src/main/java/avatartranslator/AvatarSetTimer.java @@ -50,8 +50,9 @@ package avatartranslator; public class AvatarSetTimer extends AvatarTimerOperator { protected String setValue; - public AvatarSetTimer(String _name, Object _referenceObject) { - super(_name, _referenceObject); + public AvatarSetTimer(String _name, Object _referenceObject, AvatarStateMachineOwner _block) { + + super(_name, _referenceObject, _block); } public void setTimerValue(String _setValue) { @@ -63,7 +64,7 @@ public class AvatarSetTimer extends AvatarTimerOperator { } public AvatarStateMachineElement basicCloneMe(AvatarStateMachineOwner _block) { - AvatarSetTimer ast = new AvatarSetTimer(getName(), getReferenceObject()); + AvatarSetTimer ast = new AvatarSetTimer(getName(), getReferenceObject(), _block); ast.setTimer(getTimer()); ast.setTimerValue(getTimerValue()); return ast; diff --git a/src/main/java/avatartranslator/AvatarSpecification.java b/src/main/java/avatartranslator/AvatarSpecification.java index 7cb434b5e8c743679157dcfc42e24fb568be1296..01b5be9953466eeda484f6f867d5e6579b0ed4fe 100644 --- a/src/main/java/avatartranslator/AvatarSpecification.java +++ b/src/main/java/avatartranslator/AvatarSpecification.java @@ -518,7 +518,7 @@ public class AvatarSpecification extends AvatarElement implements IBSParamSpec { * * */ - public static AvatarSpecification fromJSON(String _spec, String _name, Object _referenceObject) { + public static AvatarSpecification fromJSON(String _spec, String _name, Object _referenceObject, boolean acceptErrors) { if (_spec == null) { return null; } @@ -601,6 +601,9 @@ public class AvatarSpecification extends AvatarElement implements IBSParamSpec { } else if (nameS.startsWith("output")) { nameS = nameS.substring(6).trim(); nameS = "out " + nameS; + } else { + nameS = nameS.substring(6).trim(); + nameS = "in " + nameS; } AvatarSignal as = AvatarSignal.isAValidSignalThenCreate(nameS, newBlock); @@ -614,6 +617,7 @@ public class AvatarSpecification extends AvatarElement implements IBSParamSpec { }*/ if (as != null) { + TraceManager.addDev("Added signal: " + nameS); newBlock.addSignal(as); } else { TraceManager.addDev("Invalid signal: " + nameS); @@ -696,20 +700,24 @@ public class AvatarSpecification extends AvatarElement implements IBSParamSpec { } } - // Identify in signals that are not connected - for(AvatarBlock block: spec.getListOfBlocks()) { - for (AvatarSignal inSig : block.getSignals()) { - if (!(signalSet.contains(inSig))) { - if (inSig.isIn()) { - toBeRemoved.add(inSig); + if (!acceptErrors) { + // Identify in signals that are not connected + for (AvatarBlock block : spec.getListOfBlocks()) { + for (AvatarSignal inSig : block.getSignals()) { + if (!(signalSet.contains(inSig))) { + if (inSig.isIn()) { + toBeRemoved.add(inSig); + jsonErrors.add("In block " + block.getName() + " signal " + inSig.getSignalName() + " was removed because there is" + + " no correponding output signal with the same name"); + } } } } - } - for(AvatarSignal as: toBeRemoved) { - for (AvatarBlock block : spec.getListOfBlocks()) { - block.removeAvatarSignal(as); + for (AvatarSignal as : toBeRemoved) { + for (AvatarBlock block : spec.getListOfBlocks()) { + block.removeAvatarSignal(as); + } } } @@ -822,7 +830,7 @@ public class AvatarSpecification extends AvatarElement implements IBSParamSpec { return jsonErrors; } - public String removeSpaces(String _input) { + public static String removeSpaces(String _input) { return _input.trim().replaceAll(" ", "_"); } @@ -998,11 +1006,20 @@ public class AvatarSpecification extends AvatarElement implements IBSParamSpec { @Override public String toString() { + return toStringRecursive(false); + //Thread.currentThread().dumpStack(); + } + + public String toStringRecursive(boolean isRecursive) { //Thread.currentThread().dumpStack(); StringBuffer sb = new StringBuffer("Blocks:\n"); //TraceManager.addDev("TS Block"); for (AvatarBlock block : blocks) { - sb.append("*** " + block.toString() + "\n"); + if (isRecursive) { + sb.append("*** " + block.toString() + "\n"); + } else { + sb.append("*** " + block.toStringRecursive() + "\n"); + } } //TraceManager.addDev("TS Relations"); sb.append("\nRelations:\n"); @@ -1629,6 +1646,16 @@ public class AvatarSpecification extends AvatarElement implements IBSParamSpec { return adg; } + public AvatarCompactDependencyGraph makeCompactDependencyGraph() { + return makeCompactDependencyGraph(true); + } + + public AvatarCompactDependencyGraph makeCompactDependencyGraph(boolean withID) { + AvatarCompactDependencyGraph adg = new AvatarCompactDependencyGraph(); + adg.buildGraph(this, withID); + return adg; + } + public AvatarSpecification simplifyFromDependencies(ArrayList<AvatarElement> eltsOfInterest) { AvatarSpecification clonedSpec = advancedClone(); AvatarDependencyGraph adg = clonedSpec.makeDependencyGraph(); @@ -1783,6 +1810,16 @@ public class AvatarSpecification extends AvatarElement implements IBSParamSpec { } + + public boolean removeDuplicatedTransitions() { + boolean b = false; + + for(AvatarBlock ab: blocks) { + b = b || ab.getStateMachine().removeDuplicatedTransitions(); + } + return b; + } + public NameChecker.NamedElement[] getSubNamedElements() { NameChecker.NamedElement[] lne = new NameChecker.NamedElement[blocks.size()]; int index = 0; diff --git a/src/main/java/avatartranslator/AvatarStartState.java b/src/main/java/avatartranslator/AvatarStartState.java index 3c900d392368395f765b3175b4cf3315de52d6b5..433742218c1284a2263bce7909dc1b7887ca03c1 100644 --- a/src/main/java/avatartranslator/AvatarStartState.java +++ b/src/main/java/avatartranslator/AvatarStartState.java @@ -41,6 +41,8 @@ package avatartranslator; +import myutil.TraceManager; + /** * Class AvatarStartState * Creation: 20/05/2010 @@ -50,12 +52,13 @@ package avatartranslator; public class AvatarStartState extends AvatarStateElement { - public AvatarStartState(String _name, Object _referenceObject) { - super(_name, _referenceObject); + public AvatarStartState(String _name, Object _referenceObject, AvatarStateMachineOwner _block) { + super(_name, _referenceObject, _block); + TraceManager.addDev("Start state created for block " + _block.getName()); } public AvatarStateMachineElement basicCloneMe(AvatarStateMachineOwner _block) { - AvatarStartState astart = new AvatarStartState(getName(), getReferenceObject()); + AvatarStartState astart = new AvatarStartState(getName(), getReferenceObject(), _block); astart.setAsVerifiable(canBeVerified()); return astart; } diff --git a/src/main/java/avatartranslator/AvatarState.java b/src/main/java/avatartranslator/AvatarState.java index 888e227c5132aafab9c1a243f26c833d8fb3a1f6..26179d78f09d6f36408beed3ae83b4e99790908e 100644 --- a/src/main/java/avatartranslator/AvatarState.java +++ b/src/main/java/avatartranslator/AvatarState.java @@ -52,19 +52,19 @@ public class AvatarState extends AvatarStateElement { private boolean checkLatency; private boolean commit = false; // Not used currently - public AvatarState(String _name, Object _referenceObject) { - super(_name, _referenceObject); + public AvatarState(String _name, Object _referenceObject, AvatarStateMachineOwner _block) { + super(_name, _referenceObject, _block); //TraceManager.addDev("CREATING state with name = "+ _name); } - public AvatarState(String _name, Object _referenceObject, boolean _isCheckable, boolean _isChecked) { - super(_name, _referenceObject, _isCheckable, _isChecked); + public AvatarState(String _name, Object _referenceObject, AvatarStateMachineOwner _block, boolean _isCheckable, boolean _isChecked) { + super(_name, _referenceObject, _block, _isCheckable, _isChecked); //TraceManager.addDev("CREATING state with name = "+ _name); } public AvatarStateMachineElement basicCloneMe(AvatarStateMachineOwner _block) { - AvatarState as = new AvatarState(getName(), getReferenceObject(), isCheckable(), isChecked()); + AvatarState as = new AvatarState(getName(), getReferenceObject(), _block, isCheckable(), isChecked()); as.setAsVerifiable(canBeVerified()); as.addEntryCode(getEntryCode()); return as; diff --git a/src/main/java/avatartranslator/AvatarStateElement.java b/src/main/java/avatartranslator/AvatarStateElement.java index 87584cbd42e3ff09d9856322e5fc6d967bded777..ab2ec8c0c1c10ff87c286708532bea196ad98b9a 100644 --- a/src/main/java/avatartranslator/AvatarStateElement.java +++ b/src/main/java/avatartranslator/AvatarStateElement.java @@ -46,11 +46,11 @@ package avatartranslator; */ public abstract class AvatarStateElement extends AvatarStateMachineElement { - public AvatarStateElement(String _name, Object _referenceObject) { - super(_name, _referenceObject); + public AvatarStateElement(String _name, Object _referenceObject, AvatarStateMachineOwner _block) { + super(_name, _referenceObject, _block); } - public AvatarStateElement(String _name, Object _referenceObject, boolean _isCheckable, boolean _isChecked ) { - super(_name, _referenceObject, _isCheckable, _isChecked ); + public AvatarStateElement(String _name, Object _referenceObject, AvatarStateMachineOwner _block, boolean _isCheckable, boolean _isChecked ) { + super(_name, _referenceObject, _block, _isCheckable, _isChecked ); } } diff --git a/src/main/java/avatartranslator/AvatarStateMachine.java b/src/main/java/avatartranslator/AvatarStateMachine.java index 0f9646c0b950216e0fefd57eb97120bcff02bf4a..d2a7e65cbce83d2ecce76673ee2be90ca6dd729b 100644 --- a/src/main/java/avatartranslator/AvatarStateMachine.java +++ b/src/main/java/avatartranslator/AvatarStateMachine.java @@ -68,6 +68,10 @@ public class AvatarStateMachine extends AvatarElement { elements = new LinkedList<AvatarStateMachineElement>(); } + public AvatarStateMachineOwner getOwner() { + return block; + } + public AvatarStartState getStartState() { return startState; } @@ -86,18 +90,25 @@ public class AvatarStateMachine extends AvatarElement { return cpt; } + public void clear() { + elements.clear(); + startState = null; + allStates = null; + states = null; + } + public void makeBasicSM(AvatarStateMachineOwner owner) { elements.clear(); if (startState == null) { - startState = new AvatarStartState("StartState", null); + startState = new AvatarStartState("StartState", null, owner); } else { startState.removeAllNexts(); } addElement(startState); AvatarTransition at = new AvatarTransition(owner, "Transition", startState.getReferenceObject()); - AvatarStopState stopS = new AvatarStopState("StopState", startState.getReferenceObject()); + AvatarStopState stopS = new AvatarStopState("StopState", startState.getReferenceObject(), owner); addElement(at); addElement(stopS); startState.addNext(at); @@ -172,12 +183,12 @@ public class AvatarStateMachine extends AvatarElement { if (!((current instanceof AvatarStopState) || (current instanceof AvatarState))) { // We need to add a next if (current instanceof AvatarTransition) { - AvatarStopState stopS = new AvatarStopState("StopState", current.getReferenceObject()); + AvatarStopState stopS = new AvatarStopState("StopState", current.getReferenceObject(), owner); addElement(stopS); current.addNext(stopS); } else { AvatarTransition at = new AvatarTransition(owner, "Transition", current.getReferenceObject()); - AvatarStopState stopS = new AvatarStopState("StopState", current.getReferenceObject()); + AvatarStopState stopS = new AvatarStopState("StopState", current.getReferenceObject(), owner); addElement(at); addElement(stopS); current.addNext(at); @@ -233,6 +244,17 @@ public class AvatarStateMachine extends AvatarElement { } } + public AvatarState getStateByName(String _name) { + for (AvatarElement ae : elements) { + if (ae instanceof AvatarState) { + if (ae.getName().compareTo(_name) == 0) { + return (AvatarState) ae; + } + } + } + return null; + } + public void makeAllStates() { int cpt = 0; allStates = new AvatarStateElement[getNbOfStatesElement()]; @@ -409,9 +431,35 @@ public class AvatarStateMachine extends AvatarElement { sb.append("\t" + element.getClass() + "->" + element.toString() + "\n"); } + return sb.toString(); } + public String toStringRecursive() { + AvatarStartState ass = getStartState(); + if (ass == null) { + return "empty asm"; + } + + return toStringRecursiveElt(ass); + } + + public String toStringRecursiveElt(AvatarStateMachineElement _asme) { + String ret = ""; + ret += "* " + _asme.toStringExtendedID() + "\n"; + + for (AvatarStateMachineElement asme : _asme.getNexts()) { + ret += "\tnext: " + asme.toStringExtendedID() + "\n"; + + } + for (AvatarStateMachineElement asme : _asme.getNexts()) { + ret += toStringRecursiveElt(asme); + } + + return ret; + + } + // Add missing implicit states. public void makeFullStates(AvatarBlock _block) { @@ -435,7 +483,7 @@ public class AvatarStateMachine extends AvatarElement { } for (AvatarStateMachineElement elt : toConsider) { - AvatarStopState stopMe = new AvatarStopState("stopCreated", elt.getReferenceObject()); + AvatarStopState stopMe = new AvatarStopState("stopCreated", elt.getReferenceObject(), _b); addElement(stopMe); AvatarTransition tr = new AvatarTransition(_b, "trForStopCreated", elt.getReferenceObject()); addElement(tr); @@ -454,7 +502,7 @@ public class AvatarStateMachine extends AvatarElement { if (elt.getNext(0) instanceof AvatarTransition) { AvatarTransition tr = (AvatarTransition) elt.getNext(0); // We create an intermediate state - AvatarState state = new AvatarState("IntermediateState4__" + id, elt.getReferenceObject()); + AvatarState state = new AvatarState("IntermediateState4__" + id, elt.getReferenceObject(), _block); state.setCommit(true); toAdd.add(state); AvatarTransition at1 = new AvatarTransition(_block, "TransitionForIntermediateState4__" + id, elt.getReferenceObject()); @@ -494,7 +542,7 @@ public class AvatarStateMachine extends AvatarElement { if ((previous != null) && (next != null)) { if ((!(previous instanceof AvatarStateElement)) && (next instanceof AvatarStateElement)) { // We create an intermediate state - AvatarState state = new AvatarState("IntermediateState1__" + id, elt.getReferenceObject()); + AvatarState state = new AvatarState("IntermediateState1__" + id, elt.getReferenceObject(), _block); state.setCommit(true); toAdd.add(state); AvatarTransition at1 = new AvatarTransition(_block, "TransitionForIntermediateState1__" + id, elt.getReferenceObject()); @@ -535,7 +583,7 @@ public class AvatarStateMachine extends AvatarElement { if ((previous != null) && (next != null)) { if ((!(previous instanceof AvatarStateElement)) && (!(next instanceof AvatarStateElement))) { // We create an intermediate state - AvatarState state = new AvatarState("IntermediateState2__" + id, elt.getReferenceObject()); + AvatarState state = new AvatarState("IntermediateState2__" + id, elt.getReferenceObject(), _block); toAdd.add(state); AvatarTransition at1 = new AvatarTransition(_block, "TransitionForIntermediateState2__" + id, elt.getReferenceObject()); toAdd.add(at1); @@ -581,7 +629,7 @@ public class AvatarStateMachine extends AvatarElement { if (!(next instanceof AvatarState)) { // We create an intermediate state - AvatarState state = new AvatarState("IntermediateState3__" + id, elt.getReferenceObject()); + AvatarState state = new AvatarState("IntermediateState3__" + id, elt.getReferenceObject(), _block); state.setCommit(true); toAdd.add(state); AvatarTransition at1 = new AvatarTransition(_block, "TransitionForIntermediateState3__" + id, elt.getReferenceObject()); @@ -613,7 +661,7 @@ public class AvatarStateMachine extends AvatarElement { previous = getPreviousElementOf(elt); if (!(previous instanceof AvatarStateElement)) { // We create an intermediate state - AvatarState state = new AvatarState("IntermediateState__" + id, elt.getReferenceObject()); + AvatarState state = new AvatarState("IntermediateState__" + id, elt.getReferenceObject(), _block); state.setCommit(true); toAdd.add(state); AvatarTransition at1 = new AvatarTransition(_block, "TransitionForIntermediateState__" + id, elt.getReferenceObject()); @@ -673,13 +721,13 @@ public class AvatarStateMachine extends AvatarElement { } at1.addAction(random.getVariable() + "=" + minExpr); - AvatarState randomState = new AvatarState("StateForRandom__" + elt.getName() + "__" + id, elt.getReferenceObject()); - AvatarState beforeRandom = new AvatarState("StateBeforeRandom__" + elt.getName() + "__" + id, elt.getReferenceObject()); + AvatarState randomState = new AvatarState("StateForRandom__" + elt.getName() + "__" + id, elt.getReferenceObject(), _block); + AvatarState beforeRandom = new AvatarState("StateBeforeRandom__" + elt.getName() + "__" + id, elt.getReferenceObject(), _block); AvatarTransition at2 = new AvatarTransition(_block, "Transition2ForRandom__" + elt.getName() + "__" + id, elt.getReferenceObject()); at2.setGuard("[" + random.getVariable() + " < " + maxExprToBeUsed + "]"); at2.addAction(random.getVariable() + "=" + random.getVariable() + " + 1"); AvatarTransition at3 = new AvatarTransition(_block, "Transition3ForRandom__ " + elt.getName() + "__" + id, elt.getReferenceObject()); - AvatarState afterRandom = new AvatarState("StateAfterRandom__" + elt.getName() + "__" + id, elt.getReferenceObject()); + AvatarState afterRandom = new AvatarState("StateAfterRandom__" + elt.getName() + "__" + id, elt.getReferenceObject(), _block); // Adding elements toAdd.add(at1); @@ -795,7 +843,7 @@ public class AvatarStateMachine extends AvatarElement { if (element.getNext(0) instanceof AvatarStopState) { AvatarStopState stop = (AvatarStopState) (element.getNext(0)); if (stop.getState() != null) { - AvatarState newState = new AvatarState(stop.getName(), stop.getReferenceObject()); + AvatarState newState = new AvatarState(stop.getName(), stop.getReferenceObject(), block); element.removeNext(0); element.addNext(newState); toAdd.add(newState); @@ -852,7 +900,7 @@ public class AvatarStateMachine extends AvatarElement { if (!(element instanceof AvatarState)) { // Must add an intermediate state String tmp = findUniqueStateName("splitstate_after__"); - AvatarState as = new AvatarState(tmp, _currentState.getReferenceObject()); + AvatarState as = new AvatarState(tmp, _currentState.getReferenceObject(), block); addElement(as); as.setHidden(true); as.setState(_currentState); @@ -870,7 +918,7 @@ public class AvatarStateMachine extends AvatarElement { if (_at.getNbOfAction() > 1) { //TraceManager.addDev("New split state"); String tmp = findUniqueStateName("splitstate_action__"); - AvatarState as = new AvatarState(tmp, null); + AvatarState as = new AvatarState(tmp, null, block); as.setHidden(true); as.setState(_currentState); AvatarTransition at = (AvatarTransition) (_at.basicCloneMe(block)); @@ -1416,7 +1464,7 @@ public class AvatarStateMachine extends AvatarElement { ast = (AvatarSetTimer) elt; as = sets.get(ast.getTimer().getName()); if (as != null) { - AvatarActionOnSignal aaos = new AvatarActionOnSignal(elt.getName(), as, elt.getReferenceObject()); + AvatarActionOnSignal aaos = new AvatarActionOnSignal(elt.getName(), as, elt.getReferenceObject(), block); aaos.addValue(timerAttributeName); olds.add(elt); news.add(aaos); @@ -1442,7 +1490,7 @@ public class AvatarStateMachine extends AvatarElement { ato = (AvatarTimerOperator) elt; as = resets.get(ato.getTimer().getName()); if (as != null) { - AvatarActionOnSignal aaos = new AvatarActionOnSignal(elt.getName(), as, elt.getReferenceObject()); + AvatarActionOnSignal aaos = new AvatarActionOnSignal(elt.getName(), as, elt.getReferenceObject(), block); olds.add(elt); news.add(aaos); } @@ -1452,7 +1500,7 @@ public class AvatarStateMachine extends AvatarElement { ato = (AvatarTimerOperator) elt; as = expires.get(ato.getTimer().getName()); if (as != null) { - AvatarActionOnSignal aaos = new AvatarActionOnSignal(elt.getName(), as, elt.getReferenceObject()); + AvatarActionOnSignal aaos = new AvatarActionOnSignal(elt.getName(), as, elt.getReferenceObject(), block); olds.add(elt); news.add(aaos); } @@ -1512,11 +1560,11 @@ public class AvatarStateMachine extends AvatarElement { AvatarState as; for (AvatarTransition att : ll) { //TraceManager.addDev(" ------------------ Dealing with an entrance transition"); - ar = new AvatarRandom("randomfortimer", _block.getReferenceObject()); + ar = new AvatarRandom("randomfortimer", _block.getReferenceObject(), _block); ar.setVariable(val.getName()); ar.setValues(_at.getMinDelay(), _at.getMaxDelay()); - ast = new AvatarSetTimer("settimer_" + aa.getName(), _block.getReferenceObject()); + ast = new AvatarSetTimer("settimer_" + aa.getName(), _block.getReferenceObject(), _block); ast.setTimerValue(val.getName()); ast.setTimer(aa); @@ -1538,11 +1586,11 @@ public class AvatarStateMachine extends AvatarElement { } // Wait for timer expiration on the transition - AvatarExpireTimer aet = new AvatarExpireTimer("expiretimer_" + aa.getName(), _block.getReferenceObject()); + AvatarExpireTimer aet = new AvatarExpireTimer("expiretimer_" + aa.getName(), _block.getReferenceObject(), _block); aet.setTimer(aa); newat0 = new AvatarTransition(_block, "transition0_expiretimer_" + aa.getName(), _block.getReferenceObject()); newat1 = new AvatarTransition(_block, "transition1_expiretimer_" + aa.getName(), _block.getReferenceObject()); - as = new AvatarState("state1_expiretimer_" + aa.getName(), _block.getReferenceObject()); + as = new AvatarState("state1_expiretimer_" + aa.getName(), _block.getReferenceObject(), _block); addElement(aet); addElement(newat0); addElement(newat1); @@ -1608,7 +1656,7 @@ public class AvatarStateMachine extends AvatarElement { TraceManager.addDev("-> Timer modification"); - AvatarState myState = new AvatarState("statefortransition__" + ID_ELT, _at.getReferenceObject()); + AvatarState myState = new AvatarState("statefortransition__" + ID_ELT, _at.getReferenceObject(), block); myState.setHidden(true); AvatarTransition at2 = new AvatarTransition(_at.getBlock(), "transitionfortransition__" + ID_ELT, _at.getReferenceObject()); ID_ELT++; @@ -1624,7 +1672,7 @@ public class AvatarStateMachine extends AvatarElement { return; } else { - AvatarState myState = new AvatarState("statefortransition__" + ID_ELT, _at.getReferenceObject()); + AvatarState myState = new AvatarState("statefortransition__" + ID_ELT, _at.getReferenceObject(), block); AvatarTransition at = new AvatarTransition(_at.getBlock(), "transitionfortransition__", _at.getReferenceObject()); at.addNext(_at.getNext(0)); _at.removeAllNexts(); @@ -1733,7 +1781,7 @@ public class AvatarStateMachine extends AvatarElement { for (AvatarStopState ass : ll) { TraceManager.addDev("Removed a stop state"); - AvatarState astate = new AvatarState("OldStopState", ass.getReferenceObject()); + AvatarState astate = new AvatarState("OldStopState", ass.getReferenceObject(), block); astate.setState(ass.getState()); replace(ass, astate); } @@ -1763,7 +1811,7 @@ public class AvatarStateMachine extends AvatarElement { public void handleUnfollowedStartState(AvatarStateMachineOwner _block) { if (startState.nbOfNexts() == 0) { - AvatarStopState stopState = new AvatarStopState("__StopState", startState.getReferenceObject()); + AvatarStopState stopState = new AvatarStopState("__StopState", startState.getReferenceObject(), _block); AvatarTransition at = new AvatarTransition(_block, "__toStop", startState.getReferenceObject()); addElement(stopState); addElement(at); @@ -1794,7 +1842,8 @@ public class AvatarStateMachine extends AvatarElement { AvatarLibraryFunctionCall alfc = (AvatarLibraryFunctionCall) curAsme; /* Create a state that will be used as an entry point for the sub-state machine */ - AvatarState firstState = new AvatarState("entry_" + alfc.getLibraryFunction().getName() + "_" + alfc.getCounter(), curAsme.getReferenceObject()); + AvatarState firstState = new AvatarState("entry_" + alfc.getLibraryFunction().getName() + "_" + alfc.getCounter(), + curAsme.getReferenceObject(), block); elements.add(firstState); /* Add this state to the mapping so that future state can use it to replace their next element */ @@ -2253,4 +2302,91 @@ public class AvatarStateMachine extends AvatarElement { } } + public boolean removeDuplicatedTransitions() { + + ArrayList<AvatarStateMachineElement> toBeRemoved = new ArrayList<>(); + for (AvatarStateMachineElement elt : elements) { + if (elt instanceof AvatarState) { + // We look at the nexts + // If transition -> state duplicated, or transition -> aaos duplicated -> state : we remove the duplicate + toBeRemoved.addAll(removeDuplicatedTransitionsFromState((AvatarState) elt)); + } + } + + for (AvatarStateMachineElement asme : toBeRemoved) { + elements.remove(asme); + } + + for (AvatarStateMachineElement elt : elements) { + if (elt instanceof AvatarState) { + toBeRemoved.clear(); + for (AvatarStateMachineElement asmeState: elt.getNexts()) { + if (!(elements.contains(asmeState))) { + toBeRemoved.add(asmeState); + } + } + for (AvatarStateMachineElement asme : toBeRemoved) { + elt.getNexts().remove(asme); + } + } + + + } + + + return toBeRemoved.size() != 0; + } + + public ArrayList<AvatarStateMachineElement> removeDuplicatedTransitionsFromState(AvatarState _st) { + ArrayList<AvatarStateMachineElement> toBeRemoved = new ArrayList<>(); + + // At least two exiting transitions + if (_st.getNexts().size() < 2) { + return toBeRemoved; + } + + // We check is the at least two transitions are equivalent + + for (int i = 0; i < _st.getNexts().size(); i++) { + AvatarTransition at1 = (AvatarTransition) (_st.getNexts().get(i)); + for (int j = i + 1; j < _st.getNexts().size(); j++) { + AvatarTransition at2 = (AvatarTransition) (_st.getNexts().get(j)); + if (at1.equals(at2)) { + //TraceManager.addDev("\tTwo equal transitions in state " + _st.getName()); + // We have to consider the next of at1 and at2 + AvatarStateMachineElement next1, next2; + next1 = at1.getNext(0); + next2 = at2.getNext(0); + if (next1 instanceof AvatarState && next1 == next2) { + toBeRemoved.add(at2); + } else if ((next1 instanceof AvatarActionOnSignal) && (next2 instanceof AvatarActionOnSignal)) { + //TraceManager.addDev("\tChecking for equal AAOS " + _st.getName()); + AvatarActionOnSignal aaos1 = (AvatarActionOnSignal) next1; + AvatarActionOnSignal aaos2 = (AvatarActionOnSignal) next2; + if (next1.getNexts().get(0) instanceof AvatarTransition && next2.getNexts().get(0) instanceof AvatarTransition) { + AvatarTransition at11 = (AvatarTransition) next1.getNexts().get(0); + AvatarTransition at21 = (AvatarTransition) next2.getNexts().get(0); + if (at11.equals(at21)) { + if (at11.getNexts().get(0) instanceof AvatarState && (at11.getNexts().get(0) == at21.getNexts().get(0))) { + // We need to compare the two AvatarActionOnSignal + //TraceManager.addDev("\tComparing aaos1 and aaos2 in " + _st.getName()); + if (aaos1.equals(aaos2)) { + toBeRemoved.add(at2); + toBeRemoved.add(aaos2); + toBeRemoved.add(at21); + } + } + } + } + } + } + } + } + + TraceManager.addDev("\ttoBeRemoved of size " + toBeRemoved.size() + " for state " + _st.getName()); + + + return toBeRemoved; + } + } diff --git a/src/main/java/avatartranslator/AvatarStateMachineElement.java b/src/main/java/avatartranslator/AvatarStateMachineElement.java index 18c27f1061527e447c27e6f70ab8188d3bf1154b..da7d5026d2c64a8c9f12129ce389ffd954241a30 100644 --- a/src/main/java/avatartranslator/AvatarStateMachineElement.java +++ b/src/main/java/avatartranslator/AvatarStateMachineElement.java @@ -57,6 +57,9 @@ import java.util.List; */ public abstract class AvatarStateMachineElement extends AvatarElement implements IBSParamState { + + protected AvatarStateMachineOwner block; + protected List<AvatarStateMachineElement> nexts; private AvatarState myState; @@ -67,12 +70,15 @@ public abstract class AvatarStateMachineElement extends AvatarElement implements private boolean isHidden = false; public AvatarStateMachineElement( final String _name, - final Object _referenceObject ) { - this( _name, _referenceObject, false, false ); + final Object _referenceObject, + final AvatarStateMachineOwner _block) { + this( _name, _referenceObject, _block, false, false ); + block = _block; } public AvatarStateMachineElement( String _name, Object _referenceObject, + final AvatarStateMachineOwner _block, boolean _isCheckable, final boolean _isChecked ) { super( _name, _referenceObject ); @@ -81,6 +87,11 @@ public abstract class AvatarStateMachineElement extends AvatarElement implements isCheckable = _isCheckable; canBeVerified = false; isChecked = _isChecked; + block = _block; + } + + public AvatarStateMachineOwner getOwner() { + return block; } public void setAsVerifiable(boolean _canBeVerified) { diff --git a/src/main/java/avatartranslator/AvatarStopState.java b/src/main/java/avatartranslator/AvatarStopState.java index 99fa3c7fb620ec15543732132649ae42719b29ac..6de7503aa438bc389b26b47a511d4834e3be5483 100644 --- a/src/main/java/avatartranslator/AvatarStopState.java +++ b/src/main/java/avatartranslator/AvatarStopState.java @@ -46,12 +46,12 @@ package avatartranslator; */ public class AvatarStopState extends AvatarStateElement { - public AvatarStopState(String _name, Object _referenceObject) { - super(_name, _referenceObject); + public AvatarStopState(String _name, Object _referenceObject, AvatarStateMachineOwner _block) { + super(_name, _referenceObject, _block); } public AvatarStateMachineElement basicCloneMe(AvatarStateMachineOwner _block) { - AvatarStopState astop = new AvatarStopState(getName(), getReferenceObject()); + AvatarStopState astop = new AvatarStopState(getName(), getReferenceObject(), _block); astop.setAsVerifiable(canBeVerified()); return astop; diff --git a/src/main/java/avatartranslator/AvatarSyntaxChecker.java b/src/main/java/avatartranslator/AvatarSyntaxChecker.java index d9f89037ae6d3d861f1ba101e53b25f5cefb36b9..692d8b86d23bc86c87939f99f3dcb47b56d2dfde 100644 --- a/src/main/java/avatartranslator/AvatarSyntaxChecker.java +++ b/src/main/java/avatartranslator/AvatarSyntaxChecker.java @@ -45,6 +45,7 @@ import compiler.tmlparser.SimpleNode; import compiler.tmlparser.TMLExprParser; import compiler.tmlparser.TokenMgrError; import myutil.Conversion; +import myutil.IntExpressionEvaluator; import myutil.NameChecker; import myutil.TraceManager; @@ -401,7 +402,7 @@ public class AvatarSyntaxChecker { /* * @return 0 if ok, -1 if failure */ - public static int isAValidIntExpr(AvatarSpecification _as, AvatarStateMachineOwner _ab, String _expr) { + public static int isAValidIntExprReplaceVariables(AvatarSpecification _as, AvatarStateMachineOwner _ab, String _expr) { /*AvatarExpressionSolver e1 = new AvatarExpressionSolver("x + y"); e1.buildExpression(_ab);*/ @@ -417,20 +418,66 @@ public class AvatarSyntaxChecker { act = Conversion.putVariableValueInString(AvatarSpecification.ops, act, aa.getName(), aa.getDefaultInitialValue()); } + //TraceManager.addDev("Checking if expr " + _expr + " is valid"); AvatarIBSExpressions.IExpr e1 = AvatarIBSolver.parseInt(act); - return (e1 != null ? 0 : -1); + //TraceManager.addDev("Checking if expr " + _expr + " is valid: " + (e1 != null)); + /*IntExpressionEvaluator iee = new IntExpressionEvaluator(); //TraceManager.addDev("Evaluating int:" + act); double result = iee.getResultOf(act); if (iee.getError() != null) { - //TraceManager.addDev("Error: " + iee.getError()); - return -1; + TraceManager.addDev("My parsing Error: " + iee.getError()); + } else { + TraceManager.addDev("My parsing ok"); + }*/ + + //TraceManager.addDev("my parsing:" + parse(_as, _ab, "actionnat", _expr)); + + return (e1 != null ? 0 : -1); + + } + + public static int isAValidIntExpr(AvatarSpecification _as, AvatarStateMachineOwner _ab, String _expr) { + + /*AvatarExpressionSolver e1 = new AvatarExpressionSolver("x + y"); + e1.buildExpression(_ab);*/ + + if (_expr.trim().length() == 0) { + return 0; } - return 0;*/ - // OLD return parse(_as, _ab, "actionnat", _expr); + String tmp = _expr.replaceAll(" ", "").trim(); + String act = tmp; + + /*for (AvatarAttribute aa : _ab.getAttributes()) { + act = Conversion.putVariableValueInString(AvatarSpecification.ops, act, aa.getName(), aa.getDefaultInitialValue()); + }*/ + + //TraceManager.addDev("Checking if expr " + _expr + " is valid"); + if (_ab instanceof AvatarBlock) { + AvatarIBSExpressions.IExpr e1 = AvatarIBSolver.parseInt((AvatarBlock)_ab, act); + return (e1 != null ? 0 : -1); + } + + return isAValidIntExprReplaceVariables(_as, _ab, _expr); + + //TraceManager.addDev("Checking if expr " + _expr + " is valid: " + (e1 != null)); + + /*IntExpressionEvaluator iee = new IntExpressionEvaluator(); + + //TraceManager.addDev("Evaluating int:" + act); + double result = iee.getResultOf(act); + if (iee.getError() != null) { + TraceManager.addDev("My parsing Error: " + iee.getError()); + } else { + TraceManager.addDev("My parsing ok"); + }*/ + + //TraceManager.addDev("my parsing:" + parse(_as, _ab, "actionnat", _expr)); + + } diff --git a/src/main/java/avatartranslator/AvatarTimerOperator.java b/src/main/java/avatartranslator/AvatarTimerOperator.java index 9f7147c87b4b77a18de6b5662e9d34cb1dcec371..a3706614ab249be5ffa71858d8407bbe9247da96 100644 --- a/src/main/java/avatartranslator/AvatarTimerOperator.java +++ b/src/main/java/avatartranslator/AvatarTimerOperator.java @@ -49,8 +49,8 @@ package avatartranslator; public abstract class AvatarTimerOperator extends AvatarStateMachineElement { protected AvatarAttribute timer; - public AvatarTimerOperator(String _name, Object _referenceObject) { - super(_name, _referenceObject); + public AvatarTimerOperator(String _name, Object _referenceObject, AvatarStateMachineOwner _block) { + super(_name, _referenceObject, _block); } public void setTimer(AvatarAttribute _timer) { diff --git a/src/main/java/avatartranslator/AvatarTransition.java b/src/main/java/avatartranslator/AvatarTransition.java index 1f4f1d02bc2a25461670fc61e9e4832fef4f4dcb..0d8c3f612a648e2cdda245a4096584cef5688e40 100644 --- a/src/main/java/avatartranslator/AvatarTransition.java +++ b/src/main/java/avatartranslator/AvatarTransition.java @@ -101,7 +101,7 @@ public class AvatarTransition extends AvatarStateMachineElement { private List<AvatarAction> actions; // actions on variable, or method call public AvatarTransition(AvatarStateMachineOwner _block, String _name, Object _referenceObject) { - super(_name, _referenceObject); + super(_name, _referenceObject, _block); actions = new LinkedList<AvatarAction>(); this.guard = new AvatarGuardEmpty(); this.block = _block; @@ -551,6 +551,56 @@ public class AvatarTransition extends AvatarStateMachineElement { return "Empty transition" + s; } + public boolean equals(AvatarTransition _at) { + if (isGuarded() != _at.isGuarded()) { + return false; + } + if (isGuarded()) { + if (getGuard().toString().compareTo(_at.getGuard().toString()) != 0) { + return false; + } + } + + if (minDelay.compareTo(_at.getMinDelay()) != 0) { + return false; + } + + if (maxDelay.compareTo(_at.getMaxDelay()) != 0) { + return false; + } + + if (delayDistributionLaw != _at.getDelayDistributionLaw()) { + return false; + } + + if (delayDistributionLaw > 0) { + if (delayExtra1.compareTo(_at.getDelayExtra1()) != 0) { + return false; + } + if (delayExtra2.compareTo(_at.getDelayExtra2()) != 0) { + return false; + } + } + + if (getNbOfAction() != _at.getNbOfAction()) { + return false; + } + + int cpt = 0; + for(AvatarAction a: actions) { + if (a.toString().compareTo(_at.getAction(cpt).toString()) != 0) { + return false; + } + cpt ++; + } + + return true; + + + + + } + public void translate(AvatarTranslator translator, Object arg) { translator.translateTransition(this, arg); diff --git a/src/main/java/avatartranslator/directsimulation/AvatarSimulationBlock.java b/src/main/java/avatartranslator/directsimulation/AvatarSimulationBlock.java index b86df99e07899517e1fa18a84a822c1d43ba25d5..33837dc20af708f080e465b7809541f847b025c2 100644 --- a/src/main/java/avatartranslator/directsimulation/AvatarSimulationBlock.java +++ b/src/main/java/avatartranslator/directsimulation/AvatarSimulationBlock.java @@ -750,6 +750,10 @@ public class AvatarSimulationBlock { } public int newEvaluateIntExpression(String _expr, Vector<String> _attributeValues) { + //TraceManager.addDev("Evaluating int expr:" + _expr); + if (_expr == null || _expr.trim().length() == 0) { + return 0; + } AvatarIBSExpressions.IExpr e1 = AvatarIBSolver.parseInt(block,_expr); SpecificationBlock sb = new SpecificationBlock(_attributeValues); return e1.eval(sb); diff --git a/src/main/java/avatartranslator/incrementalverification/IncrementalVerificationManager.java b/src/main/java/avatartranslator/incrementalverification/IncrementalVerificationManager.java new file mode 100644 index 0000000000000000000000000000000000000000..92763e8b6a43d83230344a17430b5546ea066102 --- /dev/null +++ b/src/main/java/avatartranslator/incrementalverification/IncrementalVerificationManager.java @@ -0,0 +1,92 @@ +/* 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 avatartranslator.incrementalverification; + + +import avatartranslator.AvatarDependencyGraph; +import avatartranslator.AvatarSpecification; +import graph.*; + +import java.util.ArrayList; + +/** + * Class IncrementalVerificationManager + * Creation: 22/06/2023 + * @version 1.0 22/06/2023 + * @author Ludovic Apvrille + */ +public class IncrementalVerificationManager { + + // Initial spec + public AvatarSpecification initialSpec; + AvatarDependencyGraph dgi; + + + // New spec + public AvatarSpecification newSpec; + public AvatarDependencyGraph dgm; + + public AUTState vpI, vpM; // same Vp, in the two graphs + + + public AvatarDependencyGraph dgr; //dgr is a reduced graphs on which model- + //checking decides if vp is reachable through an + //old path + public ArrayList<AUTState> Pr; // List of states which reachability must be studied on dgr + + public AvatarDependencyGraph dgp; //dgp is a reduced graphs on which model- + // checking decides if vp is reachable through a + // new path. + + + + + + + public IncrementalVerificationManager() { + + } + + + + + + + +} diff --git a/src/main/java/avatartranslator/mutation/AddActionOnSignalMutation.java b/src/main/java/avatartranslator/mutation/AddActionOnSignalMutation.java index a14c2d572dfab958a075d229560fa1e0cee348fc..acf8f2fbacb8b64339b2eee19f120d87216de906 100644 --- a/src/main/java/avatartranslator/mutation/AddActionOnSignalMutation.java +++ b/src/main/java/avatartranslator/mutation/AddActionOnSignalMutation.java @@ -61,7 +61,7 @@ public class AddActionOnSignalMutation extends ActionOnSignalMutation implements public AvatarActionOnSignal createElement(AvatarSpecification _avspec) throws ApplyMutationException { AvatarSignal signal = getSignal(_avspec, getSignalName()); - AvatarActionOnSignal aaos = new AvatarActionOnSignal(getName(), signal, null); + AvatarActionOnSignal aaos = new AvatarActionOnSignal(getName(), signal, null, getAvatarStateMachine(_avspec).getOwner()); if (isCheckLatencySet()) aaos.setCheckLatency(this.getCheckLatency()); diff --git a/src/main/java/avatartranslator/mutation/AddBlockMutation.java b/src/main/java/avatartranslator/mutation/AddBlockMutation.java index 122fdd223644b05d3fe14918526a8462ef0b538c..2627248179081bc226a277d200ceecdc87797261 100644 --- a/src/main/java/avatartranslator/mutation/AddBlockMutation.java +++ b/src/main/java/avatartranslator/mutation/AddBlockMutation.java @@ -74,7 +74,7 @@ public class AddBlockMutation extends BlockElementMutation implements AddMutatio AvatarBlock block = createElement(_avspec); _avspec.addBlock(block); - AvatarStartState start = new AvatarStartState("start", null); + AvatarStartState start = new AvatarStartState("start", null, block); AvatarStateMachine asm = block.getStateMachine(); diff --git a/src/main/java/avatartranslator/mutation/AddExpireTimerMutation.java b/src/main/java/avatartranslator/mutation/AddExpireTimerMutation.java index 7819443fbc2a3ca94d62e5cb5a32570c05ea2b9f..fe8966f73be58739d81f7ce730d2efb5990de8a8 100644 --- a/src/main/java/avatartranslator/mutation/AddExpireTimerMutation.java +++ b/src/main/java/avatartranslator/mutation/AddExpireTimerMutation.java @@ -58,7 +58,7 @@ public class AddExpireTimerMutation extends ExpireTimerMutation implements AddMu } public AvatarExpireTimer createElement(AvatarSpecification _avspec) throws ApplyMutationException { - AvatarExpireTimer elt = new AvatarExpireTimer(getName(), null); + AvatarExpireTimer elt = new AvatarExpireTimer(getName(), null, getAvatarStateMachine(_avspec).getOwner()); AvatarAttribute timer = getAttribute(_avspec, getTimerName()); if (timer == null) { throw new ApplyMutationException("No timer named " + getTimerName() + " in block " + getBlockName()); diff --git a/src/main/java/avatartranslator/mutation/AddRandomMutation.java b/src/main/java/avatartranslator/mutation/AddRandomMutation.java index ce9d2638525e2427a012750a31c08462ab16e7b9..5ccc33c69a15f60a4912f4104517a4001674eeb8 100644 --- a/src/main/java/avatartranslator/mutation/AddRandomMutation.java +++ b/src/main/java/avatartranslator/mutation/AddRandomMutation.java @@ -60,7 +60,7 @@ public class AddRandomMutation extends RandomMutation implements AddMutation { //todo : add Graphical referenceObject public AvatarRandom createElement(AvatarSpecification _avspec) throws ApplyMutationException { - AvatarRandom rand = new AvatarRandom(getName(), null); + AvatarRandom rand = new AvatarRandom(getName(), null, getAvatarStateMachine(_avspec).getOwner()); rand.setVariable(getAttributeName()); if(areValuesSet()) rand.setValues(getMinValue(), getMaxValue()); if(isFunctionSet()) { diff --git a/src/main/java/avatartranslator/mutation/AddResetTimerMutation.java b/src/main/java/avatartranslator/mutation/AddResetTimerMutation.java index b54fd631042f6adc949cede6bdfd9bb3b0c1345d..f0b2332d74a7af83e215284243059ce4f198ab1d 100644 --- a/src/main/java/avatartranslator/mutation/AddResetTimerMutation.java +++ b/src/main/java/avatartranslator/mutation/AddResetTimerMutation.java @@ -58,7 +58,7 @@ public class AddResetTimerMutation extends ResetTimerMutation implements AddMuta } public AvatarResetTimer createElement(AvatarSpecification _avspec) throws ApplyMutationException { - AvatarResetTimer elt = new AvatarResetTimer(getName(), null); + AvatarResetTimer elt = new AvatarResetTimer(getName(), null, getAvatarStateMachine(_avspec).getOwner()); AvatarAttribute timer = getAttribute(_avspec, getTimerName()); if (timer == null) { throw new ApplyMutationException("No timer named " + getTimerName() + " in block " + getBlockName()); diff --git a/src/main/java/avatartranslator/mutation/AddSetTimerMutation.java b/src/main/java/avatartranslator/mutation/AddSetTimerMutation.java index 75e3e8463140e5183aeae64b9927f8b806fb23f9..1972abade1c991bd56a7eebd50656ffba87a2d2b 100644 --- a/src/main/java/avatartranslator/mutation/AddSetTimerMutation.java +++ b/src/main/java/avatartranslator/mutation/AddSetTimerMutation.java @@ -59,7 +59,7 @@ public class AddSetTimerMutation extends SetTimerMutation implements AddMutation //todo : graphique public AvatarSetTimer createElement(AvatarSpecification _avspec) throws ApplyMutationException { - AvatarSetTimer elt = new AvatarSetTimer(getName(), null); + AvatarSetTimer elt = new AvatarSetTimer(getName(), null, getAvatarStateMachine(_avspec).getOwner()); AvatarAttribute timer = getAttribute(_avspec, getTimerName()); if (timer == null) { throw new ApplyMutationException("No timer named " + getTimerName() + " in block " + getBlockName()); diff --git a/src/main/java/avatartranslator/mutation/AddStateMutation.java b/src/main/java/avatartranslator/mutation/AddStateMutation.java index f7c7583c897d9a4e2a76c4c9d9f03d49af208960..91738a6a390873ebbdaac02305195a23d7c53cac 100644 --- a/src/main/java/avatartranslator/mutation/AddStateMutation.java +++ b/src/main/java/avatartranslator/mutation/AddStateMutation.java @@ -54,14 +54,14 @@ public class AddStateMutation extends StateMutation implements AddMutation { super(_blockName, _stateName); } - public AvatarState createElement() { - AvatarState state = new AvatarState(getStateName(), null); + public AvatarState createElement(AvatarStateMachineOwner _block) { + AvatarState state = new AvatarState(getStateName(), null, _block); return state; } - public AvatarState createElement(AvatarSpecification _avspec) { - return createElement(); + public AvatarState createElement(AvatarSpecification _avspec) throws ApplyMutationException { + return createElement(getAvatarStateMachine(_avspec).getOwner()); } public void apply(AvatarSpecification _avspec) throws ApplyMutationException { @@ -75,7 +75,7 @@ public class AddStateMutation extends StateMutation implements AddMutation { } } - AvatarState state = createElement(); + AvatarState state = createElement(asm.getOwner()); asm.addElement(state); } diff --git a/src/main/java/avatartranslator/tosysmlv2/AVATAR2SysMLV2.java b/src/main/java/avatartranslator/tosysmlv2/AVATAR2SysMLV2.java index 8d82f7f2be6e83788b27b5f0ece1bfdaa09caa81..6dea5719841e824e7102abd0ed6d8030cc62384b 100644 --- a/src/main/java/avatartranslator/tosysmlv2/AVATAR2SysMLV2.java +++ b/src/main/java/avatartranslator/tosysmlv2/AVATAR2SysMLV2.java @@ -39,8 +39,11 @@ package avatartranslator.tosysmlv2; +import java.io.BufferedReader; import java.io.File; +import java.util.ArrayList; import java.util.List; +import java.util.Scanner; import java.util.Vector; import avatartranslator.*; @@ -93,12 +96,15 @@ public class AVATAR2SysMLV2 { private final static java.lang.String THEN = "then"; private final static String DEC = "\t"; + private final static String DEC_METHOD = PRIVATE + " " + METHOD; + private AvatarSpecification avspec; private int timeUnit; private boolean debug; private boolean tracing; + private String [] exclusions; private Vector warnings; @@ -148,12 +154,13 @@ public class AVATAR2SysMLV2 { } - public StringBuffer generateSysMLV2Spec(boolean _debug, boolean _tracing) { + public StringBuffer generateSysMLV2Spec(boolean _debug, boolean _tracing, String[] _exclusions) { debug = _debug; tracing = _tracing; + exclusions = _exclusions; - TraceManager.addDev("AVATAR2SysMLV2 avspec=" + avspec); + //TraceManager.addDev("AVATAR2SysMLV2 avspec=" + avspec); avspec.removeCompositeStates(); avspec.removeLibraryFunctionCalls(); @@ -173,6 +180,36 @@ public class AVATAR2SysMLV2 { } + public boolean isExcluded(String key) { + return isExcluded(key, exclusions); + } + + public static boolean isExcluded(String key, String []_exclusions) { + if (_exclusions == null) { + return false; + } + boolean ret = false; + + for(String s: _exclusions) { + if (s.compareTo(key) == 0) { + return true; + } + } + + return ret; + } + + private void addIfNotExcluded(StringBuffer sb, String s, String category, String [] exclusions) { + if (exclusions != null) { + for (int i = 0; i < exclusions.length; i++) { + if (exclusions[i].compareTo(category) == 0) { + return; + } + } + } + sb.append(s); + } + public void makeBlocks(StringBuffer sysml) { // Make non father blocks // For each block, consider the son @@ -197,8 +234,10 @@ public class AVATAR2SysMLV2 { public void makePartDef(StringBuffer sysml, AvatarBlock block) { sysml.append(PART_DEF + " " + getPartDef(block) + B_BRACKET); - for(AvatarAttribute aa: block.getAttributes()) { - sysml.append(getAttribute(aa) + END); + if (!isExcluded("attributes")) { + for (AvatarAttribute aa : block.getAttributes()) { + sysml.append(getAttribute(aa) + END); + } } if (block.getAttributes().size()>0) { @@ -206,9 +245,12 @@ public class AVATAR2SysMLV2 { } // methods - for(AvatarMethod am: block.getMethods()) { - //TraceManager.addDev("Handling method:" + am); - sysml.append(getMethod(am) + END); + + if (!isExcluded("method")) { + for (AvatarMethod am : block.getMethods()) { + //TraceManager.addDev("Handling method:" + am); + sysml.append(getMethod(am) + END); + } } if (block.getMethods().size()>0) { @@ -216,9 +258,11 @@ public class AVATAR2SysMLV2 { } // signals - for(AvatarSignal as: block.getSignals()) { - //TraceManager.addDev("Handling method:" + as); - sysml.append(getSignal(as) + END); + if (!isExcluded("signals")) { + for (AvatarSignal as : block.getSignals()) { + //TraceManager.addDev("Handling method:" + as); + sysml.append(getSignal(as) + END); + } } // State machine @@ -272,7 +316,8 @@ public class AVATAR2SysMLV2 { } public static String getMethod(AvatarMethod am) { - java.lang.String ret = PRIVATE + " " + METHOD + " "; + java.lang.String ret = DEC_METHOD + " "; + ret += am.toString(); return ret; @@ -306,23 +351,27 @@ public class AVATAR2SysMLV2 { return ret; } - public static StringBuffer getStateMachine(AvatarStateMachine asm) { + public StringBuffer getStateMachine(AvatarStateMachine asm) { StringBuffer ret = new StringBuffer(""); // declare all states // Then handle each transition from a state until another state is reached - for(AvatarStateMachineElement asme: asm.getListOfElements()) { - if (asme instanceof AvatarState) { - ret.append(STATE + " " + asme.getName() + END); + if (!isExcluded("state")) { + for (AvatarStateMachineElement asme : asm.getListOfElements()) { + if (!isExcluded("state")) { + if (asme instanceof AvatarState) { + ret.append(STATE + " " + asme.getName() + END); + } + } } - } - ret.append(CR); + ret.append(CR); - for(AvatarStateMachineElement asme: asm.getListOfElements()) { - if ((asme instanceof AvatarState) || (asme instanceof AvatarStartState)){ - ret.append(getStateHandling(asme)); + for (AvatarStateMachineElement asme : asm.getListOfElements()) { + if ((asme instanceof AvatarState) || (asme instanceof AvatarStartState)) { + ret.append(getStateHandling(asme)); + } } } @@ -482,6 +531,26 @@ public class AVATAR2SysMLV2 { return ret; } + public static ArrayList<String> getAllBlockNames(String _spec) { + ArrayList<String> listOfBlockNames = new ArrayList<>(); + + // Reading spec line and line and looking for: + // part <name> : + Scanner scanner = new Scanner(_spec); + while (scanner.hasNextLine()) { + String line = scanner.nextLine().trim(); + if (line.startsWith("part ")) { + line = line.substring(5); + int index = line.indexOf(":"); + if (index > -1) { + listOfBlockNames.add(line.substring(0, index).trim()); + } + } + } + + return listOfBlockNames; + } + } diff --git a/src/main/java/cli/Action.java b/src/main/java/cli/Action.java index b16d4eb57aa89be872e56b6861909de0298bde69..17e4090163fc867dde9332eb9af49ef96444676c 100644 --- a/src/main/java/cli/Action.java +++ b/src/main/java/cli/Action.java @@ -50,6 +50,7 @@ import avatartranslator.mutation.AvatarMutation; import avatartranslator.mutation.ParseMutationException; import common.ConfigurationTTool; import common.SpecConfigTTool; +import graph.AUTGraph; import graph.RG; import launcher.RTLLauncher; import launcher.RshClient; @@ -69,6 +70,7 @@ import tmltranslator.TMLTextSpecification; import ui.MainGUI; import ui.avatarinteractivesimulation.AvatarInteractiveSimulationActions; import ui.avatarinteractivesimulation.JFrameAvatarInteractiveSimulation; +import ui.graphd.GraphDPanel; import ui.util.IconManager; import ui.window.JDialogProverifVerification; import ui.window.JDialogSystemCGeneration; @@ -140,6 +142,10 @@ public class Action extends Command implements ProVerifOutputListener { private final static String AVATAR_SIMULATION_OPEN_WINDOW = "avatar-simulation-open-window"; private final static String AVATAR_SIMULATION_GENERIC = "avatar-simulation-generic"; + private final static String AVATAR_COMPLEXITY = "avatar-complexity"; + + private final static String GRAPH_TO_AVATAR = "graph-to-avatar"; + private AvatarSpecificationSimulation ass; @@ -1012,7 +1018,7 @@ public class Action extends Command implements ProVerifOutputListener { } }; - // Diplodocus security verfication proverif + // Diplodocus security verification with proverif Command diplodocusSecProof = new Command() { public String getCommand() { return DIPLO_SEC_PROOF; @@ -1225,6 +1231,48 @@ public class Action extends Command implements ProVerifOutputListener { }; + Command makeComplexityAction = new Command() { + public String getCommand() { + return AVATAR_COMPLEXITY; + } + + public String getShortCommand() { + return "ac"; + } + + public String getDescription() { + return "Computes the complexity of an AVATAR Model"; + } + + public String getUsage() { + return ""; + } + + public String getExample() { + return "ac"; + } + + public String executeCommand(String command, Interpreter interpreter) { + + if (!interpreter.isTToolStarted()) { + return Interpreter.TTOOL_NOT_STARTED; + } + + AvatarSpecification spec = interpreter.mgui.gtm.getAvatarSpecification(); + + if (spec == null) { + return "No AVATAR specification"; + } + + TraceManager.addUser("Hello from avatar complexity"); + + + + return null; + } + }; + + Command makeMutationBatchFromAvatar = new Command() { public String getCommand() { return AVATAR_MUTATION_BATCH; @@ -2020,6 +2068,65 @@ public class Action extends Command implements ProVerifOutputListener { }; + Command graphtToAvatar = new Command() { + public String getCommand() { + return GRAPH_TO_AVATAR; + } + + public String getShortCommand() { + return "gta"; + } + + public String getDescription() { + return "Draws an AVATAR design from a dependency graph"; + } + + public String getUsage() { + String usage = "graph-to-avatar. A graph diagram must have been selected first"; + return usage; + } + + public String executeCommand(String command, Interpreter interpreter) { + if (!interpreter.isTToolStarted()) { + return Interpreter.TTOOL_NOT_STARTED; + } + + TDiagramPanel tdp = interpreter.mgui.getCurrentTDiagramPanel(); + if (!(tdp instanceof GraphDPanel)) { + return "Select first a graph panel"; + } + + GraphDPanel panel = (GraphDPanel)tdp; + AUTGraph graph = panel.autGraph; + + if (graph == null) { + return "Graph must have been built from an AUT graph"; + } + + Object o = graph.referenceObject; + + if (!(o instanceof AvatarCompactDependencyGraph)) { + return "Graph must have been built from an AvatarCompactDependencyGraph"; + } + + TraceManager.addDev("Graph found, drawing..."); + AvatarCompactDependencyGraph cdg = (AvatarCompactDependencyGraph)o; + + AvatarSpecification avspec = cdg.makeAvatarSpecification(); + if (avspec == null) { + return "Error when parsing dependency graph"; + } + + //TraceManager.addDev("Avatar specification recursive: " + avspec.toStringRecursive(true)); + + interpreter.mgui.drawAvatarSpecification(avspec); + + + return null; + } + }; + + @@ -2060,6 +2167,7 @@ public class Action extends Command implements ProVerifOutputListener { addAndSortSubcommand(printAvatarSpec); addAndSortSubcommand(makeMutationFromAvatar); + addAndSortSubcommand(makeComplexityAction); addAndSortSubcommand(makeMutationBatchFromAvatar); addAndSortSubcommand(drawAvatarSpec); addAndSortSubcommand(avatarSimulationToBrk); @@ -2069,6 +2177,10 @@ public class Action extends Command implements ProVerifOutputListener { addAndSortSubcommand(generic); + addAndSortSubcommand(graphtToAvatar); + + + } private class ProVerifResultSection { diff --git a/src/main/java/graph/AUTCommTag.java b/src/main/java/graph/AUTCommTag.java new file mode 100755 index 0000000000000000000000000000000000000000..135a652c48b3ae99748437727aa65a03b1fb123f --- /dev/null +++ b/src/main/java/graph/AUTCommTag.java @@ -0,0 +1,70 @@ +/* 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 graph; + +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.Random; + +/** + * Class AUTCommTag + * Creation : 29/06/2023 + * @version 1.0 29/06/2023 + * + * @author Ludovic APVRILLE + */ +public class AUTCommTag extends AUTTag { + + + public String ID = ""; + + public AUTCommTag(String _ID) { + super(_ID); + } + + public boolean hasToBeTagged(AUTState _state) { + return false; + } + + public String getID() { + return ID; + } + +} diff --git a/src/main/java/graph/AUTGraph.java b/src/main/java/graph/AUTGraph.java index 0c1c072ecb49836bd1020002b239e7ca8bdcc723..46745c872d7d5db70926ac0f6f8a19b9b20661a5 100755 --- a/src/main/java/graph/AUTGraph.java +++ b/src/main/java/graph/AUTGraph.java @@ -58,6 +58,9 @@ import java.util.*; * @author Ludovic APVRILLE */ public class AUTGraph implements myutil.Graph { + public final static AUTTag DEADLOCK_TAG = new AUTDeadlockTag("Deadlock"); + public final static AUTTag COMM_TAG = new AUTCommTag("COMM"); + // Graph is defined with this only protected ArrayList<AUTTransition> transitions; @@ -73,6 +76,8 @@ public class AUTGraph implements myutil.Graph { protected boolean[] hasEntryTransition; protected boolean statesComputed; + public Object referenceObject; + public AUTGraph() { transitions = new ArrayList<>(); @@ -459,6 +464,18 @@ public class AUTGraph implements myutil.Graph { return null; } + public ArrayList<AUTState> getAllStateWithReference(Object _ref) { + ArrayList<AUTState> states = new ArrayList<>(); + for(AUTState st: states) { + if (st.referenceObject == _ref) { + states.add(st); + } + } + return states; + } + + + public AUTState getState(int _id) { return states.get(_id); } diff --git a/src/main/java/graph/AUTState.java b/src/main/java/graph/AUTState.java index 272c32fef649b843a26b4a4a0b1ecfa8ac7d4e3b..f6b994ca1a612b6e5d65fdd31193fa9c8442c20f 100755 --- a/src/main/java/graph/AUTState.java +++ b/src/main/java/graph/AUTState.java @@ -52,7 +52,7 @@ import java.util.Random; */ public class AUTState implements Comparable<AUTState> { - public final static AUTTag DEADLOCK_TAG = new AUTDeadlockTag("Deadlock"); + public String info; public int id; diff --git a/src/main/java/graph/AUTTransition.java b/src/main/java/graph/AUTTransition.java index f3dc066ec8f2539d5f7dc5a8b9bfe7e3daf2b6d6..5825d7ddd4069db0f25c1e29ab4467bad584e982 100755 --- a/src/main/java/graph/AUTTransition.java +++ b/src/main/java/graph/AUTTransition.java @@ -39,6 +39,8 @@ package graph; +import java.util.ArrayList; + /** * Class AUTTransition * Creation : 16/09/2004 @@ -54,6 +56,8 @@ public class AUTTransition implements Comparable<AUTTransition> { public AUTElement elt; public boolean isTau; + public ArrayList<AUTTag> tags; + public AUTTransition(int _origin, String _transition, int _destination) { origin = _origin; destination = _destination; @@ -66,6 +70,7 @@ public class AUTTransition implements Comparable<AUTTransition> { transition = _transition; } + public int compareTo(AUTTransition _t) { if (origin != _t.origin) { return -1; @@ -165,5 +170,19 @@ public class AUTTransition implements Comparable<AUTTransition> { return tr; } + public void addTag(AUTTag _tag) { + if (tags == null) { + tags = new ArrayList<>(); + } + tags.add(_tag); + } + + public boolean hasTag(AUTTag _tag) { + if (tags == null) { + return false; + } + return tags.contains(_tag); + } + } diff --git a/src/main/java/myutil/AIInterface.java b/src/main/java/myutil/AIInterface.java index 50818bc2d8c4c3e07c5bb055e156a9627a071946..fc0e46f420f41780abe2631d3743fc63e7a34d6d 100644 --- a/src/main/java/myutil/AIInterface.java +++ b/src/main/java/myutil/AIInterface.java @@ -80,6 +80,12 @@ public class AIInterface { knowledge.clear(); } + public void removePreviousKnowledge() { + if ((knowledge != null) && (knowledge.size() > 0)) { + knowledge.remove(knowledge.size() - 1); + } + } + public void setURL(String _url) { urlText = _url; } @@ -111,9 +117,9 @@ public class AIInterface { try { if (connection == null) { - TraceManager.addDev("Connecting to " + urlText); + //TraceManager.addDev("Connecting to " + urlText); connection = (HttpURLConnection) new URL(urlText).openConnection(); - TraceManager.addDev("Connection to " + urlText + " is opened"); + //TraceManager.addDev("Connection to " + urlText + " is opened"); connection.setRequestMethod("POST"); //connection.setRequestProperty("Content-Type", "application/json"); connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8"); @@ -125,7 +131,7 @@ public class AIInterface { disconnect(); throw new AIInterfaceException(CONNECTION_PB); } - TraceManager.addDev("Connection done with key: " + key); + //TraceManager.addDev("Connection done with key: " + key); } private void disconnect() throws AIInterfaceException { @@ -151,11 +157,11 @@ public class AIInterface { for(AIKnowledge aik: knowledge) { sub = new org.json.JSONObject(); sub.put("role", "user"); - TraceManager.addDev("Putting user knowledge: " + aik.userKnowledge); + //TraceManager.addDev("Putting user knowledge: " + aik.userKnowledge); sub.put("content", aik.userKnowledge); array.put(sub); sub = new org.json.JSONObject(); - TraceManager.addDev("Putting assistant knowledge: " + aik.assistantKnowledge); + //TraceManager.addDev("Putting assistant knowledge: " + aik.assistantKnowledge); sub.put("role", "assistant"); sub.put("content", aik.assistantKnowledge); array.put(sub); diff --git a/src/main/java/myutil/intboolsolver/IBSStdLexer.java b/src/main/java/myutil/intboolsolver/IBSStdLexer.java index f075ce56594c72c670ef5ade22c1752dd7adcbd3..5410950e794a78b39f6fcdb0f465ac65409d25a8 100644 --- a/src/main/java/myutil/intboolsolver/IBSStdLexer.java +++ b/src/main/java/myutil/intboolsolver/IBSStdLexer.java @@ -1,4 +1,4 @@ -/* The following code was generated by JFlex 1.4.3 on 02/06/2023 11:28 */ +/* The following code was generated by JFlex 1.4.3 on 20/06/2023 13:12 */ /* Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille * @@ -46,7 +46,7 @@ import java.util.HashSet; /** * This class is a scanner generated by * <a href="http://www.jflex.de/">JFlex</a> 1.4.3 - * on 02/06/2023 11:28 from the specification file + * on 20/06/2023 13:12 from the specification file * <code>__IBSStdLexer__.jflex</code> */ public class IBSStdLexer< Spec extends IBSParamSpec, Comp extends IBSParamComp, State extends IBSParamState, SpecState extends IBSParamSpecState, CompState extends IBSParamCompState > implements IBSScanner<Spec, Comp, State, SpecState, CompState>, java_cup.runtime.Scanner { @@ -75,12 +75,12 @@ public class IBSStdLexer< Spec extends IBSParamSpec, Comp extends IBSParamComp, * Translates characters to character classes */ private static final String ZZ_CMAP_PACKED = - "\11\0\2\1\1\0\2\1\22\0\1\1\1\33\3\0\1\30\1\31"+ - "\1\0\1\37\1\40\1\26\1\24\1\0\1\25\1\5\1\27\1\2"+ - "\11\3\2\0\1\35\1\34\1\36\2\0\32\4\4\0\1\4\1\0"+ - "\1\12\1\6\1\4\1\17\1\11\1\22\1\14\1\4\1\20\2\4"+ - "\1\10\1\4\1\13\1\7\2\4\1\16\1\23\1\21\1\15\5\4"+ - "\1\0\1\32\uff83\0"; + "\11\0\1\1\1\1\1\0\2\1\22\0\1\1\1\33\3\0\1\30"+ + "\1\31\1\0\1\37\1\40\1\26\1\24\1\0\1\25\1\5\1\27"+ + "\1\2\11\3\2\0\1\35\1\34\1\36\2\0\32\4\4\0\1\4"+ + "\1\0\1\12\1\6\1\4\1\17\1\11\1\22\1\14\1\4\1\20"+ + "\2\4\1\10\1\4\1\13\1\7\2\4\1\16\1\23\1\21\1\15"+ + "\5\4\1\0\1\32\uff83\0"; /** * Translates characters to character classes @@ -93,14 +93,15 @@ public class IBSStdLexer< Spec extends IBSParamSpec, Comp extends IBSParamComp, private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = - "\2\0\1\1\3\0\2\2\6\3\1\4\1\5\1\6"+ - "\1\7\1\10\2\0\1\11\1\0\1\12\1\13\1\14"+ - "\1\15\3\0\1\16\4\3\1\17\1\16\1\20\1\21"+ - "\1\22\1\23\3\0\1\17\1\11\2\3\3\0\1\24"+ - "\1\3\1\0\1\25\1\0\1\26\2\0\1\27\1\30"; + "\2\0\1\1\3\0\1\2\2\3\6\4\1\5\1\6"+ + "\1\7\1\10\1\11\2\2\1\12\1\2\1\13\1\14"+ + "\1\15\1\16\3\0\1\17\4\4\1\20\1\17\1\21"+ + "\1\22\1\23\1\24\3\0\1\20\1\12\2\4\3\0"+ + "\1\25\1\4\1\0\1\26\1\0\1\27\2\0\1\30"+ + "\1\31"; private static int [] zzUnpackAction() { - int [] result = new int[61]; + int [] result = new int[62]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; @@ -125,17 +126,17 @@ public class IBSStdLexer< Spec extends IBSParamSpec, Comp extends IBSParamComp, private static final int [] ZZ_ROWMAP = zzUnpackRowMap(); private static final String ZZ_ROWMAP_PACKED_0 = - "\0\0\0\41\0\102\0\143\0\204\0\245\0\102\0\306"+ - "\0\347\0\u0108\0\u0129\0\u014a\0\u016b\0\u018c\0\102\0\102"+ - "\0\102\0\102\0\102\0\u01ad\0\u01ce\0\u01ef\0\u0210\0\u0231"+ - "\0\u0252\0\102\0\102\0\u0273\0\u0294\0\u02b5\0\347\0\u02d6"+ - "\0\u02f7\0\u0318\0\u0339\0\102\0\102\0\102\0\102\0\102"+ - "\0\102\0\u035a\0\u037b\0\u039c\0\347\0\347\0\u03bd\0\u03de"+ - "\0\u03ff\0\u0420\0\u0441\0\347\0\u0462\0\u0483\0\102\0\u04a4"+ - "\0\347\0\u04c5\0\u04e6\0\102\0\102"; + "\0\0\0\41\0\102\0\143\0\204\0\245\0\102\0\102"+ + "\0\306\0\347\0\u0108\0\u0129\0\u014a\0\u016b\0\u018c\0\102"+ + "\0\102\0\102\0\102\0\102\0\u01ad\0\u01ce\0\u01ef\0\u0210"+ + "\0\u0231\0\u0252\0\102\0\102\0\u0273\0\u0294\0\u02b5\0\347"+ + "\0\u02d6\0\u02f7\0\u0318\0\u0339\0\102\0\102\0\102\0\102"+ + "\0\102\0\102\0\u035a\0\u037b\0\u039c\0\347\0\347\0\u03bd"+ + "\0\u03de\0\u03ff\0\u0420\0\u0441\0\347\0\u0462\0\u0483\0\102"+ + "\0\u04a4\0\347\0\u04c5\0\u04e6\0\102\0\102"; private static int [] zzUnpackRowMap() { - int [] result = new int[61]; + int [] result = new int[62]; int offset = 0; offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); return result; @@ -159,22 +160,22 @@ public class IBSStdLexer< Spec extends IBSParamSpec, Comp extends IBSParamComp, private static final String ZZ_TRANS_PACKED_0 = "\1\0\1\3\4\0\1\4\5\0\1\5\3\0\1\6"+ - "\21\0\1\3\1\7\1\10\1\11\1\0\1\11\1\12"+ - "\2\11\1\13\1\14\5\11\1\15\1\16\1\11\1\17"+ + "\20\0\1\7\1\3\1\10\1\11\1\12\1\7\1\12"+ + "\1\13\2\12\1\14\1\15\5\12\1\16\1\17\1\12"+ "\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27"+ - "\1\30\1\31\1\32\1\33\50\0\1\34\46\0\1\35"+ - "\36\0\1\36\27\0\2\10\37\0\22\11\17\0\14\11"+ - "\1\37\5\11\17\0\11\11\1\40\10\11\17\0\5\11"+ - "\1\41\14\11\17\0\14\11\1\42\5\11\17\0\10\11"+ - "\1\43\11\11\46\0\1\44\41\0\1\45\42\0\1\46"+ - "\40\0\1\47\40\0\1\50\40\0\1\51\13\0\1\52"+ - "\43\0\1\53\47\0\1\54\21\0\15\11\1\55\4\11"+ - "\17\0\17\11\1\56\2\11\17\0\13\11\1\57\6\11"+ - "\17\0\6\11\1\60\13\11\25\0\1\61\46\0\1\62"+ - "\33\0\1\63\31\0\7\11\1\64\12\11\17\0\21\11"+ - "\1\65\26\0\1\66\46\0\1\67\35\0\1\70\26\0"+ - "\7\11\1\71\12\11\27\0\1\72\37\0\1\73\42\0"+ - "\1\74\43\0\1\75\22\0"; + "\1\30\1\31\1\32\1\33\1\34\50\0\1\35\46\0"+ + "\1\36\36\0\1\37\27\0\2\11\37\0\22\12\17\0"+ + "\14\12\1\40\5\12\17\0\11\12\1\41\10\12\17\0"+ + "\5\12\1\42\14\12\17\0\14\12\1\43\5\12\17\0"+ + "\10\12\1\44\11\12\46\0\1\45\41\0\1\46\42\0"+ + "\1\47\40\0\1\50\40\0\1\51\40\0\1\52\13\0"+ + "\1\53\43\0\1\54\47\0\1\55\21\0\15\12\1\56"+ + "\4\12\17\0\17\12\1\57\2\12\17\0\13\12\1\60"+ + "\6\12\17\0\6\12\1\61\13\12\25\0\1\62\46\0"+ + "\1\63\33\0\1\64\31\0\7\12\1\65\12\12\17\0"+ + "\21\12\1\66\26\0\1\67\46\0\1\70\35\0\1\71"+ + "\26\0\7\12\1\72\12\12\27\0\1\73\37\0\1\74"+ + "\42\0\1\75\43\0\1\76\22\0"; private static int [] zzUnpackTrans() { int [] result = new int[1287]; @@ -215,12 +216,12 @@ public class IBSStdLexer< Spec extends IBSParamSpec, Comp extends IBSParamComp, private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = - "\2\0\1\11\3\0\1\11\7\1\5\11\2\0\1\1"+ - "\1\0\2\1\2\11\3\0\5\1\6\11\3\0\4\1"+ - "\3\0\2\1\1\0\1\11\1\0\1\1\2\0\2\11"; + "\2\0\1\11\3\0\2\11\7\1\5\11\6\1\2\11"+ + "\3\0\5\1\6\11\3\0\4\1\3\0\2\1\1\0"+ + "\1\11\1\0\1\1\2\0\2\11"; private static int [] zzUnpackAttribute() { - int [] result = new int[61]; + int [] result = new int[62]; int offset = 0; offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); return result; @@ -360,7 +361,7 @@ public void init(Comp _comp, String _s) throws java.io.IOException { attrHandler char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ - while (i < 106) { + while (i < 108) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); @@ -639,32 +640,36 @@ public void init(Comp _comp, String _s) throws java.io.IOException { attrHandler zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 15: + case 16: { return new Symbol(IBSStdSymbols.AND); } - case 25: break; - case 9: + case 26: break; + case 10: { return new Symbol(IBSStdSymbols.NOT); } - case 26: break; - case 4: + case 27: break; + case 5: { return new Symbol(IBSStdSymbols.PLUS); } - case 27: break; - case 2: + case 28: break; + case 3: { try { return new Symbol(IBSStdSymbols.INT, Integer.valueOf(exprC.make_iConst(Integer.parseInt(yytext()))));} catch (NumberFormatException nfe) { throw new Exception ("Lexer : Integer Format : " + yytext()); } } - case 28: break; - case 7: + case 29: break; + case 1: + { break; + } + case 30: break; + case 8: { return new Symbol(IBSStdSymbols.DIV); } - case 29: break; - case 11: + case 31: break; + case 12: { return new Symbol(IBSStdSymbols.GT); } - case 30: break; - case 3: + case 32: break; + case 4: { IBSAttributes<Spec,Comp,State,SpecState,CompState>.TypedAttribute attr = attrHandler.getTypedAttribute(yytext()); switch(attr.getType()) { @@ -676,76 +681,75 @@ public void init(Comp _comp, String _s) throws java.io.IOException { attrHandler default : throw new Error ("Lexer, BUG : bad attribute type"); } } - case 31: break; - case 20: - { return new Symbol(IBSStdSymbols.BOOL, Integer.valueOf(exprC.make_bConst(true))); - } - case 32: break; - case 17: - { return new Symbol(IBSStdSymbols.EQ); - } case 33: break; - case 14: - { return new Symbol(IBSStdSymbols.OR); + case 21: + { return new Symbol(IBSStdSymbols.BOOL, Integer.valueOf(exprC.make_bConst(true))); } case 34: break; - case 24: - { yybegin(INTBOOL); return new Symbol(IBSStdSymbols.PARSE_INT); + case 18: + { return new Symbol(IBSStdSymbols.EQ); } case 35: break; - case 16: - { return new Symbol(IBSStdSymbols.DIF); + case 15: + { return new Symbol(IBSStdSymbols.OR); } case 36: break; - case 13: - { return new Symbol(IBSStdSymbols.RPAR); + case 25: + { yybegin(INTBOOL); return new Symbol(IBSStdSymbols.PARSE_INT); } case 37: break; - case 5: - { return new Symbol(IBSStdSymbols.MINUS); + case 17: + { return new Symbol(IBSStdSymbols.DIF); } case 38: break; - case 23: - { yybegin(INTBOOL); return new Symbol(IBSStdSymbols.PARSE_BOOL); + case 14: + { return new Symbol(IBSStdSymbols.RPAR); } case 39: break; case 6: - { return new Symbol(IBSStdSymbols.MULT); + { return new Symbol(IBSStdSymbols.MINUS); } case 40: break; - case 12: - { return new Symbol(IBSStdSymbols.LPAR); + case 24: + { yybegin(INTBOOL); return new Symbol(IBSStdSymbols.PARSE_BOOL); } case 41: break; - case 19: - { return new Symbol(IBSStdSymbols.GEQ); + case 7: + { return new Symbol(IBSStdSymbols.MULT); } case 42: break; - case 8: - { return new Symbol(IBSStdSymbols.MOD); + case 13: + { return new Symbol(IBSStdSymbols.LPAR); } case 43: break; - case 22: - { return new Symbol(IBSStdSymbols.BOOL, Integer.valueOf(exprC.make_bConst(false))); + case 20: + { return new Symbol(IBSStdSymbols.GEQ); } case 44: break; - case 18: - { return new Symbol(IBSStdSymbols.LEQ); + case 9: + { return new Symbol(IBSStdSymbols.MOD); } case 45: break; - case 21: - { yybegin(INTBOOL); return new Symbol(IBSStdSymbols.PARSE_GUARD); + case 2: + { throw new Exception ("Unknown character in expression"); } case 46: break; - case 10: - { return new Symbol(IBSStdSymbols.LT); + case 23: + { return new Symbol(IBSStdSymbols.BOOL, Integer.valueOf(exprC.make_bConst(false))); } case 47: break; - case 1: - { - break; + case 19: + { return new Symbol(IBSStdSymbols.LEQ); } case 48: break; + case 22: + { yybegin(INTBOOL); return new Symbol(IBSStdSymbols.PARSE_GUARD); + } + case 49: break; + case 11: + { return new Symbol(IBSStdSymbols.LT); + } + case 50: break; default: if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { zzAtEOF = true; diff --git a/src/main/java/myutil/intboolsolver/IBSStdParser.java b/src/main/java/myutil/intboolsolver/IBSStdParser.java index 920fde74a7c5e62fe3e2768ce62c8e97d8139a04..6ec35da8ea1eeb38a51eff3fc1764fff41223ca4 100644 --- a/src/main/java/myutil/intboolsolver/IBSStdParser.java +++ b/src/main/java/myutil/intboolsolver/IBSStdParser.java @@ -7,6 +7,7 @@ package myutil.intboolsolver; import java_cup.runtime.*; import java.util.HashSet; +import myutil.TraceManager; import java_cup.runtime.XMLElement; /** CUP v0.11b 20210814 (GIT d69c832) generated parser. @@ -199,6 +200,13 @@ public class IBSStdParser< Spec extends IBSParamSpec, Comp extends IBSParamComp, + @Override + public void report_error(String message, Object info){ + TraceManager.addDev("Error during parsing: " + message + " / class " + info.getClass()); + } + @Override + protected void report_expected_token_ids() {} + IBSScanner<Spec,Comp,State,SpecState,CompState> lexer; public void setLexer(IBSScanner<Spec,Comp,State,SpecState,CompState> _lexer){ lexer=_lexer; setScanner(_lexer); } diff --git a/src/main/java/myutil/intboolsolver/javacup/IBSOptParser.jcup b/src/main/java/myutil/intboolsolver/javacup/IBSOptParser.jcup index a7aa53ceabcb4dd44d955fc0f3c272bca65c16ae..0630581a165600f3a5f763a9ccf19b6579dcfcbe 100644 --- a/src/main/java/myutil/intboolsolver/javacup/IBSOptParser.jcup +++ b/src/main/java/myutil/intboolsolver/javacup/IBSOptParser.jcup @@ -40,7 +40,7 @@ package myutil.intboolsolver; import java_cup.runtime.*; import java.util.HashSet; - +import myutil.TraceManager; /* To add in generated file: < Spec extends IBSParamSpec, Comp extends IBSParamComp, State extends IBSParamState, SpecState extends IBSParamSpecState, CompState extends IBSParamCompState > @@ -48,6 +48,13 @@ import java.util.HashSet; parser code {: + @Override + public void report_error(String message, Object info){ + TraceManager.addDev("Error during parsing: " + message + " / class " + info.getClass()); + } + @Override + protected void report_expected_token_ids() {} + IBSScanner<Spec,Comp,State,SpecState,CompState> lexer; public void setLexer(IBSScanner<Spec,Comp,State,SpecState,CompState> _lexer){ lexer=_lexer; setScanner(_lexer); } diff --git a/src/main/java/myutil/intboolsolver/javacup/IBSStdLexer.jflex b/src/main/java/myutil/intboolsolver/javacup/IBSStdLexer.jflex index 381612e723a73591e8128cd7c4cd989ac63ddbeb..0a92fdafec3e55443251788bbb81ee4a24fbe0ce 100644 --- a/src/main/java/myutil/intboolsolver/javacup/IBSStdLexer.jflex +++ b/src/main/java/myutil/intboolsolver/javacup/IBSStdLexer.jflex @@ -107,10 +107,10 @@ Identifier = [a-zA-Z_][a-zA-Z0-9_\.]* <YYINITIAL> "boolean" { yybegin(INTBOOL); return new Symbol(IBSFlex#Symb.PARSE_BOOL); } <YYINITIAL> "guard" { yybegin(INTBOOL); return new Symbol(IBSFlex#Symb.PARSE_GUARD); } <YYINITIAL> "integer" { yybegin(INTBOOL); return new Symbol(IBSFlex#Symb.PARSE_INT); } -<YYINITIAL> {Space} {} +<YYINITIAL> {Space} { break; } <INTBOOL> { - {Space} {} + {Space} { break; } "true" { return new Symbol(IBSFlex#Symb.BOOL, Integer.valueOf(exprC.make_bConst(true))); } "false" { return new Symbol(IBSFlex#Symb.BOOL, Integer.valueOf(exprC.make_bConst(false))); } {Natural} { try { return new Symbol(IBSFlex#Symb.INT, Integer.valueOf(exprC.make_iConst(Integer.parseInt(yytext()))));} @@ -146,4 +146,5 @@ Identifier = [a-zA-Z_][a-zA-Z0-9_\.]* default : throw new Error ("Lexer, BUG : bad attribute type"); } } -} \ No newline at end of file + . { throw new Exception ("Unknown character in expression"); } +} diff --git a/src/main/java/myutil/intboolsolver/javacup/IBSStdParser.jcup b/src/main/java/myutil/intboolsolver/javacup/IBSStdParser.jcup index 07d5edc77c9d06ae02c31e9f414cec02768583cd..95355eef77240d52e35480a8ee9b7577a92db1e9 100644 --- a/src/main/java/myutil/intboolsolver/javacup/IBSStdParser.jcup +++ b/src/main/java/myutil/intboolsolver/javacup/IBSStdParser.jcup @@ -37,9 +37,11 @@ */ + package myutil.intboolsolver; import java_cup.runtime.*; import java.util.HashSet; +import myutil.TraceManager; /* To add in generated file: @@ -48,6 +50,13 @@ import java.util.HashSet; parser code {: + @Override + public void report_error(String message, Object info){ + TraceManager.addDev("Error during parsing: " + message + " / class " + info.getClass()); + } + @Override + protected void report_expected_token_ids() {} + IBSScanner<Spec,Comp,State,SpecState,CompState> lexer; public void setLexer(IBSScanner<Spec,Comp,State,SpecState,CompState> _lexer){ lexer=_lexer; setScanner(_lexer); } diff --git a/src/main/java/tmltranslator/TMLSyntaxChecking.java b/src/main/java/tmltranslator/TMLSyntaxChecking.java index e7c3f374e5c761be2fef671645e88e15bdb36e52..8b47bb0f55b948660e4d2a5bb41076e6750708bc 100755 --- a/src/main/java/tmltranslator/TMLSyntaxChecking.java +++ b/src/main/java/tmltranslator/TMLSyntaxChecking.java @@ -996,6 +996,8 @@ public class TMLSyntaxChecking { String s = gen.determineRouting(mapping.getHwNodeOf(ch.getOriginTask()), mapping.getHwNodeOf(ch.getDestinationTask()), ch); if (s == null) { + TraceManager.addDev(INVALID_ROUTING + ": " + ch.getName() + " between " + ch.getOriginTask().getName() + " and " + + ch.getDestinationTask().getName()); addError(ch.getOriginTask(), null, INVALID_ROUTING + ": " + ch.getName() + " between " + ch.getOriginTask().getName() + " and " + ch.getDestinationTask().getName(), TMLError.ERROR_STRUCTURE); } diff --git a/src/main/java/tmltranslator/toavatar/FullTML2Avatar.java b/src/main/java/tmltranslator/toavatar/FullTML2Avatar.java index 211650c34ab7b209865213b99ab2c97a59e09ec6..843e52becce8f536fa8dad528a1befe513ba5a7d 100644 --- a/src/main/java/tmltranslator/toavatar/FullTML2Avatar.java +++ b/src/main/java/tmltranslator/toavatar/FullTML2Avatar.java @@ -147,7 +147,7 @@ public class FullTML2Avatar { if (mc) { avspec.addBlock(top); AvatarStateMachine topasm = top.getStateMachine(); - AvatarStartState topss = new AvatarStartState("start", null); + AvatarStartState topss = new AvatarStartState("start", null, top); topasm.setStartState(topss); topasm.addElement(topss); } @@ -400,14 +400,14 @@ public class FullTML2Avatar { //Oh this is fun...let's restructure the state machine //Create own start state, and ignore the returned one List<AvatarStateMachineElement> elementList = translateState(task.getActivityDiagram().get(0), block); - AvatarStartState ss = new AvatarStartState("start", task.getActivityDiagram().get(0).getReferenceObject()); + AvatarStartState ss = new AvatarStartState("start", task.getActivityDiagram().get(0).getReferenceObject(), block); asm.addElement(ss); AvatarTransition at = new AvatarTransition(block, "__after_start", task.getActivityDiagram().get(0).getReferenceObject()); //at.addAction(AvatarTerm.createActionFromString(block, "req_loop_index = 0")); ss.addNext(at); asm.addElement(at); - AvatarState loopstart = new AvatarState("loopstart", task.getActivityDiagram().get(0).getReferenceObject()); + AvatarState loopstart = new AvatarState("loopstart", task.getActivityDiagram().get(0).getReferenceObject(), block); at.addNext(loopstart); asm.addElement(loopstart); @@ -440,7 +440,7 @@ public class FullTML2Avatar { //Create exit after # of loop iterations is maxed out /*AvatarStopState stop =*/ - new AvatarStopState("stop", task.getActivityDiagram().get(0).getReferenceObject()); + new AvatarStopState("stop", task.getActivityDiagram().get(0).getReferenceObject(), block); /*AvatarTransition exitTran = */ new AvatarTransition(block, "to_stop", task.getActivityDiagram().get(0).getReferenceObject()); @@ -455,7 +455,7 @@ public class FullTML2Avatar { loopstart.addNext(incrTran); AvatarSignal sig = block.getSignalByName(getLastName(req.getName())); - AvatarActionOnSignal as = new AvatarActionOnSignal("getRequest_" + req.getName(), sig, req.getReferenceObject()); + AvatarActionOnSignal as = new AvatarActionOnSignal("getRequest_" + req.getName(), sig, req.getReferenceObject(), block); incrTran.addNext(as); asm.addElement(as); /*as.addValue(req.getName()+"__reqData"); @@ -801,19 +801,19 @@ public class FullTML2Avatar { } if (ae instanceof TMLStopState) { - AvatarStopState stops = new AvatarStopState(ae.getName(), ae.getReferenceObject()); + AvatarStopState stops = new AvatarStopState(ae.getName(), ae.getReferenceObject(), block); elementList.add(stops); return elementList; } else if (ae instanceof TMLStartState) { - AvatarStartState ss = new AvatarStartState(ae.getName(), ae.getReferenceObject()); + AvatarStartState ss = new AvatarStartState(ae.getName(), ae.getReferenceObject(), block); tran = new AvatarTransition(block, "__after_" + ae.getName(), ss.getReferenceObject()); ss.addNext(tran); elementList.add(ss); elementList.add(tran); } else if (ae instanceof TMLRandom) { - AvatarRandom ar = new AvatarRandom(ae.getName(), ae.getReferenceObject()); + AvatarRandom ar = new AvatarRandom(ae.getName(), ae.getReferenceObject(), block); TMLRandom tmlr = (TMLRandom) ae; ar.setVariable(tmlr.getVariable()); ar.setValues(tmlr.getMinValue(), tmlr.getMaxValue()); @@ -853,7 +853,7 @@ public class FullTML2Avatar { for (AvatarStateMachineElement e : seq) { if (e.getNexts().size() == 0 && !(e instanceof AvatarStopState)) { - AvatarStopState stop = new AvatarStopState("stop", null); + AvatarStopState stop = new AvatarStopState("stop", null, block); e.addNext(stop); elementList.add(stop); } @@ -876,7 +876,7 @@ public class FullTML2Avatar { } AvatarState signalState = new AvatarState("signalstate_" + reworkStringName(ae.getName()) + "_" + reworkStringName(req.getName()), - ae.getReferenceObject(), checkAcc, checked); + ae.getReferenceObject(), block, checkAcc, checked); AvatarTransition signalTran = new AvatarTransition(block, "__after_signalstate_" + ae.getName() + "_" + req.getName(), ae.getReferenceObject()); sig = signalRequest.get(req); @@ -891,7 +891,7 @@ public class FullTML2Avatar { sig = signalOutMap.get(req.getName()); }*/ - AvatarActionOnSignal as = new AvatarActionOnSignal(ae.getName(), sig, ae.getReferenceObject()); + AvatarActionOnSignal as = new AvatarActionOnSignal(ae.getName(), sig, ae.getReferenceObject(), block); //TraceManager.addDev("Send request in block " + block.getName() + " nb of params:" + sr.getNbOfParams()); @@ -923,7 +923,7 @@ public class FullTML2Avatar { } else if (ae instanceof TMLRandomSequence) { //HashMap<Integer, List<AvatarStateMachineElement>> seqs = new HashMap<Integer, List<AvatarStateMachineElement>>(); - AvatarState choiceState = new AvatarState("seqchoice__" + reworkStringName(ae.getName()), ae.getReferenceObject()); + AvatarState choiceState = new AvatarState("seqchoice__" + reworkStringName(ae.getName()), ae.getReferenceObject(), block); elementList.add(choiceState); if (ae.getNbNext() == 1) { @@ -965,7 +965,7 @@ public class FullTML2Avatar { elementList.add(tran); tran.addNext(set0.get(0)); //Put stop states at the end of set1 if they don't already exist - AvatarStopState stop = new AvatarStopState("stop", null); + AvatarStopState stop = new AvatarStopState("stop", null, block); for (AvatarStateMachineElement e : set1) { if (e.getNexts().size() == 0 && (e instanceof AvatarTransition)) { e.addNext(stop); @@ -996,7 +996,7 @@ public class FullTML2Avatar { elementList.add(tran); choiceState.addNext(tran); tran.addNext(set1_1.get(0)); - stop = new AvatarStopState("stop", null); + stop = new AvatarStopState("stop", null, block); for (AvatarStateMachineElement e : set0_1) { if (e.getNexts().size() == 0 && (e instanceof AvatarTransition)) { e.addNext(stop); @@ -1016,7 +1016,7 @@ public class FullTML2Avatar { AvatarState choiceStateEnd = new AvatarState("seqchoiceend__" + i + "_" + reworkStringName(ae.getName()), - ae.getReferenceObject()); + ae.getReferenceObject(), block); elementList.add(choiceStateEnd); @@ -1075,7 +1075,7 @@ public class FullTML2Avatar { checked = ((TGComponent) ae.getReferenceObject()).hasCheckedAccessibility(); } AvatarState signalState = new AvatarState("signalstate_" + reworkStringName(ae.getName() + "_" + evt.getName()), - ae.getReferenceObject(), checkAcc, checked); + ae.getReferenceObject(), block, checkAcc, checked); AvatarTransition signalTran = new AvatarTransition(block, "__after_signalstate_" + ae.getName() + "_" + evt.getName(), ae.getReferenceObject()); if (ae instanceof TMLSendEvent) { @@ -1083,7 +1083,7 @@ public class FullTML2Avatar { AvatarSignal sig = signalOutMap.get(evt.getName()); //TraceManager.addDev("sig=" + sig); - AvatarActionOnSignal as = new AvatarActionOnSignal(ae.getName(), sig, ae.getReferenceObject()); + AvatarActionOnSignal as = new AvatarActionOnSignal(ae.getName(), sig, ae.getReferenceObject(), block); for (int i = 0; i < aee.getNbOfParams(); i++) { as.addValue(aee.getParam(i)); } @@ -1103,7 +1103,7 @@ public class FullTML2Avatar { AvatarSignal sig = signalInMap.get(evt.getName()); //TraceManager.addDev("sig=" + sig); - AvatarActionOnSignal as = new AvatarActionOnSignal(ae.getName(), sig, ae.getReferenceObject()); + AvatarActionOnSignal as = new AvatarActionOnSignal(ae.getName(), sig, ae.getReferenceObject(), block); for (int i = 0; i < aee.getNbOfParams(); i++) { as.addValue(aee.getParam(i)); @@ -1148,7 +1148,7 @@ public class FullTML2Avatar { at = new AvatarAttribute(reworkStringName(param), AvatarType.INTEGER, block, ae.getReferenceObject()); } //TraceManager.addDev("sig=" + sig); - AvatarQueryOnSignal aqos = new AvatarQueryOnSignal(ae.getName(), sig, at, ae.getReferenceObject()); + AvatarQueryOnSignal aqos = new AvatarQueryOnSignal(ae.getName(), sig, at, ae.getReferenceObject(), block); tran = new AvatarTransition(block, "__after_" + ae.getName(), ae.getReferenceObject()); @@ -1160,7 +1160,7 @@ public class FullTML2Avatar { } else if (ae instanceof TMLActivityElementWithAction) { //Might be encrypt or decrypt AvatarState as = - new AvatarState(reworkStringName(ae.getValue()+"_" + ae.getName()), ae.getReferenceObject()); + new AvatarState(reworkStringName(ae.getValue()+"_" + ae.getName()), ae.getReferenceObject(), block); tran = new AvatarTransition(block, "__after_" + ae.getName(), ae.getReferenceObject()); as.addNext(tran); elementList.add(as); @@ -1401,7 +1401,7 @@ public class FullTML2Avatar { } //Add state after get2 statement - AvatarState guardState = new AvatarState(reworkStringName(ae.getName() + "_guarded"), ae.getReferenceObject()); + AvatarState guardState = new AvatarState(reworkStringName(ae.getName() + "_guarded"), ae.getReferenceObject(), block); tran.addNext(guardState); tran = new AvatarTransition(block, "__guard_" + ae.getName(), ae.getReferenceObject()); guardState.addNext(tran); @@ -1412,7 +1412,7 @@ public class FullTML2Avatar { tran.setGuard("testnonce_" + ae.securityPattern.nonce + "==" + ae.securityPattern.nonce); } //Add a dummy state afterwards for authenticity after decrypting the data - AvatarState dummy = new AvatarState(reworkStringName(ae.getName() + "_dummy"), ae.getReferenceObject()); + AvatarState dummy = new AvatarState(reworkStringName(ae.getName() + "_dummy"), ae.getReferenceObject(), block); ae.securityPattern.state2 = dummy; tran.addNext(dummy); tran = new AvatarTransition(block, "__after_" + ae.getName(), ae.getReferenceObject()); @@ -1470,7 +1470,7 @@ public class FullTML2Avatar { } tran.addAction("get2(" + ae.securityPattern.name + "," + ae.securityPattern.name + ",testnonce_" + ae.securityPattern.nonce + ")"); - AvatarState guardState = new AvatarState(reworkStringName(ae.getName() + "_guarded"), ae.getReferenceObject()); + AvatarState guardState = new AvatarState(reworkStringName(ae.getName() + "_guarded"), ae.getReferenceObject(), block); tran.addNext(guardState); tran = new AvatarTransition(block, "__guard_" + ae.getName(), ae.getReferenceObject()); elementList.add(guardState); @@ -1478,7 +1478,7 @@ public class FullTML2Avatar { guardState.addNext(tran); tran.setGuard("testnonce_" + ae.securityPattern.nonce + "==" + ae.securityPattern.nonce); } - AvatarState dummy = new AvatarState(reworkStringName(ae.getName() + "_dummy"), ae.getReferenceObject()); + AvatarState dummy = new AvatarState(reworkStringName(ae.getName() + "_dummy"), ae.getReferenceObject(), block); tran.addNext(dummy); tran = new AvatarTransition(block, "__after_" + ae.getName(), ae.getReferenceObject()); dummy.addNext(tran); @@ -1529,7 +1529,7 @@ public class FullTML2Avatar { tran.addAction("get2(" + ae.securityPattern.name + "," + ae.securityPattern.name + ",testnonce_" + ae.securityPattern.nonce + ")"); } - AvatarState guardState = new AvatarState(reworkStringName(ae.getName() + "_guarded"), ae.getReferenceObject()); + AvatarState guardState = new AvatarState(reworkStringName(ae.getName() + "_guarded"), ae.getReferenceObject(), block); tran.addNext(guardState); tran = new AvatarTransition(block, "__guard_" + ae.getName(), ae.getReferenceObject()); elementList.add(guardState); @@ -1542,7 +1542,7 @@ public class FullTML2Avatar { //Add extra state and transition AvatarState guardState2 = new AvatarState(reworkStringName(ae.getName() + "_guarded2"), - ae.getReferenceObject()); + ae.getReferenceObject(), block); tran.addNext(guardState2); tran = new AvatarTransition(block, "__guard_" + ae.getName(), ae.getReferenceObject()); tran.setGuard("testnonce_" + ae.securityPattern.nonce + "==" + ae.securityPattern.nonce); @@ -1551,7 +1551,7 @@ public class FullTML2Avatar { guardState2.addNext(tran); } - AvatarState dummy = new AvatarState(reworkStringName(ae.getName() + "_dummy"), ae.getReferenceObject()); + AvatarState dummy = new AvatarState(reworkStringName(ae.getName() + "_dummy"), ae.getReferenceObject(), block); ae.securityPattern.state2 = dummy; tran.addNext(dummy); elementList.add(tran); @@ -1583,7 +1583,7 @@ public class FullTML2Avatar { } } else if (ae instanceof TMLActivityElementWithIntervalAction) { - AvatarState as = new AvatarState(reworkStringName(ae.getName()), ae.getReferenceObject()); + AvatarState as = new AvatarState(reworkStringName(ae.getName()), ae.getReferenceObject(), block); tran = new AvatarTransition(block, "__after_" + ae.getName(), ae.getReferenceObject()); TMLActivityElementWithIntervalAction ia = (TMLActivityElementWithIntervalAction) ae; tran.setDelays(reworkStringName(ia.getMinDelay()), reworkStringName(ia.getMaxDelay())); @@ -1608,14 +1608,14 @@ public class FullTML2Avatar { checked = ((TGComponent) ae.getReferenceObject()).hasCheckedAccessibility(); } AvatarState signalState = new AvatarState("signalstate_" + reworkStringName(ae.getName() + "_" + ch.getName()), - ae.getReferenceObject(), checkAcc, checked); + ae.getReferenceObject(), block, checkAcc, checked); AvatarTransition signalTran = new AvatarTransition(block, "__after_signalstate_" + ae.getName() + "_" + ch.getName(), ae.getReferenceObject()); AvatarTransition signalTranBefore = new AvatarTransition(block, "__before_signalstateint_" + ae.getName() + "_" + ch.getName(), ae .getReferenceObject()); AvatarState signalStateIntermediate = new AvatarState("signalstateinter_" + reworkStringName( ae.getName() + "_" + ch.getName()) , ae - .getReferenceObject(), checkAcc, checked); + .getReferenceObject(), block, checkAcc, checked); AvatarTransition signalTranInit = new AvatarTransition(block, "_init_signalstate_" + ae.getName() + "_" + ch.getName(), ae .getReferenceObject()); @@ -1634,7 +1634,7 @@ public class FullTML2Avatar { TraceManager.addDev("NULL signal for ch=" + ch.getName()); } - AvatarActionOnSignal as = new AvatarActionOnSignal(ae.getName(), sig, ae.getReferenceObject()); + AvatarActionOnSignal as = new AvatarActionOnSignal(ae.getName(), sig, ae.getReferenceObject(), block); tran = new AvatarTransition(block, "__after_" + ae.getName(), ae.getReferenceObject()); elementList.add(signalState); @@ -1671,7 +1671,7 @@ public class FullTML2Avatar { List<AvatarStateMachineElement> elements = translateState(ae.getNextElement(0), block); /*List<AvatarStateMachineElement> afterloop =*/ translateState(ae.getNextElement(1), block); - AvatarState initState = new AvatarState(reworkStringName(ae.getName() + "__init"), ae.getReferenceObject()); + AvatarState initState = new AvatarState(reworkStringName(ae.getName() + "__init"), ae.getReferenceObject(), block); elementList.add(initState); //Build transition to choice tran = new AvatarTransition(block, "loop_init__" + ae.getName(), ae.getReferenceObject()); @@ -1679,7 +1679,7 @@ public class FullTML2Avatar { elementList.add(tran); initState.addNext(tran); //Choice state - AvatarState as = new AvatarState(reworkStringName(ae.getName() + "__choice"), ae.getReferenceObject()); + AvatarState as = new AvatarState(reworkStringName(ae.getName() + "__choice"), ae.getReferenceObject(), block); elementList.add(as); tran.addNext(as); //transition to first element of loop @@ -1712,7 +1712,7 @@ public class FullTML2Avatar { tran = new AvatarTransition(block, "end_loop__" + ae.getName(), ae.getReferenceObject()); tran.setGuard(new AvatarGuardElse()); as.addNext(tran); - AvatarStopState stop = new AvatarStopState("stop", null); + AvatarStopState stop = new AvatarStopState("stop", null, block); tran.addNext(stop); elementList.add(tran); elementList.add(stop); @@ -1722,7 +1722,7 @@ public class FullTML2Avatar { List<AvatarStateMachineElement> elements = translateState(ae.getNextElement(0), block); List<AvatarStateMachineElement> afterloop = translateState(ae.getNextElement(1), block); - AvatarState initState = new AvatarState(reworkStringName(ae.getName() + "__init"), ae.getReferenceObject()); + AvatarState initState = new AvatarState(reworkStringName(ae.getName() + "__init"), ae.getReferenceObject(), block); elementList.add(initState); //Build transition to choice tran = new AvatarTransition(block, "loop_init__" + ae.getName(), ae.getReferenceObject()); @@ -1732,12 +1732,12 @@ public class FullTML2Avatar { initState.addNext(tran); //Choice state - AvatarState as = new AvatarState(reworkStringName(ae.getName() + "__choice"), ae.getReferenceObject()); + AvatarState as = new AvatarState(reworkStringName(ae.getName() + "__choice"), ae.getReferenceObject(), block); elementList.add(as); tran.addNext(as); //End state - AvatarState asEnd = new AvatarState(reworkStringName(ae.getName() + "__incr"), ae.getReferenceObject()); + AvatarState asEnd = new AvatarState(reworkStringName(ae.getName() + "__incr"), ae.getReferenceObject(), block); elementList.add(asEnd); AvatarTransition tranToEnd = new AvatarTransition(block, "loop_init__" + ae.getName(), ae.getReferenceObject()); tranToEnd.addAction(AvatarTerm.createActionFromString(block, loop.getIncrement())); @@ -1780,7 +1780,7 @@ public class FullTML2Avatar { tran.setGuard(new AvatarGuardElse()); as.addNext(tran); if (afterloop.size() == 0) { - afterloop.add(new AvatarStopState("stop", null)); + afterloop.add(new AvatarStopState("stop", null, block)); } tran.addNext(afterloop.get(0)); elementList.add(tran); @@ -1789,7 +1789,7 @@ public class FullTML2Avatar { } } else if (ae instanceof TMLChoice) { - AvatarState as = new AvatarState(reworkStringName(ae.getName()), ae.getReferenceObject()); + AvatarState as = new AvatarState(reworkStringName(ae.getName()), ae.getReferenceObject(), block); //Make many choices elementList.add(as); TMLChoice c = (TMLChoice) ae; @@ -1807,7 +1807,7 @@ public class FullTML2Avatar { return elementList; } else if (ae instanceof TMLSelectEvt) { - AvatarState as = new AvatarState(reworkStringName(ae.getName()), ae.getReferenceObject()); + AvatarState as = new AvatarState(reworkStringName(ae.getName()), ae.getReferenceObject(), block); elementList.add(as); //Make many choices //TMLSelectEvt c = (TMLSelectEvt) ae; @@ -1927,14 +1927,14 @@ public class FullTML2Avatar { public AvatarBlock createFifo(String name) { AvatarBlock fifo = new AvatarBlock("FIFO__FIFO" + name, avspec, null); - AvatarState root = new AvatarState("root", null, false, false); + AvatarState root = new AvatarState("root", null, fifo, false, false); AvatarSignal read = new AvatarSignal("readSignal", AvatarSignal.IN, null); //AvatarAttribute data = new AvatarAttribute("data", AvatarType.INTEGER, fifo, null); //fifo.addAttribute(data); //read.addParameter(data); AvatarSignal write = new AvatarSignal("writeSignal", AvatarSignal.OUT, null); //write.addParameter(data); - AvatarStartState start = new AvatarStartState("start", null); + AvatarStartState start = new AvatarStartState("start", null, fifo); AvatarTransition afterStart = new AvatarTransition(fifo, "afterStart", null); fifo.addSignal(read); fifo.addSignal(write); @@ -1942,8 +1942,8 @@ public class FullTML2Avatar { AvatarTransition toWrite = new AvatarTransition(fifo, "toWriteSignal", null); AvatarTransition afterRead = new AvatarTransition(fifo, "afterReadSignal", null); AvatarTransition afterWrite = new AvatarTransition(fifo, "afterWriteSignal", null); - AvatarActionOnSignal readAction = new AvatarActionOnSignal("read", read, null); - AvatarActionOnSignal writeAction = new AvatarActionOnSignal("write", write, null); + AvatarActionOnSignal readAction = new AvatarActionOnSignal("read", read, null, fifo); + AvatarActionOnSignal writeAction = new AvatarActionOnSignal("write", write, null, fifo); AvatarStateMachine asm = fifo.getStateMachine(); asm.addElement(start); diff --git a/src/main/java/tmltranslator/toavatarsec/TML2Avatar.java b/src/main/java/tmltranslator/toavatarsec/TML2Avatar.java index a8de0eec2a540a437580e0153f364ff9679afddb..ab36afc53880e3a0dfc0bcd43c7dc6ded8a6ff9a 100644 --- a/src/main/java/tmltranslator/toavatarsec/TML2Avatar.java +++ b/src/main/java/tmltranslator/toavatarsec/TML2Avatar.java @@ -346,17 +346,17 @@ public class TML2Avatar { } if (ae instanceof TMLStopState) { - AvatarStopState stops = new AvatarStopState(ae.getName(), ae.getReferenceObject()); + AvatarStopState stops = new AvatarStopState(ae.getName(), ae.getReferenceObject(), block); elementList.add(stops); return elementList; } else if (ae instanceof TMLStartState) { - AvatarStartState ss = new AvatarStartState(ae.getName(), ae.getReferenceObject()); + AvatarStartState ss = new AvatarStartState(ae.getName(), ae.getReferenceObject(), block); tran = new AvatarTransition(block, "__after_" + ae.getName(), ss.getReferenceObject()); ss.addNext(tran); elementList.add(ss); elementList.add(tran); } else if (ae instanceof TMLRandom) { - AvatarRandom ar = new AvatarRandom(ae.getName(), ae.getReferenceObject()); + AvatarRandom ar = new AvatarRandom(ae.getName(), ae.getReferenceObject(), block); TMLRandom tmlr = (TMLRandom) ae; ar.setVariable(tmlr.getVariable()); TraceManager.addDev("tmlr.getVariable()= " + tmlr.getVariable()); @@ -401,7 +401,7 @@ public class TML2Avatar { for (AvatarStateMachineElement e : seq) { if (e.getNexts().size() == 0 && !(e instanceof AvatarStopState)) { - AvatarStopState stop = new AvatarStopState("stop", null); + AvatarStopState stop = new AvatarStopState("stop", null, block); e.addNext(stop); elementList.add(stop); } @@ -421,7 +421,8 @@ public class TML2Avatar { if (ae.getReferenceObject() != null) { checked = ((TGComponent) ae.getReferenceObject()).hasCheckedAccessibility(); } - AvatarState signalState = new AvatarState("signalstate_" + reworkStringName(ae.getName()) + "_" + reworkStringName(req.getName()), ae.getReferenceObject(), checkAcc, checked); + AvatarState signalState = new AvatarState("signalstate_" + reworkStringName(ae.getName()) + "_" + reworkStringName(req.getName()), + ae.getReferenceObject(), block, checkAcc, checked); AvatarTransition signalTran = new AvatarTransition(block, "__after_signalstate_" + ae.getName() + "_" + req.getName(), ae.getReferenceObject()); if (!signalOutMap.containsKey(req.getName())) { sig = new AvatarSignal(getNameReworked(req.getName(), 1), AvatarSignal.OUT, req.getReferenceObject()); @@ -438,7 +439,7 @@ public class TML2Avatar { sig = signalOutMap.get(req.getName()); } - AvatarActionOnSignal as = new AvatarActionOnSignal(ae.getName(), sig, ae.getReferenceObject()); + AvatarActionOnSignal as = new AvatarActionOnSignal(ae.getName(), sig, ae.getReferenceObject(), block); for (int i = 0; i < sr.getNbOfParams(); i++) { if (block.getAvatarAttributeWithName(sr.getParam(i)) == null) { //Throw Error @@ -577,7 +578,7 @@ public class TML2Avatar { elementList.add(tran); tran.addNext(set0.get(0)); //Put stop states at the end of set1 if they don't already exist - AvatarStopState stop = new AvatarStopState("stop", null); + AvatarStopState stop = new AvatarStopState("stop", null, block); for (AvatarStateMachineElement e : set1) { if (e.getNexts().size() == 0 && (e instanceof AvatarTransition)) { e.addNext(stop); @@ -608,7 +609,7 @@ public class TML2Avatar { elementList.add(tran); choiceState.addNext(tran); tran.addNext(set1_1.get(0)); - stop = new AvatarStopState("stop", null); + stop = new AvatarStopState("stop", null, block); for (AvatarStateMachineElement e : set0_1) { if (e.getNexts().size() == 0 && (e instanceof AvatarTransition)) { e.addNext(stop); @@ -627,7 +628,7 @@ public class TML2Avatar { AvatarState choiceStateEnd = new AvatarState("seqchoiceend__" + i + "_" + - reworkStringName(ae.getName()), ae.getReferenceObject()); + reworkStringName(ae.getName()), ae.getReferenceObject(), block); elementList.add(choiceStateEnd); @@ -684,8 +685,10 @@ public class TML2Avatar { if (ae.getReferenceObject() != null) { checked = ((TGComponent) ae.getReferenceObject()).hasCheckedAccessibility(); } - AvatarState signalState = new AvatarState("signalstate_" + reworkStringName(ae.getName()) + "_" + evt.getName(), ae.getReferenceObject(), checkAcc, checked); - AvatarTransition signalTran = new AvatarTransition(block, "__after_signalstate_" + ae.getName() + "_" + evt.getName(), ae.getReferenceObject()); + AvatarState signalState = new AvatarState("signalstate_" + reworkStringName(ae.getName()) + "_" + evt.getName(), ae.getReferenceObject(), + block, checkAcc, checked); + AvatarTransition signalTran = new AvatarTransition(block, "__after_signalstate_" + ae.getName() + "_" + evt.getName(), + ae.getReferenceObject()); if (ae instanceof TMLSendEvent) { AvatarSignal sig; @@ -703,7 +706,7 @@ public class TML2Avatar { } else { sig = signalOutMap.get(evt.getName()); } - AvatarActionOnSignal as = new AvatarActionOnSignal(ae.getName(), sig, ae.getReferenceObject()); + AvatarActionOnSignal as = new AvatarActionOnSignal(ae.getName(), sig, ae.getReferenceObject(), block); for (int i = 0; i < aee.getNbOfParams(); i++) { if (block.getAvatarAttributeWithName(aee.getParam(i)) == null) { //Throw Error @@ -757,7 +760,7 @@ public class TML2Avatar { } else { sig = signalInMap.get(evt.getName()); } - AvatarActionOnSignal as = new AvatarActionOnSignal(ae.getName(), sig, ae.getReferenceObject()); + AvatarActionOnSignal as = new AvatarActionOnSignal(ae.getName(), sig, ae.getReferenceObject(), block); for (int i = 0; i < aee.getNbOfParams(); i++) { if (block.getAvatarAttributeWithName(aee.getParam(i)) == null) { //Throw Error @@ -796,7 +799,7 @@ public class TML2Avatar { } else { //Notify Event, I don't know how to translate this TraceManager.addDev("Notify event"); - AvatarRandom as = new AvatarRandom(ae.getName(), ae.getReferenceObject()); + AvatarRandom as = new AvatarRandom(ae.getName(), ae.getReferenceObject(), block); tran = new AvatarTransition(block, "__after_" + ae.getName(), ae.getReferenceObject()); as.setVariable(aee.getVariable()); as.setValues("0", "1"); @@ -807,7 +810,11 @@ public class TML2Avatar { } else if (ae instanceof TMLActivityElementWithAction) { //Might be encrypt or decrypt - AvatarState as = new AvatarState(ae.getValue().replaceAll(" ", "").replaceAll("\\*", "").replaceAll("\\+", "").replaceAll("\\-", "") + "_" + ae.getName().replaceAll(" ", "").replaceAll("\\*", "").replaceAll("\\+", "").replaceAll("\\-", ""), ae.getReferenceObject()); + AvatarState as = new AvatarState(ae.getValue().replaceAll( + " ", "").replaceAll("\\*", "").replaceAll("\\+", "").replaceAll( + "\\-", "") + "_" + ae.getName().replaceAll(" ", "").replaceAll( + "\\*", "").replaceAll("\\+", "").replaceAll( + "\\-", ""), ae.getReferenceObject(), block); tran = new AvatarTransition(block, "__after_" + ae.getName(), ae.getReferenceObject()); as.addNext(tran); elementList.add(as); @@ -1056,7 +1063,7 @@ public class TML2Avatar { } //Add state after get2 statement - AvatarState guardState = new AvatarState(reworkStringName(ae.getName()) + "_guarded", ae.getReferenceObject()); + AvatarState guardState = new AvatarState(reworkStringName(ae.getName()) + "_guarded", ae.getReferenceObject(), block); tran.addNext(guardState); tran = new AvatarTransition(block, "__guard_" + ae.getName(), ae.getReferenceObject()); guardState.addNext(tran); @@ -1068,7 +1075,7 @@ public class TML2Avatar { } // Add a dummy state afterwards for authenticity after decrypting the data - AvatarState dummy = new AvatarState(reworkStringName(ae.getName()) + "_dummy", ae.getReferenceObject()); + AvatarState dummy = new AvatarState(reworkStringName(ae.getName()) + "_dummy", ae.getReferenceObject(), block); ae.securityPattern.state2 = dummy; tran.addNext(dummy); tran = new AvatarTransition(block, "__after_" + ae.getName(), ae.getReferenceObject()); @@ -1133,7 +1140,7 @@ public class TML2Avatar { } tran.addAction("get2(" + ae.securityPattern.name + "," + ae.securityPattern.name + ",testnonce_" + ae.securityPattern.nonce + ")"); - AvatarState guardState = new AvatarState(reworkStringName(ae.getName()) + "_guarded", ae.getReferenceObject()); + AvatarState guardState = new AvatarState(reworkStringName(ae.getName()) + "_guarded", ae.getReferenceObject(), block); tran.addNext(guardState); tran = new AvatarTransition(block, "__guard_" + ae.getName(), ae.getReferenceObject()); elementList.add(guardState); @@ -1141,7 +1148,7 @@ public class TML2Avatar { guardState.addNext(tran); tran.setGuard("testnonce_" + ae.securityPattern.nonce + "==" + ae.securityPattern.nonce); } - AvatarState dummy = new AvatarState(reworkStringName(ae.getName()) + "_dummy", ae.getReferenceObject()); + AvatarState dummy = new AvatarState(reworkStringName(ae.getName()) + "_dummy", ae.getReferenceObject(), block); tran.addNext(dummy); tran = new AvatarTransition(block, "__after_" + ae.getName(), ae.getReferenceObject()); dummy.addNext(tran); @@ -1197,7 +1204,7 @@ public class TML2Avatar { tran.addAction("get2(" + ae.securityPattern.name + "," + ae.securityPattern.name + ",testnonce_" + ae.securityPattern.nonce + ")"); } - AvatarState guardState = new AvatarState(reworkStringName(ae.getName()) + "_guarded", ae.getReferenceObject()); + AvatarState guardState = new AvatarState(reworkStringName(ae.getName()) + "_guarded", ae.getReferenceObject(), block); tran.addNext(guardState); tran = new AvatarTransition(block, "__guard_" + ae.getName(), ae.getReferenceObject()); elementList.add(guardState); @@ -1209,7 +1216,7 @@ public class TML2Avatar { //Add extra state and transition - AvatarState guardState2 = new AvatarState(reworkStringName(ae.getName()) + "_guarded2", ae.getReferenceObject()); + AvatarState guardState2 = new AvatarState(reworkStringName(ae.getName()) + "_guarded2", ae.getReferenceObject(), block); tran.addNext(guardState2); tran = new AvatarTransition(block, "__guard_" + ae.getName(), ae.getReferenceObject()); tran.setGuard("testnonce_" + ae.securityPattern.nonce + "==" + ae.securityPattern.nonce); @@ -1218,7 +1225,7 @@ public class TML2Avatar { guardState2.addNext(tran); } - AvatarState dummy = new AvatarState(reworkStringName(ae.getName()) + "_dummy", ae.getReferenceObject()); + AvatarState dummy = new AvatarState(reworkStringName(ae.getName()) + "_dummy", ae.getReferenceObject(), block); ae.securityPattern.state2 = dummy; tran.addNext(dummy); elementList.add(tran); @@ -1254,7 +1261,7 @@ public class TML2Avatar { } } } else if (ae instanceof TMLActivityElementWithIntervalAction) { - AvatarState as = new AvatarState(reworkStringName(ae.getName()), ae.getReferenceObject()); + AvatarState as = new AvatarState(reworkStringName(ae.getName()), ae.getReferenceObject(), block); tran = new AvatarTransition(block, "__after_" + ae.getName(), ae.getReferenceObject()); as.addNext(tran); elementList.add(as); @@ -1274,7 +1281,7 @@ public class TML2Avatar { checked = ((TGComponent) ae.getReferenceObject()).hasCheckedAccessibility(); } AvatarState signalState = new AvatarState("signalstate_" + reworkStringName(ae.getName()) + "_" + - ch.getName(), ae.getReferenceObject(), checkAcc, checked); + ch.getName(), ae.getReferenceObject(), block, checkAcc, checked); AvatarTransition signalTran = new AvatarTransition(block, "__after_signalstate_" + ae.getName() + "_" + ch.getName(), ae.getReferenceObject()); @@ -1297,7 +1304,7 @@ public class TML2Avatar { sig = signalInMap.get(ch.getName()); } TraceManager.addDev("InMap sig= " + sig.getSignalName()); - AvatarActionOnSignal as = new AvatarActionOnSignal(ae.getName(), sig, ae.getReferenceObject()); + AvatarActionOnSignal as = new AvatarActionOnSignal(ae.getName(), sig, ae.getReferenceObject(), block); if (ae.securityPattern != null) { //If nonce @@ -1346,7 +1353,7 @@ public class TML2Avatar { if (ch.checkAuth) { //Add aftersignal state AvatarState afterSignalState = new AvatarState("aftersignalstate_" + reworkStringName(ae.getName()) + - "_" + ch.getName(), ae.getReferenceObject()); + "_" + ch.getName(), ae.getReferenceObject(), block); tran.addNext(afterSignalState); tran = new AvatarTransition(block, "__aftersignalstate_" + ae.getName(), ae.getReferenceObject()); afterSignalState.addNext(tran); @@ -1443,7 +1450,7 @@ public class TML2Avatar { } - AvatarActionOnSignal as = new AvatarActionOnSignal(ae.getName(), sig, ae.getReferenceObject()); + AvatarActionOnSignal as = new AvatarActionOnSignal(ae.getName(), sig, ae.getReferenceObject(), block); if (ae.securityPattern != null) { //send nonce @@ -1500,7 +1507,7 @@ public class TML2Avatar { List<AvatarStateMachineElement> elements = translateState(ae.getNextElement(0), block, autoAuthChans); /*List<AvatarStateMachineElement> afterloop =*/ translateState(ae.getNextElement(1), block, autoAuthChans); - AvatarState initState = new AvatarState(reworkStringName(ae.getName()) + "__init", ae.getReferenceObject()); + AvatarState initState = new AvatarState(reworkStringName(ae.getName()) + "__init", ae.getReferenceObject(), block); elementList.add(initState); //Build transition to choice tran = new AvatarTransition(block, "loop_init__" + ae.getName(), ae.getReferenceObject()); @@ -1508,7 +1515,7 @@ public class TML2Avatar { elementList.add(tran); initState.addNext(tran); //Choice state - AvatarState as = new AvatarState(reworkStringName(ae.getName()) + "__choice", ae.getReferenceObject()); + AvatarState as = new AvatarState(reworkStringName(ae.getName()) + "__choice", ae.getReferenceObject(), block); elementList.add(as); tran.addNext(as); //transition to first element of loop @@ -1541,7 +1548,7 @@ public class TML2Avatar { tran = new AvatarTransition(block, "end_loop__" + ae.getName(), ae.getReferenceObject()); tran.setGuard(new AvatarGuardElse()); as.addNext(tran); - AvatarStopState stop = new AvatarStopState("stop", null); + AvatarStopState stop = new AvatarStopState("stop", null, block); tran.addNext(stop); elementList.add(tran); elementList.add(stop); @@ -1550,7 +1557,7 @@ public class TML2Avatar { //Make initializaton, then choice state with transitions List<AvatarStateMachineElement> elements = translateState(ae.getNextElement(0), block, autoAuthChans); List<AvatarStateMachineElement> afterloop = translateState(ae.getNextElement(1), block, autoAuthChans); - AvatarState initState = new AvatarState(reworkStringName(ae.getName()) + "__init", ae.getReferenceObject()); + AvatarState initState = new AvatarState(reworkStringName(ae.getName()) + "__init", ae.getReferenceObject(), block); elementList.add(initState); //Build transition to choice tran = new AvatarTransition(block, "loop_init__" + ae.getName(), ae.getReferenceObject()); @@ -1559,7 +1566,7 @@ public class TML2Avatar { elementList.add(tran); initState.addNext(tran); //Choice state - AvatarState as = new AvatarState(reworkStringName(ae.getName()) + "__choice", ae.getReferenceObject()); + AvatarState as = new AvatarState(reworkStringName(ae.getName()) + "__choice", ae.getReferenceObject(), block); elementList.add(as); tran.addNext(as); //transition to first element of loop @@ -1600,7 +1607,7 @@ public class TML2Avatar { tran.setGuard(new AvatarGuardElse()); as.addNext(tran); if (afterloop.size() == 0) { - afterloop.add(new AvatarStopState("stop", null)); + afterloop.add(new AvatarStopState("stop", null, block)); } tran.addNext(afterloop.get(0)); elementList.add(tran); @@ -1608,7 +1615,7 @@ public class TML2Avatar { return elementList; } } else if (ae instanceof TMLChoice) { - AvatarState as = new AvatarState(reworkStringName(ae.getName()), ae.getReferenceObject()); + AvatarState as = new AvatarState(reworkStringName(ae.getName()), ae.getReferenceObject(), block); //Make many choices elementList.add(as); TMLChoice c = (TMLChoice) ae; @@ -1626,7 +1633,7 @@ public class TML2Avatar { return elementList; } else if (ae instanceof TMLSelectEvt) { - AvatarState as = new AvatarState(reworkStringName(ae.getName()), ae.getReferenceObject()); + AvatarState as = new AvatarState(reworkStringName(ae.getName()), ae.getReferenceObject(), block); elementList.add(as); //Make many choices //TMLSelectEvt c = (TMLSelectEvt) ae; @@ -1757,7 +1764,7 @@ public class TML2Avatar { if (mc) { avspec.addBlock(top); AvatarStateMachine topasm = top.getStateMachine(); - AvatarStartState topss = new AvatarStartState("start", null); + AvatarStartState topss = new AvatarStartState("start", null, topasm.getOwner()); topasm.setStartState(topss); topasm.addElement(topss); } @@ -1908,14 +1915,14 @@ public class TML2Avatar { //Oh this is fun...let's restructure the state machine //Create own start state, and ignore the returned one List<AvatarStateMachineElement> elementList = translateState(task.getActivityDiagram().get(0), block, autoAuthChans); - AvatarStartState ss = new AvatarStartState("start", task.getActivityDiagram().get(0).getReferenceObject()); + AvatarStartState ss = new AvatarStartState("start", task.getActivityDiagram().get(0).getReferenceObject(), block); asm.addElement(ss); AvatarTransition at = new AvatarTransition(block, "__after_start", task.getActivityDiagram().get(0).getReferenceObject()); at.addAction(AvatarTerm.createActionFromString(block, "req_loop_index = 0")); ss.addNext(at); asm.addElement(at); - AvatarState loopstart = new AvatarState("loopstart", task.getActivityDiagram().get(0).getReferenceObject()); + AvatarState loopstart = new AvatarState("loopstart", task.getActivityDiagram().get(0).getReferenceObject(), block); at.addNext(loopstart); asm.addElement(loopstart); @@ -1948,7 +1955,7 @@ public class TML2Avatar { //Create exit after # of loop iterations is maxed out /*AvatarStopState stop =*/ - new AvatarStopState("stop", task.getActivityDiagram().get(0).getReferenceObject()); + new AvatarStopState("stop", task.getActivityDiagram().get(0).getReferenceObject(), block); /*AvatarTransition exitTran = */ new AvatarTransition(block, "to_stop", task.getActivityDiagram().get(0).getReferenceObject()); @@ -1976,7 +1983,7 @@ public class TML2Avatar { } else { sig = signalInMap.get(req.getName()); } - AvatarActionOnSignal as = new AvatarActionOnSignal("getRequest__" + req.getName(), sig, req.getReferenceObject()); + AvatarActionOnSignal as = new AvatarActionOnSignal("getRequest__" + req.getName(), sig, req.getReferenceObject(), block); incrTran.addNext(as); asm.addElement(as); /*as.addValue(req.getName()+"__reqData"); @@ -2645,14 +2652,14 @@ public class TML2Avatar { public AvatarBlock createFifo(String name) { AvatarBlock fifo = new AvatarBlock("FIFO__FIFO" + name, avspec, null); - AvatarState root = new AvatarState("root", null, false, false); + AvatarState root = new AvatarState("root", null, fifo, false, false); AvatarSignal read = new AvatarSignal("readSignal", AvatarSignal.IN, null); AvatarAttribute data = new AvatarAttribute("data", AvatarType.INTEGER, fifo, null); fifo.addAttribute(data); read.addParameter(data); AvatarSignal write = new AvatarSignal("writeSignal", AvatarSignal.OUT, null); write.addParameter(data); - AvatarStartState start = new AvatarStartState("start", null); + AvatarStartState start = new AvatarStartState("start", null, fifo); AvatarTransition afterStart = new AvatarTransition(fifo, "afterStart", null); fifo.addSignal(read); fifo.addSignal(write); @@ -2660,8 +2667,8 @@ public class TML2Avatar { AvatarTransition toWrite = new AvatarTransition(fifo, "toWriteSignal", null); AvatarTransition afterRead = new AvatarTransition(fifo, "afterReadSignal", null); AvatarTransition afterWrite = new AvatarTransition(fifo, "afterWriteSignal", null); - AvatarActionOnSignal readAction = new AvatarActionOnSignal("read", read, null); - AvatarActionOnSignal writeAction = new AvatarActionOnSignal("write", write, null); + AvatarActionOnSignal readAction = new AvatarActionOnSignal("read", read, null, fifo); + AvatarActionOnSignal writeAction = new AvatarActionOnSignal("write", write, null, fifo); AvatarStateMachine asm = fifo.getStateMachine(); asm.addElement(start); diff --git a/src/main/java/tmltranslator/tomappingsystemc2/DiploSimulatorCodeGenerator.java b/src/main/java/tmltranslator/tomappingsystemc2/DiploSimulatorCodeGenerator.java index 4799da5fb1b53796a33f9bd1f8302bb40f1b4327..b312455a3d233dbbd7cbcc09a13dce8e005bb754 100644 --- a/src/main/java/tmltranslator/tomappingsystemc2/DiploSimulatorCodeGenerator.java +++ b/src/main/java/tmltranslator/tomappingsystemc2/DiploSimulatorCodeGenerator.java @@ -128,7 +128,7 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator } public void setModelName(String _modelName) { - modelName = _modelName; + modelName = _modelName.replace("\\", "\\\\"); } public void saveFile(String path, String filename) throws FileException { @@ -388,10 +388,12 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator declaration += CR; // Declaration of Model Name - declaration += "//Declaration of Model Name" + CR; + declaration += "// Declaration of Model Name" + CR; declaration += "std::string msg=" + "\"" + modelName + "\"" + SCCR; declaration += "addModelName(" + "\"" + modelName + "\"" + ")" + SCCR; + + // Declaration of Buses declaration += "//Declaration of Buses" + CR; diff --git a/src/main/java/ui/ActivityDiagram2TMLTranslator.java b/src/main/java/ui/ActivityDiagram2TMLTranslator.java index 4117efae560091caea77e937eb4fed20928827bf..4bdec9e3399abe4e1ca2329cdcb7cc93a66cd089 100644 --- a/src/main/java/ui/ActivityDiagram2TMLTranslator.java +++ b/src/main/java/ui/ActivityDiagram2TMLTranslator.java @@ -435,7 +435,7 @@ public class ActivityDiagram2TMLTranslator { } } else { if (!event.hasOriginTask(tmltask)) { - UICheckingError ce = new UICheckingError(CheckingError.BEHAVIOR_ERROR, ((TMLADReadChannel) tgc).getChannelName() + " is " + + UICheckingError ce = new UICheckingError(CheckingError.BEHAVIOR_ERROR, ((TMLADSendEvent) tgc).getEventName() + " is " + "not an output event of task " + tmltask.getName()); ce.setTDiagramPanel(tadp); ce.setTGComponent(tgc); @@ -692,7 +692,7 @@ public class ActivityDiagram2TMLTranslator { //TraceManager.addDev("Nb of param of event:" + event.getNbOfParams()); if (!event.hasDestinationTask(tmltask)) { - UICheckingError ce = new UICheckingError(CheckingError.BEHAVIOR_ERROR, ((TMLADReadChannel) tgc).getChannelName() + " is " + + UICheckingError ce = new UICheckingError(CheckingError.BEHAVIOR_ERROR, ((TMLADWaitEvent) tgc).getEventName() + " is " + "not an input event of task " + tmltask.getName()); ce.setTDiagramPanel(tadp); ce.setTGComponent(tgc); @@ -768,7 +768,7 @@ public class ActivityDiagram2TMLTranslator { for (int i = 0; i < channels.length; i++) { channel = tmlm.getChannelByName(getFromTable(tmltask, channels[i], table)); if (!channel.hasOriginTask(tmltask)) { - UICheckingError ce = new UICheckingError(CheckingError.BEHAVIOR_ERROR, ((TMLADReadChannel) tgc).getChannelName() + " is " + + UICheckingError ce = new UICheckingError(CheckingError.BEHAVIOR_ERROR, ((TMLADWriteChannel) tgc).getChannelName() + " is " + "not an output channel of task " + tmltask.getName()); ce.setTDiagramPanel(tadp); ce.setTGComponent(tgc); diff --git a/src/main/java/ui/AttackTreePanelTranslator.java b/src/main/java/ui/AttackTreePanelTranslator.java index c2e020223cf62bbc9adfc9a934a346f6c36564a2..c451bf7febc9f8972a9c8a70aed16b7cec21ccdd 100644 --- a/src/main/java/ui/AttackTreePanelTranslator.java +++ b/src/main/java/ui/AttackTreePanelTranslator.java @@ -336,7 +336,7 @@ public class AttackTreePanelTranslator { // One block per attack -> syncho // One mast block with all channels declared at that level AvatarBlock mainBlock = new AvatarBlock("MainBlock", as, null); - AvatarStartState ass = new AvatarStartState("StartStateOfMainBlock", null); + AvatarStartState ass = new AvatarStartState("StartStateOfMainBlock", null, mainBlock); mainBlock.getStateMachine().setStartState(ass); mainBlock.getStateMachine().addElement(ass); as.addBlock(mainBlock); @@ -438,13 +438,13 @@ public class AttackTreePanelTranslator { isChecked = ((TGComponent) (_ref1)).hasCheckedAccessibility(); } - AvatarStartState start = new AvatarStartState("start", _ref); - AvatarState mainState = new AvatarState("main", _ref, false, false); - AvatarState performedState = new AvatarState("main", _ref1, isCheckable, isChecked); + AvatarStartState start = new AvatarStartState("start", _ref, _ab); + AvatarState mainState = new AvatarState("main", _ref, _ab, false, false); + AvatarState performedState = new AvatarState("main", _ref1, _ab, isCheckable, isChecked); performedState.setAsVerifiable(true); - AvatarState mainStop = new AvatarState("stop", _ref, false, false); - AvatarActionOnSignal getMake = new AvatarActionOnSignal("GettingAttack", _sigAttack, _ref1); - AvatarActionOnSignal getStop = new AvatarActionOnSignal("GettingStop", _sigStop, _ref); + AvatarState mainStop = new AvatarState("stop", _ref, _ab, false, false); + AvatarActionOnSignal getMake = new AvatarActionOnSignal("GettingAttack", _sigAttack, _ref1, _ab); + AvatarActionOnSignal getStop = new AvatarActionOnSignal("GettingStop", _sigStop, _ref, _ab); asm.addElement(start); asm.setStartState(start); @@ -486,10 +486,10 @@ public class AttackTreePanelTranslator { } else { - AvatarStartState start = new AvatarStartState("start", _ref); - AvatarState mainState = new AvatarState("main", _ref, false, false); - AvatarState mainStop = new AvatarState("stop", _ref, false, false); - AvatarActionOnSignal getStop = new AvatarActionOnSignal("GettingStop", _sigStop, _ref); + AvatarStartState start = new AvatarStartState("start", _ref, _ab); + AvatarState mainState = new AvatarState("main", _ref, _ab, false, false); + AvatarState mainStop = new AvatarState("stop", _ref, _ab, false, false); + AvatarActionOnSignal getStop = new AvatarActionOnSignal("GettingStop", _sigStop, _ref, _ab); asm.addElement(start); asm.setStartState(start); @@ -529,21 +529,21 @@ public class AttackTreePanelTranslator { if (_ref1 instanceof TGComponent) { isChecked = ((TGComponent) (_ref1)).hasCheckedAccessibility(); } - AvatarStartState start = new AvatarStartState("start", _ref); - AvatarState activateState = new AvatarState("activate", _ref, false, false); - AvatarState mainState = new AvatarState("main", _ref, false, false); - AvatarState activatedState = new AvatarState("activated", _ref1, isCheckable, isChecked); + AvatarStartState start = new AvatarStartState("start", _ref, _ab); + AvatarState activateState = new AvatarState("activate", _ref, _ab, false, false); + AvatarState mainState = new AvatarState("main", _ref, _ab, false, false); + AvatarState activatedState = new AvatarState("activated", _ref1, _ab, isCheckable, isChecked); if (_ref1 instanceof ATDAttack) { activatedState.setAsVerifiable(true); } - AvatarState performedState = new AvatarState("performed", _ref, false, false); - AvatarState mainStop = new AvatarState("stop", _ref, false, false); - AvatarState stopBeforeActivate = new AvatarState("stopBeforeActivate", _ref, false, false); - AvatarActionOnSignal getMake = new AvatarActionOnSignal("GettingAttack", _sigAttack, _ref1); - AvatarActionOnSignal getStop = new AvatarActionOnSignal("GettingStop", _sigStop, _ref); - AvatarActionOnSignal getStopInitial = new AvatarActionOnSignal("GettingInitialStop", _sigStop, _ref); - AvatarActionOnSignal getActivate = new AvatarActionOnSignal("GettingActivate", _sigActivate, _ref1); - AvatarActionOnSignal getActivateAfterStop = new AvatarActionOnSignal("GettingActivateAfterStop", _sigActivate, _ref1); + AvatarState performedState = new AvatarState("performed", _ref, _ab, false, false); + AvatarState mainStop = new AvatarState("stop", _ref, _ab, false, false); + AvatarState stopBeforeActivate = new AvatarState("stopBeforeActivate", _ref, _ab, false, false); + AvatarActionOnSignal getMake = new AvatarActionOnSignal("GettingAttack", _sigAttack, _ref1, _ab); + AvatarActionOnSignal getStop = new AvatarActionOnSignal("GettingStop", _sigStop, _ref, _ab); + AvatarActionOnSignal getStopInitial = new AvatarActionOnSignal("GettingInitialStop", _sigStop, _ref, _ab); + AvatarActionOnSignal getActivate = new AvatarActionOnSignal("GettingActivate", _sigActivate, _ref1, _ab); + AvatarActionOnSignal getActivateAfterStop = new AvatarActionOnSignal("GettingActivateAfterStop", _sigActivate, _ref1, _ab); asm.addElement(start); asm.setStartState(start); @@ -627,16 +627,16 @@ public class AttackTreePanelTranslator { getActivateAfterStop.addNext(at); at.addNext(mainStop); } else { - AvatarStartState start = new AvatarStartState("start", _ref); - AvatarState activateState = new AvatarState("activate", _ref, false, false); - AvatarState mainState = new AvatarState("main", _ref, false, false); - AvatarState activatedState = new AvatarState("main", _ref1, isCheckable, isChecked); - AvatarState mainStop = new AvatarState("stop", _ref, false, false); - AvatarState stopBeforeActivate = new AvatarState("stopBeforeActivate", _ref, false, false); - AvatarActionOnSignal getStop = new AvatarActionOnSignal("GettingStop", _sigStop, _ref); - AvatarActionOnSignal getStopInitial = new AvatarActionOnSignal("GettingInitialStop", _sigStop, _ref); - AvatarActionOnSignal getActivate = new AvatarActionOnSignal("GettingActivate", _sigActivate, _ref1); - AvatarActionOnSignal getActivateAfterStop = new AvatarActionOnSignal("GettingActivateAfterStop", _sigActivate, _ref1); + AvatarStartState start = new AvatarStartState("start", _ref, _ab); + AvatarState activateState = new AvatarState("activate", _ref, _ab,false, false); + AvatarState mainState = new AvatarState("main", _ref, _ab, false, false); + AvatarState activatedState = new AvatarState("main", _ref1, _ab, isCheckable, isChecked); + AvatarState mainStop = new AvatarState("stop", _ref, _ab, false, false); + AvatarState stopBeforeActivate = new AvatarState("stopBeforeActivate", _ref, _ab, false, false); + AvatarActionOnSignal getStop = new AvatarActionOnSignal("GettingStop", _sigStop, _ref, _ab); + AvatarActionOnSignal getStopInitial = new AvatarActionOnSignal("GettingInitialStop", _sigStop, _ref, _ab); + AvatarActionOnSignal getActivate = new AvatarActionOnSignal("GettingActivate", _sigActivate, _ref1, _ab); + AvatarActionOnSignal getActivateAfterStop = new AvatarActionOnSignal("GettingActivateAfterStop", _sigActivate, _ref1, _ab); asm.addElement(start); asm.setStartState(start); @@ -739,10 +739,10 @@ public class AttackTreePanelTranslator { AvatarStateMachine asm = _ab.getStateMachine(); // Basic machine - AvatarStartState start = new AvatarStartState("start", _ref); - AvatarState mainState = new AvatarState("main", _ref, false, false); - AvatarState endState = new AvatarState("end", _ref, false, false); - AvatarState overallState = new AvatarState("overall", _ref, false, false); + AvatarStartState start = new AvatarStartState("start", _ref, _ab); + AvatarState mainState = new AvatarState("main", _ref, _ab, false, false); + AvatarState endState = new AvatarState("end", _ref, _ab, false, false); + AvatarState overallState = new AvatarState("overall", _ref, _ab, false, false); asm.addElement(start); asm.setStartState(start); asm.addElement(mainState); @@ -766,7 +766,7 @@ public class AttackTreePanelTranslator { avatartranslator.AvatarSignal sigAtt = _main.getAvatarSignalWithName("accept__" + att.getName()); - AvatarActionOnSignal acceptAttack = new AvatarActionOnSignal("AcceptAttack", sigAtt, _ref1); + AvatarActionOnSignal acceptAttack = new AvatarActionOnSignal("AcceptAttack", sigAtt, _ref1, _ab); asm.addElement(acceptAttack); AvatarTransition at = new AvatarTransition(_ab, "at_toInputAttack", _ref); asm.addElement(at); @@ -790,7 +790,7 @@ public class AttackTreePanelTranslator { Attack resulting = _node.getResultingAttack(); avatartranslator.AvatarSignal sigAttack = _main.getAvatarSignalWithName("nodeDone__" + resulting.getName()); - AvatarActionOnSignal resultingAttack = new AvatarActionOnSignal("ResultingAttack", sigAttack, _ref1); + AvatarActionOnSignal resultingAttack = new AvatarActionOnSignal("ResultingAttack", sigAttack, _ref1, _ab); asm.addElement(resultingAttack); at = new AvatarTransition(_ab, "at_toResultingAttack", _ref); asm.addElement(at); @@ -809,10 +809,10 @@ public class AttackTreePanelTranslator { AvatarStateMachine asm = _ab.getStateMachine(); // Basic machine - AvatarStartState start = new AvatarStartState("start", _ref); - AvatarState mainState = new AvatarState("main", _ref, false, false); - AvatarState endState = new AvatarState("end", _ref, false, false); - AvatarState overallState = new AvatarState("overall", _ref, false, false); + AvatarStartState start = new AvatarStartState("start", _ref, _ab); + AvatarState mainState = new AvatarState("main", _ref, _ab, false, false); + AvatarState endState = new AvatarState("end", _ref, _ab, false, false); + AvatarState overallState = new AvatarState("overall", _ref, _ab, false, false); asm.addElement(start); asm.setStartState(start); asm.addElement(mainState); @@ -836,7 +836,7 @@ public class AttackTreePanelTranslator { // From Main avatartranslator.AvatarSignal sigAtt = _main.getAvatarSignalWithName("accept__" + att.getName()); - AvatarActionOnSignal acceptAttack = new AvatarActionOnSignal("AcceptAttack", sigAtt, _ref1); + AvatarActionOnSignal acceptAttack = new AvatarActionOnSignal("AcceptAttack", sigAtt, _ref1, _ab); asm.addElement(acceptAttack); AvatarTransition at = new AvatarTransition(_ab, "at_toInputAttack", _ref); asm.addElement(at); @@ -850,7 +850,7 @@ public class AttackTreePanelTranslator { at.addNext(mainState); // Link from End - acceptAttack = new AvatarActionOnSignal("AcceptAttack", sigAtt, _ref1); + acceptAttack = new AvatarActionOnSignal("AcceptAttack", sigAtt, _ref1, _ab); asm.addElement(acceptAttack); at = new AvatarTransition(_ab, "at_toInputAttack", _ref); asm.addElement(at); @@ -864,7 +864,7 @@ public class AttackTreePanelTranslator { at.addNext(endState); // Link from Overall - acceptAttack = new AvatarActionOnSignal("AcceptAttack", sigAtt, _ref1); + acceptAttack = new AvatarActionOnSignal("AcceptAttack", sigAtt, _ref1, _ab); asm.addElement(acceptAttack); at = new AvatarTransition(_ab, "at_toInputAttack", _ref); asm.addElement(at); @@ -890,7 +890,7 @@ public class AttackTreePanelTranslator { Attack resulting = _node.getResultingAttack(); avatartranslator.AvatarSignal sigAttack = _main.getAvatarSignalWithName("nodeDone__" + resulting.getName()); - AvatarActionOnSignal resultingAttack = new AvatarActionOnSignal("ResultingAttack", sigAttack, _ref1); + AvatarActionOnSignal resultingAttack = new AvatarActionOnSignal("ResultingAttack", sigAttack, _ref1, _ab); asm.addElement(resultingAttack); at = new AvatarTransition(_ab, "at_toResultingAttack", _ref); asm.addElement(at); @@ -910,11 +910,11 @@ public class AttackTreePanelTranslator { AvatarStateMachine asm = _ab.getStateMachine(); // Basic machine - AvatarStartState start = new AvatarStartState("start", _ref); - AvatarState mainState = new AvatarState("main", _ref, false, false); - AvatarState stoppingAll = new AvatarState("stoppingAll", _ref, false, false); - AvatarState endState = new AvatarState("end", _ref, false, false); - AvatarState overallState = new AvatarState("overall", _ref, false, false); + AvatarStartState start = new AvatarStartState("start", _ref, _main); + AvatarState mainState = new AvatarState("main", _ref, _main, false, false); + AvatarState stoppingAll = new AvatarState("stoppingAll", _ref, _main, false, false); + AvatarState endState = new AvatarState("end", _ref, _main, false, false); + AvatarState overallState = new AvatarState("overall", _ref, _main, false, false); asm.addElement(start); asm.setStartState(start); asm.addElement(mainState); @@ -944,7 +944,7 @@ public class AttackTreePanelTranslator { // From Main avatartranslator.AvatarSignal sigAtt = _main.getAvatarSignalWithName("accept__" + att.getName()); - AvatarActionOnSignal acceptAttack = new AvatarActionOnSignal("AcceptAttack", sigAtt, _ref1); + AvatarActionOnSignal acceptAttack = new AvatarActionOnSignal("AcceptAttack", sigAtt, _ref1, _main); asm.addElement(acceptAttack); AvatarTransition at = new AvatarTransition(_ab, "at_toInputAttack", _ref); asm.addElement(at); @@ -966,7 +966,7 @@ public class AttackTreePanelTranslator { // if (att.isLeaf()) { // Leaf attack -> must make a stop sigAtt = _main.getAvatarSignalWithName("acceptStop__" + att.getName()); - acceptAttack = new AvatarActionOnSignal("StopAttack", sigAtt, _ref1); + acceptAttack = new AvatarActionOnSignal("StopAttack", sigAtt, _ref1, _main); asm.addElement(acceptAttack); at = new AvatarTransition(_ab, "at_toInputAttack_leaf", _ref); asm.addElement(at); @@ -1009,7 +1009,7 @@ public class AttackTreePanelTranslator { Attack resulting = _node.getResultingAttack(); avatartranslator.AvatarSignal sigAttack = _main.getAvatarSignalWithName("nodeDone__" + resulting.getName()); - AvatarActionOnSignal resultingAttack = new AvatarActionOnSignal("ResultingAttack", sigAttack, _ref1); + AvatarActionOnSignal resultingAttack = new AvatarActionOnSignal("ResultingAttack", sigAttack, _ref1, _main); asm.addElement(resultingAttack); at = new AvatarTransition(_ab, "at_toResultingAttack", _ref); asm.addElement(at); @@ -1030,10 +1030,10 @@ public class AttackTreePanelTranslator { _node.orderAttacks(); // Basic machine - AvatarStartState start = new AvatarStartState("start", _ref); - AvatarState mainState = new AvatarState("main", _ref, false, false); - AvatarState endState = new AvatarState("end", _ref, false, false); - AvatarState overallState = new AvatarState("overall", _ref, false, false); + AvatarStartState start = new AvatarStartState("start", _ref, _main); + AvatarState mainState = new AvatarState("main", _ref, _main, false, false); + AvatarState endState = new AvatarState("end", _ref, _main, false, false); + AvatarState overallState = new AvatarState("overall", _ref, _main, false, false); asm.addElement(start); asm.setStartState(start); asm.addElement(mainState); @@ -1050,10 +1050,10 @@ public class AttackTreePanelTranslator { // Chaining accept attacks for (Attack att : _node.getInputAttacks()) { - AvatarState state = new AvatarState("state__" + att.getName(), _ref); + AvatarState state = new AvatarState("state__" + att.getName(), _ref, _main); asm.addElement(state); avatartranslator.AvatarSignal sigAtt = _main.getAvatarSignalWithName("accept__" + att.getName()); - AvatarActionOnSignal acceptAttack = new AvatarActionOnSignal("AcceptAttack", sigAtt, _ref1); + AvatarActionOnSignal acceptAttack = new AvatarActionOnSignal("AcceptAttack", sigAtt, _ref1, _main); asm.addElement(acceptAttack); at = new AvatarTransition(_ab, "at", _ref); @@ -1076,7 +1076,7 @@ public class AttackTreePanelTranslator { // Performing resulting attack Attack resulting = _node.getResultingAttack(); avatartranslator.AvatarSignal sigAttack = _main.getAvatarSignalWithName("nodeDone__" + resulting.getName()); - AvatarActionOnSignal resultingAttack = new AvatarActionOnSignal("ResultingAttack", sigAttack, _ref1); + AvatarActionOnSignal resultingAttack = new AvatarActionOnSignal("ResultingAttack", sigAttack, _ref1, _main); asm.addElement(resultingAttack); at = new AvatarTransition(_ab, "at_toResultingAttack", _ref); asm.addElement(at); @@ -1095,10 +1095,10 @@ public class AttackTreePanelTranslator { _node.orderAttacks(); // Basic machine - AvatarStartState start = new AvatarStartState("start", _ref); - AvatarState mainState = new AvatarState("main", _ref, false, false); - AvatarState endState = new AvatarState("end", _ref, false, false); - AvatarState overallState = new AvatarState("overall", _ref, false, false); + AvatarStartState start = new AvatarStartState("start", _ref, _main); + AvatarState mainState = new AvatarState("main", _ref, _main, false, false); + AvatarState endState = new AvatarState("end", _ref, _main, false, false); + AvatarState overallState = new AvatarState("overall", _ref, _main, false, false); asm.addElement(start); asm.setStartState(start); asm.addElement(mainState); @@ -1116,10 +1116,10 @@ public class AttackTreePanelTranslator { // Chaining accept attacks int cpt = 0; for (Attack att : _node.getInputAttacks()) { - AvatarState state = new AvatarState("state__" + att.getName(), _ref); + AvatarState state = new AvatarState("state__" + att.getName(), _ref, _main); asm.addElement(state); avatartranslator.AvatarSignal sigAtt = _main.getAvatarSignalWithName("accept__" + att.getName()); - AvatarActionOnSignal acceptAttack = new AvatarActionOnSignal("AcceptAttack", sigAtt, _ref1); + AvatarActionOnSignal acceptAttack = new AvatarActionOnSignal("AcceptAttack", sigAtt, _ref1, _main); asm.addElement(acceptAttack); at = new AvatarTransition(_ab, "at", _ref); @@ -1146,7 +1146,7 @@ public class AttackTreePanelTranslator { // Performing resulting attack Attack resulting = _node.getResultingAttack(); avatartranslator.AvatarSignal sigAttack = _main.getAvatarSignalWithName("nodeDone__" + resulting.getName()); - AvatarActionOnSignal resultingAttack = new AvatarActionOnSignal("ResultingAttack", sigAttack, _ref1); + AvatarActionOnSignal resultingAttack = new AvatarActionOnSignal("ResultingAttack", sigAttack, _ref1, _main); asm.addElement(resultingAttack); at = new AvatarTransition(_ab, "at_toResultingAttack", _ref); asm.addElement(at); @@ -1165,11 +1165,11 @@ public class AttackTreePanelTranslator { _node.orderAttacks(); // Basic machine - AvatarStartState start = new AvatarStartState("start", _ref); - AvatarState mainState = new AvatarState("main", _ref, false, false); - AvatarState endState = new AvatarState("end", _ref, false, false); - AvatarState overallState = new AvatarState("overall", _ref, false, false); - AvatarState timeout = new AvatarState("timeout", _ref, false, false); + AvatarStartState start = new AvatarStartState("start", _ref, _main); + AvatarState mainState = new AvatarState("main", _ref, _main, false, false); + AvatarState endState = new AvatarState("end", _ref, _main, false, false); + AvatarState overallState = new AvatarState("overall", _ref, _main, false, false); + AvatarState timeout = new AvatarState("timeout", _ref, _main, false, false); asm.addElement(start); asm.setStartState(start); asm.addElement(mainState); @@ -1188,10 +1188,10 @@ public class AttackTreePanelTranslator { // Chaining accept attacks int cpt = 0; for (Attack att : _node.getInputAttacks()) { - AvatarState state = new AvatarState("state__" + att.getName(), _ref); + AvatarState state = new AvatarState("state__" + att.getName(), _ref, _main); asm.addElement(state); avatartranslator.AvatarSignal sigAtt = _main.getAvatarSignalWithName("accept__" + att.getName()); - AvatarActionOnSignal acceptAttack = new AvatarActionOnSignal("AcceptAttack", sigAtt, _ref1); + AvatarActionOnSignal acceptAttack = new AvatarActionOnSignal("AcceptAttack", sigAtt, _ref1, _main); asm.addElement(acceptAttack); at = new AvatarTransition(_ab, "at", _ref); @@ -1222,7 +1222,7 @@ public class AttackTreePanelTranslator { // Performing resulting attack Attack resulting = _node.getResultingAttack(); avatartranslator.AvatarSignal sigAttack = _main.getAvatarSignalWithName("nodeDone__" + resulting.getName()); - AvatarActionOnSignal resultingAttack = new AvatarActionOnSignal("ResultingAttack", sigAttack, _ref1); + AvatarActionOnSignal resultingAttack = new AvatarActionOnSignal("ResultingAttack", sigAttack, _ref1, _main); asm.addElement(resultingAttack); at = new AvatarTransition(_ab, "at_toResultingAttack", _ref); asm.addElement(at); diff --git a/src/main/java/ui/AvatarDesignPanel.java b/src/main/java/ui/AvatarDesignPanel.java index 9ea54f3effd984f0d616d6f74609ff9c1357e09f..d93d369a46045e6c4502de1104e213d6dd59442a 100644 --- a/src/main/java/ui/AvatarDesignPanel.java +++ b/src/main/java/ui/AvatarDesignPanel.java @@ -78,6 +78,7 @@ public class AvatarDesignPanel extends TURTLEPanel { if (_mgui == null) { //for unit testing only abdp = new AvatarBDPanel(null, null); + tdp = abdp; return; } // Issue #41 Ordering of tabbed panes @@ -299,7 +300,7 @@ public class AvatarDesignPanel extends TURTLEPanel { public TGComponent hasCheckableMasterMutex() { TGComponent tgc, tgctmp; for (int i = 0; i < panels.size(); i++) { - tdp = panels.get(i); + TDiagramPanel tdp = panels.get(i); if (tdp instanceof AvatarSMDPanel) { Iterator<TGComponent> iterator = panels.get(i).getComponentList().listIterator(); while (iterator.hasNext()) { @@ -318,6 +319,7 @@ public class AvatarDesignPanel extends TURTLEPanel { public void removeAllMutualExclusionWithMasterMutex() { TGComponent tgc; + TDiagramPanel tdp; for (int i = 0; i < panels.size(); i++) { tdp = panels.get(i); if (tdp instanceof AvatarSMDPanel) { @@ -332,6 +334,7 @@ public class AvatarDesignPanel extends TURTLEPanel { public void reinitMutualExclusionStates() { TGComponent tgc; + TDiagramPanel tdp; for (int i = 0; i < panels.size(); i++) { tdp = panels.get(i); if (tdp instanceof AvatarSMDPanel) { @@ -373,6 +376,7 @@ public class AvatarDesignPanel extends TURTLEPanel { } public void resetModelBacktracingProVerif() { + TDiagramPanel tdp; if (abdp == null) { return; } @@ -454,6 +458,7 @@ public class AvatarDesignPanel extends TURTLEPanel { } public void modelBacktracingProVerif(ProVerifOutputAnalyzer pvoa) { + TDiagramPanel tdp; if (abdp == null) { return; diff --git a/src/main/java/ui/AvatarDesignPanelTranslator.java b/src/main/java/ui/AvatarDesignPanelTranslator.java index 6d4b68613dd0865b133d058c9e87b0ef03de06d6..dd3ca1f65fb8bbb5ae21cb8c9a86f1035d92cd8b 100644 --- a/src/main/java/ui/AvatarDesignPanelTranslator.java +++ b/src/main/java/ui/AvatarDesignPanelTranslator.java @@ -567,7 +567,7 @@ public class AvatarDesignPanelTranslator { ce.setTDiagramPanel(adp.getAvatarBDPanel()); ce.setTGComponent(tgc); addWarning(ce); - TraceManager.addDev("UPPAAL Pragma " + _pragma + " cannot be parsed"); + TraceManager.addDev("Safety Pragma " + _pragma + " cannot be parsed"); return false; } @@ -578,7 +578,7 @@ public class AvatarDesignPanelTranslator { ce.setTDiagramPanel(adp.getAvatarBDPanel()); ce.setTGComponent(tgc); addWarning(ce); - TraceManager.addDev("UPPAAL Pragma " + _pragma + " improperly formatted"); + TraceManager.addDev("Safety Pragma " + _pragma + " improperly formatted"); return false; } else if (returnVal == -1) { return false; @@ -618,7 +618,7 @@ public class AvatarDesignPanelTranslator { ce.setTDiagramPanel(adp.getAvatarBDPanel()); ce.setTGComponent(tgc); addWarning(ce); - TraceManager.addDev("UPPAAL Pragma " + _pragma + " improperly formatted"); + TraceManager.addDev("Safety Pragma " + _pragma + " improperly formatted"); return -1; } return 0; @@ -629,7 +629,7 @@ public class AvatarDesignPanelTranslator { ce.setTDiagramPanel(adp.getAvatarBDPanel()); ce.setTGComponent(tgc); addWarning(ce); - TraceManager.addDev("UPPAAL Pragma " + _pragma + " improperly formatted"); + TraceManager.addDev("Safety Pragma " + _pragma + " improperly formatted"); return -1; } return 1; @@ -640,7 +640,7 @@ public class AvatarDesignPanelTranslator { ce.setTDiagramPanel(adp.getAvatarBDPanel()); ce.setTGComponent(tgc); addWarning(ce); - TraceManager.addDev("UPPAAL Pragma " + _pragma + " improperly formatted"); + TraceManager.addDev("Safety Pragma " + _pragma + " improperly formatted"); return -1; } String block = state.split("\\.", 2)[0]; @@ -658,7 +658,7 @@ public class AvatarDesignPanelTranslator { if (bl != null) { AvatarStateMachine asm = bl.getStateMachine(); if (bl.getIndexOfAvatarAttributeWithName(attr) == -1 && asm.getStateWithName(attr) == null) { - UICheckingError ce = new UICheckingError(CheckingError.STRUCTURE_ERROR, "UPPAAL Pragma " + _pragma + + UICheckingError ce = new UICheckingError(CheckingError.STRUCTURE_ERROR, "Safety Pragma " + _pragma + " contains invalid attribute or state name " + attr); ce.setTDiagramPanel(adp.getAvatarBDPanel()); ce.setTGComponent(tgc); @@ -681,7 +681,7 @@ public class AvatarDesignPanelTranslator { return 0; } } else { - UICheckingError ce = new UICheckingError(CheckingError.STRUCTURE_ERROR, "UPPAAL Pragma " + _pragma + + UICheckingError ce = new UICheckingError(CheckingError.STRUCTURE_ERROR, "Safety Pragma " + _pragma + " contains invalid block name " + block); ce.setTDiagramPanel(adp.getAvatarBDPanel()); ce.setTGComponent(tgc); @@ -696,7 +696,7 @@ public class AvatarDesignPanelTranslator { int index = getOperatorIndex(state); if (index == -1) { - UICheckingError ce = new UICheckingError(CheckingError.STRUCTURE_ERROR, "UPPAAL Pragma " + _pragma + " cannot parse " + state); + UICheckingError ce = new UICheckingError(CheckingError.STRUCTURE_ERROR, "Safety Pragma " + _pragma + " cannot parse " + state); ce.setTDiagramPanel(adp.getAvatarBDPanel()); ce.setTGComponent(tgc); addWarning(ce); @@ -723,7 +723,7 @@ public class AvatarDesignPanelTranslator { switch (optype) { case -1: - ce = new UICheckingError(CheckingError.STRUCTURE_ERROR, "UPPAAL Pragma " + _pragma + " unrecognized " + operator); + ce = new UICheckingError(CheckingError.STRUCTURE_ERROR, "Safety Pragma " + _pragma + " unrecognized " + operator); ce.setTDiagramPanel(adp.getAvatarBDPanel()); ce.setTGComponent(tgc); addWarning(ce); @@ -732,7 +732,7 @@ public class AvatarDesignPanelTranslator { return -1; case 1: if (!(optypel == 1 && optyper == 1)) { - ce = new UICheckingError(CheckingError.STRUCTURE_ERROR, "UPPAAL Pragma " + _pragma + + ce = new UICheckingError(CheckingError.STRUCTURE_ERROR, "Safety Pragma " + _pragma + " expected integer attributes around " + operator); ce.setTDiagramPanel(adp.getAvatarBDPanel()); ce.setTGComponent(tgc); @@ -744,7 +744,7 @@ public class AvatarDesignPanelTranslator { break; case 0: if (!(optypel == 0 && optyper == 0)) { - ce = new UICheckingError(CheckingError.STRUCTURE_ERROR, "UPPAAL Pragma " + _pragma + + ce = new UICheckingError(CheckingError.STRUCTURE_ERROR, "Safety Pragma " + _pragma + " expected boolean attributes around " + operator); ce.setTDiagramPanel(adp.getAvatarBDPanel()); ce.setTGComponent(tgc); @@ -756,7 +756,7 @@ public class AvatarDesignPanelTranslator { break; case 3: if (optypel != optyper) { - ce = new UICheckingError(CheckingError.STRUCTURE_ERROR, "UPPAAL Pragma " + _pragma + + ce = new UICheckingError(CheckingError.STRUCTURE_ERROR, "Safety Pragma " + _pragma + " has incompatible types around " + operator); ce.setTDiagramPanel(adp.getAvatarBDPanel()); ce.setTGComponent(tgc); @@ -1554,7 +1554,7 @@ public class AvatarDesignPanelTranslator { final String name = "action_on_signal"; if (asmdss.isEnabled()) { - element = new AvatarActionOnSignal(name, atas, asmdss); + element = new AvatarActionOnSignal(name, atas, asmdss, _ab); final AvatarActionOnSignal aaos = (AvatarActionOnSignal) element; if (asmdss.hasCheckedAccessibility()) @@ -1606,7 +1606,7 @@ public class AvatarDesignPanelTranslator { _as.checkedIDs.add(asmdss.getName() + "-" + asmdss.getSignalName() + ":" + aaos.getID()); } } else { - element = new AvatarDummyState(name + ":" + atas.getName(), asmdss); + element = new AvatarDummyState(name + ":" + atas.getName(), asmdss, _ab); } listE.addCor(element, asmdss); @@ -1826,7 +1826,7 @@ public class AvatarDesignPanelTranslator { alfc.addReturnAttribute(attr); } } else { - element = new AvatarDummyState(name + ":" + aLibraryFunction.getName(), asmdlfc); + element = new AvatarDummyState(name + ":" + aLibraryFunction.getName(), asmdlfc, _ab); } listE.addCor(element, asmdlfc); @@ -1866,7 +1866,7 @@ public class AvatarDesignPanelTranslator { final String name = "action_on_signal"; if (asmdrs.isEnabled()) { - element = new AvatarActionOnSignal(name, atas, asmdrs); + element = new AvatarActionOnSignal(name, atas, asmdrs, _ab); final AvatarActionOnSignal aaos = (AvatarActionOnSignal) element; @@ -1914,7 +1914,7 @@ public class AvatarDesignPanelTranslator { _as.checkedIDs.add(asmdrs.getName() + "-" + asmdrs.getSignalName() + ":" + aaos.getID()); } } else { - element = new AvatarDummyState(name + ":" + atas.getName(), asmdrs); + element = new AvatarDummyState(name + ":" + atas.getName(), asmdrs, _ab); } this.listE.addCor(element, asmdrs); @@ -1965,13 +1965,13 @@ public class AvatarDesignPanelTranslator { // Issue #69 if (diagramState.isEnabled()) { - stateElement = new AvatarState(name, diagramState); + stateElement = new AvatarState(name, diagramState, stateMachine.getOwner()); stateElement.setAsVerifiable(true); } else { if (diagramState.getOutputConnectors().isEmpty()) { - stateElement = new AvatarStopState(name + "_state_converted_to_stop", diagramState); + stateElement = new AvatarStopState(name + "_state_converted_to_stop", diagramState, stateMachine.getOwner()); } else { - stateElement = new AvatarDummyState(name, diagramState); + stateElement = new AvatarDummyState(name, diagramState, stateMachine.getOwner()); } } @@ -2032,12 +2032,12 @@ public class AvatarDesignPanelTranslator { final String name = "query-signal"; if (asmdquery.isEnabled()) { - element = new AvatarQueryOnSignal(name, atas, ataa, asmdquery); + element = new AvatarQueryOnSignal(name, atas, ataa, asmdquery, asm.getOwner()); final AvatarQueryOnSignal aqos = (AvatarQueryOnSignal) element; } else { - element = new AvatarDummyState(name, asmdquery); + element = new AvatarDummyState(name, asmdquery, asm.getOwner()); } asm.addElement(element); @@ -2053,7 +2053,7 @@ public class AvatarDesignPanelTranslator { final String name = "random"; if (asmdrand.isEnabled()) { - element = new AvatarRandom(name, asmdrand); + element = new AvatarRandom(name, asmdrand, _ab); final AvatarRandom arandom = (AvatarRandom) element; @@ -2090,7 +2090,7 @@ public class AvatarDesignPanelTranslator { arandom.setVariable(tmp1); } else { - element = new AvatarDummyState(name, asmdrand); + element = new AvatarDummyState(name, asmdrand, _ab); } asm.addElement(element); @@ -2117,13 +2117,13 @@ public class AvatarDesignPanelTranslator { final String name = "settimer__" + aa.getName(); if (asmdst.isEnabled()) { - element = new AvatarSetTimer(name, asmdst); + element = new AvatarSetTimer(name, asmdst, _ab); final AvatarSetTimer asettimer = (AvatarSetTimer) element; asettimer.setTimer(aa); asettimer.setTimerValue(tmp); } else { - element = new AvatarDummyState(name, asmdst); + element = new AvatarDummyState(name, asmdst, _ab); } asm.addElement(element); @@ -2145,10 +2145,10 @@ public class AvatarDesignPanelTranslator { final String name = "resettimer__" + aa.getName(); if (asmdrt.isEnabled()) { - element = new AvatarResetTimer(name, asmdrt); + element = new AvatarResetTimer(name, asmdrt, _ab); ((AvatarResetTimer) element).setTimer(aa); } else { - element = new AvatarDummyState(name, asmdrt); + element = new AvatarDummyState(name, asmdrt, _ab); } asm.addElement(element); @@ -2170,10 +2170,10 @@ public class AvatarDesignPanelTranslator { final String name = "expiretimer__" + aa.getName(); if (asmdet.isEnabled()) { - avatarElement = new AvatarExpireTimer(name, asmdet); + avatarElement = new AvatarExpireTimer(name, asmdet, _ab); ((AvatarExpireTimer) avatarElement).setTimer(aa); } else { - avatarElement = new AvatarDummyState(name, asmdet); + avatarElement = new AvatarDummyState(name, asmdet, _ab); } asm.addElement(avatarElement); @@ -2483,7 +2483,7 @@ public class AvatarDesignPanelTranslator { // Choice else if (tgc instanceof AvatarSMDChoice) { - AvatarState astate = new AvatarState("choice__" + choiceID, tgc); + AvatarState astate = new AvatarState("choice__" + choiceID, tgc, _ab); choiceID++; asm.addElement(astate); listE.addCor(astate, tgc); @@ -2504,7 +2504,7 @@ public class AvatarDesignPanelTranslator { this.translateAvatarSMDExpireTimer(asmdp, _as, _ab, (AvatarSMDExpireTimer) tgc); // Start state else if (tgc instanceof AvatarSMDStartState) { - AvatarStartState astart = new AvatarStartState("start", tgc); + AvatarStartState astart = new AvatarStartState("start", tgc, _ab); this.listE.addCor(astart, tgc); tgc.setAVATARID(astart.getID()); asm.addElement(astart); @@ -2513,7 +2513,7 @@ public class AvatarDesignPanelTranslator { asm.setStartState(astart); // Stop state } else if (tgc instanceof AvatarSMDStopState) { - AvatarStopState astop = new AvatarStopState("stop", tgc); + AvatarStopState astop = new AvatarStopState("stop", tgc, _ab); astop.setAsVerifiable(true); this.listE.addCor(astop, tgc); tgc.setAVATARID(astop.getID()); diff --git a/src/main/java/ui/ColorManager.java b/src/main/java/ui/ColorManager.java index 55678876c41dc49ae8b6790d9601c85115641ace..6129b4997dcfcf94203569f6e932d5bd8d459105 100644 --- a/src/main/java/ui/ColorManager.java +++ b/src/main/java/ui/ColorManager.java @@ -235,6 +235,9 @@ public class ColorManager { public static final Color InteractiveSimulationText_TERM = new Color(241, 6, 6); public static final Color InteractiveSimulationText_UNKNOWN = new Color(6, 6, 241); + public static Color SENDING_VERTEX = new Color(239, 212, 176); + public static Color COMM_EDGE = new Color(5, 200, 7); + // Issue #69: Managing color for disabled diagram components public final static void setColor( Graphics g, int state, diff --git a/src/main/java/ui/FaultTreePanelTranslator.java b/src/main/java/ui/FaultTreePanelTranslator.java index 36b4bf8fdec17ecab9f2ed8483bca29bbf0b8845..686a0714faaea808970373f27d1e4a9d5cb3ae2d 100644 --- a/src/main/java/ui/FaultTreePanelTranslator.java +++ b/src/main/java/ui/FaultTreePanelTranslator.java @@ -315,7 +315,7 @@ public class FaultTreePanelTranslator { // One block per Fault -> syncho // One mast block with all channels declared at that level AvatarBlock mainBlock = new AvatarBlock("MainBlock", as, null); - AvatarStartState ass = new AvatarStartState("StartStateOfMainBlock", null); + AvatarStartState ass = new AvatarStartState("StartStateOfMainBlock", null, mainBlock); mainBlock.getStateMachine().setStartState(ass); mainBlock.getStateMachine().addElement(ass); as.addBlock(mainBlock); @@ -416,13 +416,13 @@ public class FaultTreePanelTranslator { isChecked = ((TGComponent) (_ref1)).hasCheckedAccessibility(); } - AvatarStartState start = new AvatarStartState("start", _ref); - AvatarState mainState = new AvatarState("main", _ref, false, false); - AvatarState performedState = new AvatarState("main", _ref1, isCheckable, isChecked); + AvatarStartState start = new AvatarStartState("start", _ref, _ab); + AvatarState mainState = new AvatarState("main", _ref, _ab, false, false); + AvatarState performedState = new AvatarState("main", _ref1, _ab, isCheckable, isChecked); performedState.setAsVerifiable(true); - AvatarState mainStop = new AvatarState("stop", _ref, false, false); - AvatarActionOnSignal getMake = new AvatarActionOnSignal("GettingFault", _sigFault, _ref1); - AvatarActionOnSignal getStop = new AvatarActionOnSignal("GettingStop", _sigStop, _ref); + AvatarState mainStop = new AvatarState("stop", _ref, _ab, false, false); + AvatarActionOnSignal getMake = new AvatarActionOnSignal("GettingFault", _sigFault, _ref1, _ab); + AvatarActionOnSignal getStop = new AvatarActionOnSignal("GettingStop", _sigStop, _ref, _ab); asm.addElement(start); asm.setStartState(start); @@ -464,10 +464,10 @@ public class FaultTreePanelTranslator { } else { - AvatarStartState start = new AvatarStartState("start", _ref); - AvatarState mainState = new AvatarState("main", _ref, false, false); - AvatarState mainStop = new AvatarState("stop", _ref, false, false); - AvatarActionOnSignal getStop = new AvatarActionOnSignal("GettingStop", _sigStop, _ref); + AvatarStartState start = new AvatarStartState("start", _ref, _ab); + AvatarState mainState = new AvatarState("main", _ref, _ab, false, false); + AvatarState mainStop = new AvatarState("stop", _ref, _ab, false, false); + AvatarActionOnSignal getStop = new AvatarActionOnSignal("GettingStop", _sigStop, _ref, _ab); asm.addElement(start); asm.setStartState(start); @@ -507,22 +507,22 @@ public class FaultTreePanelTranslator { if (_ref1 instanceof TGComponent) { isChecked = ((TGComponent) (_ref1)).hasCheckedAccessibility(); } - AvatarStartState start = new AvatarStartState("start", _ref); - AvatarState activateState = new AvatarState("activate", _ref, false, false); - AvatarState mainState = new AvatarState("main", _ref, false, false); - AvatarState activatedState = new AvatarState("activated", _ref1, isCheckable, isChecked); + AvatarStartState start = new AvatarStartState("start", _ref, _ab); + AvatarState activateState = new AvatarState("activate", _ref, _ab, false, false); + AvatarState mainState = new AvatarState("main", _ref, _ab, false, false); + AvatarState activatedState = new AvatarState("activated", _ref1, _ab, isCheckable, isChecked); if (_ref1 instanceof FTDFault) { activatedState.setAsVerifiable(true); } - AvatarState performedState = new AvatarState("performed", _ref, false, false); - AvatarState mainStop = new AvatarState("stop", _ref, false, false); - AvatarState stopBeforeActivate = new AvatarState("stopBeforeActivate", _ref, false, false); - AvatarActionOnSignal getMake = new AvatarActionOnSignal("GettingFault", _sigFault, _ref1); - AvatarActionOnSignal getStop = new AvatarActionOnSignal("GettingStop", _sigStop, _ref); - AvatarActionOnSignal getStopInitial = new AvatarActionOnSignal("GettingInitialStop", _sigStop, _ref); - AvatarActionOnSignal getActivate = new AvatarActionOnSignal("GettingActivate", _sigActivate, _ref1); - AvatarActionOnSignal getActivateAfterStop = new AvatarActionOnSignal("GettingActivateAfterStop", _sigActivate, _ref1); + AvatarState performedState = new AvatarState("performed", _ref, _ab, false, false); + AvatarState mainStop = new AvatarState("stop", _ref, _ab, false, false); + AvatarState stopBeforeActivate = new AvatarState("stopBeforeActivate", _ref, _ab, false, false); + AvatarActionOnSignal getMake = new AvatarActionOnSignal("GettingFault", _sigFault, _ref1, _ab); + AvatarActionOnSignal getStop = new AvatarActionOnSignal("GettingStop", _sigStop, _ref, _ab); + AvatarActionOnSignal getStopInitial = new AvatarActionOnSignal("GettingInitialStop", _sigStop, _ref, _ab); + AvatarActionOnSignal getActivate = new AvatarActionOnSignal("GettingActivate", _sigActivate, _ref1, _ab); + AvatarActionOnSignal getActivateAfterStop = new AvatarActionOnSignal("GettingActivateAfterStop", _sigActivate, _ref1, _ab); asm.addElement(start); asm.setStartState(start); @@ -606,16 +606,16 @@ public class FaultTreePanelTranslator { getActivateAfterStop.addNext(at); at.addNext(mainStop); } else { - AvatarStartState start = new AvatarStartState("start", _ref); - AvatarState activateState = new AvatarState("activate", _ref, false, false); - AvatarState mainState = new AvatarState("main", _ref, false, false); - AvatarState activatedState = new AvatarState("main", _ref1, isCheckable, isChecked); - AvatarState mainStop = new AvatarState("stop", _ref, false, false); - AvatarState stopBeforeActivate = new AvatarState("stopBeforeActivate", _ref, false, false); - AvatarActionOnSignal getStop = new AvatarActionOnSignal("GettingStop", _sigStop, _ref); - AvatarActionOnSignal getStopInitial = new AvatarActionOnSignal("GettingInitialStop", _sigStop, _ref); - AvatarActionOnSignal getActivate = new AvatarActionOnSignal("GettingActivate", _sigActivate, _ref1); - AvatarActionOnSignal getActivateAfterStop = new AvatarActionOnSignal("GettingActivateAfterStop", _sigActivate, _ref1); + AvatarStartState start = new AvatarStartState("start", _ref, _ab); + AvatarState activateState = new AvatarState("activate", _ref, _ab, false, false); + AvatarState mainState = new AvatarState("main", _ref, _ab, false, false); + AvatarState activatedState = new AvatarState("main", _ref1, _ab, isCheckable, isChecked); + AvatarState mainStop = new AvatarState("stop", _ref, _ab, false, false); + AvatarState stopBeforeActivate = new AvatarState("stopBeforeActivate", _ref, _ab, false, false); + AvatarActionOnSignal getStop = new AvatarActionOnSignal("GettingStop", _sigStop, _ref, _ab); + AvatarActionOnSignal getStopInitial = new AvatarActionOnSignal("GettingInitialStop", _sigStop, _ref, _ab); + AvatarActionOnSignal getActivate = new AvatarActionOnSignal("GettingActivate", _sigActivate, _ref1, _ab); + AvatarActionOnSignal getActivateAfterStop = new AvatarActionOnSignal("GettingActivateAfterStop", _sigActivate, _ref1, _ab); asm.addElement(start); asm.setStartState(start); @@ -722,10 +722,10 @@ public class FaultTreePanelTranslator { AvatarStateMachine asm = _ab.getStateMachine(); // Basic machine - AvatarStartState start = new AvatarStartState("start", _ref); - AvatarState mainState = new AvatarState("main", _ref, false, false); - AvatarState endState = new AvatarState("end", _ref, false, false); - AvatarState overallState = new AvatarState("overall", _ref, false, false); + AvatarStartState start = new AvatarStartState("start", _ref, _main); + AvatarState mainState = new AvatarState("main", _ref, _main, false, false); + AvatarState endState = new AvatarState("end", _ref, _main, false, false); + AvatarState overallState = new AvatarState("overall", _ref, _main, false, false); asm.addElement(start); asm.setStartState(start); asm.addElement(mainState); @@ -748,7 +748,7 @@ public class FaultTreePanelTranslator { atF.addAction(att.getName() + "__performed = false"); avatartranslator.AvatarSignal sigAtt = _main.getAvatarSignalWithName("accept__" + att.getName()); - AvatarActionOnSignal acceptFault = new AvatarActionOnSignal("AcceptFault", sigAtt, _ref1); + AvatarActionOnSignal acceptFault = new AvatarActionOnSignal("AcceptFault", sigAtt, _ref1, _main); asm.addElement(acceptFault); AvatarTransition at = new AvatarTransition(_ab, "at_toInputFault", _ref); at.setProbability(att.getProbability()); @@ -773,7 +773,7 @@ public class FaultTreePanelTranslator { Fault resulting = _node.getResultingFault(); avatartranslator.AvatarSignal sigFault = _main.getAvatarSignalWithName("nodeDone__" + resulting.getName()); - AvatarActionOnSignal resultingFault = new AvatarActionOnSignal("ResultingFault", sigFault, _ref1); + AvatarActionOnSignal resultingFault = new AvatarActionOnSignal("ResultingFault", sigFault, _ref1, _main); asm.addElement(resultingFault); at = new AvatarTransition(_ab, "at_toResultingFault", _ref); asm.addElement(at); @@ -791,10 +791,10 @@ public class FaultTreePanelTranslator { AvatarStateMachine asm = _ab.getStateMachine(); // Basic machine - AvatarStartState start = new AvatarStartState("start", _ref); - AvatarState mainState = new AvatarState("main", _ref, false, false); - AvatarState endState = new AvatarState("end", _ref, false, false); - AvatarState overallState = new AvatarState("overall", _ref, false, false); + AvatarStartState start = new AvatarStartState("start", _ref, _main); + AvatarState mainState = new AvatarState("main", _ref, _main, false, false); + AvatarState endState = new AvatarState("end", _ref, _main, false, false); + AvatarState overallState = new AvatarState("overall", _ref, _main, false, false); asm.addElement(start); asm.setStartState(start); asm.addElement(mainState); @@ -818,7 +818,7 @@ public class FaultTreePanelTranslator { avatartranslator.AvatarSignal sigAtt = _main.getAvatarSignalWithName("accept__" + att.getName()); - AvatarActionOnSignal acceptFault = new AvatarActionOnSignal("AcceptFault", sigAtt, _ref1); + AvatarActionOnSignal acceptFault = new AvatarActionOnSignal("AcceptFault", sigAtt, _ref1, _main); asm.addElement(acceptFault); AvatarTransition at = new AvatarTransition(_ab, "at_toInputFault", _ref); asm.addElement(at); @@ -842,7 +842,7 @@ public class FaultTreePanelTranslator { Fault resulting = _node.getResultingFault(); avatartranslator.AvatarSignal sigFault = _main.getAvatarSignalWithName("nodeDone__" + resulting.getName()); - AvatarActionOnSignal resultingFault = new AvatarActionOnSignal("ResultingFault", sigFault, _ref1); + AvatarActionOnSignal resultingFault = new AvatarActionOnSignal("ResultingFault", sigFault, _ref1, _main); asm.addElement(resultingFault); at = new AvatarTransition(_ab, "at_toResultingFault", _ref); asm.addElement(at); @@ -860,10 +860,10 @@ public class FaultTreePanelTranslator { AvatarStateMachine asm = _ab.getStateMachine(); // Basic machine - AvatarStartState start = new AvatarStartState("start", _ref); - AvatarState mainState = new AvatarState("main", _ref, false, false); - AvatarState endState = new AvatarState("end", _ref, false, false); - AvatarState overallState = new AvatarState("overall", _ref, false, false); + AvatarStartState start = new AvatarStartState("start", _ref, _main); + AvatarState mainState = new AvatarState("main", _ref, _main, false, false); + AvatarState endState = new AvatarState("end", _ref, _main, false, false); + AvatarState overallState = new AvatarState("overall", _ref, _main, false, false); asm.addElement(start); asm.setStartState(start); asm.addElement(mainState); @@ -895,7 +895,7 @@ public class FaultTreePanelTranslator { avatartranslator.AvatarSignal sigAtt = _main.getAvatarSignalWithName("accept__" + att.getName()); - AvatarActionOnSignal acceptFault = new AvatarActionOnSignal("AcceptFault", sigAtt, _ref1); + AvatarActionOnSignal acceptFault = new AvatarActionOnSignal("AcceptFault", sigAtt, _ref1, _main); asm.addElement(acceptFault); AvatarTransition at = new AvatarTransition(_ab, "at_toInputFault", _ref); asm.addElement(at); @@ -920,7 +920,7 @@ public class FaultTreePanelTranslator { Fault resulting = _node.getResultingFault(); avatartranslator.AvatarSignal sigFault = _main.getAvatarSignalWithName("nodeDone__" + resulting.getName()); - AvatarActionOnSignal resultingFault = new AvatarActionOnSignal("ResultingFault", sigFault, _ref1); + AvatarActionOnSignal resultingFault = new AvatarActionOnSignal("ResultingFault", sigFault, _ref1, _main); asm.addElement(resultingFault); at = new AvatarTransition(_ab, "at_toResultingFault", _ref); asm.addElement(at); @@ -939,10 +939,10 @@ public class FaultTreePanelTranslator { AvatarStateMachine asm = _ab.getStateMachine(); // Basic machine - AvatarStartState start = new AvatarStartState("start", _ref); - AvatarState mainState = new AvatarState("main", _ref, false, false); - AvatarState endState = new AvatarState("end", _ref, false, false); - AvatarState overallState = new AvatarState("overall", _ref, false, false); + AvatarStartState start = new AvatarStartState("start", _ref, _main); + AvatarState mainState = new AvatarState("main", _ref, _main, false, false); + AvatarState endState = new AvatarState("end", _ref, _main, false, false); + AvatarState overallState = new AvatarState("overall", _ref, _main, false, false); asm.addElement(start); asm.setStartState(start); asm.addElement(mainState); @@ -966,7 +966,7 @@ public class FaultTreePanelTranslator { // From Main avatartranslator.AvatarSignal sigAtt = _main.getAvatarSignalWithName("accept__" + att.getName()); - AvatarActionOnSignal acceptFault = new AvatarActionOnSignal("AcceptFault", sigAtt, _ref1); + AvatarActionOnSignal acceptFault = new AvatarActionOnSignal("AcceptFault", sigAtt, _ref1, _main); asm.addElement(acceptFault); AvatarTransition at = new AvatarTransition(_ab, "at_toInputFault", _ref); asm.addElement(at); @@ -980,7 +980,7 @@ public class FaultTreePanelTranslator { at.addNext(mainState); // Link from End - acceptFault = new AvatarActionOnSignal("AcceptFault", sigAtt, _ref1); + acceptFault = new AvatarActionOnSignal("AcceptFault", sigAtt, _ref1, _main); asm.addElement(acceptFault); at = new AvatarTransition(_ab, "at_toInputFault", _ref); asm.addElement(at); @@ -994,7 +994,7 @@ public class FaultTreePanelTranslator { at.addNext(endState); // Link from Overall - acceptFault = new AvatarActionOnSignal("AcceptFault", sigAtt, _ref1); + acceptFault = new AvatarActionOnSignal("AcceptFault", sigAtt, _ref1, _main); asm.addElement(acceptFault); at = new AvatarTransition(_ab, "at_toInputFault", _ref); asm.addElement(at); @@ -1020,7 +1020,7 @@ public class FaultTreePanelTranslator { Fault resulting = _node.getResultingFault(); avatartranslator.AvatarSignal sigFault = _main.getAvatarSignalWithName("nodeDone__" + resulting.getName()); - AvatarActionOnSignal resultingFault = new AvatarActionOnSignal("ResultingFault", sigFault, _ref1); + AvatarActionOnSignal resultingFault = new AvatarActionOnSignal("ResultingFault", sigFault, _ref1, _main); asm.addElement(resultingFault); at = new AvatarTransition(_ab, "at_toResultingFault", _ref); asm.addElement(at); @@ -1040,11 +1040,11 @@ public class FaultTreePanelTranslator { AvatarStateMachine asm = _ab.getStateMachine(); // Basic machine - AvatarStartState start = new AvatarStartState("start", _ref); - AvatarState mainState = new AvatarState("main", _ref, false, false); - AvatarState stoppingAll = new AvatarState("stoppingAll", _ref, false, false); - AvatarState endState = new AvatarState("end", _ref, false, false); - AvatarState overallState = new AvatarState("overall", _ref, false, false); + AvatarStartState start = new AvatarStartState("start", _ref, _main); + AvatarState mainState = new AvatarState("main", _ref, _main, false, false); + AvatarState stoppingAll = new AvatarState("stoppingAll", _ref, _main, false, false); + AvatarState endState = new AvatarState("end", _ref, _main, false, false); + AvatarState overallState = new AvatarState("overall", _ref, _main, false, false); asm.addElement(start); asm.setStartState(start); asm.addElement(mainState); @@ -1074,7 +1074,7 @@ public class FaultTreePanelTranslator { // From Main avatartranslator.AvatarSignal sigAtt = _main.getAvatarSignalWithName("accept__" + att.getName()); - AvatarActionOnSignal acceptFault = new AvatarActionOnSignal("AcceptFault", sigAtt, _ref1); + AvatarActionOnSignal acceptFault = new AvatarActionOnSignal("AcceptFault", sigAtt, _ref1, _main); asm.addElement(acceptFault); AvatarTransition at = new AvatarTransition(_ab, "at_toInputFault", _ref); asm.addElement(at); @@ -1096,7 +1096,7 @@ public class FaultTreePanelTranslator { // if (att.isLeaf()) { // Leaf Fault -> must make a stop sigAtt = _main.getAvatarSignalWithName("acceptStop__" + att.getName()); - acceptFault = new AvatarActionOnSignal("StopFault", sigAtt, _ref1); + acceptFault = new AvatarActionOnSignal("StopFault", sigAtt, _ref1, _main); asm.addElement(acceptFault); at = new AvatarTransition(_ab, "at_toInputFault_leaf", _ref); asm.addElement(at); @@ -1139,7 +1139,7 @@ public class FaultTreePanelTranslator { Fault resulting = _node.getResultingFault(); avatartranslator.AvatarSignal sigFault = _main.getAvatarSignalWithName("nodeDone__" + resulting.getName()); - AvatarActionOnSignal resultingFault = new AvatarActionOnSignal("ResultingFault", sigFault, _ref1); + AvatarActionOnSignal resultingFault = new AvatarActionOnSignal("ResultingFault", sigFault, _ref1, _main); asm.addElement(resultingFault); at = new AvatarTransition(_ab, "at_toResultingFault", _ref); asm.addElement(at); @@ -1160,10 +1160,10 @@ public class FaultTreePanelTranslator { _node.orderFaults(); // Basic machine - AvatarStartState start = new AvatarStartState("start", _ref); - AvatarState mainState = new AvatarState("main", _ref, false, false); - AvatarState endState = new AvatarState("end", _ref, false, false); - AvatarState overallState = new AvatarState("overall", _ref, false, false); + AvatarStartState start = new AvatarStartState("start", _ref, _main); + AvatarState mainState = new AvatarState("main", _ref, _main, false, false); + AvatarState endState = new AvatarState("end", _ref, _main, false, false); + AvatarState overallState = new AvatarState("overall", _ref, _main, false, false); asm.addElement(start); asm.setStartState(start); asm.addElement(mainState); @@ -1180,10 +1180,10 @@ public class FaultTreePanelTranslator { // Chaining accept Faults for (Fault att : _node.getInputFaults()) { - AvatarState state = new AvatarState("state__" + att.getName(), _ref); + AvatarState state = new AvatarState("state__" + att.getName(), _ref, _main); asm.addElement(state); avatartranslator.AvatarSignal sigAtt = _main.getAvatarSignalWithName("accept__" + att.getName()); - AvatarActionOnSignal acceptFault = new AvatarActionOnSignal("AcceptFault", sigAtt, _ref1); + AvatarActionOnSignal acceptFault = new AvatarActionOnSignal("AcceptFault", sigAtt, _ref1, _main); asm.addElement(acceptFault); at = new AvatarTransition(_ab, "at", _ref); @@ -1206,7 +1206,7 @@ public class FaultTreePanelTranslator { // Performing resulting Fault Fault resulting = _node.getResultingFault(); avatartranslator.AvatarSignal sigFault = _main.getAvatarSignalWithName("nodeDone__" + resulting.getName()); - AvatarActionOnSignal resultingFault = new AvatarActionOnSignal("ResultingFault", sigFault, _ref1); + AvatarActionOnSignal resultingFault = new AvatarActionOnSignal("ResultingFault", sigFault, _ref1, _main); asm.addElement(resultingFault); at = new AvatarTransition(_ab, "at_toResultingFault", _ref); asm.addElement(at); @@ -1225,10 +1225,10 @@ public class FaultTreePanelTranslator { _node.orderFaults(); // Basic machine - AvatarStartState start = new AvatarStartState("start", _ref); - AvatarState mainState = new AvatarState("main", _ref, false, false); - AvatarState endState = new AvatarState("end", _ref, false, false); - AvatarState overallState = new AvatarState("overall", _ref, false, false); + AvatarStartState start = new AvatarStartState("start", _ref, _main); + AvatarState mainState = new AvatarState("main", _ref, _main, false, false); + AvatarState endState = new AvatarState("end", _ref, _main, false, false); + AvatarState overallState = new AvatarState("overall", _ref, _main, false, false); asm.addElement(start); asm.setStartState(start); asm.addElement(mainState); @@ -1246,10 +1246,10 @@ public class FaultTreePanelTranslator { // Chaining accept Faults int cpt = 0; for (Fault att : _node.getInputFaults()) { - AvatarState state = new AvatarState("state__" + att.getName(), _ref); + AvatarState state = new AvatarState("state__" + att.getName(), _ref, _main); asm.addElement(state); avatartranslator.AvatarSignal sigAtt = _main.getAvatarSignalWithName("accept__" + att.getName()); - AvatarActionOnSignal acceptFault = new AvatarActionOnSignal("AcceptFault", sigAtt, _ref1); + AvatarActionOnSignal acceptFault = new AvatarActionOnSignal("AcceptFault", sigAtt, _ref1, _main); asm.addElement(acceptFault); at = new AvatarTransition(_ab, "at", _ref); @@ -1276,7 +1276,7 @@ public class FaultTreePanelTranslator { // Performing resulting Fault Fault resulting = _node.getResultingFault(); avatartranslator.AvatarSignal sigFault = _main.getAvatarSignalWithName("nodeDone__" + resulting.getName()); - AvatarActionOnSignal resultingFault = new AvatarActionOnSignal("ResultingFault", sigFault, _ref1); + AvatarActionOnSignal resultingFault = new AvatarActionOnSignal("ResultingFault", sigFault, _ref1, _main); asm.addElement(resultingFault); at = new AvatarTransition(_ab, "at_toResultingFault", _ref); asm.addElement(at); @@ -1295,11 +1295,11 @@ public class FaultTreePanelTranslator { _node.orderFaults(); // Basic machine - AvatarStartState start = new AvatarStartState("start", _ref); - AvatarState mainState = new AvatarState("main", _ref, false, false); - AvatarState endState = new AvatarState("end", _ref, false, false); - AvatarState overallState = new AvatarState("overall", _ref, false, false); - AvatarState timeout = new AvatarState("timeout", _ref, false, false); + AvatarStartState start = new AvatarStartState("start", _ref, _main); + AvatarState mainState = new AvatarState("main", _ref, _main, false, false); + AvatarState endState = new AvatarState("end", _ref, _main, false, false); + AvatarState overallState = new AvatarState("overall", _ref, _main, false, false); + AvatarState timeout = new AvatarState("timeout", _ref, _main, false, false); asm.addElement(start); asm.setStartState(start); asm.addElement(mainState); @@ -1318,10 +1318,10 @@ public class FaultTreePanelTranslator { // Chaining accept Faults int cpt = 0; for (Fault att : _node.getInputFaults()) { - AvatarState state = new AvatarState("state__" + att.getName(), _ref); + AvatarState state = new AvatarState("state__" + att.getName(), _ref, _main); asm.addElement(state); avatartranslator.AvatarSignal sigAtt = _main.getAvatarSignalWithName("accept__" + att.getName()); - AvatarActionOnSignal acceptFault = new AvatarActionOnSignal("AcceptFault", sigAtt, _ref1); + AvatarActionOnSignal acceptFault = new AvatarActionOnSignal("AcceptFault", sigAtt, _ref1, _main); asm.addElement(acceptFault); at = new AvatarTransition(_ab, "at", _ref); @@ -1352,7 +1352,7 @@ public class FaultTreePanelTranslator { // Performing resulting Fault Fault resulting = _node.getResultingFault(); avatartranslator.AvatarSignal sigFault = _main.getAvatarSignalWithName("nodeDone__" + resulting.getName()); - AvatarActionOnSignal resultingFault = new AvatarActionOnSignal("ResultingFault", sigFault, _ref1); + AvatarActionOnSignal resultingFault = new AvatarActionOnSignal("ResultingFault", sigFault, _ref1, _main); asm.addElement(resultingFault); at = new AvatarTransition(_ab, "at_toResultingFault", _ref); asm.addElement(at); diff --git a/src/main/java/ui/GTURTLEModeling.java b/src/main/java/ui/GTURTLEModeling.java index 2aa943c1b47860b7558be918f0b5c7bd101de756..93cd67bc4d16fc363b732636c8a1b69e6ec4d7d9 100644 --- a/src/main/java/ui/GTURTLEModeling.java +++ b/src/main/java/ui/GTURTLEModeling.java @@ -2288,7 +2288,7 @@ public class GTURTLEModeling { public String toSysMLV2() { if (avatarspec != null) { AVATAR2SysMLV2 toS = new AVATAR2SysMLV2(avatarspec); - StringBuffer sb = toS.generateSysMLV2Spec(true, true); + StringBuffer sb = toS.generateSysMLV2Spec(true, true, null); TraceManager.addDev("SysMLV2:\n" + sb.toString()); return sb.toString(); } @@ -9168,13 +9168,20 @@ public class GTURTLEModeling { } - public void addStates(AvatarStateMachineElement asme, int x, int y, AvatarSMDPanel smp, AvatarBDBlock bl, Map<AvatarStateMachineElement, TGComponent> SMDMap, Map<AvatarStateMachineElement, TGComponent> locMap, Map<AvatarTransition, AvatarStateMachineElement> tranDestMap, Map<AvatarTransition, TGComponent> tranSourceMap) { + public void addStates(AvatarStateMachineElement asme, int x, int y, AvatarSMDPanel smp, AvatarBDBlock bl, + Map<AvatarStateMachineElement, TGComponent> SMDMap, Map<AvatarStateMachineElement, TGComponent> locMap, + Map<AvatarTransition, AvatarStateMachineElement> tranDestMap, Map<AvatarTransition, TGComponent> tranSourceMap) { // TGConnectingPoint tp = new TGConnectingPoint(null, x, y, false, false); //Create dummy tgcomponent - TGComponent tgcomp = new AvatarSMDStartState(x, y, smp.getMinX(), smp.getMaxX(), smp.getMinY(), smp.getMaxY(), false, null, smp); + if (asme == null) { return; } + + //TGComponent tgcomp = new AvatarSMDStartState(x, y, smp.getMinX(), smp.getMaxX(), smp.getMinY(), smp.getMaxY(), false, null, smp); + TGComponent tgcomp = null; + //TraceManager.addDev("Block " + bl.getName() + " / " + bl.getValue() + " Found: " + asme.getExtendedName()); + if (asme instanceof AvatarStartState) { AvatarSMDStartState smdss = new AvatarSMDStartState(x, y, smp.getMinX(), smp.getMaxX(), smp.getMinY(), smp.getMaxY(), false, null, smp); tgcomp = smdss; @@ -9208,6 +9215,7 @@ public class GTURTLEModeling { } if (asme instanceof AvatarActionOnSignal) { + //TraceManager.addDev("Block " + bl.getName() + " / " + bl.getValue() + " Found AvatarActionOnSignal: " + asme.getExtendedName()); avatartranslator.AvatarSignal sig = ((AvatarActionOnSignal) asme).getSignal(); if (sig.isIn()) { AvatarSMDReceiveSignal smdrs = new AvatarSMDReceiveSignal(x, y, smp.getMinX(), smp.getMaxX(), smp.getMinY(), smp.getMaxY(), false, null, smp); @@ -9348,6 +9356,8 @@ public class GTURTLEModeling { } if (asme.getNexts() != null) { for (AvatarStateMachineElement el : asme.getNexts()) { + /*TraceManager.addDev("Block " + bl.getName() + " / " + bl.getValue() + + " Handling next of " + asme.getExtendedName() + ": " + el.getExtendedName());*/ if (el instanceof AvatarTransition) { tranSourceMap.put((AvatarTransition) el, tgcomp); } else { @@ -9357,6 +9367,8 @@ public class GTURTLEModeling { } } if (!SMDMap.containsKey(el)) { + /*TraceManager.addDev("not in map: Block " + bl.getName() + " / " + bl.getValue() + + " Handling next of " + asme.getExtendedName() + ": " + el.getExtendedName());*/ addStates(el, x + diff * i, y + ydiff, smp, bl, SMDMap, locMap, tranDestMap, tranSourceMap); } i++; @@ -9447,6 +9459,7 @@ public class GTURTLEModeling { } //TraceManager.addDev("Check done. " + checkingErrors.size() + " errors found\nAvatar Spec:\n" + avspec.toString()); + // Go for drawing! hasCrypto = false; //Map<String, Set<String>> originDestMap = new HashMap<String, Set<String>>(); @@ -9511,6 +9524,8 @@ public class GTURTLEModeling { } drawBlockProperties(ab, bl); AvatarSMDPanel smp = adp.getAvatarSMDPanel(bl.getValue()); + //TraceManager.addDev("\nBuilding state machine of block " + ab.getName() + " smd:" + ab.getStateMachine().toString() + "\n" + + // "\n"); buildStateMachine(ab, bl, smp); //TraceManager.addDev("Putting in block") blockMap.put(bl.getValue().split("__")[bl.getValue().split("__").length - 1], bl); @@ -9629,9 +9644,10 @@ public class GTURTLEModeling { for (AvatarPragma p : avspec.getPragmas()) { // arr[i] = p.getName(); + TraceManager.addDev("Handling pragma: " + p.getName()); String t = ""; String[] split = p.getName().split(" "); - if (p.getName().contains("#Confidentiality")) { + if (p.getName().startsWith("Confidentiality")) { for (String str : split) { if (str.contains(".")) { String tmp = str.split("\\.")[0]; @@ -9642,14 +9658,22 @@ public class GTURTLEModeling { t = t.concat(str + " "); } } - } else if (p.getName().contains("Authenticity")) { + } else if (p.getName().startsWith("Authenticity")) { t = p.getName(); - } else if (p.getName().contains("Initial")) { + } else if (p.getName().startsWith("Initial")) { t = p.getName(); } else { t = p.getName(); } - s = s.concat(t + "\n"); + //TraceManager.addDev("1. pragma=" + t); + t = t.trim(); + if (t.startsWith("Confidentiality") || t.startsWith("Authenticity") ) { + t = "#" + t; + } + //TraceManager.addDev("2. pragma=" + t); + s = s + "\n"; + s = s.concat(t); + // i++; } pragma.setValue(s); @@ -9936,6 +9960,9 @@ public class GTURTLEModeling { } public void buildStateMachine(AvatarBlock ab, AvatarBDBlock bl, AvatarSMDPanel smp) { + + //TraceManager.addDev("Building state machine of " + ab.getName()); + Map<AvatarTransition, TGComponent> tranSourceMap = new HashMap<AvatarTransition, TGComponent>(); Map<AvatarTransition, AvatarStateMachineElement> tranDestMap = new HashMap<AvatarTransition, AvatarStateMachineElement>(); Map<AvatarStateMachineElement, TGComponent> locMap = new HashMap<AvatarStateMachineElement, TGComponent>(); @@ -9946,19 +9973,25 @@ public class GTURTLEModeling { int smy = 40; if (smp == null) { - return; } + smp.removeAll(); AvatarStateMachine asm = ab.getStateMachine(); + + //TraceManager.addDev("\nState machine: " + asm.toString() + "\n\n"); + //TraceManager.addDev("\nRecursive state machine: " + asm.toStringRecursive() + "\n\n"); + //Remove the empty check states AvatarStartState start = asm.getStartState(); addStates(start, smx, smy, smp, bl, SMDMap, locMap, tranDestMap, tranSourceMap); + //TraceManager.addDev("\nState machine: " + asm.toString() + "\n\n"); + //Add transitions - for (AvatarTransition t : tranSourceMap.keySet()) { + for (AvatarTransition t: tranSourceMap.keySet()) { if (tranSourceMap.get(t) == null || tranDestMap.get(t) == null || locMap.get(tranDestMap.get(t)) == null) { continue; } diff --git a/src/main/java/ui/MainGUI.java b/src/main/java/ui/MainGUI.java index bebaf52c272e59f925adaaad36e587f00824413e..8cdba5240950de9e28cd92362221db57b01370d8 100644 --- a/src/main/java/ui/MainGUI.java +++ b/src/main/java/ui/MainGUI.java @@ -8299,6 +8299,7 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per } public TDiagramPanel getCurrentMainTDiagramPanel() { + TraceManager.addDev("Main selected index:" + mainTabbedPane.getSelectedIndex()); return tabs.elementAt(mainTabbedPane.getSelectedIndex()).tdp; } diff --git a/src/main/java/ui/TDiagramPanel.java b/src/main/java/ui/TDiagramPanel.java index c9e2c8278d71f457a9a64b775bae529cc366e2fb..cd3d5dfa169d816ed115732f19a0541e071938ce 100644 --- a/src/main/java/ui/TDiagramPanel.java +++ b/src/main/java/ui/TDiagramPanel.java @@ -2591,21 +2591,27 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { for (TGComponent tgc : getAllComponentList()) { tgc.resetVerificationResults(); } - for (TMLTask t : mgui.gtm.getTMLMapping().getTMLModeling().getTasks()) { - for (TMLActivityElement elem : t.getActivityDiagram().getElements()) { - if (elem.getReferenceObject() instanceof TMLADReadChannel){ - TMLADReadChannel rc = (TMLADReadChannel) elem.getReferenceObject(); - if (rc.getAuthCheck()) { - rc.setWeakAuthStatus(1); - rc.setStrongAuthStatus(1); - } - } + if (mgui.gtm.getTMLMapping() != null) { + if ( mgui.gtm.getTMLMapping().getTMLModeling() != null) { + if (mgui.gtm.getTMLMapping().getTMLModeling().getTasks() != null) { + for (TMLTask t : mgui.gtm.getTMLMapping().getTMLModeling().getTasks()) { + for (TMLActivityElement elem : t.getActivityDiagram().getElements()) { + if (elem.getReferenceObject() instanceof TMLADReadChannel) { + TMLADReadChannel rc = (TMLADReadChannel) elem.getReferenceObject(); + if (rc.getAuthCheck()) { + rc.setWeakAuthStatus(1); + rc.setStrongAuthStatus(1); + } + } - if (elem.getReferenceObject() instanceof TMLADDecrypt) { - TMLADDecrypt dec = (TMLADDecrypt) elem.getReferenceObject(); - if (dec.getAuthCheck()) { - dec.setWeakAuthStatus(1); - dec.setStrongAuthStatus(1); + if (elem.getReferenceObject() instanceof TMLADDecrypt) { + TMLADDecrypt dec = (TMLADDecrypt) elem.getReferenceObject(); + if (dec.getAuthCheck()) { + dec.setWeakAuthStatus(1); + dec.setStrongAuthStatus(1); + } + } + } } } } diff --git a/src/main/java/ui/avatarbd/AvatarBDPanel.java b/src/main/java/ui/avatarbd/AvatarBDPanel.java index 14a085f16f292472f14cae31cb9d45b8a6d07d02..9639dea10ea80c84adc1bfff00620b6993fcf6dd 100644 --- a/src/main/java/ui/avatarbd/AvatarBDPanel.java +++ b/src/main/java/ui/avatarbd/AvatarBDPanel.java @@ -941,7 +941,7 @@ public class AvatarBDPanel extends TDiagramPanel { public ArrayList<String> loadAndUpdateFromText(String _spec, boolean apply) throws org.json.JSONException { TraceManager.addDev("Loading blocks from JSON:" + _spec); - AvatarSpecification avatarSpec = AvatarSpecification.fromJSON(_spec, getName(), this); + AvatarSpecification avatarSpec = AvatarSpecification.fromJSON(_spec, getName(), this, true); if (apply) { mgui.drawAvatarSpecification(avatarSpec); } @@ -957,7 +957,7 @@ public class AvatarBDPanel extends TDiagramPanel { } AvatarSpecification avspec = mgui.gtm.getAvatarSpecification(); AVATAR2SysMLV2 tosysmlv2 = new AVATAR2SysMLV2(avspec); - StringBuffer sb = tosysmlv2.generateSysMLV2Spec(false, false); + StringBuffer sb = tosysmlv2.generateSysMLV2Spec(false, false, exclusions); return sb; } } diff --git a/src/main/java/ui/avatarbd/AvatarBDSafetyPragma.java b/src/main/java/ui/avatarbd/AvatarBDSafetyPragma.java index ae2c4de2d8507ff00315f28867542287a2a4677f..a6a068d1b76f9115cdb08a32f17053333f8e434b 100644 --- a/src/main/java/ui/avatarbd/AvatarBDSafetyPragma.java +++ b/src/main/java/ui/avatarbd/AvatarBDSafetyPragma.java @@ -124,7 +124,7 @@ public class AvatarBDSafetyPragma extends TGCScalableWithoutInternalComponent { editable = true; removable = true; syntaxErrors = new ArrayList<String>(); - name = "UPPAAL Pragma"; + name = "Safety Pragma"; value = ""; myImageIcon = IconManager.imgic6000; diff --git a/src/main/java/ui/graphd/GraphDPanel.java b/src/main/java/ui/graphd/GraphDPanel.java index 4e27c8c1664a13c556430a81501e2902ee62abef..1485f6c0ee85f90bc3d4f165e89f47252f530623 100644 --- a/src/main/java/ui/graphd/GraphDPanel.java +++ b/src/main/java/ui/graphd/GraphDPanel.java @@ -69,6 +69,8 @@ public class GraphDPanel extends TDiagramPanel implements TDPWithAttributes, Run public int GOOD_CONNECTOR = 200; public int INC = 5; + public AUTGraph autGraph; + public GraphDPanel(MainGUI mgui, TToolBar _ttb) { super(mgui, _ttb); //addComponent(400, 50, TGComponentManager.EBRDD_START_STATE, false); @@ -171,6 +173,8 @@ public class GraphDPanel extends TDiagramPanel implements TDPWithAttributes, Run // Making a graph from AUT public void makeGraphAUT(AUTGraph graph) { + autGraph = graph; + TraceManager.addDev("Making graph"); graph.computeStates(); @@ -227,6 +231,9 @@ public class GraphDPanel extends TDiagramPanel implements TDPWithAttributes, Run true, null, this, p1, p2, null); connector.setValue(tr.transition); + if (tr.hasTag(AUTGraph.COMM_TAG)) { + connector.setCurrentColor(ColorManager.COMM_EDGE); + } //TraceManager.addDev("Adding transition with value=" + tr.transition + " label=" + tr.getLabel()); addBuiltConnector(connector); @@ -291,7 +298,7 @@ public class GraphDPanel extends TDiagramPanel implements TDPWithAttributes, Run // Blue for comm states if (info != null) { if (info.contains("Sending ") || info.contains("!")) { - dv.setCurrentColor(ColorManager.TML_COMPOSITE_COMPONENT); + dv.setCurrentColor(ColorManager.SENDING_VERTEX); } else if (info.contains("Receiving ") || info.contains("?")) { dv.setCurrentColor(ColorManager.BUS_BOX); } diff --git a/src/main/java/ui/interactivesimulation/JFrameInteractiveSimulation.java b/src/main/java/ui/interactivesimulation/JFrameInteractiveSimulation.java index 405d0fb81c89b5e71a1848ae83a62564ef72a6f6..c04b87ed5c4ed2434a78f16c5980c78330b9a2dd 100644 --- a/src/main/java/ui/interactivesimulation/JFrameInteractiveSimulation.java +++ b/src/main/java/ui/interactivesimulation/JFrameInteractiveSimulation.java @@ -1496,7 +1496,7 @@ public class JFrameInteractiveSimulation extends JFrame implements ActionListene LinkedHashMap<String, ArrayList<String>> deviceTaskMap = new LinkedHashMap<String, ArrayList<String>>(); for (String name: tmlComponentsToValidate){ TMLTask task = tmap.getTMLModeling().getTMLTaskByName(name); - if (task==null){ + if (task == null){ continue; } HwNode node = tmap.getHwNodeOf(task); @@ -1517,9 +1517,14 @@ public class JFrameInteractiveSimulation extends JFrame implements ActionListene simtraces.add("time=0 block="+ node.getName()+" type=state_entering state=start"); simIndex++; }*/ + + //TraceManager.addDev("Processing traces"); + for (TMLTask task : tmap.getTMLModeling().getTasks()){ if (!simtraces.contains("time=0 block="+ task.getName()+" type=state_entering state=startState") && tmlComponentsToValidate.contains(task.getName())){ - simtraces.add("time=0 block="+ task.getName()+" type=state_entering state=startState"); + String trace = "time=0 block="+ task.getName()+" type=state_entering state=startState"; + simtraces.add(trace); + //TraceManager.addDev("Trace added: " + trace); simIndex++; } } @@ -1556,6 +1561,7 @@ public class JFrameInteractiveSimulation extends JFrame implements ActionListene } bw.close(); pos.close(); + TraceManager.addDev("Sim trace written"); tmlSimPanel.setVisible(true); } diff --git a/src/main/java/ui/tree/JDiagramTree.java b/src/main/java/ui/tree/JDiagramTree.java index 3dd34ad723f8a015d860dd4ac61e1c31775b26bf..8ac32c81985c1a0906e73521f25a9fcdee1e2957 100755 --- a/src/main/java/ui/tree/JDiagramTree.java +++ b/src/main/java/ui/tree/JDiagramTree.java @@ -532,8 +532,10 @@ public class JDiagramTree extends javax.swing.JTree implements ActionListener, M } else if (ae.getSource() == jmiShowAsDiagram) { if (selectedRG.graph != null) { + TraceManager.addDev("Drawing selected AUT graph"); mgui.displayGraphAUTAsDiagram(selectedRG.graph); } else { + TraceManager.addDev("Drawing selected RG graph"); mgui.displayGraphRGAsDiagram(selectedRG.name, selectedRG); } diff --git a/src/main/java/ui/util/DefaultText.java b/src/main/java/ui/util/DefaultText.java index 92d6e08d6134d85e0078b748e31d571bdd148872..5d4123f3a5350aa9ab79d20fbb34f99dc9e03a56 100755 --- a/src/main/java/ui/util/DefaultText.java +++ b/src/main/java/ui/util/DefaultText.java @@ -50,8 +50,8 @@ package ui.util; */ public class DefaultText { - public static String BUILD = "14451"; - public static String DATE = "2023/06/14 03:20:23 CET"; + public static String BUILD = "14487"; + public static String DATE = "2023/07/19 03:19:58 CET"; public static StringBuffer sbAbout = makeAbout(); diff --git a/src/main/java/ui/window/JDialogAvatarModelChecker.java b/src/main/java/ui/window/JDialogAvatarModelChecker.java index 0b3bfb5c68e37bd622f5889bd6a249f2ac6e18dd..0683383724582b3c11ca83bc8510e0d2b5f8eb10 100644 --- a/src/main/java/ui/window/JDialogAvatarModelChecker.java +++ b/src/main/java/ui/window/JDialogAvatarModelChecker.java @@ -107,6 +107,8 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act protected static boolean generateDesignSelected = false; protected static boolean generateDependencyGraphSelected = false; protected static boolean generateDependencyGraphSelectedNoID = false; + protected static boolean generateCompactDependencyGraphSelected = false; + protected static boolean generateCompactDependencyGraphSelectedNoID = false; protected static boolean generateDependencyGraphEltSelected = false; protected static boolean generateDependencyGraphEltSelectedNoID = false; protected static int reachabilitySelected = REACHABILITY_NONE; @@ -186,6 +188,7 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act protected JCheckBox saveGraphAUT, saveGraphDot, advancedInfoDeadlockBox, ignoreEmptyTransitions, ignoreInternalStates, ignoreConcurrenceBetweenInternalActions, generateDesign, generateDependencyGraph, generateDependencyGraphNoID, + generateCompactDependencyGraph, generateCompactDependencyGraphNoID, generateDependencyGraphElt, generateDependencyGraphEltNOID; protected JButton graphDirButton, graphPathDotButton; protected JTextField graphPath, graphPathDot; @@ -323,6 +326,11 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act generateDependencyGraph = new JCheckBox("[For testing purpose only] Generate dependency graph", generateDependencyGraphSelected); generateDependencyGraph.addActionListener(this); jp01.add(generateDependencyGraph, c01); + + generateCompactDependencyGraph = new JCheckBox("[For testing purpose only] Generate compact dependency graph", + generateCompactDependencyGraphSelected); + generateCompactDependencyGraph.addActionListener(this); + jp01.add(generateCompactDependencyGraph, c01); } if (TraceManager.devPolicy == TraceManager.TO_CONSOLE) { @@ -330,6 +338,11 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act generateDependencyGraphSelectedNoID); generateDependencyGraphNoID.addActionListener(this); jp01.add(generateDependencyGraphNoID, c01); + + generateCompactDependencyGraphNoID = new JCheckBox("[For testing purpose only] Generate compact dependency graph with no ID", + generateCompactDependencyGraphSelectedNoID); + generateCompactDependencyGraphNoID.addActionListener(this); + jp01.add(generateCompactDependencyGraphNoID, c01); } if (TraceManager.devPolicy == TraceManager.TO_CONSOLE) { @@ -897,6 +910,17 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act mgui.addRG(rg); } + if (generateCompactDependencyGraphSelected) { + TraceManager.addDev("Generating compact dependency graph"); + AvatarCompactDependencyGraph adg = spec.makeCompactDependencyGraph(); + RG rg = new RG("Compact Dependency Graph"); + rg.graph = adg.getGraph(); + rg.graph.referenceObject = adg; + rg.nbOfStates = rg.graph.getNbOfStates(); + rg.nbOfTransitions = rg.graph.getNbOfTransitions(); + mgui.addRG(rg); + } + if (generateDependencyGraphSelectedNoID) { TraceManager.addDev("Generating dependency graph with no ID"); AvatarDependencyGraph adg = spec.makeDependencyGraph(false); @@ -907,6 +931,16 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act mgui.addRG(rg); } + if (generateCompactDependencyGraphSelectedNoID) { + TraceManager.addDev("Generating compacr dependency graph with no ID"); + AvatarCompactDependencyGraph adg = spec.makeCompactDependencyGraph(false); + RG rg = new RG("Compact Dependency Graph no ID"); + rg.graph = adg.getGraph(); + rg.nbOfStates = rg.graph.getNbOfStates(); + rg.nbOfTransitions = rg.graph.getNbOfTransitions(); + mgui.addRG(rg); + } + endDate = null; previousNbOfStates = 0; startDate = new Date(); @@ -1441,9 +1475,15 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act if (generateDependencyGraph != null) { generateDependencyGraphSelected = generateDependencyGraph.isSelected(); } + if (generateCompactDependencyGraph != null) { + generateCompactDependencyGraphSelected = generateCompactDependencyGraph.isSelected(); + } if (generateDependencyGraphNoID != null) { generateDependencyGraphSelectedNoID = generateDependencyGraphNoID.isSelected(); } + if (generateCompactDependencyGraphNoID != null) { + generateCompactDependencyGraphSelectedNoID = generateCompactDependencyGraphNoID.isSelected(); + } if (generateDependencyGraphElt != null) { generateDependencyGraphEltSelected = generateDependencyGraphElt.isSelected(); } diff --git a/src/main/java/ui/window/JFrameAI.java b/src/main/java/ui/window/JFrameAI.java index b8716b111de6020542150dbb3281f536ebc33863..f61d3ed792702b23a45f9bb43c81cf363a7705f1 100644 --- a/src/main/java/ui/window/JFrameAI.java +++ b/src/main/java/ui/window/JFrameAI.java @@ -39,10 +39,7 @@ package ui.window; -import ai.AIChatData; -import ai.AIFeedback; -import ai.AIInteract; -import ai.AISysMLV2DiagramContent; +import ai.*; import avatartranslator.AvatarSpecification; import help.HelpEntry; import help.HelpManager; @@ -81,7 +78,8 @@ public class JFrameAI extends JFrame implements ActionListener { " requirement diagram first", "Identify use cases", "Identify properties - Select a block diagram first. You can also provide a system specification", - "Identify system blocks - Provide a system specification", "Identify software blocks - Provide a system specification", "Identify state" + + "Identify system blocks - Provide a system specification", + "Identify software blocks - Provide a system specification", "Identify state" + " machines - Select a block diagram. Additionally, you can provide a system specification", "A(I)MULET - Select a block diagram first"}; @@ -121,6 +119,8 @@ public class JFrameAI extends JFrame implements ActionListener { chats = new ArrayList<>(); makeComponents(); + TraceManager.addDev("Selected TDP = " + mgui.getCurrentMainTDiagramPanel().getClass()); + } public void setIcon(ChatData _data, Icon newIcon) { @@ -146,7 +146,8 @@ public class JFrameAI extends JFrame implements ActionListener { help(); } }); - helpPopup.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"), "closeJlabel"); + helpPopup.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"), + "closeJlabel"); helpPopup.getActionMap().put("closeJlabel", new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { @@ -293,8 +294,8 @@ public class JFrameAI extends JFrame implements ActionListener { String[] names = {"pico", "zebre", "pingouin", "chien", "minou", "kitty", "chaton", "whatsapp", "Luke Skywalker", "macareux", "ours", "italien", "paris-brest", "belle-mère", "apéro (l'abus d'alcool est dangereux pour la santé)", "carpe", "crocodile", "psychologue", "dr emacs", "3615-TTool", "100 balles et 1 mars", - "opéra (l’abus d’Alcôve est dangereux pour la santé)", "chapon", "perroquet", "chameau volant", "Alice", "Oasis", "ATC RAK", - "Adibou", "Cheval de Troyes"}; + "opéra (l’abus d’Alcôve est dangereux pour la santé)", "chapon", "perroquet", "chameau volant", "Alice", "oasis", "ATC RAK", + "Adibou", "cheval de Troyes", "Twist", "GSM", "étalon", "jaseux"}; int x = (int) (Math.random() * names.length); return names[x]; } @@ -307,6 +308,7 @@ public class JFrameAI extends JFrame implements ActionListener { } private void start() { + TraceManager.addDev("Start in JFrameAI"); currentChatIndex = answerPane.getSelectedIndex(); ChatData selected = selectedChat(); @@ -317,7 +319,9 @@ public class JFrameAI extends JFrame implements ActionListener { } if (chatDataMade) { + TraceManager.addDev("chatDataMade in JFameAI"); String selectedClass = AIInteractClass[listOfPossibleActions.getSelectedIndex()]; + TraceManager.addDev("SelectedClass: " + selectedClass); selected.aiInteract = ai.AIInteract.getInstance("ai." + selectedClass, selected.aiChatData); @@ -326,7 +330,33 @@ public class JFrameAI extends JFrame implements ActionListener { return; } + TraceManager.addDev("Selected aiinteract: " + selected.aiInteract.getClass()); + + if (selected.aiInteract instanceof AIAvatarSpecificationRequired) { + TraceManager.addDev("****** AIAvatarSpecificationRequired identified *****"); + TDiagramPanel tdp = mgui.getCurrentMainTDiagramPanel(); + boolean found = false; + if (tdp instanceof AvatarBDPanel) { + found = true; + } + + if (found) { + TraceManager.addDev("BD panel: ok"); + boolean ret = mgui.checkModelingSyntax(true); + if (ret) { + TraceManager.addDev("****** Syntax checking OK *****"); + ((AIAvatarSpecificationRequired) (selected.aiInteract)).setAvatarSpecification(mgui.gtm.getAvatarSpecification()); + } else { + TraceManager.addDev("\n\n*****Syntax checking failed: no avatar spec***\n\n"); + } + } else { + TraceManager.addDev("Selected panel is not correct. tdp=" + tdp.getClass()); + return; + } + } + if (selected.aiInteract instanceof AISysMLV2DiagramContent) { + TraceManager.addDev("****** AISysMLV2DiagramContent identified *****"); TDiagramPanel tdp = mgui.getCurrentTDiagramPanel(); String[] validDiagrams = ((AISysMLV2DiagramContent)(selected.aiInteract)).getValidDiagrams(); String className = tdp.getClass().getName(); @@ -340,8 +370,15 @@ public class JFrameAI extends JFrame implements ActionListener { } if (found) { + TraceManager.addDev("The selected diagram is valid"); String[] exclusions = ((AISysMLV2DiagramContent)(selected.aiInteract)).getDiagramExclusions(); - ((AISysMLV2DiagramContent)(selected.aiInteract)).setDiagramContentInSysMLV2(tdp.toSysMLV2Text(exclusions).toString()); + StringBuffer sb = tdp.toSysMLV2Text(exclusions); + if (sb == null) { + error("The syntax of the selected diagram is incorrect"); + return; + } else { + ((AISysMLV2DiagramContent) (selected.aiInteract)).setDiagramContentInSysMLV2(sb.toString()); + } } } @@ -360,9 +397,9 @@ public class JFrameAI extends JFrame implements ActionListener { return ; } - TraceManager.addDev("Class of answer: " + selectedChat.aiInteract.getClass().getName()); + //TraceManager.addDev("Class of answer: " + selectedChat.aiInteract.getClass().getName()); - if (selectedChat.aiInteract instanceof ai.AIBlock) { + /*if (selectedChat.aiInteract instanceof ai.AIBlock) { applyIdentifySystemBlocks(selectedChat.aiInteract.applyAnswer(null)); } else if (selectedChat.aiInteract instanceof ai.AISoftwareBlock) { applyIdentifySystemBlocks(selectedChat.aiInteract.applyAnswer(null)); @@ -376,11 +413,73 @@ public class JFrameAI extends JFrame implements ActionListener { // nothing up to now :-) } else if (selectedChat.aiInteract instanceof ai.AIAmulet) { applyMutations(); + }*/ + + + currentChatIndex = answerPane.getSelectedIndex(); + switch(currentChatIndex) { + case 0: + if (selectedChat.aiInteract instanceof ai.AIBlock) { + applyIdentifySystemBlocks(selectedChat.aiInteract.applyAnswer(null)); + } else if (selectedChat.aiInteract instanceof ai.AISoftwareBlock) { + applyIdentifySystemBlocks(selectedChat.aiInteract.applyAnswer(null)); + } else if (selectedChat.aiInteract instanceof ai.AIReqIdent) { + applyRequirementIdentification(); + } else if (selectedChat.aiInteract instanceof ai.AIReqClassification) { + applyRequirementClassification(); + } else if (selectedChat.aiInteract instanceof ai.AIDesignPropertyIdentification) { + // nothing up to now :-) + } else if (selectedChat.aiInteract instanceof ai.AIStateMachine) { + TraceManager.addDev("Applying state machines"); + applyIdentifyStateMachines(selectedChat.aiInteract.applyAnswer(null)); + } else if (selectedChat.aiInteract instanceof ai.AIAmulet) { + applyMutations(); + } + break; + case 1: + applyRequirementIdentification(); + break; + case 2: + applyRequirementClassification(); + break; + case 3: + break; + case 4: + break; + case 5: + applyIdentifySystemBlocks(selectedChat.aiInteract.applyAnswer(null)); + break; + case 6: + applyIdentifySystemBlocks(selectedChat.aiInteract.applyAnswer(null)); + break; + case 7: + applyIdentifyStateMachines(selectedChat.aiInteract.applyAnswer(null)); + break; + case 8: + applyMutations(); + break; } question.setText(""); } + private void applyIdentifyStateMachines(Object input) { + if (input == null) { + error("Invalid specification in answer"); + return; + } + + TraceManager.addDev("Type of input:" + input.getClass()); + + if (!(input instanceof AvatarSpecification)) { + error("Invalid answer"); + return; + } + + mgui.drawAvatarSpecification((AvatarSpecification) input); + inform("State machine of blocks added to diagram from ai answer\n"); + } + private void applyRequirementIdentification() { TDiagramPanel tdp = mgui.getCurrentTDiagramPanel(); @@ -646,9 +745,9 @@ public class JFrameAI extends JFrame implements ActionListener { public void addToChat(String data, boolean user) { if (user) { - GraphicLib.appendToPane(chatOfStart().answer, "\nTTool:" + data + "\n", Color.blue); + GraphicLib.appendToPane(chatOfStart().answer, "\nTTool: " + data + "\n", Color.blue); } else { - GraphicLib.appendToPane(chatOfStart().answer, "\nAI:" + data + "\n", Color.red); + GraphicLib.appendToPane(chatOfStart().answer, "\nAI: " + data + "\n", Color.red); } } diff --git a/ttool/src/test/java/avatartranslator/AvatarGuardTests.java b/ttool/src/test/java/avatartranslator/AvatarGuardTests.java index 273b92215ec6f9304e7ee21e1cc096dc4223200e..d433d013c705c50146710ab5e25733c3a1a4e6e8 100644 --- a/ttool/src/test/java/avatartranslator/AvatarGuardTests.java +++ b/ttool/src/test/java/avatartranslator/AvatarGuardTests.java @@ -75,7 +75,7 @@ public class AvatarGuardTests { AvatarSpecification as = new AvatarSpecification("avatarspecification", null); A = new AvatarBlock("A", as, null); AvatarStateMachine Aasm = A.getStateMachine(); - Aasm.addElement(new AvatarState("a1", null)); + Aasm.addElement(new AvatarState("a1", null, A)); A.addAttribute(new AvatarAttribute("key1", AvatarType.INTEGER, A, null)); A.addAttribute(new AvatarAttribute("key2", AvatarType.INTEGER, A, null)); A.addAttribute(new AvatarAttribute("test", AvatarType.BOOLEAN, A, null)); @@ -83,7 +83,7 @@ public class AvatarGuardTests { B = new AvatarBlock("B", as, null); AvatarStateMachine Basm = B.getStateMachine(); - Basm.addElement(new AvatarState("b1", null)); + Basm.addElement(new AvatarState("b1", null, B)); B.addAttribute(new AvatarAttribute("key1", AvatarType.INTEGER, B, null)); B.addAttribute(new AvatarAttribute("key2", AvatarType.BOOLEAN, B, null)); B.addAttribute(new AvatarAttribute("m__a", AvatarType.UNDEFINED, B, null)); @@ -91,7 +91,7 @@ public class AvatarGuardTests { AvatarBlock C = new AvatarBlock("C", as, null); AvatarStateMachine Casm = C.getStateMachine(); - Casm.addElement(new AvatarState("c1", null)); + Casm.addElement(new AvatarState("c1", null, C)); C.addAttribute(new AvatarAttribute("attr", AvatarType.INTEGER, C, null)); C.addAttribute(new AvatarAttribute("m__a", AvatarType.UNDEFINED, C, null)); C.addAttribute(new AvatarAttribute("m__b", AvatarType.UNDEFINED, C, null)); diff --git a/ttool/src/test/java/avatartranslator/AvatarIBSStdParserTest.java b/ttool/src/test/java/avatartranslator/AvatarIBSStdParserTest.java index 7425ecf6fdf2a467f3213a1feb237b3702fc4d34..a3edd47ab6c03d297a90dc3bf38a93530c962e01 100644 --- a/ttool/src/test/java/avatartranslator/AvatarIBSStdParserTest.java +++ b/ttool/src/test/java/avatartranslator/AvatarIBSStdParserTest.java @@ -164,7 +164,9 @@ public class AvatarIBSStdParserTest { assertFalse(e13Ter!=null); HashSet<String> H = AvatarIBSolver.getBadIdents(); - for(String s:H){System.out.println(s);} + for(String s:H){ + System.out.println(s); + } AvatarIBSolver.clearBadIdents(); AvatarIBSExpressions.IExpr e14 = AvatarIBSolver.parseInt("3+2"); @@ -180,11 +182,14 @@ public class AvatarIBSStdParserTest { AvatarIBSExpressions.BExpr e17 = AvatarIBSolver.parseBool("((true)) && (((((0 >= 1))))) || not((not(false)))"); assertTrue(e17!=null); AvatarIBSExpressions.IExpr e18 = AvatarIBSolver.parseInt("2 * -3 + -5 * 4 + 27"); // 1 - assertTrue(e17!=null); + assertTrue(e18!=null); AvatarIBSExpressions.IExpr e19 = AvatarIBSolver.parseInt("-6 / -2 * 3 - -4 "); // 13 - assertTrue(e17!=null); + assertTrue(e19!=null); AvatarIBSExpressions.IExpr e20 = AvatarIBSolver.parseInt("-(2 * 3)+ -(1+1) * -3"); // 0 - assertTrue(e17!=null); + assertTrue(e20!=null); + + AvatarIBSExpressions.IExpr e21 = AvatarIBSolver.parseInt("0"); // 0 + assertTrue(e21!=null); assertEquals(true, e1.eval()); assertEquals(true, e2.eval()); @@ -202,6 +207,7 @@ public class AvatarIBSStdParserTest { assertEquals(1, e18.eval()); assertEquals(13, e19.eval()); assertEquals(0, e20.eval()); + assertEquals(0, e21.eval()); } @@ -256,12 +262,22 @@ public class AvatarIBSStdParserTest { assertTrue(e10!=null); AvatarIBSExpressions.IExpr e11 = AvatarIBSolver.parseInt(block1,"x + y"); assertTrue(e11!=null); + AvatarIBSExpressions.IExpr e11bis = AvatarIBSolver.parseInt(block1,"x*8/y"); + assertTrue(e11bis!=null); AvatarIBSExpressions.IExpr e12 = AvatarIBSolver.parseInt(block1,"x*((x + y)*z + (x+z)/z)/x"); assertTrue(e12!=null); AvatarIBSExpressions.BExpr e13 = AvatarIBSolver.parseBool(block1,"(key1==false) and (key2==true)"); assertTrue(e13!=null); AvatarIBSExpressions.BExpr e14 = AvatarIBSolver.parseBool(block1,"x-40<3"); assertTrue(e14!=null); + + TraceManager.addDev("Testing e15"); + AvatarIBSExpressions.BExpr e15 = AvatarIBSolver.parseBool(block1,"x-40<3*b"); + TraceManager.addDev("Expr e15 built"); + //assertTrue(e15!=null); + //TraceManager.addDev("Testing e15 done"); + + assertTrue(e1.eval(specBlock) == 15); assertTrue(e2.eval(specBlock)); assertTrue(!e3.eval(specBlock)); diff --git a/ttool/src/test/java/tmltranslator/DiplodocusSecurityTest.java b/ttool/src/test/java/tmltranslator/DiplodocusSecurityTest.java index dfe0bdd92b97ec79c8418bebb36b7ea910fa91dd..747d7fbf41ef8dc08047002dfa1521f206d5fb10 100644 --- a/ttool/src/test/java/tmltranslator/DiplodocusSecurityTest.java +++ b/ttool/src/test/java/tmltranslator/DiplodocusSecurityTest.java @@ -44,6 +44,7 @@ public class DiplodocusSecurityTest extends AbstractTest { final static String DIR_GEN = "tmltranslator/test_diplo_security/"; final static String DIR_MODELS = "tmltranslator/test_diplo_security_models/"; final String [] MODELS_DIPLO_SECURITY = {"symetric", "nonce", "keyexchange", "mac"}; + private static final List<List<String>> LIST_OF_LISTS_OF_QUERIES = Arrays.asList( Arrays.asList("Query not attacker(Alice___SymmetricExchange__comm_chData[!1 = v]) is true.", "Query inj-event(authenticity___Bob___SymmetricExchange__comm_chData___aftersignalstate_SymmetricExchange_comm_" + @@ -57,7 +58,10 @@ public class DiplodocusSecurityTest extends AbstractTest { "(dummyM)) ==> inj-event(authenticity___Alice___KeyExchange__comm_chData___signalstate_KeyExchange_comm_KeyExchange_comm239" + "(dummyM)) is true.", "Query inj-event(authenticity___Bob___KeyExchange__comm_chData___aftersignalstate_KeyExchange_comm" + "_KeyExchange_comm283(dummyM)) ==> inj-event(authenticity___Alice___KeyExchange__comm_chData" + - "___signalstate_KeyExchange_comm_KeyExchange_comm239(dummyM)) is true."), + "___signalstate_KeyExchange_comm_KeyExchange_comm239(dummyM)) is true.", + "Query inj-event(authenticity___Bob___KeyExchange__comm_chData___aftersignalstate_KeyExchange_comm_KeyExchange_", + "Query inj-event(authenticity___Bob___KeyExchange__comm_chData___aftersignalstate_KeyExchange_comm_KeyExchange_comm(dummyM)) " + + "==> inj-event(authenticity___Alice___KeyExchange__comm_chData___signalstate_KeyExchange_comm_KeyExchange_comm(dummyM)) is false"), Arrays.asList("Query not attacker(Alice___MAC__comm_chData[!1 = v]) is true.", "Query inj-event(authenticity___Bob___MAC__comm_chData___aftersignalstate_MAC_comm_MAC_comm(dummyM)) ==> inj-event(authenticity" + "___Alice___MAC__comm_chData___signalstate_MAC_comm_MAC_comm(dummyM)) is false") @@ -104,7 +108,7 @@ public class DiplodocusSecurityTest extends AbstractTest { for (int i = 0; i < MODELS_DIPLO_SECURITY.length; i++) { String s = MODELS_DIPLO_SECURITY[i]; - System.out.println("Checking the security of " + s); + System.out.println("\n\n********** Checking the security of " + s + " ********\n"); TMLMappingTextSpecification tmts = new TMLMappingTextSpecification(s); File f = new File(RESOURCES_DIR + s + ".tmap"); System.out.println("Loading file: " + f.getAbsolutePath()); diff --git a/ttool/src/test/java/ui/TDiagramPanelCloneArchitectureTest.java b/ttool/src/test/java/ui/TDiagramPanelCloneArchitectureTest.java index fd3dcfe2d7893b971e6a1e79dc93d289db1fe449..af79c9d97392bec02cff6f88f8168829ace3627f 100644 --- a/ttool/src/test/java/ui/TDiagramPanelCloneArchitectureTest.java +++ b/ttool/src/test/java/ui/TDiagramPanelCloneArchitectureTest.java @@ -40,8 +40,10 @@ package ui; import myutil.TraceManager; +import org.apache.batik.anim.timing.Trace; import org.junit.*; import tmltranslator.*; +import translator.CheckingError; import ui.tmldd.TMLArchiDiagramPanel; import java.io.*; @@ -82,12 +84,14 @@ public class TDiagramPanelCloneArchitectureTest extends AbstractUITest { super(); // Open expected model + TraceManager.addDev("*** Opening model"); mainGUI.openProjectFromFile(new File(EXPECTED_FILE_MODEL)); for(TURTLEPanel _tab : mainGUI.getTabs()) { if(_tab instanceof TMLArchiPanel) { for (TDiagramPanel tdp : _tab.getPanels()) { if (tdp instanceof TMLArchiDiagramPanel) { + TraceManager.addDev("*** Selecting tdp TMLArchiDiagramPanel"); mainGUI.selectTab(tdp); break; } @@ -96,16 +100,23 @@ public class TDiagramPanelCloneArchitectureTest extends AbstractUITest { } } + waiting(); + TraceManager.addDev("*** Checking modeling syntax"); mainGUI.checkModelingSyntax(true); + TraceManager.addDev("*** Checking modeling syntax: done"); tmlMapping_exp = mainGUI.gtm.getTMLMapping(); + TraceManager.addDev("*** Got mapping"); + // Open testing model + TraceManager.addDev("*** Opening testing model"); mainGUI.openProjectFromFile(new File(RESOURCES_DIR)); } @Before public void setUp() { + TraceManager.addDev("*** Setup"); for(TURTLEPanel _tab : mainGUI.getTabs()) { if(_tab instanceof TMLArchiPanel) { for (TDiagramPanel tdp : _tab.getPanels()) { @@ -123,7 +134,7 @@ public class TDiagramPanelCloneArchitectureTest extends AbstractUITest { for (TGComponent tgc : architecture_clone.getAllComponentList()) { - if (tgc.getName().equals("CPU1")) { + if (tgc.getName().equals("CPU0")) { CPU_Cl = tgc; } @@ -155,14 +166,26 @@ public class TDiagramPanelCloneArchitectureTest extends AbstractUITest { } public void cloneHwNodesOfTestingModel(){ + + TraceManager.addDev("clone bus"); + architecture_clone.cloneComponent(Bus_Cl); + for (TGComponent tgc : architecture_clone.getComponentList()) { + if (tgc.getName().equals("Bus0")) { + tgc.setName("Bus1"); + break; + } + } + + TraceManager.addDev("clone CPUs"); architecture_clone.cloneComponent(CPU_Cl); for (TGComponent tgc : architecture_clone.getComponentList()) { - if (tgc.getName().equals("CPU1")) { - tgc.setName("CPU2"); + if (tgc.getName().equals("CPU0")) { + tgc.setName("CPU1"); break; } } + TraceManager.addDev("clone FPGAs"); architecture_clone.cloneComponent(FPGA_Cl); for (TGComponent tgc : architecture_clone.getComponentList()) { if (tgc.getName().equals("FPGA0")) { @@ -171,6 +194,7 @@ public class TDiagramPanelCloneArchitectureTest extends AbstractUITest { } } + TraceManager.addDev("clone Bridges"); architecture_clone.cloneComponent(Bridge_Cl); for (TGComponent tgc : architecture_clone.getComponentList()) { if (tgc.getName().equals("Bridge0")) { @@ -179,14 +203,9 @@ public class TDiagramPanelCloneArchitectureTest extends AbstractUITest { } } - architecture_clone.cloneComponent(Bus_Cl); - for (TGComponent tgc : architecture_clone.getComponentList()) { - if (tgc.getName().equals("Bus0")) { - tgc.setName("Bus1"); - break; - } - } + + TraceManager.addDev("clone DMA"); architecture_clone.cloneComponent(DMA_Cl); for (TGComponent tgc : architecture_clone.getComponentList()) { if (tgc.getName().equals("DMA0")) { @@ -195,6 +214,7 @@ public class TDiagramPanelCloneArchitectureTest extends AbstractUITest { } } + TraceManager.addDev("clone Memory"); architecture_clone.cloneComponent(Memory_Cl); for (TGComponent tgc : architecture_clone.getComponentList()) { if (tgc.getName().equals("Memory0")) { @@ -203,6 +223,7 @@ public class TDiagramPanelCloneArchitectureTest extends AbstractUITest { } } + TraceManager.addDev("clone HWA"); architecture_clone.cloneComponent(HWA_Cl); for (TGComponent tgc : architecture_clone.getComponentList()) { if (tgc.getName().equals("HWA0")) { @@ -217,10 +238,35 @@ public class TDiagramPanelCloneArchitectureTest extends AbstractUITest { @Test public void testTMLMapping() { - cloneHwNodesOfTestingModel(); - mainGUI.checkModelingSyntax(true); - TMLMapping tmlMapping_clone = mainGUI.gtm.getTMLMapping(); - assertTrue(tmlMapping_clone.equalSpec(tmlMapping_exp)); + try { + TraceManager.addDev("*** Clone"); + cloneHwNodesOfTestingModel(); + TraceManager.addDev("*** Check syntax"); + waiting(); + mainGUI.checkModelingSyntax(true); + for(CheckingError ce: mainGUI.gtm.getCheckingErrors()) { + TraceManager.addDev("Error: " + ce.getMessage()); + } + TraceManager.addDev("*** Getting mapping"); + TMLMapping tmlMapping_clone = mainGUI.gtm.getTMLMapping(); + + TraceManager.addDev("*** Comparing spec"); + //assertNotNull(tmlMapping_clone); + //assertNotNull(tmlMapping_exp); + assertTrue(tmlMapping_clone.equalSpec(tmlMapping_exp)); + + } catch (Exception e) { + TraceManager.addDev("Exception: " + e.getClass() + " / " + e.getMessage()); + //assertTrue(false); + } + } + + public void waiting() { + try { + Thread.currentThread().sleep(5000); + } catch (Exception e) { + + } } } \ No newline at end of file diff --git a/ttool/src/test/java/ui/avatardesign/AvatarPragmaTests.java b/ttool/src/test/java/ui/avatardesign/AvatarPragmaTests.java index f371443a1cc99908253c03c9a138ef3831751cf3..b74c101a1dbed79037113f0899dfe51a31ba3156 100644 --- a/ttool/src/test/java/ui/avatardesign/AvatarPragmaTests.java +++ b/ttool/src/test/java/ui/avatardesign/AvatarPragmaTests.java @@ -77,13 +77,13 @@ public class AvatarPragmaTests { public void setupBlocks(){ AvatarBlock A = new AvatarBlock("A", null, null); AvatarStateMachine Aasm = A.getStateMachine(); - Aasm.addElement(new AvatarState("a1", null)); + Aasm.addElement(new AvatarState("a1", null, A)); A.addAttribute(new AvatarAttribute("key1", AvatarType.INTEGER, A, null)); A.addAttribute(new AvatarAttribute("key2", AvatarType.INTEGER, A, null)); AvatarBlock B = new AvatarBlock("B", null, null); AvatarStateMachine Basm = B.getStateMachine(); - Basm.addElement(new AvatarState("b1", null)); + Basm.addElement(new AvatarState("b1", null, B)); B.addAttribute(new AvatarAttribute("key1", AvatarType.INTEGER, B, null)); B.addAttribute(new AvatarAttribute("key2", AvatarType.BOOLEAN, B, null)); B.addAttribute(new AvatarAttribute("m__a", AvatarType.UNDEFINED, B, null)); @@ -91,7 +91,7 @@ public class AvatarPragmaTests { AvatarBlock C = new AvatarBlock("C", null, null); AvatarStateMachine Casm = C.getStateMachine(); - Casm.addElement(new AvatarState("c1", null)); + Casm.addElement(new AvatarState("c1", null, C)); C.addAttribute(new AvatarAttribute("attr", AvatarType.INTEGER, C, null)); C.addAttribute(new AvatarAttribute("m__a", AvatarType.UNDEFINED, C, null)); C.addAttribute(new AvatarAttribute("m__b", AvatarType.UNDEFINED, C, null)); diff --git a/ttool/src/test/java/ui/avatardesign/AvatarSafetyTests.java b/ttool/src/test/java/ui/avatardesign/AvatarSafetyTests.java index 8fe5a3c965b149563948b7329d08a63ba9a7cd91..7f02e0b0c3710f0748856e7f4f21e34675a54bdd 100644 --- a/ttool/src/test/java/ui/avatardesign/AvatarSafetyTests.java +++ b/ttool/src/test/java/ui/avatardesign/AvatarSafetyTests.java @@ -83,7 +83,7 @@ public class AvatarSafetyTests { sig = new avatartranslator.AvatarSignal("sig", 0, null); A.addSignal(sig); AvatarStateMachine Aasm = A.getStateMachine(); - AvatarActionOnSignal aaos = new AvatarActionOnSignal("action_on_signal", sig, null); + AvatarActionOnSignal aaos = new AvatarActionOnSignal("action_on_signal", sig, null, A); aaos.setCheckLatency(true); Aasm.addElement(aaos); @@ -94,7 +94,7 @@ public class AvatarSafetyTests { AvatarStateMachine Basm = B.getStateMachine(); sig2 = new avatartranslator.AvatarSignal("sig2", 0, null); - AvatarActionOnSignal aaos2= new AvatarActionOnSignal("action_on_signal", sig2, null); + AvatarActionOnSignal aaos2= new AvatarActionOnSignal("action_on_signal", sig2, null, A); aaos2.setCheckLatency(true); Basm.addElement(aaos2); @@ -105,7 +105,7 @@ public class AvatarSafetyTests { AvatarBlock C = new AvatarBlock("C", null, null); AvatarStateMachine Casm = C.getStateMachine(); - AvatarState c1= new AvatarState("c1", null); + AvatarState c1 = new AvatarState("c1", null, C); c1.setCheckLatency(true); Casm.addElement(c1); @@ -233,7 +233,7 @@ public class AvatarSafetyTests { public void testMultipleIdsPerSignal(){ AvatarBlock A = as.getBlockWithName("A"); AvatarStateMachine Aasm = A.getStateMachine(); - AvatarActionOnSignal aaos = new AvatarActionOnSignal("action_on_signal", sig, null); + AvatarActionOnSignal aaos = new AvatarActionOnSignal("action_on_signal", sig, null, A); aaos.setCheckLatency(true); Aasm.addElement(aaos); Aasm.getListOfElements().get(0).addNext(aaos); diff --git a/ttool/src/test/resources/ui/diagram2tml/expected/Expected_CloneArchitecture.xml b/ttool/src/test/resources/ui/diagram2tml/expected/Expected_CloneArchitecture.xml index cc9752d03c7e5505e3fc14a980fb24579eb03760..337b2c105ac2f5d7076141744686013ab1e6b195 100644 --- a/ttool/src/test/resources/ui/diagram2tml/expected/Expected_CloneArchitecture.xml +++ b/ttool/src/test/resources/ui/diagram2tml/expected/Expected_CloneArchitecture.xml @@ -1,55 +1,61 @@ <?xml version="1.0" encoding="UTF-8"?> -<TURTLEGMODELING version="1.0beta" ANIMATE_INTERACTIVE_SIMULATION="true" ACTIVATE_PENALTIES="false" 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"> +<TURTLEGMODELING version="3.0 beta" ANIMATE_INTERACTIVE_SIMULATION="true" ACTIVATE_PENALTIES="false" 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="TML Component Design" nameTab="Application" tabs="TML Component Task Diagram$PrimitiveComp2$PrimitiveComp1$PrimitiveComp3$PrimitiveComp4$PrimitiveComp5$PrimitiveComp6" > -<TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="10" maxX="2500" minY="10" maxY="1500" channels="true" events="true" requests="true" zoom="1.0" > -<CONNECTOR type="126" id="1" > +<TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="10" maxX="2500" minY="10" maxY="1500" channels="true" events="true" requests="true" considerExecOperators="true" considerTimingOperators="true" zoom="1.0" > +<CONNECTOR type="126" id="1" index="0" uid="8af87575-53c2-4120-b0db-84b500bea74d" > <cdparam x="475" y="480" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="467" y="365" id="45" /> -<P2 x="514" y="364" id="56" /> +<P1 x="467" y="365" id="17" /> +<P2 x="514" y="364" id="6" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="126" id="2" > +<CONNECTOR type="126" id="2" index="1" uid="6eaa1d57-6f3e-4fb4-9953-fdfe00c4cd48" > <cdparam x="1021" y="460" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="564" y="164" id="6" /> -<P2 x="430" y="163" id="19" /> +<P1 x="564" y="164" id="65" /> +<P2 x="430" y="163" id="52" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="126" id="3" > +<CONNECTOR type="126" id="3" index="2" uid="9ae8855a-43d0-4675-8566-17bc075b216b" > <cdparam x="878" y="469" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="430" y="208" id="21" /> -<P2 x="564" y="209" id="8" /> +<P1 x="430" y="208" id="50" /> +<P2 x="564" y="209" id="63" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="126" id="4" > +<CONNECTOR type="126" id="4" index="3" uid="5540bfdf-bfe6-4e77-bf70-be1228df1193" > <cdparam x="424" y="585" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="424" y="585" id="32" /> -<P2 x="521" y="585" id="34" /> +<P1 x="424" y="585" id="30" /> +<P2 x="521" y="585" id="28" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="126" id="5" > +<CONNECTOR type="126" id="5" index="4" uid="62da8f8f-9a21-4d38-bf5f-53e5a1dcf114" > <cdparam x="1144" y="348" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="1144" y="348" id="87" /> -<P2 x="1144" y="405" id="85" /> +<P1 x="1144" y="348" id="85" /> +<P2 x="1144" y="405" id="87" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<COMPONENT type="1200" id="84" > +<COMPONENT type="1200" id="84" index="5" uid="bdc6328e-613b-47e8-a65a-b0948d4795d7" > <cdparam x="186" y="10" /> <sizeparam width="672" height="618" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="Composite component" value="CompositeComp1" /> +<new d="false" /> <TGConnectingPoint num="0" id="76" /> <TGConnectingPoint num="1" id="77" /> <TGConnectingPoint num="2" id="78" /> @@ -62,35 +68,57 @@ <info hiddeni="false" /> </extraparam> </COMPONENT> -<SUBCOMPONENT type="1202" id="18" > +<SUBCOMPONENT type="1200" id="49" index="7" uid="e2d36680-1d0d-4df5-b752-a314076f7a03" > <father id="84" num="0" /> -<cdparam x="577" y="116" /> +<cdparam x="266" y="278" /> +<sizeparam width="471" height="329" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="201" minY="0" maxY="289" /> +<infoparam name="Composite component" value="CompositeComp2" /> +<new d="false" /> +<TGConnectingPoint num="0" id="41" /> +<TGConnectingPoint num="1" id="42" /> +<TGConnectingPoint num="2" id="43" /> +<TGConnectingPoint num="3" id="44" /> +<TGConnectingPoint num="4" id="45" /> +<TGConnectingPoint num="5" id="46" /> +<TGConnectingPoint num="6" id="47" /> +<TGConnectingPoint num="7" id="48" /> +<extraparam> +<info hiddeni="false" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1202" id="16" index="8" uid="e91ee19d-9fd5-436c-8bf0-d92cb50fd35d" > +<father id="49" num="0" /> +<cdparam x="527" y="316" /> <sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="472" minY="0" maxY="468" /> -<infoparam name="Primitive component" value="PrimitiveComp2" /> -<TGConnectingPoint num="0" id="10" /> -<TGConnectingPoint num="1" id="11" /> -<TGConnectingPoint num="2" id="12" /> -<TGConnectingPoint num="3" id="13" /> -<TGConnectingPoint num="4" id="14" /> -<TGConnectingPoint num="5" id="15" /> -<TGConnectingPoint num="6" id="16" /> -<TGConnectingPoint num="7" id="17" /> +<cdrectangleparam minX="0" maxX="271" minY="0" maxY="179" /> +<infoparam name="Primitive component" value="PrimitiveComp4" /> +<new d="false" /> +<TGConnectingPoint num="0" id="8" /> +<TGConnectingPoint num="1" id="9" /> +<TGConnectingPoint num="2" id="10" /> +<TGConnectingPoint num="3" id="11" /> +<TGConnectingPoint num="4" id="12" /> +<TGConnectingPoint num="5" id="13" /> +<TGConnectingPoint num="6" id="14" /> +<TGConnectingPoint num="7" id="15" /> <extraparam> -<Data isAttacker="No" daemon="false" Operation="" /> +<Data isAttacker="No" daemon="false" periodic="false" periodValue="" unit="" Operation="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="7" > -<father id="18" num="0" /> -<cdparam x="564" y="151" /> +<SUBCOMPONENT type="1203" id="7" index="9" uid="e8486078-3d29-48a1-93bd-bf4ff700b99a" > +<father id="16" num="0" /> +<cdparam x="514" y="351" /> <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> -<infoparam name="Primitive port" value="Channel channel" /> +<infoparam name="Primitive port" value="Channel channel2" /> +<new d="false" /> <TGConnectingPoint num="0" id="6" /> <extraparam> -<Prop commName="channel" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Prop commName="channel2" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -98,16 +126,37 @@ <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="9" > -<father id="18" num="1" /> -<cdparam x="564" y="196" /> +<SUBCOMPONENT type="1202" id="27" index="10" uid="829825e5-abad-4218-a82c-61022d5419fb" > +<father id="49" num="1" /> +<cdparam x="285" y="318" /> +<sizeparam width="169" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="302" minY="0" maxY="179" /> +<infoparam name="Primitive component" value="PrimitiveComp3" /> +<new d="false" /> +<TGConnectingPoint num="0" id="19" /> +<TGConnectingPoint num="1" id="20" /> +<TGConnectingPoint num="2" id="21" /> +<TGConnectingPoint num="3" id="22" /> +<TGConnectingPoint num="4" id="23" /> +<TGConnectingPoint num="5" id="24" /> +<TGConnectingPoint num="6" id="25" /> +<TGConnectingPoint num="7" id="26" /> +<extraparam> +<Data isAttacker="No" daemon="false" periodic="false" periodValue="" unit="" Operation="" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1203" id="18" index="11" uid="5d049a90-7016-48a4-ba97-4c0b85b08c47" > +<father id="27" num="0" /> +<cdparam x="441" y="352" /> <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> -<infoparam name="Primitive port" value="Event event" /> -<TGConnectingPoint num="0" id="8" /> +<cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="137" /> +<infoparam name="Primitive port" value="Channel channel2" /> +<new d="false" /> +<TGConnectingPoint num="0" id="17" /> <extraparam> -<Prop commName="event" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Prop commName="channel2" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -115,35 +164,39 @@ <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1202" id="31" > -<father id="84" num="1" /> -<cdparam x="217" y="116" /> -<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<SUBCOMPONENT type="1202" id="40" index="12" uid="fc1a53f0-4458-4c59-b485-23612a03969a" > +<father id="49" num="2" /> +<cdparam x="399" y="491" /> +<sizeparam width="169" height="81" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="472" minY="0" maxY="468" /> -<infoparam name="Primitive component" value="PrimitiveComp1" /> -<TGConnectingPoint num="0" id="23" /> -<TGConnectingPoint num="1" id="24" /> -<TGConnectingPoint num="2" id="25" /> -<TGConnectingPoint num="3" id="26" /> -<TGConnectingPoint num="4" id="27" /> -<TGConnectingPoint num="5" id="28" /> -<TGConnectingPoint num="6" id="29" /> -<TGConnectingPoint num="7" id="30" /> +<cdrectangleparam minX="0" maxX="302" minY="0" maxY="248" /> +<infoparam name="Primitive component" value="PrimitiveComp5" /> +<new d="false" /> +<TGConnectingPoint num="0" id="32" /> +<TGConnectingPoint num="1" id="33" /> +<TGConnectingPoint num="2" id="34" /> +<TGConnectingPoint num="3" id="35" /> +<TGConnectingPoint num="4" id="36" /> +<TGConnectingPoint num="5" id="37" /> +<TGConnectingPoint num="6" id="38" /> +<TGConnectingPoint num="7" id="39" /> <extraparam> -<Data isAttacker="No" daemon="false" Operation="" /> +<Data isAttacker="No" daemon="false" periodic="false" periodValue="" unit="" Operation="" /> +<Attribute access="2" id="attr1" value="" type="0" typeOther="" /> +<Attribute access="2" id="attr2" value="" type="4" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="20" > -<father id="31" num="0" /> -<cdparam x="404" y="150" /> +<SUBCOMPONENT type="1203" id="29" index="13" uid="8e7f4945-423e-4b7d-acb7-06af8a5765d1" > +<father id="40" num="0" /> +<cdparam x="508" y="559" /> <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> -<infoparam name="Primitive port" value="Channel channel" /> -<TGConnectingPoint num="0" id="19" /> +<cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="68" /> +<infoparam name="Primitive port" value="Channel channel3" /> +<new d="false" /> +<TGConnectingPoint num="0" id="28" /> <extraparam> -<Prop commName="channel" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Prop commName="channel3" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -151,16 +204,17 @@ <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="22" > -<father id="31" num="1" /> -<cdparam x="404" y="195" /> +<SUBCOMPONENT type="1203" id="31" index="14" uid="2087d163-0718-4d80-bc1f-1805b5cf2aeb" > +<father id="40" num="1" /> +<cdparam x="411" y="559" /> <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> -<infoparam name="Primitive port" value="Event event" /> -<TGConnectingPoint num="0" id="21" /> +<cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="68" /> +<infoparam name="Primitive port" value="Channel channel3" /> +<new d="false" /> +<TGConnectingPoint num="0" id="30" /> <extraparam> -<Prop commName="event" commType="1" origin="true" finite="true" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Prop commName="channel3" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -168,56 +222,37 @@ <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1200" id="75" > -<father id="84" num="2" /> -<cdparam x="266" y="278" /> -<sizeparam width="471" height="329" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<SUBCOMPONENT type="1202" id="62" index="15" uid="4db79aba-1ba9-4f33-9ac2-b3b612e98569" > +<father id="84" num="1" /> +<cdparam x="217" y="116" /> +<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="201" minY="0" maxY="289" /> -<infoparam name="Composite component" value="CompositeComp2" /> -<TGConnectingPoint num="0" id="67" /> -<TGConnectingPoint num="1" id="68" /> -<TGConnectingPoint num="2" id="69" /> -<TGConnectingPoint num="3" id="70" /> -<TGConnectingPoint num="4" id="71" /> -<TGConnectingPoint num="5" id="72" /> -<TGConnectingPoint num="6" id="73" /> -<TGConnectingPoint num="7" id="74" /> +<cdrectangleparam minX="0" maxX="472" minY="0" maxY="468" /> +<infoparam name="Primitive component" value="PrimitiveComp1" /> +<new d="false" /> +<TGConnectingPoint num="0" id="54" /> +<TGConnectingPoint num="1" id="55" /> +<TGConnectingPoint num="2" id="56" /> +<TGConnectingPoint num="3" id="57" /> +<TGConnectingPoint num="4" id="58" /> +<TGConnectingPoint num="5" id="59" /> +<TGConnectingPoint num="6" id="60" /> +<TGConnectingPoint num="7" id="61" /> <extraparam> -<info hiddeni="false" /> -</extraparam> -</SUBCOMPONENT> -<SUBCOMPONENT type="1202" id="44" > -<father id="75" num="0" /> -<cdparam x="399" y="491" /> -<sizeparam width="169" height="81" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="0" maxX="302" minY="0" maxY="248" /> -<infoparam name="Primitive component" value="PrimitiveComp5" /> -<TGConnectingPoint num="0" id="36" /> -<TGConnectingPoint num="1" id="37" /> -<TGConnectingPoint num="2" id="38" /> -<TGConnectingPoint num="3" id="39" /> -<TGConnectingPoint num="4" id="40" /> -<TGConnectingPoint num="5" id="41" /> -<TGConnectingPoint num="6" id="42" /> -<TGConnectingPoint num="7" id="43" /> -<extraparam> -<Data isAttacker="No" daemon="false" Operation="" /> -<Attribute access="2" id="attr1" value="" type="0" typeOther="" /> -<Attribute access="2" id="attr2" value="" type="4" typeOther="" /> +<Data isAttacker="No" daemon="false" periodic="false" periodValue="" unit="" Operation="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="33" > -<father id="44" num="0" /> -<cdparam x="411" y="559" /> +<SUBCOMPONENT type="1203" id="51" index="16" uid="e673fdfe-6070-4285-9c15-54bc5bc5201b" > +<father id="62" num="0" /> +<cdparam x="404" y="195" /> <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="68" /> -<infoparam name="Primitive port" value="Channel channel3" /> -<TGConnectingPoint num="0" id="32" /> +<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> +<infoparam name="Primitive port" value="Event event" /> +<new d="false" /> +<TGConnectingPoint num="0" id="50" /> <extraparam> -<Prop commName="channel3" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Prop commName="event" commType="1" origin="true" finite="true" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -225,16 +260,17 @@ <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="35" > -<father id="44" num="1" /> -<cdparam x="508" y="559" /> +<SUBCOMPONENT type="1203" id="53" index="17" uid="f5076fbb-a6e2-4e8a-820b-3e3eb8f63fd1" > +<father id="62" num="1" /> +<cdparam x="404" y="150" /> <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="68" /> -<infoparam name="Primitive port" value="Channel channel3" /> -<TGConnectingPoint num="0" id="34" /> +<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> +<infoparam name="Primitive port" value="Channel channel" /> +<new d="false" /> +<TGConnectingPoint num="0" id="52" /> <extraparam> -<Prop commName="channel3" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Prop commName="channel" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -242,35 +278,37 @@ <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1202" id="55" > -<father id="75" num="1" /> -<cdparam x="285" y="318" /> -<sizeparam width="169" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<SUBCOMPONENT type="1202" id="75" index="18" uid="3c9e82b2-dd04-4497-adcf-5dcb8d880801" > +<father id="84" num="2" /> +<cdparam x="577" y="116" /> +<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="302" minY="0" maxY="179" /> -<infoparam name="Primitive component" value="PrimitiveComp3" /> -<TGConnectingPoint num="0" id="47" /> -<TGConnectingPoint num="1" id="48" /> -<TGConnectingPoint num="2" id="49" /> -<TGConnectingPoint num="3" id="50" /> -<TGConnectingPoint num="4" id="51" /> -<TGConnectingPoint num="5" id="52" /> -<TGConnectingPoint num="6" id="53" /> -<TGConnectingPoint num="7" id="54" /> +<cdrectangleparam minX="0" maxX="472" minY="0" maxY="468" /> +<infoparam name="Primitive component" value="PrimitiveComp2" /> +<new d="false" /> +<TGConnectingPoint num="0" id="67" /> +<TGConnectingPoint num="1" id="68" /> +<TGConnectingPoint num="2" id="69" /> +<TGConnectingPoint num="3" id="70" /> +<TGConnectingPoint num="4" id="71" /> +<TGConnectingPoint num="5" id="72" /> +<TGConnectingPoint num="6" id="73" /> +<TGConnectingPoint num="7" id="74" /> <extraparam> -<Data isAttacker="No" daemon="false" Operation="" /> +<Data isAttacker="No" daemon="false" periodic="false" periodValue="" unit="" Operation="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="46" > -<father id="55" num="0" /> -<cdparam x="441" y="352" /> +<SUBCOMPONENT type="1203" id="64" index="19" uid="96e91aae-3fc4-4722-864f-2444780eae50" > +<father id="75" num="0" /> +<cdparam x="564" y="196" /> <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="137" /> -<infoparam name="Primitive port" value="Channel channel2" /> -<TGConnectingPoint num="0" id="45" /> +<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> +<infoparam name="Primitive port" value="Event event" /> +<new d="false" /> +<TGConnectingPoint num="0" id="63" /> <extraparam> -<Prop commName="channel2" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Prop commName="event" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -278,35 +316,17 @@ <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1202" id="66" > -<father id="75" num="2" /> -<cdparam x="527" y="316" /> -<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="0" maxX="271" minY="0" maxY="179" /> -<infoparam name="Primitive component" value="PrimitiveComp4" /> -<TGConnectingPoint num="0" id="58" /> -<TGConnectingPoint num="1" id="59" /> -<TGConnectingPoint num="2" id="60" /> -<TGConnectingPoint num="3" id="61" /> -<TGConnectingPoint num="4" id="62" /> -<TGConnectingPoint num="5" id="63" /> -<TGConnectingPoint num="6" id="64" /> -<TGConnectingPoint num="7" id="65" /> -<extraparam> -<Data isAttacker="No" daemon="false" Operation="" /> -</extraparam> -</SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="57" > -<father id="66" num="0" /> -<cdparam x="514" y="351" /> +<SUBCOMPONENT type="1203" id="66" index="20" uid="6d581041-66af-4870-b447-b26a5243dc58" > +<father id="75" num="1" /> +<cdparam x="564" y="151" /> <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> -<infoparam name="Primitive port" value="Channel channel2" /> -<TGConnectingPoint num="0" id="56" /> +<infoparam name="Primitive port" value="Channel channel" /> +<new d="false" /> +<TGConnectingPoint num="0" id="65" /> <extraparam> -<Prop commName="channel2" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Prop commName="channel" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -315,12 +335,13 @@ </extraparam> </SUBCOMPONENT> -<COMPONENT type="1202" id="97" > +<COMPONENT type="1202" id="97" index="6" uid="3a86c2ce-22bf-4998-8626-4ff0ed7588b8" > <cdparam x="931" y="292" /> <sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="Primitive component" value="PrimitiveComp6" /> +<new d="false" /> <TGConnectingPoint num="0" id="89" /> <TGConnectingPoint num="1" id="90" /> <TGConnectingPoint num="2" id="91" /> @@ -330,19 +351,20 @@ <TGConnectingPoint num="6" id="95" /> <TGConnectingPoint num="7" id="96" /> <extraparam> -<Data isAttacker="No" daemon="false" Operation="" /> +<Data isAttacker="No" daemon="false" periodic="false" periodValue="" unit="" Operation="" /> </extraparam> </COMPONENT> -<SUBCOMPONENT type="1203" id="86" > +<SUBCOMPONENT type="1203" id="86" index="21" uid="e4221584-3b2c-4de6-aefa-619498d06f4c" > <father id="97" num="0" /> -<cdparam x="1118" y="392" /> +<cdparam x="1118" y="335" /> <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> <infoparam name="Primitive port" value="Channel channel4" /> +<new d="false" /> <TGConnectingPoint num="0" id="85" /> <extraparam> -<Prop commName="channel4" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Prop commName="channel4" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -350,16 +372,17 @@ <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="88" > +<SUBCOMPONENT type="1203" id="88" index="22" uid="65f1365b-f30f-4fe1-a019-0342eb1b2247" > <father id="97" num="1" /> -<cdparam x="1118" y="335" /> +<cdparam x="1118" y="392" /> <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> <infoparam name="Primitive port" value="Channel channel4" /> +<new d="false" /> <TGConnectingPoint num="0" id="87" /> <extraparam> -<Prop commName="channel4" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Prop commName="channel4" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -371,32 +394,35 @@ </TMLComponentTaskDiagramPanel> -<TMLActivityDiagramPanel name="PrimitiveComp2" minX="10" maxX="2500" minY="10" maxY="1500" > -<COMPONENT type="1001" id="99" > +<TMLActivityDiagramPanel name="PrimitiveComp2" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > +<COMPONENT type="1001" id="99" index="0" uid="6da0a508-4dda-4300-b097-c077740eb33d" > <cdparam x="520" y="416" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="stop state" value="null" /> +<new d="false" /> <TGConnectingPoint num="0" id="98" /> </COMPONENT> -<COMPONENT type="1001" id="101" > +<COMPONENT type="1001" id="101" index="1" uid="5052f597-5b12-491f-b6c0-a67435ee92c0" > <cdparam x="397" y="418" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="stop state" value="null" /> +<new d="false" /> <TGConnectingPoint num="0" id="100" /> </COMPONENT> -<COMPONENT type="1010" id="104" > -<cdparam x="501" y="302" /> -<sizeparam width="59" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1010" id="104" index="2" uid="606c5322-1c3f-49ca-852a-4f4145cff274" > +<cdparam x="494" y="302" /> +<sizeparam width="73" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="wait event" value="event() " /> +<new d="false" /> <TGConnectingPoint num="0" id="102" /> <TGConnectingPoint num="1" id="103" /> <extraparam> @@ -404,13 +430,14 @@ </extraparam> </COMPONENT> -<COMPONENT type="1009" id="107" > -<cdparam x="366" y="296" /> -<sizeparam width="82" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1009" id="107" index="3" uid="bfb5405c-d248-465c-b36d-5faa9e202e59" > +<cdparam x="360" y="296" /> +<sizeparam width="94" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="read channel" value="channel(1) " /> +<new d="false" /> <TGConnectingPoint num="0" id="105" /> <TGConnectingPoint num="1" id="106" /> <extraparam> @@ -418,52 +445,57 @@ </extraparam> </COMPONENT> -<COMPONENT type="1012" id="115" > +<COMPONENT type="1012" id="115" index="4" uid="6ad3c6cd-468c-4d98-890c-aa5d527e6576" > <cdparam x="392" y="175" /> <sizeparam width="30" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="choice" value="null" /> +<new d="false" /> <TGConnectingPoint num="0" id="111" /> <TGConnectingPoint num="1" id="112" /> <TGConnectingPoint num="2" id="113" /> <TGConnectingPoint num="3" id="114" /> </COMPONENT> -<SUBCOMPONENT type="-1" id="108" > +<SUBCOMPONENT type="-1" id="108" index="11" uid="dd4b5e53-45ec-41ad-b545-fd8bec711a48" > <father id="115" num="0" /> <cdparam x="367" y="185" /> -<sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="12" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" /> <infoparam name="guard 1" value="[ ]" /> +<new d="false" /> </SUBCOMPONENT> -<SUBCOMPONENT type="-1" id="109" > +<SUBCOMPONENT type="-1" id="109" index="12" uid="3929520b-7003-4dba-82d7-f71d0ece4581" > <father id="115" num="1" /> <cdparam x="427" y="185" /> -<sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="12" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" /> <infoparam name="guard 2" value="[ ]" /> +<new d="false" /> </SUBCOMPONENT> -<SUBCOMPONENT type="-1" id="110" > +<SUBCOMPONENT type="-1" id="110" index="13" uid="bec35e0a-6dca-4133-9301-ddb39dca0d0a" > <father id="115" num="2" /> <cdparam x="412" y="220" /> -<sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="12" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" /> <infoparam name="guard 3" value="[ ]" /> +<new d="false" /> </SUBCOMPONENT> -<COMPONENT type="1000" id="117" > +<COMPONENT type="1000" id="117" index="5" uid="37dda326-c0b2-4496-b00d-0f9840e63091" > <cdparam x="400" y="50" /> <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="start state" value="null" /> +<new d="false" /> <TGConnectingPoint num="0" id="116" /> </COMPONENT> -<CONNECTOR type="115" id="119" > +<CONNECTOR type="115" id="119" index="6" uid="5daf4b58-3419-4731-8c8f-b3c5e54f295e" > <cdparam x="447" y="190" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> @@ -471,835 +503,920 @@ <P2 x="530" y="297" id="102" /> <Point x="530" y="243" /> <AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="118" > +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="118" index="14" uid="64ecfa0e-7eae-4c39-8747-3a4e4417ebc6" > <father id="119" num="0" /> <cdparam x="530" y="243" /> -<sizeparam width="1" height="1" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="8" height="8" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="point " value="null" /> +<new d="false" /> </SUBCOMPONENT> -<CONNECTOR type="115" id="120" > +<CONNECTOR type="115" id="120" index="7" uid="59835080-28bc-41f5-8239-6da04e4c05cc" > <cdparam x="407" y="65" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="407" y="65" id="116" /> -<P2 x="407" y="165" id="111" /> +<P1 x="407" y="70" id="116" /> +<P2 x="407" y="170" id="111" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="121" > +<CONNECTOR type="115" id="121" index="8" uid="e7ffdc40-14ff-4666-87bf-2d77c17a56ff" > <cdparam x="407" y="230" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> <P1 x="407" y="230" id="114" /> <P2 x="407" y="291" id="105" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="122" > +<CONNECTOR type="115" id="122" index="9" uid="998308d3-a352-4605-9f98-afa91310ff1c" > <cdparam x="407" y="321" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> <P1 x="407" y="321" id="106" /> <P2 x="407" y="413" id="100" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="123" > +<CONNECTOR type="115" id="123" index="10" uid="a955f4ea-3d8e-4a37-8402-31b754d059cb" > <cdparam x="530" y="327" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> <P1 x="530" y="327" id="103" /> <P2 x="530" y="411" id="98" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> </TMLActivityDiagramPanel> -<TMLActivityDiagramPanel name="PrimitiveComp1" minX="10" maxX="2500" minY="10" maxY="1500" > -<COMPONENT type="1001" id="131" > +<TMLActivityDiagramPanel name="PrimitiveComp1" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > +<COMPONENT type="1001" id="125" index="0" uid="b88edb2d-2cb4-429b-9b78-e06c94723bb3" > <cdparam x="397" y="440" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="130" /> +<new d="false" /> +<TGConnectingPoint num="0" id="124" /> </COMPONENT> -<COMPONENT type="1001" id="133" > +<COMPONENT type="1001" id="127" index="1" uid="03920b3d-811a-4c78-b49a-8b6443997d3f" > <cdparam x="302" y="444" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="132" /> +<new d="false" /> +<TGConnectingPoint num="0" id="126" /> </COMPONENT> -<COMPONENT type="1008" id="136" > +<COMPONENT type="1008" id="130" index="2" uid="e5bf9c4e-c3a5-486a-8b3b-7313f4ec92c2" > <cdparam x="285" y="326" /> <sizeparam width="55" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="send event" value="event()" /> -<TGConnectingPoint num="0" id="134" /> -<TGConnectingPoint num="1" id="135" /> +<new d="false" /> +<TGConnectingPoint num="0" id="128" /> +<TGConnectingPoint num="1" id="129" /> <extraparam> <Data eventName="event" nbOfParams="5" /> </extraparam> </COMPONENT> -<COMPONENT type="1006" id="139" > +<COMPONENT type="1006" id="133" index="3" uid="2c251e3c-2333-455f-8373-55ebfc48248e" > <cdparam x="368" y="324" /> <sizeparam width="78" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="write channel" value="channel(1)" /> -<TGConnectingPoint num="0" id="137" /> -<TGConnectingPoint num="1" id="138" /> +<new d="false" /> +<TGConnectingPoint num="0" id="131" /> +<TGConnectingPoint num="1" id="132" /> <extraparam> <Data channelName="channel" nbOfSamples="1" secPattern="" isAttacker="Yes" isEncForm="Yes" /> </extraparam> </COMPONENT> -<COMPONENT type="1012" id="147" > +<COMPONENT type="1012" id="141" index="4" uid="1d7d565f-2054-4df3-a5d5-8159729b0f2a" > <cdparam x="392" y="183" /> <sizeparam width="30" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="choice" value="null" /> -<TGConnectingPoint num="0" id="143" /> -<TGConnectingPoint num="1" id="144" /> -<TGConnectingPoint num="2" id="145" /> -<TGConnectingPoint num="3" id="146" /> +<new d="false" /> +<TGConnectingPoint num="0" id="137" /> +<TGConnectingPoint num="1" id="138" /> +<TGConnectingPoint num="2" id="139" /> +<TGConnectingPoint num="3" id="140" /> </COMPONENT> -<SUBCOMPONENT type="-1" id="140" > -<father id="147" num="0" /> +<SUBCOMPONENT type="-1" id="134" index="11" uid="0722c79d-59eb-4a46-bbea-bd98095edc0a" > +<father id="141" num="0" /> <cdparam x="367" y="193" /> <sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" /> <infoparam name="guard 1" value="[ ]" /> +<new d="false" /> </SUBCOMPONENT> -<SUBCOMPONENT type="-1" id="141" > -<father id="147" num="1" /> +<SUBCOMPONENT type="-1" id="135" index="12" uid="579ec11e-4b31-40c7-af70-7a626d8705a8" > +<father id="141" num="1" /> <cdparam x="427" y="193" /> <sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" /> <infoparam name="guard 2" value="[ ]" /> +<new d="false" /> </SUBCOMPONENT> -<SUBCOMPONENT type="-1" id="142" > -<father id="147" num="2" /> +<SUBCOMPONENT type="-1" id="136" index="13" uid="fac25b09-dc84-401e-bf7d-312bcd9ce5d2" > +<father id="141" num="2" /> <cdparam x="412" y="228" /> <sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" /> <infoparam name="guard 3" value="[ ]" /> +<new d="false" /> </SUBCOMPONENT> -<COMPONENT type="1000" id="149" > +<COMPONENT type="1000" id="143" index="5" uid="f47bee01-bd2b-493c-bcb2-baec2dc8aaf5" > <cdparam x="400" y="50" /> <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="148" /> +<new d="false" /> +<TGConnectingPoint num="0" id="142" /> </COMPONENT> -<CONNECTOR type="115" id="151" > +<CONNECTOR type="115" id="145" index="6" uid="1a3f837f-abc6-40b9-8208-a304dcc0e2a1" > <cdparam x="367" y="198" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="367" y="198" id="144" /> -<P2 x="312" y="321" id="134" /> +<P1 x="367" y="198" id="138" /> +<P2 x="312" y="321" id="128" /> <Point x="312" y="198" /> <AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="150" > -<father id="151" num="0" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="144" index="14" uid="de9f56b4-0d92-45b6-84d7-8071f286b56c" > +<father id="145" num="0" /> <cdparam x="312" y="198" /> -<sizeparam width="1" height="1" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="8" height="8" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="point " value="null" /> +<new d="false" /> </SUBCOMPONENT> -<CONNECTOR type="115" id="152" > +<CONNECTOR type="115" id="146" index="7" uid="f807f97c-2419-469b-9c39-4cc2419ae4c1" > <cdparam x="407" y="65" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="407" y="65" id="148" /> -<P2 x="407" y="173" id="143" /> +<P1 x="407" y="70" id="142" /> +<P2 x="407" y="178" id="137" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="153" > +<CONNECTOR type="115" id="147" index="8" uid="4c4ed793-4c7b-4ea3-a9f4-961a872864b0" > <cdparam x="407" 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="407" y="238" id="146" /> -<P2 x="407" y="319" id="137" /> +<P1 x="407" y="238" id="140" /> +<P2 x="407" y="319" id="131" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="154" > +<CONNECTOR type="115" id="148" index="9" uid="1e31d99c-0a8c-44eb-9515-6358d140d447" > <cdparam x="312" y="351" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="312" y="351" id="135" /> -<P2 x="312" y="439" id="132" /> +<P1 x="312" y="351" id="129" /> +<P2 x="312" y="439" id="126" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="155" > +<CONNECTOR type="115" id="149" index="10" uid="86d1ce02-8ce7-42f7-9c0b-975ef7be7f07" > <cdparam x="407" y="349" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="407" y="349" id="138" /> -<P2 x="407" y="435" id="130" /> +<P1 x="407" y="349" id="132" /> +<P2 x="407" y="435" id="124" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> </TMLActivityDiagramPanel> -<TMLActivityDiagramPanel name="PrimitiveComp3" minX="10" maxX="2500" minY="10" maxY="1500" > -<COMPONENT type="1001" id="157" > +<TMLActivityDiagramPanel name="PrimitiveComp3" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > +<COMPONENT type="1001" id="151" index="0" uid="748c85f2-11f4-41bf-8fca-0998d2b100aa" > <cdparam x="397" y="269" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="156" /> +<new d="false" /> +<TGConnectingPoint num="0" id="150" /> </COMPONENT> -<COMPONENT type="1006" id="160" > -<cdparam x="364" y="143" /> -<sizeparam width="86" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1006" id="154" index="1" uid="3acc3f6a-f36e-4913-8585-c907854f5095" > +<cdparam x="358" y="143" /> +<sizeparam width="98" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="write channel" value="channel2(1)" /> -<TGConnectingPoint num="0" id="158" /> -<TGConnectingPoint num="1" id="159" /> +<new d="false" /> +<TGConnectingPoint num="0" id="152" /> +<TGConnectingPoint num="1" id="153" /> <extraparam> <Data channelName="channel2" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="162" > +<COMPONENT type="1000" id="156" index="2" uid="e61a5b8a-4861-43c8-b270-f5d40b49832e" > <cdparam x="400" y="50" /> <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="161" /> +<new d="false" /> +<TGConnectingPoint num="0" id="155" /> </COMPONENT> -<CONNECTOR type="115" id="163" > +<CONNECTOR type="115" id="157" index="3" uid="4187df15-8622-4d30-a967-56cc0af3b892" > <cdparam x="407" y="168" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="407" y="168" id="159" /> -<P2 x="407" y="264" id="156" /> +<P1 x="407" y="168" id="153" /> +<P2 x="407" y="264" id="150" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="164" > +<CONNECTOR type="115" id="158" index="4" uid="2516b79f-9c25-4519-9541-bc17643230e6" > <cdparam x="407" y="65" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="407" y="65" id="161" /> -<P2 x="407" y="138" id="158" /> +<P1 x="407" y="70" id="155" /> +<P2 x="407" y="138" id="152" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> </TMLActivityDiagramPanel> -<TMLActivityDiagramPanel name="PrimitiveComp4" minX="10" maxX="2500" minY="10" maxY="1500" > -<COMPONENT type="1001" id="166" > +<TMLActivityDiagramPanel name="PrimitiveComp4" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > +<COMPONENT type="1001" id="160" index="0" uid="dc3afcd5-2dea-40be-96d8-0993533d51cd" > <cdparam x="397" y="274" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="165" /> +<new d="false" /> +<TGConnectingPoint num="0" id="159" /> </COMPONENT> -<COMPONENT type="1009" id="169" > -<cdparam x="362" y="162" /> -<sizeparam width="90" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1009" id="163" index="1" uid="3d77c356-82c1-4d0d-a965-be3618022238" > +<cdparam x="356" y="162" /> +<sizeparam width="102" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="read channel" value="channel2(1) " /> -<TGConnectingPoint num="0" id="167" /> -<TGConnectingPoint num="1" id="168" /> +<new d="false" /> +<TGConnectingPoint num="0" id="161" /> +<TGConnectingPoint num="1" id="162" /> <extraparam> <Data channelName="channel2" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="171" > +<COMPONENT type="1000" id="165" index="2" uid="1efd63ee-fe3e-49d8-9777-5c9d6370bbb2" > <cdparam x="400" y="50" /> <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="170" /> +<new d="false" /> +<TGConnectingPoint num="0" id="164" /> </COMPONENT> -<CONNECTOR type="115" id="172" > +<CONNECTOR type="115" id="166" index="3" uid="de551952-7094-4841-9a25-784a16240216" > <cdparam x="407" y="65" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="407" y="65" id="170" /> -<P2 x="407" y="157" id="167" /> +<P1 x="407" y="70" id="164" /> +<P2 x="407" y="157" id="161" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="173" > +<CONNECTOR type="115" id="167" index="4" uid="1c70447b-972e-4e50-8121-11168bc05b1e" > <cdparam x="407" y="187" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="407" y="187" id="168" /> -<P2 x="407" y="269" id="165" /> +<P1 x="407" y="187" id="162" /> +<P2 x="407" y="269" id="159" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> </TMLActivityDiagramPanel> -<TMLActivityDiagramPanel name="PrimitiveComp5" minX="10" maxX="2500" minY="10" maxY="1500" > -<COMPONENT type="1001" id="175" > +<TMLActivityDiagramPanel name="PrimitiveComp5" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > +<COMPONENT type="1001" id="169" index="0" uid="4dd6c087-0124-4af7-8bd7-afedb2cda2a7" > <cdparam x="1077" y="1208" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="174" /> +<new d="false" /> +<TGConnectingPoint num="0" id="168" /> </COMPONENT> -<COMPONENT type="1013" id="179" > +<COMPONENT type="1013" id="173" index="1" uid="4a7b86fc-c93a-4d2d-9e5e-60c4c0a7f577" > <cdparam x="503" y="270" /> <sizeparam width="10" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="execI" value="null" /> -<TGConnectingPoint num="0" id="177" /> -<TGConnectingPoint num="1" id="178" /> +<new d="false" /> +<TGConnectingPoint num="0" id="171" /> +<TGConnectingPoint num="1" id="172" /> </COMPONENT> -<SUBCOMPONENT type="-1" id="176" > -<father id="179" num="0" /> +<SUBCOMPONENT type="-1" id="170" index="41" uid="a9395928-7ab7-4c99-9a96-a1226bc1c69f" > +<father id="173" num="0" /> <cdparam x="518" y="290" /> <sizeparam width="16" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" /> <infoparam name="value of the delay" value="10" /> +<new d="false" /> </SUBCOMPONENT> -<COMPONENT type="1015" id="183" > +<COMPONENT type="1015" id="177" index="2" uid="d1cb7a98-47c3-4dbf-aeb1-20bdf60d50a6" > <cdparam x="510" y="341" /> <sizeparam width="10" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="execIInterval" value="null" /> -<TGConnectingPoint num="0" id="181" /> -<TGConnectingPoint num="1" id="182" /> +<new d="false" /> +<TGConnectingPoint num="0" id="175" /> +<TGConnectingPoint num="1" id="176" /> </COMPONENT> -<SUBCOMPONENT type="-1" id="180" > -<father id="183" num="0" /> +<SUBCOMPONENT type="-1" id="174" index="42" uid="2c39bc8e-c011-4d3b-b1a7-5d2ccfb3a9cf" > +<father id="177" num="0" /> <cdparam x="525" y="361" /> -<sizeparam width="51" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="49" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" /> <infoparam name="value of the time interval" value="[10, 20]" /> +<new d="false" /> <extraparam> <Interval minDelay="10" maxDelay="20" /> </extraparam> </SUBCOMPONENT> -<COMPONENT type="1026" id="187" > +<COMPONENT type="1026" id="181" index="3" uid="f2fc4554-119e-48c1-a0b5-f5ed288f62dd" > <cdparam x="508" y="413" /> <sizeparam width="10" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="delay" value="null" /> -<TGConnectingPoint num="0" id="185" /> -<TGConnectingPoint num="1" id="186" /> +<new d="false" /> +<TGConnectingPoint num="0" id="179" /> +<TGConnectingPoint num="1" id="180" /> </COMPONENT> -<SUBCOMPONENT type="-1" id="184" > -<father id="187" num="0" /> +<SUBCOMPONENT type="-1" id="178" index="43" uid="ec672f24-ef0e-40e9-8c0d-c672d12be32b" > +<father id="181" num="0" /> <cdparam x="523" y="433" /> -<sizeparam width="39" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="38" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" /> <infoparam name="value of the delay" value="10 ms" /> +<new d="false" /> <extraparam> -<TimeDelay minDelay="10" maxDelay="nope" hasMaxDelay="false" unit="ms" /> +<TimeDelay minDelay="10" maxDelay="nope" hasMaxDelay="false" isActiveDelay="false" unit="ms" /> </extraparam> </SUBCOMPONENT> -<COMPONENT type="1028" id="191" > +<COMPONENT type="1028" id="185" index="4" uid="a375bc23-03e4-4882-8695-bad0c7cce7ad" > <cdparam x="496" y="677" /> <sizeparam width="10" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="delayInterval" value="null" /> -<TGConnectingPoint num="0" id="189" /> -<TGConnectingPoint num="1" id="190" /> +<new d="false" /> +<TGConnectingPoint num="0" id="183" /> +<TGConnectingPoint num="1" id="184" /> </COMPONENT> -<SUBCOMPONENT type="-1" id="188" > -<father id="191" num="0" /> +<SUBCOMPONENT type="-1" id="182" index="44" uid="8a634df0-f01d-4365-947c-d9467cf58f48" > +<father id="185" num="0" /> <cdparam x="511" y="697" /> -<sizeparam width="73" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="70" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" /> <infoparam name="value of the interval delay" value="[10, 20] ms" /> +<new d="false" /> <extraparam> -<TimeDelay minDelay="10" maxDelay="20" hasMaxDelay="true" unit="ms" /> +<TimeDelay minDelay="10" maxDelay="20" hasMaxDelay="true" isActiveDelay="false" unit="ms" /> </extraparam> </SUBCOMPONENT> -<COMPONENT type="1032" id="199" > +<COMPONENT type="1032" id="193" index="5" uid="e58dabce-58c7-4c85-ac91-4c84a66a375b" > <cdparam x="969" y="1006" /> <sizeparam width="150" height="5" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="sequence" value="null" /> -<TGConnectingPoint num="0" id="193" /> -<TGConnectingPoint num="1" id="194" /> -<TGConnectingPoint num="2" id="195" /> -<TGConnectingPoint num="3" id="196" /> -<TGConnectingPoint num="4" id="197" /> -<TGConnectingPoint num="5" id="198" /> +<new d="false" /> +<TGConnectingPoint num="0" id="187" /> +<TGConnectingPoint num="1" id="188" /> +<TGConnectingPoint num="2" id="189" /> +<TGConnectingPoint num="3" id="190" /> +<TGConnectingPoint num="4" id="191" /> +<TGConnectingPoint num="5" id="192" /> </COMPONENT> -<SUBCOMPONENT type="-1" id="192" > -<father id="199" num="0" /> +<SUBCOMPONENT type="-1" id="186" index="45" uid="e51c6479-e48c-4817-8341-ef0e5dbb9ba8" > +<father id="193" num="0" /> <cdparam x="1123" y="1013" /> <sizeparam width="20" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="154" maxX="154" minY="7" maxY="7" /> <infoparam name="Sequence information" value=">>" /> +<new d="false" /> </SUBCOMPONENT> -<COMPONENT type="1001" id="201" > +<COMPONENT type="1001" id="195" index="6" uid="0d9db5ee-5769-4744-a4fc-05c83af6c19a" > <cdparam x="844" y="947" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="200" /> +<new d="false" /> +<TGConnectingPoint num="0" id="194" /> </COMPONENT> -<COMPONENT type="1001" id="203" > +<COMPONENT type="1001" id="197" index="7" uid="01f577ad-968d-4dd2-bc13-7cf233f6909d" > <cdparam x="981" y="1153" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="202" /> +<new d="false" /> +<TGConnectingPoint num="0" id="196" /> </COMPONENT> -<COMPONENT type="1011" id="206" > +<COMPONENT type="1011" id="200" index="8" uid="28b31106-8c50-4f50-9e88-3477a7ba7f1a" > <cdparam x="959" y="1053" /> <sizeparam width="67" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="action state" value="attr1 = 2" /> -<TGConnectingPoint num="0" id="204" /> -<TGConnectingPoint num="1" id="205" /> +<new d="false" /> +<TGConnectingPoint num="0" id="198" /> +<TGConnectingPoint num="1" id="199" /> </COMPONENT> -<COMPONENT type="1011" id="209" > +<COMPONENT type="1011" id="203" index="9" uid="5b786f4b-c4fa-4d67-b27d-f1d5dfe5ad7a" > <cdparam x="1041" y="1054" /> <sizeparam width="85" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="action state" value="attr2 = true" /> -<TGConnectingPoint num="0" id="207" /> -<TGConnectingPoint num="1" id="208" /> +<new d="false" /> +<TGConnectingPoint num="0" id="201" /> +<TGConnectingPoint num="1" id="202" /> </COMPONENT> -<COMPONENT type="1011" id="212" > +<COMPONENT type="1011" id="206" index="10" uid="60502e05-249d-4977-8f52-fe68af94df81" > <cdparam x="973" y="951" /> <sizeparam width="75" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="action state" value="attr1 = 10" /> -<TGConnectingPoint num="0" id="210" /> -<TGConnectingPoint num="1" id="211" /> +<new d="false" /> +<TGConnectingPoint num="0" id="204" /> +<TGConnectingPoint num="1" id="205" /> </COMPONENT> -<COMPONENT type="1001" id="214" > +<COMPONENT type="1001" id="208" index="11" uid="9385e349-ad4b-4f92-b124-aec93b5bf3cb" > <cdparam x="682" y="897" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="213" /> +<new d="false" /> +<TGConnectingPoint num="0" id="207" /> </COMPONENT> -<COMPONENT type="1014" id="218" > +<COMPONENT type="1014" id="212" index="12" uid="b340526a-1d7b-40ea-99d1-9af2a313ae08" > <cdparam x="731" y="877" /> <sizeparam width="241" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="for loop" value="for(attr1=0;attr1<5;attr1 = attr1+1)" /> -<TGConnectingPoint num="0" id="215" /> -<TGConnectingPoint num="1" id="216" /> -<TGConnectingPoint num="2" id="217" /> +<new d="false" /> +<TGConnectingPoint num="0" id="209" /> +<TGConnectingPoint num="1" id="210" /> +<TGConnectingPoint num="2" id="211" /> <extraparam> <Data init="attr1=0" condition="attr1<5" increment="attr1 = attr1+1" /> </extraparam> </COMPONENT> -<COMPONENT type="1020" id="222" > +<COMPONENT type="1020" id="216" index="13" uid="a060ee3b-9ecc-4c32-b2fc-1497cd329990" > <cdparam x="648" y="836" /> <sizeparam width="98" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="for loop" value="10" /> -<TGConnectingPoint num="0" id="219" /> -<TGConnectingPoint num="1" id="220" /> -<TGConnectingPoint num="2" id="221" /> +<new d="false" /> +<TGConnectingPoint num="0" id="213" /> +<TGConnectingPoint num="1" id="214" /> +<TGConnectingPoint num="2" id="215" /> </COMPONENT> -<COMPONENT type="1030" id="225" > +<COMPONENT type="1030" id="219" index="14" uid="e49001cc-afc1-43c8-befa-cf756f7c3f68" > <cdparam x="456" y="799" /> <sizeparam width="92" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="for ever loop" value="Loop for ever" /> -<TGConnectingPoint num="0" id="223" /> -<TGConnectingPoint num="1" id="224" /> +<new d="false" /> +<TGConnectingPoint num="0" id="217" /> +<TGConnectingPoint num="1" id="218" /> </COMPONENT> -<COMPONENT type="1024" id="228" > -<cdparam x="420" y="736" /> -<sizeparam width="162" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1024" id="222" index="15" uid="e1cf0ed8-b958-4340-918f-043c67b14b4a" > +<cdparam x="413" y="736" /> +<sizeparam width="177" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="TGComponent" value="null" /> -<TGConnectingPoint num="0" id="226" /> -<TGConnectingPoint num="1" id="227" /> +<infoparam name="TGComponent" value="0_10" /> +<new d="false" /> +<TGConnectingPoint num="0" id="220" /> +<TGConnectingPoint num="1" id="221" /> <extraparam> <Data variable="attr1" minValue="0" maxValue="10" functionId="0" /> </extraparam> </COMPONENT> -<COMPONENT type="1036" id="231" > +<COMPONENT type="1036" id="225" index="16" uid="7326c586-2a3f-441e-a709-bae383610994" > <cdparam x="499" y="597" /> <sizeparam width="15" height="35" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="decrypt" value="null" /> -<TGConnectingPoint num="0" id="229" /> -<TGConnectingPoint num="1" id="230" /> +<new d="false" /> +<TGConnectingPoint num="0" id="223" /> +<TGConnectingPoint num="1" id="224" /> <extraparam> <Data secPattern="encryption1" /> </extraparam> </COMPONENT> -<COMPONENT type="1035" id="234" > +<COMPONENT type="1035" id="228" index="17" uid="60307767-348e-42ac-af44-27e8304b4b6a" > <cdparam x="504" y="503" /> <sizeparam width="15" height="35" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="encrypt" value="null" /> -<TGConnectingPoint num="0" id="232" /> -<TGConnectingPoint num="1" id="233" /> +<new d="false" /> +<TGConnectingPoint num="0" id="226" /> +<TGConnectingPoint num="1" id="227" /> <extraparam> -<Data secContext="encryption1" type="" overhead="" size="" encTime="100" decTime="100" nonce="" key="" algorithm="" /> +<Data secContext="encryption1" type="Symmetric Encryption" overhead="" size="" encTime="100" decTime="100" nonce="" key="" algorithm="" /> </extraparam> </COMPONENT> -<COMPONENT type="1009" id="237" > -<cdparam x="1037" y="1135" /> -<sizeparam width="90" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1009" id="231" index="18" uid="02b4cc18-dbdd-47fb-bc80-b0ca9eca8f49" > +<cdparam x="1031" y="1135" /> +<sizeparam width="102" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="read channel" value="channel3(1) " /> -<TGConnectingPoint num="0" id="235" /> -<TGConnectingPoint num="1" id="236" /> +<new d="false" /> +<TGConnectingPoint num="0" id="229" /> +<TGConnectingPoint num="1" id="230" /> <extraparam> <Data channelName="channel3" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" /> </extraparam> </COMPONENT> -<COMPONENT type="1006" id="240" > -<cdparam x="468" y="200" /> -<sizeparam width="86" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="1006" id="234" index="19" uid="2e1e9de5-8577-4903-a3f4-a74fc9006df4" > +<cdparam x="462" y="200" /> +<sizeparam width="98" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="write channel" value="channel3(1)" /> -<TGConnectingPoint num="0" id="238" /> -<TGConnectingPoint num="1" id="239" /> +<new d="false" /> +<TGConnectingPoint num="0" id="232" /> +<TGConnectingPoint num="1" id="233" /> <extraparam> <Data channelName="channel3" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="242" > +<COMPONENT type="1000" id="236" index="20" uid="c13f48d1-011b-4fea-b633-01ff7b9d5865" > <cdparam x="504" y="107" /> <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="241" /> +<new d="false" /> +<TGConnectingPoint num="0" id="235" /> </COMPONENT> -<CONNECTOR type="115" id="244" > +<CONNECTOR type="115" id="238" index="21" uid="c7a78092-c6e6-4351-a849-103c0d8c60ac" > <cdparam x="746" y="850" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="746" y="850" id="220" /> -<P2 x="851" y="872" id="215" /> +<P1 x="746" y="850" id="214" /> +<P2 x="851" y="872" id="209" /> <Point x="859" y="844" /> <AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="243" > -<father id="244" num="0" /> +<new d="false" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="237" index="46" uid="aed04d49-9b65-468d-808b-0b701d569463" > +<father id="238" num="0" /> <cdparam x="859" y="844" /> -<sizeparam width="1" height="1" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="8" height="8" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="point " value="null" /> +<new d="false" /> </SUBCOMPONENT> -<CONNECTOR type="115" id="245" > +<CONNECTOR type="115" id="239" index="22" uid="b4072db1-8090-41d3-974c-e3fc4ba4e000" > <cdparam x="972" y="891" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="972" y="891" id="216" /> -<P2 x="1010" y="946" id="210" /> +<P1 x="972" y="891" id="210" /> +<P2 x="1010" y="946" id="204" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="246" > +<CONNECTOR type="115" id="240" index="23" uid="a60d6119-065d-4c52-9ced-180f65297a95" > <cdparam x="1083" y="1079" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="1083" y="1079" id="208" /> -<P2 x="1082" y="1130" id="235" /> +<P1 x="1083" y="1079" id="202" /> +<P2 x="1082" y="1130" id="229" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="247" > +<CONNECTOR type="115" id="241" index="24" uid="829578dd-11ec-4345-9186-ca497cd43336" > <cdparam x="511" y="122" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="511" y="122" id="241" /> -<P2 x="511" y="195" id="238" /> +<P1 x="511" y="127" id="235" /> +<P2 x="511" y="195" id="232" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="248" > +<CONNECTOR type="115" id="242" index="25" uid="d86e8966-c7f7-4d22-85e9-c479e264ed03" > <cdparam x="511" y="225" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="511" y="225" id="239" /> -<P2 x="508" y="265" id="177" /> +<P1 x="511" y="225" id="233" /> +<P2 x="508" y="265" id="171" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="249" > +<CONNECTOR type="115" id="243" index="26" uid="0045651f-fe50-4732-9805-9e40c87d0a57" > <cdparam x="508" y="305" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="508" y="305" id="178" /> -<P2 x="515" y="336" id="181" /> +<P1 x="508" y="305" id="172" /> +<P2 x="515" y="336" id="175" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="250" > +<CONNECTOR type="115" id="244" index="27" uid="ae91e09a-d0e1-4fb6-aeed-a9ba2b2c980c" > <cdparam x="515" y="376" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="515" y="376" id="182" /> -<P2 x="513" y="408" id="185" /> +<P1 x="515" y="376" id="176" /> +<P2 x="513" y="408" id="179" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="251" > +<CONNECTOR type="115" id="245" index="28" uid="25aea873-0bcf-480b-8f8b-b0d9f93dc0ea" > <cdparam x="513" y="448" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="513" y="448" id="186" /> -<P2 x="511" y="498" id="232" /> +<P1 x="513" y="448" id="180" /> +<P2 x="511" y="498" id="226" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="252" > +<CONNECTOR type="115" id="246" index="29" uid="b13c52ad-aa2c-4039-b31c-58af331fc962" > <cdparam x="511" y="548" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="511" y="548" id="233" /> -<P2 x="506" y="592" id="229" /> +<P1 x="511" y="548" id="227" /> +<P2 x="506" y="592" id="223" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="253" > +<CONNECTOR type="115" id="247" index="30" uid="bc924aa4-e422-4329-b6f2-7479c8dfb87d" > <cdparam x="506" y="642" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="506" y="642" id="230" /> -<P2 x="501" y="672" id="189" /> +<P1 x="506" y="642" id="224" /> +<P2 x="501" y="672" id="183" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="254" > +<CONNECTOR type="115" id="248" index="31" uid="e8e4ec0a-c5c3-45f0-bd83-c00b7996dd56" > <cdparam x="501" y="712" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="501" y="712" id="190" /> -<P2 x="501" y="731" id="226" /> +<P1 x="501" y="712" id="184" /> +<P2 x="501" y="731" id="220" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="255" > +<CONNECTOR type="115" id="249" index="32" uid="3a200bb2-4a74-4f24-830e-df6605403c73" > <cdparam x="501" y="761" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="501" y="761" id="227" /> -<P2 x="502" y="794" id="223" /> +<P1 x="501" y="761" id="221" /> +<P2 x="502" y="794" id="217" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="256" > +<CONNECTOR type="115" id="250" index="33" uid="82195d58-c84c-400d-a5e7-63c55dcd0872" > <cdparam x="548" y="813" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="548" y="813" id="224" /> -<P2 x="697" y="831" id="219" /> +<P1 x="548" y="813" id="218" /> +<P2 x="697" y="831" id="213" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="257" > +<CONNECTOR type="115" id="251" index="34" uid="2ee7879b-61c0-411a-9d2a-07c99c8426a1" > <cdparam x="697" y="861" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="697" y="861" id="221" /> -<P2 x="692" y="892" id="213" /> +<P1 x="697" y="861" id="215" /> +<P2 x="692" y="892" id="207" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="258" > +<CONNECTOR type="115" id="252" index="35" uid="44a6a419-dde6-45a2-94c4-106a3e1f9e68" > <cdparam x="1010" y="976" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="1010" y="976" id="211" /> -<P2 x="1044" y="1006" id="193" /> +<P1 x="1010" y="976" id="205" /> +<P2 x="1044" y="1006" id="187" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="259" > +<CONNECTOR type="115" id="253" index="36" uid="e6ed31ef-552f-4e1e-9200-74b5cf4025c0" > <cdparam x="1069" y="1011" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="1069" y="1011" id="197" /> -<P2 x="1083" y="1049" id="207" /> +<P1 x="1069" y="1011" id="191" /> +<P2 x="1083" y="1049" id="201" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="260" > +<CONNECTOR type="115" id="254" index="37" uid="f9ab3e90-8757-4336-9475-c9856f50c5f4" > <cdparam x="994" y="1011" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="994" y="1011" id="194" /> -<P2 x="992" y="1048" id="204" /> +<P1 x="994" y="1011" id="188" /> +<P2 x="992" y="1048" id="198" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="261" > +<CONNECTOR type="115" id="255" index="38" uid="8ec9aa75-2422-41e6-977c-0d2b6478bc1c" > <cdparam x="992" y="1078" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="992" y="1078" id="205" /> -<P2 x="991" y="1148" id="202" /> +<P1 x="992" y="1078" id="199" /> +<P2 x="991" y="1148" id="196" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="262" > +<CONNECTOR type="115" id="256" index="39" uid="d425350a-ee4d-47a0-b7c8-7f132d627d13" > <cdparam x="851" y="902" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="851" y="902" id="217" /> -<P2 x="854" y="942" id="200" /> +<P1 x="851" y="902" id="211" /> +<P2 x="854" y="942" id="194" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="263" > +<CONNECTOR type="115" id="257" index="40" uid="9f5daf28-81e7-45f0-a4ed-c0bcb020283a" > <cdparam x="1082" y="1160" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="1082" y="1160" id="236" /> -<P2 x="1087" y="1203" id="174" /> +<P1 x="1082" y="1160" id="230" /> +<P2 x="1087" y="1203" id="168" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> </TMLActivityDiagramPanel> -<TMLActivityDiagramPanel name="PrimitiveComp6" minX="10" maxX="2500" minY="10" maxY="1500" > -<COMPONENT type="1001" id="265" > +<TMLActivityDiagramPanel name="PrimitiveComp6" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" > +<COMPONENT type="1001" id="259" index="0" uid="2621aa42-518e-4a0b-94c4-aa7107598605" > <cdparam x="397" y="331" /> <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="stop state" value="null" /> -<TGConnectingPoint num="0" id="264" /> +<new d="false" /> +<TGConnectingPoint num="0" id="258" /> </COMPONENT> -<COMPONENT type="1009" id="268" > +<COMPONENT type="1009" id="262" index="1" uid="91f63691-65fd-46e4-93d1-887a0ebe8e80" > <cdparam x="362" y="233" /> <sizeparam width="90" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="read channel" value="channel4(1) " /> -<TGConnectingPoint num="0" id="266" /> -<TGConnectingPoint num="1" id="267" /> +<new d="false" /> +<TGConnectingPoint num="0" id="260" /> +<TGConnectingPoint num="1" id="261" /> <extraparam> <Data channelName="channel4" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" /> </extraparam> </COMPONENT> -<COMPONENT type="1006" id="271" > +<COMPONENT type="1006" id="265" index="2" uid="4e8cf9f1-9d96-4fb2-a43f-bcac6996cef0" > <cdparam x="364" y="133" /> <sizeparam width="86" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="write channel" value="channel4(1)" /> -<TGConnectingPoint num="0" id="269" /> -<TGConnectingPoint num="1" id="270" /> +<new d="false" /> +<TGConnectingPoint num="0" id="263" /> +<TGConnectingPoint num="1" id="264" /> <extraparam> <Data channelName="channel4" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" /> </extraparam> </COMPONENT> -<COMPONENT type="1000" id="273" > +<COMPONENT type="1000" id="267" index="3" uid="df20b9a2-6234-4454-b784-f56731010474" > <cdparam x="400" y="50" /> <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="272" /> +<new d="false" /> +<TGConnectingPoint num="0" id="266" /> </COMPONENT> -<CONNECTOR type="115" id="274" > +<CONNECTOR type="115" id="268" index="4" uid="ed62ecca-1c6b-4e06-874f-f6138794bd66" > <cdparam x="407" y="65" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="407" y="65" id="272" /> -<P2 x="407" y="128" id="269" /> +<P1 x="407" y="70" id="266" /> +<P2 x="407" y="128" id="263" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="275" > +<CONNECTOR type="115" id="269" index="5" uid="f821d0b8-1b37-4b05-99db-1aa7d2bf07fb" > <cdparam x="407" y="158" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="407" y="158" id="270" /> -<P2 x="407" y="228" id="266" /> +<P1 x="407" y="158" id="264" /> +<P2 x="407" y="228" id="260" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> -<CONNECTOR type="115" id="276" > +<CONNECTOR type="115" id="270" index="6" uid="0bbf921c-3600-4393-819e-81e22f0261e5" > <cdparam x="407" y="258" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> -<P1 x="407" y="258" id="267" /> -<P2 x="407" y="326" id="264" /> +<P1 x="407" y="258" id="261" /> +<P2 x="407" y="326" id="258" /> <AutomaticDrawing data="true" /> +<new d="false" /> </CONNECTOR> </TMLActivityDiagramPanel> @@ -1310,764 +1427,896 @@ <Modeling type="TML Architecture" nameTab="Architecture" > -<TMLArchiDiagramPanel name="DIPLODOCUS architecture and mapping Diagram" minX="10" maxX="2500" minY="10" maxY="1500" attributes="0" masterClockFrequency="200" > -<COMPONENT type="1100" id="355" > +<TMLArchiDiagramPanel name="DIPLODOCUS architecture and mapping Diagram" minX="10" maxX="2500" minY="10" maxY="1500" attributes="0" considerExecOperators="true" considerTimingOperators="true" masterClockFrequency="200" zoom="1.0" > +<CONNECTOR type="125" id="737" index="0" uid="128953d6-b1b6-49d6-81d1-c20cedd9f684" > +<cdparam x="1448" y="810" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="{info}" /> +<P1 x="1448" y="810" id="583" /> +<P2 x="1363" y="498" id="462" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +<extraparam> +<info priority="0" /> +<spy value="false" /> +</extraparam> +</CONNECTOR> +<CONNECTOR type="125" id="736" index="1" uid="44caf93c-5749-4b1b-af03-63a05dbbb2a4" > +<cdparam x="1358" y="814" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="{info}" /> +<P1 x="1358" y="814" id="552" /> +<P2 x="1363" y="511" id="455" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +<extraparam> +<info priority="0" /> +<spy value="false" /> +</extraparam> +</CONNECTOR> +<CONNECTOR type="125" id="735" index="2" uid="523b68a7-a583-41c1-951f-85afa9aa390d" > +<cdparam x="1575" y="568" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="{info}" /> +<P1 x="1611" y="569" id="501" /> +<P2 x="1488" y="511" id="456" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +<extraparam> +<info priority="0" /> +<spy value="false" /> +</extraparam> +</CONNECTOR> +<CONNECTOR type="125" id="734" index="3" uid="5af96185-98b6-471d-8e4e-510b8fe643e2" > +<cdparam x="1315" y="629" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="{info}" /> +<P1 x="1315" y="629" id="661" /> +<P2 x="1425" y="511" id="464" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +<extraparam> +<info priority="0" /> +<spy value="false" /> +</extraparam> +</CONNECTOR> +<CONNECTOR type="125" id="733" index="4" uid="0ae72911-81ec-44cf-b23e-d5345461d01b" > +<cdparam x="1309" y="454" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="{info}" /> +<P1 x="1309" y="454" id="629" /> +<P2 x="1363" y="486" id="453" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +<extraparam> +<info priority="0" /> +<spy value="false" /> +</extraparam> +</CONNECTOR> +<CONNECTOR type="125" id="732" index="5" uid="cd3821af-14ff-4f41-9e2e-2f018a2f15fa" > +<cdparam x="1498" y="296" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="{info}" /> +<P1 x="1498" y="296" id="381" /> +<P2 x="1488" y="461" id="451" /> +<AutomaticDrawing data="true" /> +<new d="false" /> +<extraparam> +<info priority="0" /> +<spy value="false" /> +</extraparam> +</CONNECTOR> +<COMPONENT type="1100" id="349" index="6" uid="4603200e-3f7f-4f0c-aa2a-95ac7d793206" > <cdparam x="83" y="128" /> <sizeparam width="552" height="225" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="CPU0" value="name" /> -<TGConnectingPoint num="0" id="331" /> -<TGConnectingPoint num="1" id="332" /> -<TGConnectingPoint num="2" id="333" /> -<TGConnectingPoint num="3" id="334" /> -<TGConnectingPoint num="4" id="335" /> -<TGConnectingPoint num="5" id="336" /> -<TGConnectingPoint num="6" id="337" /> -<TGConnectingPoint num="7" id="338" /> -<TGConnectingPoint num="8" id="339" /> -<TGConnectingPoint num="9" id="340" /> -<TGConnectingPoint num="10" id="341" /> -<TGConnectingPoint num="11" id="342" /> -<TGConnectingPoint num="12" id="343" /> -<TGConnectingPoint num="13" id="344" /> -<TGConnectingPoint num="14" id="345" /> -<TGConnectingPoint num="15" id="346" /> -<TGConnectingPoint num="16" id="347" /> -<TGConnectingPoint num="17" id="348" /> -<TGConnectingPoint num="18" id="349" /> -<TGConnectingPoint num="19" id="350" /> -<TGConnectingPoint num="20" id="351" /> -<TGConnectingPoint num="21" id="352" /> -<TGConnectingPoint num="22" id="353" /> -<TGConnectingPoint num="23" id="354" /> +<new d="false" /> +<TGConnectingPoint num="0" id="325" /> +<TGConnectingPoint num="1" id="326" /> +<TGConnectingPoint num="2" id="327" /> +<TGConnectingPoint num="3" id="328" /> +<TGConnectingPoint num="4" id="329" /> +<TGConnectingPoint num="5" id="330" /> +<TGConnectingPoint num="6" id="331" /> +<TGConnectingPoint num="7" id="332" /> +<TGConnectingPoint num="8" id="333" /> +<TGConnectingPoint num="9" id="334" /> +<TGConnectingPoint num="10" id="335" /> +<TGConnectingPoint num="11" id="336" /> +<TGConnectingPoint num="12" id="337" /> +<TGConnectingPoint num="13" id="338" /> +<TGConnectingPoint num="14" id="339" /> +<TGConnectingPoint num="15" id="340" /> +<TGConnectingPoint num="16" id="341" /> +<TGConnectingPoint num="17" id="342" /> +<TGConnectingPoint num="18" id="343" /> +<TGConnectingPoint num="19" id="344" /> +<TGConnectingPoint num="20" id="345" /> +<TGConnectingPoint num="21" id="346" /> +<TGConnectingPoint num="22" id="347" /> +<TGConnectingPoint num="23" id="348" /> <extraparam> <info stereotype="CPU" nodeName="CPU0" /> <attributes nbOfCores="1" byteDataSize="4" schedulingPolicy="0" sliceTime="10000" goIdleTime="10" maxConsecutiveIdleCycles="10" pipelineSize="5" taskSwitchingTime="20" branchingPredictionPenalty="2" cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" operation="" MECType="0" encryption="0"/> </extraparam> </COMPONENT> -<SUBCOMPONENT type="1101" id="285" > -<father id="355" num="0" /> -<cdparam x="110" y="152" /> -<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> -<infoparam name="TGComponent" value="Application::PrimitiveComp1" /> -<TGConnectingPoint num="0" id="277" /> -<TGConnectingPoint num="1" id="278" /> -<TGConnectingPoint num="2" id="279" /> -<TGConnectingPoint num="3" id="280" /> -<TGConnectingPoint num="4" id="281" /> -<TGConnectingPoint num="5" id="282" /> -<TGConnectingPoint num="6" id="283" /> -<TGConnectingPoint num="7" id="284" /> -<extraparam> -<info value="Application::PrimitiveComp1" taskName="PrimitiveComp1" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> -</extraparam> -</SUBCOMPONENT> -<SUBCOMPONENT type="1101" id="294" > -<father id="355" num="1" /> -<cdparam x="111" y="201" /> -<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<SUBCOMPONENT type="1101" id="279" index="26" uid="475ad0c7-7f47-4b81-bb72-5d85dc0c6d92" > +<father id="349" num="0" /> +<cdparam x="376" y="255" /> +<sizeparam width="198" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> -<infoparam name="TGComponent" value="Application::PrimitiveComp2" /> -<TGConnectingPoint num="0" id="286" /> -<TGConnectingPoint num="1" id="287" /> -<TGConnectingPoint num="2" id="288" /> -<TGConnectingPoint num="3" id="289" /> -<TGConnectingPoint num="4" id="290" /> -<TGConnectingPoint num="5" id="291" /> -<TGConnectingPoint num="6" id="292" /> -<TGConnectingPoint num="7" id="293" /> +<cdrectangleparam minX="0" maxX="354" minY="0" maxY="185" /> +<infoparam name="TGComponent" value="Application::PrimitiveComp6" /> +<new d="false" /> +<TGConnectingPoint num="0" id="271" /> +<TGConnectingPoint num="1" id="272" /> +<TGConnectingPoint num="2" id="273" /> +<TGConnectingPoint num="3" id="274" /> +<TGConnectingPoint num="4" id="275" /> +<TGConnectingPoint num="5" id="276" /> +<TGConnectingPoint num="6" id="277" /> +<TGConnectingPoint num="7" id="278" /> <extraparam> -<info value="Application::PrimitiveComp2" taskName="PrimitiveComp2" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> +<info value="Application::PrimitiveComp6" taskName="PrimitiveComp6" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp6" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1101" id="303" > -<father id="355" num="2" /> -<cdparam x="112" y="261" /> -<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<SUBCOMPONENT type="1101" id="288" index="27" uid="400b1d89-e1c3-45fc-9967-65ed7b055a79" > +<father id="349" num="1" /> +<cdparam x="371" y="203" /> +<sizeparam width="198" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> -<infoparam name="TGComponent" value="Application::PrimitiveComp3" /> -<TGConnectingPoint num="0" id="295" /> -<TGConnectingPoint num="1" id="296" /> -<TGConnectingPoint num="2" id="297" /> -<TGConnectingPoint num="3" id="298" /> -<TGConnectingPoint num="4" id="299" /> -<TGConnectingPoint num="5" id="300" /> -<TGConnectingPoint num="6" id="301" /> -<TGConnectingPoint num="7" id="302" /> +<cdrectangleparam minX="0" maxX="354" minY="0" maxY="185" /> +<infoparam name="TGComponent" value="Application::PrimitiveComp5" /> +<new d="false" /> +<TGConnectingPoint num="0" id="280" /> +<TGConnectingPoint num="1" id="281" /> +<TGConnectingPoint num="2" id="282" /> +<TGConnectingPoint num="3" id="283" /> +<TGConnectingPoint num="4" id="284" /> +<TGConnectingPoint num="5" id="285" /> +<TGConnectingPoint num="6" id="286" /> +<TGConnectingPoint num="7" id="287" /> <extraparam> -<info value="Application::PrimitiveComp3" taskName="PrimitiveComp3" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> +<info value="Application::PrimitiveComp5" taskName="PrimitiveComp5" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp5" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1101" id="312" > -<father id="355" num="3" /> +<SUBCOMPONENT type="1101" id="297" index="28" uid="ea5cb2f2-971f-4556-bb97-3fada947b2dd" > +<father id="349" num="2" /> <cdparam x="393" y="144" /> -<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="198" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> +<cdrectangleparam minX="0" maxX="354" minY="0" maxY="185" /> <infoparam name="TGComponent" value="Application::PrimitiveComp4" /> -<TGConnectingPoint num="0" id="304" /> -<TGConnectingPoint num="1" id="305" /> -<TGConnectingPoint num="2" id="306" /> -<TGConnectingPoint num="3" id="307" /> -<TGConnectingPoint num="4" id="308" /> -<TGConnectingPoint num="5" id="309" /> -<TGConnectingPoint num="6" id="310" /> -<TGConnectingPoint num="7" id="311" /> +<new d="false" /> +<TGConnectingPoint num="0" id="289" /> +<TGConnectingPoint num="1" id="290" /> +<TGConnectingPoint num="2" id="291" /> +<TGConnectingPoint num="3" id="292" /> +<TGConnectingPoint num="4" id="293" /> +<TGConnectingPoint num="5" id="294" /> +<TGConnectingPoint num="6" id="295" /> +<TGConnectingPoint num="7" id="296" /> <extraparam> <info value="Application::PrimitiveComp4" taskName="PrimitiveComp4" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1101" id="321" > -<father id="355" num="4" /> -<cdparam x="371" y="203" /> -<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<SUBCOMPONENT type="1101" id="306" index="29" uid="51cc3679-d032-465f-90b5-cf1d05f57d0c" > +<father id="349" num="3" /> +<cdparam x="112" y="261" /> +<sizeparam width="198" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> -<infoparam name="TGComponent" value="Application::PrimitiveComp5" /> -<TGConnectingPoint num="0" id="313" /> -<TGConnectingPoint num="1" id="314" /> -<TGConnectingPoint num="2" id="315" /> -<TGConnectingPoint num="3" id="316" /> -<TGConnectingPoint num="4" id="317" /> -<TGConnectingPoint num="5" id="318" /> -<TGConnectingPoint num="6" id="319" /> -<TGConnectingPoint num="7" id="320" /> +<cdrectangleparam minX="0" maxX="354" minY="0" maxY="185" /> +<infoparam name="TGComponent" value="Application::PrimitiveComp3" /> +<new d="false" /> +<TGConnectingPoint num="0" id="298" /> +<TGConnectingPoint num="1" id="299" /> +<TGConnectingPoint num="2" id="300" /> +<TGConnectingPoint num="3" id="301" /> +<TGConnectingPoint num="4" id="302" /> +<TGConnectingPoint num="5" id="303" /> +<TGConnectingPoint num="6" id="304" /> +<TGConnectingPoint num="7" id="305" /> <extraparam> -<info value="Application::PrimitiveComp5" taskName="PrimitiveComp5" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp5" fatherComponentMECType="0" /> +<info value="Application::PrimitiveComp3" taskName="PrimitiveComp3" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1101" id="330" > -<father id="355" num="5" /> -<cdparam x="376" y="255" /> -<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<SUBCOMPONENT type="1101" id="315" index="30" uid="4c1fada3-5dca-465b-ba07-79b74fce6557" > +<father id="349" num="4" /> +<cdparam x="111" y="201" /> +<sizeparam width="198" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> -<infoparam name="TGComponent" value="Application::PrimitiveComp6" /> -<TGConnectingPoint num="0" id="322" /> -<TGConnectingPoint num="1" id="323" /> -<TGConnectingPoint num="2" id="324" /> -<TGConnectingPoint num="3" id="325" /> -<TGConnectingPoint num="4" id="326" /> -<TGConnectingPoint num="5" id="327" /> -<TGConnectingPoint num="6" id="328" /> -<TGConnectingPoint num="7" id="329" /> +<cdrectangleparam minX="0" maxX="354" minY="0" maxY="185" /> +<infoparam name="TGComponent" value="Application::PrimitiveComp2" /> +<new d="false" /> +<TGConnectingPoint num="0" id="307" /> +<TGConnectingPoint num="1" id="308" /> +<TGConnectingPoint num="2" id="309" /> +<TGConnectingPoint num="3" id="310" /> +<TGConnectingPoint num="4" id="311" /> +<TGConnectingPoint num="5" id="312" /> +<TGConnectingPoint num="6" id="313" /> +<TGConnectingPoint num="7" id="314" /> <extraparam> -<info value="Application::PrimitiveComp6" taskName="PrimitiveComp6" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp6" fatherComponentMECType="0" /> +<info value="Application::PrimitiveComp2" taskName="PrimitiveComp2" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> - -<COMPONENT type="1100" id="380" > -<cdparam x="1276" y="110" /> -<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<SUBCOMPONENT type="1101" id="324" index="31" uid="ab929319-77ae-4ccc-9f8e-5e5f3ebe09c9" > +<father id="349" num="5" /> +<cdparam x="110" y="152" /> +<sizeparam width="198" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="CPU2" value="name" /> -<TGConnectingPoint num="0" id="356" /> -<TGConnectingPoint num="1" id="357" /> -<TGConnectingPoint num="2" id="358" /> -<TGConnectingPoint num="3" id="359" /> -<TGConnectingPoint num="4" id="360" /> -<TGConnectingPoint num="5" id="361" /> -<TGConnectingPoint num="6" id="362" /> -<TGConnectingPoint num="7" id="363" /> -<TGConnectingPoint num="8" id="364" /> -<TGConnectingPoint num="9" id="365" /> -<TGConnectingPoint num="10" id="366" /> -<TGConnectingPoint num="11" id="367" /> -<TGConnectingPoint num="12" id="368" /> -<TGConnectingPoint num="13" id="369" /> -<TGConnectingPoint num="14" id="370" /> -<TGConnectingPoint num="15" id="371" /> -<TGConnectingPoint num="16" id="372" /> -<TGConnectingPoint num="17" id="373" /> -<TGConnectingPoint num="18" id="374" /> -<TGConnectingPoint num="19" id="375" /> -<TGConnectingPoint num="20" id="376" /> -<TGConnectingPoint num="21" id="377" /> -<TGConnectingPoint num="22" id="378" /> -<TGConnectingPoint num="23" id="379" /> -<extraparam> -<info stereotype="CPURR" nodeName="CPU2" /> -<attributes nbOfCores="1" byteDataSize="4" schedulingPolicy="0" sliceTime="10000" goIdleTime="10" maxConsecutiveIdleCycles="10" pipelineSize="5" taskSwitchingTime="20" branchingPredictionPenalty="2" cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" operation="" MECType="0" encryption="0"/> +<cdrectangleparam minX="0" maxX="354" minY="0" maxY="185" /> +<infoparam name="TGComponent" value="Application::PrimitiveComp1" /> +<new d="false" /> +<TGConnectingPoint num="0" id="316" /> +<TGConnectingPoint num="1" id="317" /> +<TGConnectingPoint num="2" id="318" /> +<TGConnectingPoint num="3" id="319" /> +<TGConnectingPoint num="4" id="320" /> +<TGConnectingPoint num="5" id="321" /> +<TGConnectingPoint num="6" id="322" /> +<TGConnectingPoint num="7" id="323" /> +<extraparam> +<info value="Application::PrimitiveComp1" taskName="PrimitiveComp1" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> </extraparam> -</COMPONENT> +</SUBCOMPONENT> -<COMPONENT type="1100" id="405" > -<cdparam x="991" y="100" /> +<COMPONENT type="1100" id="399" index="7" uid="6388bda7-c702-4ec2-ba88-8f1e9ad8fcf5" > +<cdparam x="1373" y="96" /> <sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="CPU1" value="name" /> -<TGConnectingPoint num="0" id="381" /> -<TGConnectingPoint num="1" id="382" /> -<TGConnectingPoint num="2" id="383" /> -<TGConnectingPoint num="3" id="384" /> -<TGConnectingPoint num="4" id="385" /> -<TGConnectingPoint num="5" id="386" /> -<TGConnectingPoint num="6" id="387" /> -<TGConnectingPoint num="7" id="388" /> -<TGConnectingPoint num="8" id="389" /> -<TGConnectingPoint num="9" id="390" /> -<TGConnectingPoint num="10" id="391" /> -<TGConnectingPoint num="11" id="392" /> -<TGConnectingPoint num="12" id="393" /> -<TGConnectingPoint num="13" id="394" /> -<TGConnectingPoint num="14" id="395" /> -<TGConnectingPoint num="15" id="396" /> -<TGConnectingPoint num="16" id="397" /> -<TGConnectingPoint num="17" id="398" /> -<TGConnectingPoint num="18" id="399" /> -<TGConnectingPoint num="19" id="400" /> -<TGConnectingPoint num="20" id="401" /> -<TGConnectingPoint num="21" id="402" /> -<TGConnectingPoint num="22" id="403" /> -<TGConnectingPoint num="23" id="404" /> +<new d="false" /> +<TGConnectingPoint num="0" id="375" /> +<TGConnectingPoint num="1" id="376" /> +<TGConnectingPoint num="2" id="377" /> +<TGConnectingPoint num="3" id="378" /> +<TGConnectingPoint num="4" id="379" /> +<TGConnectingPoint num="5" id="380" /> +<TGConnectingPoint num="6" id="381" /> +<TGConnectingPoint num="7" id="382" /> +<TGConnectingPoint num="8" id="383" /> +<TGConnectingPoint num="9" id="384" /> +<TGConnectingPoint num="10" id="385" /> +<TGConnectingPoint num="11" id="386" /> +<TGConnectingPoint num="12" id="387" /> +<TGConnectingPoint num="13" id="388" /> +<TGConnectingPoint num="14" id="389" /> +<TGConnectingPoint num="15" id="390" /> +<TGConnectingPoint num="16" id="391" /> +<TGConnectingPoint num="17" id="392" /> +<TGConnectingPoint num="18" id="393" /> +<TGConnectingPoint num="19" id="394" /> +<TGConnectingPoint num="20" id="395" /> +<TGConnectingPoint num="21" id="396" /> +<TGConnectingPoint num="22" id="397" /> +<TGConnectingPoint num="23" id="398" /> <extraparam> <info stereotype="CPURR" nodeName="CPU1" /> <attributes nbOfCores="1" byteDataSize="4" schedulingPolicy="0" sliceTime="10000" goIdleTime="10" maxConsecutiveIdleCycles="10" pipelineSize="5" taskSwitchingTime="20" branchingPredictionPenalty="2" cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" operation="" MECType="0" encryption="0"/> </extraparam> </COMPONENT> -<COMPONENT type="1107" id="430" > +<COMPONENT type="1107" id="424" index="8" uid="b776642b-5b85-474c-bdba-f9967100b729" > <cdparam x="699" y="398" /> <sizeparam width="200" height="200" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="DMA0" value="name" /> -<TGConnectingPoint num="0" id="406" /> -<TGConnectingPoint num="1" id="407" /> -<TGConnectingPoint num="2" id="408" /> -<TGConnectingPoint num="3" id="409" /> -<TGConnectingPoint num="4" id="410" /> -<TGConnectingPoint num="5" id="411" /> -<TGConnectingPoint num="6" id="412" /> -<TGConnectingPoint num="7" id="413" /> -<TGConnectingPoint num="8" id="414" /> -<TGConnectingPoint num="9" id="415" /> -<TGConnectingPoint num="10" id="416" /> -<TGConnectingPoint num="11" id="417" /> -<TGConnectingPoint num="12" id="418" /> -<TGConnectingPoint num="13" id="419" /> -<TGConnectingPoint num="14" id="420" /> -<TGConnectingPoint num="15" id="421" /> -<TGConnectingPoint num="16" id="422" /> -<TGConnectingPoint num="17" id="423" /> -<TGConnectingPoint num="18" id="424" /> -<TGConnectingPoint num="19" id="425" /> -<TGConnectingPoint num="20" id="426" /> -<TGConnectingPoint num="21" id="427" /> -<TGConnectingPoint num="22" id="428" /> -<TGConnectingPoint num="23" id="429" /> +<new d="false" /> +<TGConnectingPoint num="0" id="400" /> +<TGConnectingPoint num="1" id="401" /> +<TGConnectingPoint num="2" id="402" /> +<TGConnectingPoint num="3" id="403" /> +<TGConnectingPoint num="4" id="404" /> +<TGConnectingPoint num="5" id="405" /> +<TGConnectingPoint num="6" id="406" /> +<TGConnectingPoint num="7" id="407" /> +<TGConnectingPoint num="8" id="408" /> +<TGConnectingPoint num="9" id="409" /> +<TGConnectingPoint num="10" id="410" /> +<TGConnectingPoint num="11" id="411" /> +<TGConnectingPoint num="12" id="412" /> +<TGConnectingPoint num="13" id="413" /> +<TGConnectingPoint num="14" id="414" /> +<TGConnectingPoint num="15" id="415" /> +<TGConnectingPoint num="16" id="416" /> +<TGConnectingPoint num="17" id="417" /> +<TGConnectingPoint num="18" id="418" /> +<TGConnectingPoint num="19" id="419" /> +<TGConnectingPoint num="20" id="420" /> +<TGConnectingPoint num="21" id="421" /> +<TGConnectingPoint num="22" id="422" /> +<TGConnectingPoint num="23" id="423" /> <extraparam> <info stereotype="DMA" nodeName="DMA0" /> <attributes byteDataSize="4" nbOfChannels="1" clockRatio="1" /> </extraparam> </COMPONENT> -<COMPONENT type="1105" id="455" > +<COMPONENT type="1105" id="449" index="9" uid="83651822-6f1d-4197-ab61-bbf60a99dfa7" > <cdparam x="344" y="601" /> -<sizeparam width="200" height="200" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="267" height="280" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="Memory0" value="name" /> -<TGConnectingPoint num="0" id="431" /> -<TGConnectingPoint num="1" id="432" /> -<TGConnectingPoint num="2" id="433" /> -<TGConnectingPoint num="3" id="434" /> -<TGConnectingPoint num="4" id="435" /> -<TGConnectingPoint num="5" id="436" /> -<TGConnectingPoint num="6" id="437" /> -<TGConnectingPoint num="7" id="438" /> -<TGConnectingPoint num="8" id="439" /> -<TGConnectingPoint num="9" id="440" /> -<TGConnectingPoint num="10" id="441" /> -<TGConnectingPoint num="11" id="442" /> -<TGConnectingPoint num="12" id="443" /> -<TGConnectingPoint num="13" id="444" /> -<TGConnectingPoint num="14" id="445" /> -<TGConnectingPoint num="15" id="446" /> -<TGConnectingPoint num="16" id="447" /> -<TGConnectingPoint num="17" id="448" /> -<TGConnectingPoint num="18" id="449" /> -<TGConnectingPoint num="19" id="450" /> -<TGConnectingPoint num="20" id="451" /> -<TGConnectingPoint num="21" id="452" /> -<TGConnectingPoint num="22" id="453" /> -<TGConnectingPoint num="23" id="454" /> +<new d="false" /> +<TGConnectingPoint num="0" id="425" /> +<TGConnectingPoint num="1" id="426" /> +<TGConnectingPoint num="2" id="427" /> +<TGConnectingPoint num="3" id="428" /> +<TGConnectingPoint num="4" id="429" /> +<TGConnectingPoint num="5" id="430" /> +<TGConnectingPoint num="6" id="431" /> +<TGConnectingPoint num="7" id="432" /> +<TGConnectingPoint num="8" id="433" /> +<TGConnectingPoint num="9" id="434" /> +<TGConnectingPoint num="10" id="435" /> +<TGConnectingPoint num="11" id="436" /> +<TGConnectingPoint num="12" id="437" /> +<TGConnectingPoint num="13" id="438" /> +<TGConnectingPoint num="14" id="439" /> +<TGConnectingPoint num="15" id="440" /> +<TGConnectingPoint num="16" id="441" /> +<TGConnectingPoint num="17" id="442" /> +<TGConnectingPoint num="18" id="443" /> +<TGConnectingPoint num="19" id="444" /> +<TGConnectingPoint num="20" id="445" /> +<TGConnectingPoint num="21" id="446" /> +<TGConnectingPoint num="22" id="447" /> +<TGConnectingPoint num="23" id="448" /> <extraparam> <info stereotype="MEMORY" nodeName="Memory0" /> <attributes byteDataSize="4" memorySize="1024" clockRatio="1" bufferType="0" /> </extraparam> </COMPONENT> +<SUBCOMPONENT type="1111" id="774" index="32" uid="e88326fc-e7ba-4af7-afac-714a0b559965" > +<father id="449" num="0" /> +<cdparam x="455" y="832" /> +<sizeparam width="78" height="40" minWidth="75" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="192" minY="0" maxY="240" /> +<infoparam name="TGComponent" value="encryption1" /> +<new d="false" /> +<TGConnectingPoint num="0" id="775" /> +<TGConnectingPoint num="1" id="776" /> +<TGConnectingPoint num="2" id="777" /> +<TGConnectingPoint num="3" id="778" /> +<TGConnectingPoint num="4" id="779" /> +<TGConnectingPoint num="5" id="780" /> +<TGConnectingPoint num="6" id="781" /> +<TGConnectingPoint num="7" id="782" /> +<extraparam> +<info value="encryption1" referenceKeyName="encryption1" priority="5" typeName="key" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1103" id="765" index="33" uid="376cf494-dee1-4217-a555-e2ce6458cd7e" > +<father id="449" num="1" /> +<cdparam x="374" y="784" /> +<sizeparam width="159" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="108" minY="0" maxY="240" /> +<infoparam name="TGComponent" value="Application::channel4" /> +<new d="false" /> +<TGConnectingPoint num="0" id="766" /> +<TGConnectingPoint num="1" id="767" /> +<TGConnectingPoint num="2" id="768" /> +<TGConnectingPoint num="3" id="769" /> +<TGConnectingPoint num="4" id="770" /> +<TGConnectingPoint num="5" id="771" /> +<TGConnectingPoint num="6" id="772" /> +<TGConnectingPoint num="7" id="773" /> +<extraparam> +<info value="Application::channel4" communicationName="channel4" referenceCommunicationName="Application" mappedElements="" priority="0" typeName="channel" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1103" id="756" index="34" uid="f37ccc05-dc3e-4fc4-82ad-e43c556f8c86" > +<father id="449" num="2" /> +<cdparam x="371" y="735" /> +<sizeparam width="159" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="108" minY="0" maxY="240" /> +<infoparam name="TGComponent" value="Application::channel3" /> +<new d="false" /> +<TGConnectingPoint num="0" id="757" /> +<TGConnectingPoint num="1" id="758" /> +<TGConnectingPoint num="2" id="759" /> +<TGConnectingPoint num="3" id="760" /> +<TGConnectingPoint num="4" id="761" /> +<TGConnectingPoint num="5" id="762" /> +<TGConnectingPoint num="6" id="763" /> +<TGConnectingPoint num="7" id="764" /> +<extraparam> +<info value="Application::channel3" communicationName="channel3" referenceCommunicationName="Application" mappedElements="" priority="0" typeName="channel" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1103" id="747" index="35" uid="7765fc58-c690-45ea-a216-e4096ee4dbd4" > +<father id="449" num="3" /> +<cdparam x="371" y="689" /> +<sizeparam width="159" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="108" minY="0" maxY="240" /> +<infoparam name="TGComponent" value="Application::channel2" /> +<new d="false" /> +<TGConnectingPoint num="0" id="748" /> +<TGConnectingPoint num="1" id="749" /> +<TGConnectingPoint num="2" id="750" /> +<TGConnectingPoint num="3" id="751" /> +<TGConnectingPoint num="4" id="752" /> +<TGConnectingPoint num="5" id="753" /> +<TGConnectingPoint num="6" id="754" /> +<TGConnectingPoint num="7" id="755" /> +<extraparam> +<info value="Application::channel2" communicationName="channel2" referenceCommunicationName="Application" mappedElements="" priority="0" typeName="channel" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1103" id="738" index="36" uid="beea57bc-ba8d-411c-a8fe-3c5e556f73f4" > +<father id="449" num="4" /> +<cdparam x="369" y="641" /> +<sizeparam width="151" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="116" minY="0" maxY="240" /> +<infoparam name="TGComponent" value="Application::channel" /> +<new d="false" /> +<TGConnectingPoint num="0" id="739" /> +<TGConnectingPoint num="1" id="740" /> +<TGConnectingPoint num="2" id="741" /> +<TGConnectingPoint num="3" id="742" /> +<TGConnectingPoint num="4" id="743" /> +<TGConnectingPoint num="5" id="744" /> +<TGConnectingPoint num="6" id="745" /> +<TGConnectingPoint num="7" id="746" /> +<extraparam> +<info value="Application::channel" communicationName="channel" referenceCommunicationName="Application" mappedElements="" priority="0" typeName="channel" /> +</extraparam> +</SUBCOMPONENT> -<COMPONENT type="1102" id="480" > +<COMPONENT type="1102" id="474" index="10" uid="b3ac12d2-1f38-4f5b-b2cd-0ecb2c6f8561" > <cdparam x="1363" y="461" /> <sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="Bus1" value="name" /> -<TGConnectingPoint num="0" id="456" /> -<TGConnectingPoint num="1" id="457" /> -<TGConnectingPoint num="2" id="458" /> -<TGConnectingPoint num="3" id="459" /> -<TGConnectingPoint num="4" id="460" /> -<TGConnectingPoint num="5" id="461" /> -<TGConnectingPoint num="6" id="462" /> -<TGConnectingPoint num="7" id="463" /> -<TGConnectingPoint num="8" id="464" /> -<TGConnectingPoint num="9" id="465" /> -<TGConnectingPoint num="10" id="466" /> -<TGConnectingPoint num="11" id="467" /> -<TGConnectingPoint num="12" id="468" /> -<TGConnectingPoint num="13" id="469" /> -<TGConnectingPoint num="14" id="470" /> -<TGConnectingPoint num="15" id="471" /> -<TGConnectingPoint num="16" id="472" /> -<TGConnectingPoint num="17" id="473" /> -<TGConnectingPoint num="18" id="474" /> -<TGConnectingPoint num="19" id="475" /> -<TGConnectingPoint num="20" id="476" /> -<TGConnectingPoint num="21" id="477" /> -<TGConnectingPoint num="22" id="478" /> -<TGConnectingPoint num="23" id="479" /> +<new d="false" /> +<TGConnectingPoint num="0" id="450" /> +<TGConnectingPoint num="1" id="451" /> +<TGConnectingPoint num="2" id="452" /> +<TGConnectingPoint num="3" id="453" /> +<TGConnectingPoint num="4" id="454" /> +<TGConnectingPoint num="5" id="455" /> +<TGConnectingPoint num="6" id="456" /> +<TGConnectingPoint num="7" id="457" /> +<TGConnectingPoint num="8" id="458" /> +<TGConnectingPoint num="9" id="459" /> +<TGConnectingPoint num="10" id="460" /> +<TGConnectingPoint num="11" id="461" /> +<TGConnectingPoint num="12" id="462" /> +<TGConnectingPoint num="13" id="463" /> +<TGConnectingPoint num="14" id="464" /> +<TGConnectingPoint num="15" id="465" /> +<TGConnectingPoint num="16" id="466" /> +<TGConnectingPoint num="17" id="467" /> +<TGConnectingPoint num="18" id="468" /> +<TGConnectingPoint num="19" id="469" /> +<TGConnectingPoint num="20" id="470" /> +<TGConnectingPoint num="21" id="471" /> +<TGConnectingPoint num="22" id="472" /> +<TGConnectingPoint num="23" id="473" /> <extraparam> <info stereotype="BUS-RR" nodeName="Bus1" /> -<attributes byteDataSize="4" arbitrationPolicy="0" sliceTime="10000" pipelineSize="1" clockRatio="1" privacy="0" referenceAttack="null" /> +<attributes byteDataSize="4" arbitrationPolicy="0" sliceTime="10000" pipelineSize="1" burstSize="100" clockRatio="1" privacy="0" referenceAttack="null" /> </extraparam> </COMPONENT> -<COMPONENT type="1102" id="505" > +<COMPONENT type="1102" id="499" index="11" uid="d159b8a1-fa92-4737-aafd-b54e73b4a6b5" > <cdparam x="316" y="416" /> <sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="Bus0" value="name" /> -<TGConnectingPoint num="0" id="481" /> -<TGConnectingPoint num="1" id="482" /> -<TGConnectingPoint num="2" id="483" /> -<TGConnectingPoint num="3" id="484" /> -<TGConnectingPoint num="4" id="485" /> -<TGConnectingPoint num="5" id="486" /> -<TGConnectingPoint num="6" id="487" /> -<TGConnectingPoint num="7" id="488" /> -<TGConnectingPoint num="8" id="489" /> -<TGConnectingPoint num="9" id="490" /> -<TGConnectingPoint num="10" id="491" /> -<TGConnectingPoint num="11" id="492" /> -<TGConnectingPoint num="12" id="493" /> -<TGConnectingPoint num="13" id="494" /> -<TGConnectingPoint num="14" id="495" /> -<TGConnectingPoint num="15" id="496" /> -<TGConnectingPoint num="16" id="497" /> -<TGConnectingPoint num="17" id="498" /> -<TGConnectingPoint num="18" id="499" /> -<TGConnectingPoint num="19" id="500" /> -<TGConnectingPoint num="20" id="501" /> -<TGConnectingPoint num="21" id="502" /> -<TGConnectingPoint num="22" id="503" /> -<TGConnectingPoint num="23" id="504" /> +<new d="false" /> +<TGConnectingPoint num="0" id="475" /> +<TGConnectingPoint num="1" id="476" /> +<TGConnectingPoint num="2" id="477" /> +<TGConnectingPoint num="3" id="478" /> +<TGConnectingPoint num="4" id="479" /> +<TGConnectingPoint num="5" id="480" /> +<TGConnectingPoint num="6" id="481" /> +<TGConnectingPoint num="7" id="482" /> +<TGConnectingPoint num="8" id="483" /> +<TGConnectingPoint num="9" id="484" /> +<TGConnectingPoint num="10" id="485" /> +<TGConnectingPoint num="11" id="486" /> +<TGConnectingPoint num="12" id="487" /> +<TGConnectingPoint num="13" id="488" /> +<TGConnectingPoint num="14" id="489" /> +<TGConnectingPoint num="15" id="490" /> +<TGConnectingPoint num="16" id="491" /> +<TGConnectingPoint num="17" id="492" /> +<TGConnectingPoint num="18" id="493" /> +<TGConnectingPoint num="19" id="494" /> +<TGConnectingPoint num="20" id="495" /> +<TGConnectingPoint num="21" id="496" /> +<TGConnectingPoint num="22" id="497" /> +<TGConnectingPoint num="23" id="498" /> <extraparam> <info stereotype="BUS-RR" nodeName="Bus0" /> -<attributes byteDataSize="4" arbitrationPolicy="0" sliceTime="10000" pipelineSize="1" clockRatio="1" privacy="0" referenceAttack="null" /> +<attributes byteDataSize="4" arbitrationPolicy="0" sliceTime="10000" pipelineSize="1" burstSize="100" clockRatio="1" privacy="0" referenceAttack="null" /> </extraparam> </COMPONENT> -<COMPONENT type="1116" id="530" > -<cdparam x="1355" y="573" /> +<COMPONENT type="1116" id="524" index="12" uid="92730563-e44f-472c-9fd3-5d004532ee45" > +<cdparam x="1486" y="569" /> <sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="FPGA1" value="name" /> -<TGConnectingPoint num="0" id="506" /> -<TGConnectingPoint num="1" id="507" /> -<TGConnectingPoint num="2" id="508" /> -<TGConnectingPoint num="3" id="509" /> -<TGConnectingPoint num="4" id="510" /> -<TGConnectingPoint num="5" id="511" /> -<TGConnectingPoint num="6" id="512" /> -<TGConnectingPoint num="7" id="513" /> -<TGConnectingPoint num="8" id="514" /> -<TGConnectingPoint num="9" id="515" /> -<TGConnectingPoint num="10" id="516" /> -<TGConnectingPoint num="11" id="517" /> -<TGConnectingPoint num="12" id="518" /> -<TGConnectingPoint num="13" id="519" /> -<TGConnectingPoint num="14" id="520" /> -<TGConnectingPoint num="15" id="521" /> -<TGConnectingPoint num="16" id="522" /> -<TGConnectingPoint num="17" id="523" /> -<TGConnectingPoint num="18" id="524" /> -<TGConnectingPoint num="19" id="525" /> -<TGConnectingPoint num="20" id="526" /> -<TGConnectingPoint num="21" id="527" /> -<TGConnectingPoint num="22" id="528" /> -<TGConnectingPoint num="23" id="529" /> +<new d="false" /> +<TGConnectingPoint num="0" id="500" /> +<TGConnectingPoint num="1" id="501" /> +<TGConnectingPoint num="2" id="502" /> +<TGConnectingPoint num="3" id="503" /> +<TGConnectingPoint num="4" id="504" /> +<TGConnectingPoint num="5" id="505" /> +<TGConnectingPoint num="6" id="506" /> +<TGConnectingPoint num="7" id="507" /> +<TGConnectingPoint num="8" id="508" /> +<TGConnectingPoint num="9" id="509" /> +<TGConnectingPoint num="10" id="510" /> +<TGConnectingPoint num="11" id="511" /> +<TGConnectingPoint num="12" id="512" /> +<TGConnectingPoint num="13" id="513" /> +<TGConnectingPoint num="14" id="514" /> +<TGConnectingPoint num="15" id="515" /> +<TGConnectingPoint num="16" id="516" /> +<TGConnectingPoint num="17" id="517" /> +<TGConnectingPoint num="18" id="518" /> +<TGConnectingPoint num="19" id="519" /> +<TGConnectingPoint num="20" id="520" /> +<TGConnectingPoint num="21" id="521" /> +<TGConnectingPoint num="22" id="522" /> +<TGConnectingPoint num="23" id="523" /> <extraparam> <info stereotype="FPGA" nodeName="FPGA1" /> <attributes capacity="100" byteDataSize="4" mappingPenalty="0" reconfigurationTime="50" goIdleTime="10" maxConsecutiveIdleCycles="10" execiTime="1" execcTime="1" clockRatio="1" operation ="" scheduling ="" /> </extraparam> </COMPONENT> -<COMPONENT type="1116" id="555" > +<COMPONENT type="1116" id="549" index="13" uid="01bcb2cd-8d59-4465-a940-c424365d342f" > <cdparam x="74" y="596" /> <sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="FPGA0" value="name" /> -<TGConnectingPoint num="0" id="531" /> -<TGConnectingPoint num="1" id="532" /> -<TGConnectingPoint num="2" id="533" /> -<TGConnectingPoint num="3" id="534" /> -<TGConnectingPoint num="4" id="535" /> -<TGConnectingPoint num="5" id="536" /> -<TGConnectingPoint num="6" id="537" /> -<TGConnectingPoint num="7" id="538" /> -<TGConnectingPoint num="8" id="539" /> -<TGConnectingPoint num="9" id="540" /> -<TGConnectingPoint num="10" id="541" /> -<TGConnectingPoint num="11" id="542" /> -<TGConnectingPoint num="12" id="543" /> -<TGConnectingPoint num="13" id="544" /> -<TGConnectingPoint num="14" id="545" /> -<TGConnectingPoint num="15" id="546" /> -<TGConnectingPoint num="16" id="547" /> -<TGConnectingPoint num="17" id="548" /> -<TGConnectingPoint num="18" id="549" /> -<TGConnectingPoint num="19" id="550" /> -<TGConnectingPoint num="20" id="551" /> -<TGConnectingPoint num="21" id="552" /> -<TGConnectingPoint num="22" id="553" /> -<TGConnectingPoint num="23" id="554" /> +<new d="false" /> +<TGConnectingPoint num="0" id="525" /> +<TGConnectingPoint num="1" id="526" /> +<TGConnectingPoint num="2" id="527" /> +<TGConnectingPoint num="3" id="528" /> +<TGConnectingPoint num="4" id="529" /> +<TGConnectingPoint num="5" id="530" /> +<TGConnectingPoint num="6" id="531" /> +<TGConnectingPoint num="7" id="532" /> +<TGConnectingPoint num="8" id="533" /> +<TGConnectingPoint num="9" id="534" /> +<TGConnectingPoint num="10" id="535" /> +<TGConnectingPoint num="11" id="536" /> +<TGConnectingPoint num="12" id="537" /> +<TGConnectingPoint num="13" id="538" /> +<TGConnectingPoint num="14" id="539" /> +<TGConnectingPoint num="15" id="540" /> +<TGConnectingPoint num="16" id="541" /> +<TGConnectingPoint num="17" id="542" /> +<TGConnectingPoint num="18" id="543" /> +<TGConnectingPoint num="19" id="544" /> +<TGConnectingPoint num="20" id="545" /> +<TGConnectingPoint num="21" id="546" /> +<TGConnectingPoint num="22" id="547" /> +<TGConnectingPoint num="23" id="548" /> <extraparam> <info stereotype="FPGA" nodeName="FPGA0" /> <attributes capacity="100" byteDataSize="4" mappingPenalty="0" reconfigurationTime="50" goIdleTime="10" maxConsecutiveIdleCycles="10" execiTime="1" execcTime="1" clockRatio="1" operation ="" scheduling ="" /> </extraparam> </COMPONENT> -<COMPONENT type="1106" id="580" > +<COMPONENT type="1106" id="574" index="14" uid="1f9e5367-d296-41b8-8a69-480519572200" > <cdparam x="1108" y="814" /> <sizeparam width="250" height="100" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="Bridge1" value="name" /> -<TGConnectingPoint num="0" id="556" /> -<TGConnectingPoint num="1" id="557" /> -<TGConnectingPoint num="2" id="558" /> -<TGConnectingPoint num="3" id="559" /> -<TGConnectingPoint num="4" id="560" /> -<TGConnectingPoint num="5" id="561" /> -<TGConnectingPoint num="6" id="562" /> -<TGConnectingPoint num="7" id="563" /> -<TGConnectingPoint num="8" id="564" /> -<TGConnectingPoint num="9" id="565" /> -<TGConnectingPoint num="10" id="566" /> -<TGConnectingPoint num="11" id="567" /> -<TGConnectingPoint num="12" id="568" /> -<TGConnectingPoint num="13" id="569" /> -<TGConnectingPoint num="14" id="570" /> -<TGConnectingPoint num="15" id="571" /> -<TGConnectingPoint num="16" id="572" /> -<TGConnectingPoint num="17" id="573" /> -<TGConnectingPoint num="18" id="574" /> -<TGConnectingPoint num="19" id="575" /> -<TGConnectingPoint num="20" id="576" /> -<TGConnectingPoint num="21" id="577" /> -<TGConnectingPoint num="22" id="578" /> -<TGConnectingPoint num="23" id="579" /> +<new d="false" /> +<TGConnectingPoint num="0" id="550" /> +<TGConnectingPoint num="1" id="551" /> +<TGConnectingPoint num="2" id="552" /> +<TGConnectingPoint num="3" id="553" /> +<TGConnectingPoint num="4" id="554" /> +<TGConnectingPoint num="5" id="555" /> +<TGConnectingPoint num="6" id="556" /> +<TGConnectingPoint num="7" id="557" /> +<TGConnectingPoint num="8" id="558" /> +<TGConnectingPoint num="9" id="559" /> +<TGConnectingPoint num="10" id="560" /> +<TGConnectingPoint num="11" id="561" /> +<TGConnectingPoint num="12" id="562" /> +<TGConnectingPoint num="13" id="563" /> +<TGConnectingPoint num="14" id="564" /> +<TGConnectingPoint num="15" id="565" /> +<TGConnectingPoint num="16" id="566" /> +<TGConnectingPoint num="17" id="567" /> +<TGConnectingPoint num="18" id="568" /> +<TGConnectingPoint num="19" id="569" /> +<TGConnectingPoint num="20" id="570" /> +<TGConnectingPoint num="21" id="571" /> +<TGConnectingPoint num="22" id="572" /> +<TGConnectingPoint num="23" id="573" /> <extraparam> <info stereotype="BRIDGE" nodeName="Bridge1" /> <attributes bufferByteDataSize="4" clockRatio="1" /> </extraparam> </COMPONENT> -<COMPONENT type="1104" id="605" > -<cdparam x="1393" y="804" /> +<COMPONENT type="1104" id="599" index="15" uid="4ba45209-d7c2-47e0-b7a2-543345790c71" > +<cdparam x="1398" y="810" /> <sizeparam width="200" height="200" minWidth="100" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="HWA1" value="name" /> -<TGConnectingPoint num="0" id="581" /> -<TGConnectingPoint num="1" id="582" /> -<TGConnectingPoint num="2" id="583" /> -<TGConnectingPoint num="3" id="584" /> -<TGConnectingPoint num="4" id="585" /> -<TGConnectingPoint num="5" id="586" /> -<TGConnectingPoint num="6" id="587" /> -<TGConnectingPoint num="7" id="588" /> -<TGConnectingPoint num="8" id="589" /> -<TGConnectingPoint num="9" id="590" /> -<TGConnectingPoint num="10" id="591" /> -<TGConnectingPoint num="11" id="592" /> -<TGConnectingPoint num="12" id="593" /> -<TGConnectingPoint num="13" id="594" /> -<TGConnectingPoint num="14" id="595" /> -<TGConnectingPoint num="15" id="596" /> -<TGConnectingPoint num="16" id="597" /> -<TGConnectingPoint num="17" id="598" /> -<TGConnectingPoint num="18" id="599" /> -<TGConnectingPoint num="19" id="600" /> -<TGConnectingPoint num="20" id="601" /> -<TGConnectingPoint num="21" id="602" /> -<TGConnectingPoint num="22" id="603" /> -<TGConnectingPoint num="23" id="604" /> +<new d="false" /> +<TGConnectingPoint num="0" id="575" /> +<TGConnectingPoint num="1" id="576" /> +<TGConnectingPoint num="2" id="577" /> +<TGConnectingPoint num="3" id="578" /> +<TGConnectingPoint num="4" id="579" /> +<TGConnectingPoint num="5" id="580" /> +<TGConnectingPoint num="6" id="581" /> +<TGConnectingPoint num="7" id="582" /> +<TGConnectingPoint num="8" id="583" /> +<TGConnectingPoint num="9" id="584" /> +<TGConnectingPoint num="10" id="585" /> +<TGConnectingPoint num="11" id="586" /> +<TGConnectingPoint num="12" id="587" /> +<TGConnectingPoint num="13" id="588" /> +<TGConnectingPoint num="14" id="589" /> +<TGConnectingPoint num="15" id="590" /> +<TGConnectingPoint num="16" id="591" /> +<TGConnectingPoint num="17" id="592" /> +<TGConnectingPoint num="18" id="593" /> +<TGConnectingPoint num="19" id="594" /> +<TGConnectingPoint num="20" id="595" /> +<TGConnectingPoint num="21" id="596" /> +<TGConnectingPoint num="22" id="597" /> +<TGConnectingPoint num="23" id="598" /> <extraparam> <info stereotype="HWA" nodeName="HWA1" /> -<attributes byteDataSize="4" execiTime="1" clockRatio="1" operation="" /> +<attributes byteDataSize="4" execiTime="1" execcTime="1" clockRatio="1" operation="" /> </extraparam> </COMPONENT> -<COMPONENT type="1104" id="630" > +<COMPONENT type="1104" id="624" index="16" uid="b09ab224-8365-42d2-9ef1-aa1474d5ecdf" > <cdparam x="672" y="681" /> <sizeparam width="200" height="200" minWidth="100" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="HWA0" value="name" /> -<TGConnectingPoint num="0" id="606" /> -<TGConnectingPoint num="1" id="607" /> -<TGConnectingPoint num="2" id="608" /> -<TGConnectingPoint num="3" id="609" /> -<TGConnectingPoint num="4" id="610" /> -<TGConnectingPoint num="5" id="611" /> -<TGConnectingPoint num="6" id="612" /> -<TGConnectingPoint num="7" id="613" /> -<TGConnectingPoint num="8" id="614" /> -<TGConnectingPoint num="9" id="615" /> -<TGConnectingPoint num="10" id="616" /> -<TGConnectingPoint num="11" id="617" /> -<TGConnectingPoint num="12" id="618" /> -<TGConnectingPoint num="13" id="619" /> -<TGConnectingPoint num="14" id="620" /> -<TGConnectingPoint num="15" id="621" /> -<TGConnectingPoint num="16" id="622" /> -<TGConnectingPoint num="17" id="623" /> -<TGConnectingPoint num="18" id="624" /> -<TGConnectingPoint num="19" id="625" /> -<TGConnectingPoint num="20" id="626" /> -<TGConnectingPoint num="21" id="627" /> -<TGConnectingPoint num="22" id="628" /> -<TGConnectingPoint num="23" id="629" /> +<new d="false" /> +<TGConnectingPoint num="0" id="600" /> +<TGConnectingPoint num="1" id="601" /> +<TGConnectingPoint num="2" id="602" /> +<TGConnectingPoint num="3" id="603" /> +<TGConnectingPoint num="4" id="604" /> +<TGConnectingPoint num="5" id="605" /> +<TGConnectingPoint num="6" id="606" /> +<TGConnectingPoint num="7" id="607" /> +<TGConnectingPoint num="8" id="608" /> +<TGConnectingPoint num="9" id="609" /> +<TGConnectingPoint num="10" id="610" /> +<TGConnectingPoint num="11" id="611" /> +<TGConnectingPoint num="12" id="612" /> +<TGConnectingPoint num="13" id="613" /> +<TGConnectingPoint num="14" id="614" /> +<TGConnectingPoint num="15" id="615" /> +<TGConnectingPoint num="16" id="616" /> +<TGConnectingPoint num="17" id="617" /> +<TGConnectingPoint num="18" id="618" /> +<TGConnectingPoint num="19" id="619" /> +<TGConnectingPoint num="20" id="620" /> +<TGConnectingPoint num="21" id="621" /> +<TGConnectingPoint num="22" id="622" /> +<TGConnectingPoint num="23" id="623" /> <extraparam> <info stereotype="HWA" nodeName="HWA0" /> -<attributes byteDataSize="4" execiTime="1" clockRatio="1" operation="" /> +<attributes byteDataSize="4" execiTime="1" execcTime="1" clockRatio="1" operation="" /> </extraparam> </COMPONENT> -<COMPONENT type="1107" id="655" > +<COMPONENT type="1107" id="649" index="17" uid="7918eb56-90be-4ef4-b6f1-ce4d56df6824" > <cdparam x="1109" y="354" /> <sizeparam width="200" height="200" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="DMA1" value="name" /> -<TGConnectingPoint num="0" id="631" /> -<TGConnectingPoint num="1" id="632" /> -<TGConnectingPoint num="2" id="633" /> -<TGConnectingPoint num="3" id="634" /> -<TGConnectingPoint num="4" id="635" /> -<TGConnectingPoint num="5" id="636" /> -<TGConnectingPoint num="6" id="637" /> -<TGConnectingPoint num="7" id="638" /> -<TGConnectingPoint num="8" id="639" /> -<TGConnectingPoint num="9" id="640" /> -<TGConnectingPoint num="10" id="641" /> -<TGConnectingPoint num="11" id="642" /> -<TGConnectingPoint num="12" id="643" /> -<TGConnectingPoint num="13" id="644" /> -<TGConnectingPoint num="14" id="645" /> -<TGConnectingPoint num="15" id="646" /> -<TGConnectingPoint num="16" id="647" /> -<TGConnectingPoint num="17" id="648" /> -<TGConnectingPoint num="18" id="649" /> -<TGConnectingPoint num="19" id="650" /> -<TGConnectingPoint num="20" id="651" /> -<TGConnectingPoint num="21" id="652" /> -<TGConnectingPoint num="22" id="653" /> -<TGConnectingPoint num="23" id="654" /> +<new d="false" /> +<TGConnectingPoint num="0" id="625" /> +<TGConnectingPoint num="1" id="626" /> +<TGConnectingPoint num="2" id="627" /> +<TGConnectingPoint num="3" id="628" /> +<TGConnectingPoint num="4" id="629" /> +<TGConnectingPoint num="5" id="630" /> +<TGConnectingPoint num="6" id="631" /> +<TGConnectingPoint num="7" id="632" /> +<TGConnectingPoint num="8" id="633" /> +<TGConnectingPoint num="9" id="634" /> +<TGConnectingPoint num="10" id="635" /> +<TGConnectingPoint num="11" id="636" /> +<TGConnectingPoint num="12" id="637" /> +<TGConnectingPoint num="13" id="638" /> +<TGConnectingPoint num="14" id="639" /> +<TGConnectingPoint num="15" id="640" /> +<TGConnectingPoint num="16" id="641" /> +<TGConnectingPoint num="17" id="642" /> +<TGConnectingPoint num="18" id="643" /> +<TGConnectingPoint num="19" id="644" /> +<TGConnectingPoint num="20" id="645" /> +<TGConnectingPoint num="21" id="646" /> +<TGConnectingPoint num="22" id="647" /> +<TGConnectingPoint num="23" id="648" /> <extraparam> <info stereotype="DMA" nodeName="DMA1" /> <attributes byteDataSize="4" nbOfChannels="1" clockRatio="1" /> </extraparam> </COMPONENT> -<COMPONENT type="1105" id="680" > +<COMPONENT type="1105" id="674" index="18" uid="63224e11-0df8-4c59-a569-a2a51aeb6f61" > <cdparam x="1115" y="579" /> <sizeparam width="200" height="200" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="Memory1" value="name" /> -<TGConnectingPoint num="0" id="656" /> -<TGConnectingPoint num="1" id="657" /> -<TGConnectingPoint num="2" id="658" /> -<TGConnectingPoint num="3" id="659" /> -<TGConnectingPoint num="4" id="660" /> -<TGConnectingPoint num="5" id="661" /> -<TGConnectingPoint num="6" id="662" /> -<TGConnectingPoint num="7" id="663" /> -<TGConnectingPoint num="8" id="664" /> -<TGConnectingPoint num="9" id="665" /> -<TGConnectingPoint num="10" id="666" /> -<TGConnectingPoint num="11" id="667" /> -<TGConnectingPoint num="12" id="668" /> -<TGConnectingPoint num="13" id="669" /> -<TGConnectingPoint num="14" id="670" /> -<TGConnectingPoint num="15" id="671" /> -<TGConnectingPoint num="16" id="672" /> -<TGConnectingPoint num="17" id="673" /> -<TGConnectingPoint num="18" id="674" /> -<TGConnectingPoint num="19" id="675" /> -<TGConnectingPoint num="20" id="676" /> -<TGConnectingPoint num="21" id="677" /> -<TGConnectingPoint num="22" id="678" /> -<TGConnectingPoint num="23" id="679" /> +<new d="false" /> +<TGConnectingPoint num="0" id="650" /> +<TGConnectingPoint num="1" id="651" /> +<TGConnectingPoint num="2" id="652" /> +<TGConnectingPoint num="3" id="653" /> +<TGConnectingPoint num="4" id="654" /> +<TGConnectingPoint num="5" id="655" /> +<TGConnectingPoint num="6" id="656" /> +<TGConnectingPoint num="7" id="657" /> +<TGConnectingPoint num="8" id="658" /> +<TGConnectingPoint num="9" id="659" /> +<TGConnectingPoint num="10" id="660" /> +<TGConnectingPoint num="11" id="661" /> +<TGConnectingPoint num="12" id="662" /> +<TGConnectingPoint num="13" id="663" /> +<TGConnectingPoint num="14" id="664" /> +<TGConnectingPoint num="15" id="665" /> +<TGConnectingPoint num="16" id="666" /> +<TGConnectingPoint num="17" id="667" /> +<TGConnectingPoint num="18" id="668" /> +<TGConnectingPoint num="19" id="669" /> +<TGConnectingPoint num="20" id="670" /> +<TGConnectingPoint num="21" id="671" /> +<TGConnectingPoint num="22" id="672" /> +<TGConnectingPoint num="23" id="673" /> <extraparam> <info stereotype="MEMORY" nodeName="Memory1" /> <attributes byteDataSize="4" memorySize="1024" clockRatio="1" bufferType="0" /> </extraparam> </COMPONENT> -<COMPONENT type="1106" id="705" > +<COMPONENT type="1106" id="699" index="19" uid="ae4dc07f-22d8-4adc-81ab-e2cf7c455129" > <cdparam x="13" y="416" /> <sizeparam width="250" height="100" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="Bridge0" value="name" /> -<TGConnectingPoint num="0" id="681" /> -<TGConnectingPoint num="1" id="682" /> -<TGConnectingPoint num="2" id="683" /> -<TGConnectingPoint num="3" id="684" /> -<TGConnectingPoint num="4" id="685" /> -<TGConnectingPoint num="5" id="686" /> -<TGConnectingPoint num="6" id="687" /> -<TGConnectingPoint num="7" id="688" /> -<TGConnectingPoint num="8" id="689" /> -<TGConnectingPoint num="9" id="690" /> -<TGConnectingPoint num="10" id="691" /> -<TGConnectingPoint num="11" id="692" /> -<TGConnectingPoint num="12" id="693" /> -<TGConnectingPoint num="13" id="694" /> -<TGConnectingPoint num="14" id="695" /> -<TGConnectingPoint num="15" id="696" /> -<TGConnectingPoint num="16" id="697" /> -<TGConnectingPoint num="17" id="698" /> -<TGConnectingPoint num="18" id="699" /> -<TGConnectingPoint num="19" id="700" /> -<TGConnectingPoint num="20" id="701" /> -<TGConnectingPoint num="21" id="702" /> -<TGConnectingPoint num="22" id="703" /> -<TGConnectingPoint num="23" id="704" /> +<new d="false" /> +<TGConnectingPoint num="0" id="675" /> +<TGConnectingPoint num="1" id="676" /> +<TGConnectingPoint num="2" id="677" /> +<TGConnectingPoint num="3" id="678" /> +<TGConnectingPoint num="4" id="679" /> +<TGConnectingPoint num="5" id="680" /> +<TGConnectingPoint num="6" id="681" /> +<TGConnectingPoint num="7" id="682" /> +<TGConnectingPoint num="8" id="683" /> +<TGConnectingPoint num="9" id="684" /> +<TGConnectingPoint num="10" id="685" /> +<TGConnectingPoint num="11" id="686" /> +<TGConnectingPoint num="12" id="687" /> +<TGConnectingPoint num="13" id="688" /> +<TGConnectingPoint num="14" id="689" /> +<TGConnectingPoint num="15" id="690" /> +<TGConnectingPoint num="16" id="691" /> +<TGConnectingPoint num="17" id="692" /> +<TGConnectingPoint num="18" id="693" /> +<TGConnectingPoint num="19" id="694" /> +<TGConnectingPoint num="20" id="695" /> +<TGConnectingPoint num="21" id="696" /> +<TGConnectingPoint num="22" id="697" /> +<TGConnectingPoint num="23" id="698" /> <extraparam> <info stereotype="BRIDGE" nodeName="Bridge0" /> <attributes bufferByteDataSize="4" clockRatio="1" /> </extraparam> </COMPONENT> -<COMPONENT type="1117" id="730" > -<cdparam x="686" y="230" /> -<sizeparam width="250" height="100" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="NoC0" value="name" /> -<TGConnectingPoint num="0" id="706" /> -<TGConnectingPoint num="1" id="707" /> -<TGConnectingPoint num="2" id="708" /> -<TGConnectingPoint num="3" id="709" /> -<TGConnectingPoint num="4" id="710" /> -<TGConnectingPoint num="5" id="711" /> -<TGConnectingPoint num="6" id="712" /> -<TGConnectingPoint num="7" id="713" /> -<TGConnectingPoint num="8" id="714" /> -<TGConnectingPoint num="9" id="715" /> -<TGConnectingPoint num="10" id="716" /> -<TGConnectingPoint num="11" id="717" /> -<TGConnectingPoint num="12" id="718" /> -<TGConnectingPoint num="13" id="719" /> -<TGConnectingPoint num="14" id="720" /> -<TGConnectingPoint num="15" id="721" /> -<TGConnectingPoint num="16" id="722" /> -<TGConnectingPoint num="17" id="723" /> -<TGConnectingPoint num="18" id="724" /> -<TGConnectingPoint num="19" id="725" /> -<TGConnectingPoint num="20" id="726" /> -<TGConnectingPoint num="21" id="727" /> -<TGConnectingPoint num="22" id="728" /> -<TGConnectingPoint num="23" id="729" /> -<extraparam> -<info stereotype="NoC" nodeName="NoC0" /> -<attributes bufferByteDataSize="4" size="2" placement="CPU1 1 0" clockRatio="1" /> -</extraparam> -</COMPONENT> - -<CONNECTOR type="125" id="731" > +<CONNECTOR type="125" id="725" index="20" uid="f6250e04-dcfe-408a-9430-ba1cd605f234" > <cdparam x="199" y="596" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> -<P1 x="199" y="596" id="532" /> -<P2 x="378" y="466" id="495" /> +<P1 x="199" y="596" id="526" /> +<P2 x="378" y="466" id="489" /> <AutomaticDrawing data="true" /> +<new d="false" /> <extraparam> <info priority="0" /> <spy value="false" /> </extraparam> </CONNECTOR> -<CONNECTOR type="125" id="732" > +<CONNECTOR type="125" id="726" index="21" uid="d5714674-eb01-4e20-a055-5a5ee12033b4" > <cdparam x="262" y="461" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> -<P1 x="263" y="466" id="685" /> -<P2 x="316" y="441" id="484" /> +<P1 x="263" y="466" id="679" /> +<P2 x="316" y="441" id="478" /> <AutomaticDrawing data="true" /> +<new d="false" /> <extraparam> <info priority="0" /> <spy value="false" /> </extraparam> </CONNECTOR> -<CONNECTOR type="125" id="733" > +<CONNECTOR type="125" id="727" index="22" uid="66406a52-7714-49c2-ac5c-477dddc50aad" > <cdparam x="770" y="476" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> -<P1 x="699" y="448" id="416" /> -<P2 x="566" y="441" id="485" /> +<P1 x="699" y="448" id="410" /> +<P2 x="566" y="441" id="479" /> <AutomaticDrawing data="true" /> +<new d="false" /> <extraparam> <info priority="0" /> <spy value="false" /> </extraparam> </CONNECTOR> -<CONNECTOR type="125" id="734" > +<CONNECTOR type="125" id="728" index="23" uid="1033cf37-b847-41d4-8fa6-67bda2618f3b" > <cdparam x="298" y="533" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> -<P1 x="444" y="601" id="432" /> -<P2 x="441" y="466" id="487" /> +<P1 x="477" y="601" id="426" /> +<P2 x="441" y="466" id="481" /> <AutomaticDrawing data="true" /> +<new d="false" /> <extraparam> <info priority="0" /> <spy value="false" /> </extraparam> </CONNECTOR> -<CONNECTOR type="125" id="735" > +<CONNECTOR type="125" id="729" index="24" uid="5df9b60c-acea-47e2-9e6b-50b40c2846ec" > <cdparam x="444" y="328" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> -<P1 x="359" y="353" id="337" /> -<P2 x="441" y="416" id="482" /> +<P1 x="359" y="353" id="331" /> +<P2 x="441" y="416" id="476" /> <AutomaticDrawing data="true" /> +<new d="false" /> <extraparam> <info priority="0" /> <spy value="false" /> </extraparam> </CONNECTOR> -<CONNECTOR type="125" id="736" > +<CONNECTOR type="125" id="730" index="25" uid="ce19f018-0572-45c5-af55-cb6a0bb4fe82" > <cdparam x="759" y="623" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> -<P1 x="722" y="681" id="614" /> -<P2 x="503" y="466" id="496" /> +<P1 x="722" y="681" id="608" /> +<P2 x="503" y="466" id="490" /> <AutomaticDrawing data="true" /> +<new d="false" /> <extraparam> <info priority="0" /> <spy value="false" /> diff --git a/ttool/src/test/resources/ui/diagram2tml/input/CloneCompositeComponentTest.xml b/ttool/src/test/resources/ui/diagram2tml/input/CloneCompositeComponentTest.xml index d7d2d43639cfa9d4d626a48e6e93d82728ec0528..576193ac752ef325fb1b2ef40782e1d99ac1bc96 100644 --- a/ttool/src/test/resources/ui/diagram2tml/input/CloneCompositeComponentTest.xml +++ b/ttool/src/test/resources/ui/diagram2tml/input/CloneCompositeComponentTest.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<TURTLEGMODELING version="3.0 beta" ANIMATE_INTERACTIVE_SIMULATION="true" ACTIVATE_PENALTIES="false" UPDATE_INFORMATION_DIPLO_SIM="false" ANIMATE_WITH_INFO_DIPLO_SIM="true" OPEN_DIAG_DIPLO_SIM="false" LAST_SELECTED_MAIN_TAB="0" LAST_SELECTED_SUB_TAB="0"> +<TURTLEGMODELING version="3.0 beta" ANIMATE_INTERACTIVE_SIMULATION="true" ACTIVATE_PENALTIES="false" 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="TML Component Design" nameTab="Application" tabs="TML Component Task Diagram$PrimitiveComp2$PrimitiveComp1$PrimitiveComp3$PrimitiveComp4$PrimitiveComp5$PrimitiveComp6" > <TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="10" maxX="2500" minY="10" maxY="1500" channels="true" events="true" requests="true" considerExecOperators="true" considerTimingOperators="true" zoom="1.0" > @@ -8,8 +8,8 @@ <cdparam x="475" y="480" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="467" y="365" id="17" /> -<P2 x="514" y="364" id="6" /> +<P1 x="467" y="365" id="45" /> +<P2 x="514" y="364" id="56" /> <AutomaticDrawing data="true" /> <new d="false" /> </CONNECTOR> @@ -17,8 +17,8 @@ <cdparam x="1021" y="460" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="564" y="164" id="65" /> -<P2 x="430" y="163" id="52" /> +<P1 x="564" y="164" id="6" /> +<P2 x="430" y="163" id="19" /> <AutomaticDrawing data="true" /> <new d="false" /> </CONNECTOR> @@ -26,8 +26,8 @@ <cdparam x="878" y="469" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="430" y="208" id="50" /> -<P2 x="564" y="209" id="63" /> +<P1 x="430" y="208" id="21" /> +<P2 x="564" y="209" id="8" /> <AutomaticDrawing data="true" /> <new d="false" /> </CONNECTOR> @@ -35,8 +35,8 @@ <cdparam x="424" y="585" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="424" y="585" id="30" /> -<P2 x="521" y="585" id="28" /> +<P1 x="424" y="585" id="32" /> +<P2 x="521" y="585" id="34" /> <AutomaticDrawing data="true" /> <new d="false" /> </CONNECTOR> @@ -44,8 +44,8 @@ <cdparam x="1144" y="348" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="1144" y="348" id="85" /> -<P2 x="1144" y="405" id="87" /> +<P1 x="1144" y="348" id="87" /> +<P2 x="1144" y="405" id="85" /> <AutomaticDrawing data="true" /> <new d="false" /> </CONNECTOR> @@ -68,57 +68,37 @@ <info hiddeni="false" /> </extraparam> </COMPONENT> -<SUBCOMPONENT type="1200" id="49" index="7" uid="fa608369-ff64-4b12-8b0f-7c6da178f79e" > +<SUBCOMPONENT type="1202" id="18" index="7" uid="35c4939c-38d1-47a1-b006-613944f2f885" > <father id="84" num="0" /> -<cdparam x="266" y="278" /> -<sizeparam width="471" height="329" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="0" maxX="201" minY="0" maxY="289" /> -<infoparam name="Composite component" value="CompositeComp2" /> -<new d="false" /> -<TGConnectingPoint num="0" id="41" /> -<TGConnectingPoint num="1" id="42" /> -<TGConnectingPoint num="2" id="43" /> -<TGConnectingPoint num="3" id="44" /> -<TGConnectingPoint num="4" id="45" /> -<TGConnectingPoint num="5" id="46" /> -<TGConnectingPoint num="6" id="47" /> -<TGConnectingPoint num="7" id="48" /> -<extraparam> -<info hiddeni="false" /> -</extraparam> -</SUBCOMPONENT> -<SUBCOMPONENT type="1202" id="16" index="8" uid="d5af42cd-aaeb-4fb9-8371-fef423051975" > -<father id="49" num="0" /> -<cdparam x="527" y="316" /> +<cdparam x="577" y="116" /> <sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="271" minY="0" maxY="179" /> -<infoparam name="Primitive component" value="PrimitiveComp4" /> +<cdrectangleparam minX="0" maxX="472" minY="0" maxY="468" /> +<infoparam name="Primitive component" value="PrimitiveComp2" /> <new d="false" /> -<TGConnectingPoint num="0" id="8" /> -<TGConnectingPoint num="1" id="9" /> -<TGConnectingPoint num="2" id="10" /> -<TGConnectingPoint num="3" id="11" /> -<TGConnectingPoint num="4" id="12" /> -<TGConnectingPoint num="5" id="13" /> -<TGConnectingPoint num="6" id="14" /> -<TGConnectingPoint num="7" id="15" /> +<TGConnectingPoint num="0" id="10" /> +<TGConnectingPoint num="1" id="11" /> +<TGConnectingPoint num="2" id="12" /> +<TGConnectingPoint num="3" id="13" /> +<TGConnectingPoint num="4" id="14" /> +<TGConnectingPoint num="5" id="15" /> +<TGConnectingPoint num="6" id="16" /> +<TGConnectingPoint num="7" id="17" /> <extraparam> <Data isAttacker="No" daemon="false" periodic="false" periodValue="" unit="" Operation="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="7" index="9" uid="0ed01ee0-d206-413a-a6a6-084865e95784" > -<father id="16" num="0" /> -<cdparam x="514" y="351" /> +<SUBCOMPONENT type="1203" id="7" index="8" uid="ddecd86e-4901-4709-91c6-defbef233aa6" > +<father id="18" num="0" /> +<cdparam x="564" y="151" /> <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> -<infoparam name="Primitive port" value="Channel channel2" /> +<infoparam name="Primitive port" value="Channel channel" /> <new d="false" /> <TGConnectingPoint num="0" id="6" /> <extraparam> -<Prop commName="channel2" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Prop commName="channel" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -126,37 +106,17 @@ <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1202" id="27" index="10" uid="59b57c53-361d-4d0b-ad9f-57e6896d8134" > -<father id="49" num="1" /> -<cdparam x="285" y="318" /> -<sizeparam width="169" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="0" maxX="302" minY="0" maxY="179" /> -<infoparam name="Primitive component" value="PrimitiveComp3" /> -<new d="false" /> -<TGConnectingPoint num="0" id="19" /> -<TGConnectingPoint num="1" id="20" /> -<TGConnectingPoint num="2" id="21" /> -<TGConnectingPoint num="3" id="22" /> -<TGConnectingPoint num="4" id="23" /> -<TGConnectingPoint num="5" id="24" /> -<TGConnectingPoint num="6" id="25" /> -<TGConnectingPoint num="7" id="26" /> -<extraparam> -<Data isAttacker="No" daemon="false" periodic="false" periodValue="" unit="" Operation="" /> -</extraparam> -</SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="18" index="11" uid="b299d365-3c3c-4763-89fa-c4acc3b57fb7" > -<father id="27" num="0" /> -<cdparam x="441" y="352" /> +<SUBCOMPONENT type="1203" id="9" index="9" uid="f0a79524-a384-4ff6-8aa4-09cf80840d14" > +<father id="18" num="1" /> +<cdparam x="564" y="196" /> <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="137" /> -<infoparam name="Primitive port" value="Channel channel2" /> +<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> +<infoparam name="Primitive port" value="Event event" /> <new d="false" /> -<TGConnectingPoint num="0" id="17" /> +<TGConnectingPoint num="0" id="8" /> <extraparam> -<Prop commName="channel2" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Prop commName="event" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -164,39 +124,37 @@ <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1202" id="40" index="12" uid="0e802cc8-bbff-4d8f-b8b3-050d6942614d" > -<father id="49" num="2" /> -<cdparam x="399" y="491" /> -<sizeparam width="169" height="81" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<SUBCOMPONENT type="1202" id="31" index="10" uid="9be27848-9755-4443-b29b-a2064e01473e" > +<father id="84" num="1" /> +<cdparam x="217" y="116" /> +<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="302" minY="0" maxY="248" /> -<infoparam name="Primitive component" value="PrimitiveComp5" /> +<cdrectangleparam minX="0" maxX="472" minY="0" maxY="468" /> +<infoparam name="Primitive component" value="PrimitiveComp1" /> <new d="false" /> -<TGConnectingPoint num="0" id="32" /> -<TGConnectingPoint num="1" id="33" /> -<TGConnectingPoint num="2" id="34" /> -<TGConnectingPoint num="3" id="35" /> -<TGConnectingPoint num="4" id="36" /> -<TGConnectingPoint num="5" id="37" /> -<TGConnectingPoint num="6" id="38" /> -<TGConnectingPoint num="7" id="39" /> +<TGConnectingPoint num="0" id="23" /> +<TGConnectingPoint num="1" id="24" /> +<TGConnectingPoint num="2" id="25" /> +<TGConnectingPoint num="3" id="26" /> +<TGConnectingPoint num="4" id="27" /> +<TGConnectingPoint num="5" id="28" /> +<TGConnectingPoint num="6" id="29" /> +<TGConnectingPoint num="7" id="30" /> <extraparam> <Data isAttacker="No" daemon="false" periodic="false" periodValue="" unit="" Operation="" /> -<Attribute access="2" id="attr1" value="" type="0" typeOther="" /> -<Attribute access="2" id="attr2" value="" type="4" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="29" index="13" uid="9d86a4e4-c3f5-493e-903c-326b65065817" > -<father id="40" num="0" /> -<cdparam x="508" y="559" /> +<SUBCOMPONENT type="1203" id="20" index="11" uid="9be66e5d-5680-4389-9a3f-0206b75ac2e0" > +<father id="31" num="0" /> +<cdparam x="404" y="150" /> <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="68" /> -<infoparam name="Primitive port" value="Channel channel3" /> +<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> +<infoparam name="Primitive port" value="Channel channel" /> <new d="false" /> -<TGConnectingPoint num="0" id="28" /> +<TGConnectingPoint num="0" id="19" /> <extraparam> -<Prop commName="channel3" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Prop commName="channel" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -204,17 +162,17 @@ <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="31" index="14" uid="be53d99f-b7cb-493b-9fb8-223fda29c23f" > -<father id="40" num="1" /> -<cdparam x="411" y="559" /> +<SUBCOMPONENT type="1203" id="22" index="12" uid="3c5a5c05-1d84-4042-9bb7-1a21b0e951f2" > +<father id="31" num="1" /> +<cdparam x="404" y="195" /> <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="68" /> -<infoparam name="Primitive port" value="Channel channel3" /> +<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> +<infoparam name="Primitive port" value="Event event" /> <new d="false" /> -<TGConnectingPoint num="0" id="30" /> +<TGConnectingPoint num="0" id="21" /> <extraparam> -<Prop commName="channel3" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Prop commName="event" commType="1" origin="true" finite="true" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -222,37 +180,59 @@ <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1202" id="62" index="15" uid="9be27848-9755-4443-b29b-a2064e01473e" > -<father id="84" num="1" /> -<cdparam x="217" y="116" /> -<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<SUBCOMPONENT type="1200" id="75" index="13" uid="fa608369-ff64-4b12-8b0f-7c6da178f79e" > +<father id="84" num="2" /> +<cdparam x="266" y="278" /> +<sizeparam width="471" height="329" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="472" minY="0" maxY="468" /> -<infoparam name="Primitive component" value="PrimitiveComp1" /> +<cdrectangleparam minX="0" maxX="201" minY="0" maxY="289" /> +<infoparam name="Composite component" value="CompositeComp2" /> <new d="false" /> -<TGConnectingPoint num="0" id="54" /> -<TGConnectingPoint num="1" id="55" /> -<TGConnectingPoint num="2" id="56" /> -<TGConnectingPoint num="3" id="57" /> -<TGConnectingPoint num="4" id="58" /> -<TGConnectingPoint num="5" id="59" /> -<TGConnectingPoint num="6" id="60" /> -<TGConnectingPoint num="7" id="61" /> +<TGConnectingPoint num="0" id="67" /> +<TGConnectingPoint num="1" id="68" /> +<TGConnectingPoint num="2" id="69" /> +<TGConnectingPoint num="3" id="70" /> +<TGConnectingPoint num="4" id="71" /> +<TGConnectingPoint num="5" id="72" /> +<TGConnectingPoint num="6" id="73" /> +<TGConnectingPoint num="7" id="74" /> +<extraparam> +<info hiddeni="false" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1202" id="44" index="14" uid="0e802cc8-bbff-4d8f-b8b3-050d6942614d" > +<father id="75" num="0" /> +<cdparam x="399" y="491" /> +<sizeparam width="169" height="81" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="302" minY="0" maxY="248" /> +<infoparam name="Primitive component" value="PrimitiveComp5" /> +<new d="false" /> +<TGConnectingPoint num="0" id="36" /> +<TGConnectingPoint num="1" id="37" /> +<TGConnectingPoint num="2" id="38" /> +<TGConnectingPoint num="3" id="39" /> +<TGConnectingPoint num="4" id="40" /> +<TGConnectingPoint num="5" id="41" /> +<TGConnectingPoint num="6" id="42" /> +<TGConnectingPoint num="7" id="43" /> <extraparam> <Data isAttacker="No" daemon="false" periodic="false" periodValue="" unit="" Operation="" /> +<Attribute access="2" id="attr1" value="" type="0" typeOther="" /> +<Attribute access="2" id="attr2" value="" type="4" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="51" index="16" uid="3c5a5c05-1d84-4042-9bb7-1a21b0e951f2" > -<father id="62" num="0" /> -<cdparam x="404" y="195" /> +<SUBCOMPONENT type="1203" id="33" index="15" uid="be53d99f-b7cb-493b-9fb8-223fda29c23f" > +<father id="44" num="0" /> +<cdparam x="411" y="559" /> <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> -<infoparam name="Primitive port" value="Event event" /> +<cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="68" /> +<infoparam name="Primitive port" value="Channel channel3" /> <new d="false" /> -<TGConnectingPoint num="0" id="50" /> +<TGConnectingPoint num="0" id="32" /> <extraparam> -<Prop commName="event" commType="1" origin="true" finite="true" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Prop commName="channel3" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -260,17 +240,17 @@ <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="53" index="17" uid="9be66e5d-5680-4389-9a3f-0206b75ac2e0" > -<father id="62" num="1" /> -<cdparam x="404" y="150" /> +<SUBCOMPONENT type="1203" id="35" index="16" uid="9d86a4e4-c3f5-493e-903c-326b65065817" > +<father id="44" num="1" /> +<cdparam x="508" y="559" /> <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> -<infoparam name="Primitive port" value="Channel channel" /> +<cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="68" /> +<infoparam name="Primitive port" value="Channel channel3" /> <new d="false" /> -<TGConnectingPoint num="0" id="52" /> +<TGConnectingPoint num="0" id="34" /> <extraparam> -<Prop commName="channel" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Prop commName="channel3" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -278,37 +258,37 @@ <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1202" id="75" index="18" uid="35c4939c-38d1-47a1-b006-613944f2f885" > -<father id="84" num="2" /> -<cdparam x="577" y="116" /> -<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<SUBCOMPONENT type="1202" id="55" index="17" uid="59b57c53-361d-4d0b-ad9f-57e6896d8134" > +<father id="75" num="1" /> +<cdparam x="285" y="318" /> +<sizeparam width="169" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="472" minY="0" maxY="468" /> -<infoparam name="Primitive component" value="PrimitiveComp2" /> +<cdrectangleparam minX="0" maxX="302" minY="0" maxY="179" /> +<infoparam name="Primitive component" value="PrimitiveComp3" /> <new d="false" /> -<TGConnectingPoint num="0" id="67" /> -<TGConnectingPoint num="1" id="68" /> -<TGConnectingPoint num="2" id="69" /> -<TGConnectingPoint num="3" id="70" /> -<TGConnectingPoint num="4" id="71" /> -<TGConnectingPoint num="5" id="72" /> -<TGConnectingPoint num="6" id="73" /> -<TGConnectingPoint num="7" id="74" /> +<TGConnectingPoint num="0" id="47" /> +<TGConnectingPoint num="1" id="48" /> +<TGConnectingPoint num="2" id="49" /> +<TGConnectingPoint num="3" id="50" /> +<TGConnectingPoint num="4" id="51" /> +<TGConnectingPoint num="5" id="52" /> +<TGConnectingPoint num="6" id="53" /> +<TGConnectingPoint num="7" id="54" /> <extraparam> <Data isAttacker="No" daemon="false" periodic="false" periodValue="" unit="" Operation="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="64" index="19" uid="f0a79524-a384-4ff6-8aa4-09cf80840d14" > -<father id="75" num="0" /> -<cdparam x="564" y="196" /> +<SUBCOMPONENT type="1203" id="46" index="18" uid="b299d365-3c3c-4763-89fa-c4acc3b57fb7" > +<father id="55" num="0" /> +<cdparam x="441" y="352" /> <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> -<infoparam name="Primitive port" value="Event event" /> +<cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="137" /> +<infoparam name="Primitive port" value="Channel channel2" /> <new d="false" /> -<TGConnectingPoint num="0" id="63" /> +<TGConnectingPoint num="0" id="45" /> <extraparam> -<Prop commName="event" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Prop commName="channel2" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -316,17 +296,37 @@ <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="66" index="20" uid="ddecd86e-4901-4709-91c6-defbef233aa6" > -<father id="75" num="1" /> -<cdparam x="564" y="151" /> +<SUBCOMPONENT type="1202" id="66" index="19" uid="d5af42cd-aaeb-4fb9-8371-fef423051975" > +<father id="75" num="2" /> +<cdparam x="527" y="316" /> +<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="271" minY="0" maxY="179" /> +<infoparam name="Primitive component" value="PrimitiveComp4" /> +<new d="false" /> +<TGConnectingPoint num="0" id="58" /> +<TGConnectingPoint num="1" id="59" /> +<TGConnectingPoint num="2" id="60" /> +<TGConnectingPoint num="3" id="61" /> +<TGConnectingPoint num="4" id="62" /> +<TGConnectingPoint num="5" id="63" /> +<TGConnectingPoint num="6" id="64" /> +<TGConnectingPoint num="7" id="65" /> +<extraparam> +<Data isAttacker="No" daemon="false" periodic="false" periodValue="" unit="" Operation="" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1203" id="57" index="20" uid="0ed01ee0-d206-413a-a6a6-084865e95784" > +<father id="66" num="0" /> +<cdparam x="514" y="351" /> <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> -<infoparam name="Primitive port" value="Channel channel" /> +<infoparam name="Primitive port" value="Channel channel2" /> <new d="false" /> -<TGConnectingPoint num="0" id="65" /> +<TGConnectingPoint num="0" id="56" /> <extraparam> -<Prop commName="channel" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Prop commName="channel2" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -354,9 +354,9 @@ <Data isAttacker="No" daemon="false" periodic="false" periodValue="" unit="" Operation="" /> </extraparam> </COMPONENT> -<SUBCOMPONENT type="1203" id="86" index="21" uid="20e189ea-c0cb-4eaa-89f8-848ab0580101" > +<SUBCOMPONENT type="1203" id="86" index="21" uid="9019dfe4-1635-43c0-ba4b-71c20fba6654" > <father id="97" num="0" /> -<cdparam x="1118" y="335" /> +<cdparam x="1118" y="392" /> <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> @@ -364,7 +364,7 @@ <new d="false" /> <TGConnectingPoint num="0" id="85" /> <extraparam> -<Prop commName="channel4" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Prop commName="channel4" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -372,9 +372,9 @@ <Type type="0" typeOther="" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1203" id="88" index="22" uid="9019dfe4-1635-43c0-ba4b-71c20fba6654" > +<SUBCOMPONENT type="1203" id="88" index="22" uid="20e189ea-c0cb-4eaa-89f8-848ab0580101" > <father id="97" num="1" /> -<cdparam x="1118" y="392" /> +<cdparam x="1118" y="335" /> <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" /> @@ -382,7 +382,7 @@ <new d="false" /> <TGConnectingPoint num="0" id="87" /> <extraparam> -<Prop commName="channel4" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> +<Prop commName="channel4" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> <Type type="0" typeOther="" /> @@ -1464,13 +1464,13 @@ <attributes nbOfCores="1" byteDataSize="4" schedulingPolicy="0" sliceTime="10000" goIdleTime="10" maxConsecutiveIdleCycles="10" pipelineSize="5" taskSwitchingTime="20" branchingPredictionPenalty="2" cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" operation="" MECType="0" encryption="0"/> </extraparam> </COMPONENT> -<SUBCOMPONENT type="1101" id="279" index="15" uid="36898c44-6f45-4a1c-b0d2-9c548d25d9f4" > +<SUBCOMPONENT type="1101" id="279" index="13" uid="6a4f0c1d-e492-4a15-b14f-8f38af9f80d4" > <father id="349" num="0" /> -<cdparam x="376" y="255" /> -<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="110" y="152" /> +<sizeparam width="198" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> -<infoparam name="TGComponent" value="Application::PrimitiveComp6" /> +<cdrectangleparam minX="0" maxX="354" minY="0" maxY="185" /> +<infoparam name="TGComponent" value="Application::PrimitiveComp1" /> <new d="false" /> <TGConnectingPoint num="0" id="271" /> <TGConnectingPoint num="1" id="272" /> @@ -1481,16 +1481,16 @@ <TGConnectingPoint num="6" id="277" /> <TGConnectingPoint num="7" id="278" /> <extraparam> -<info value="Application::PrimitiveComp6" taskName="PrimitiveComp6" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp6" fatherComponentMECType="0" /> +<info value="Application::PrimitiveComp1" taskName="PrimitiveComp1" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1101" id="288" index="16" uid="6771df13-5a2d-4df0-81df-3a43e5cc00e5" > +<SUBCOMPONENT type="1101" id="288" index="14" uid="39fff73a-8d03-4f01-badd-7758efd84065" > <father id="349" num="1" /> -<cdparam x="371" y="203" /> -<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="111" y="201" /> +<sizeparam width="198" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> -<infoparam name="TGComponent" value="Application::PrimitiveComp5" /> +<cdrectangleparam minX="0" maxX="354" minY="0" maxY="185" /> +<infoparam name="TGComponent" value="Application::PrimitiveComp2" /> <new d="false" /> <TGConnectingPoint num="0" id="280" /> <TGConnectingPoint num="1" id="281" /> @@ -1501,16 +1501,16 @@ <TGConnectingPoint num="6" id="286" /> <TGConnectingPoint num="7" id="287" /> <extraparam> -<info value="Application::PrimitiveComp5" taskName="PrimitiveComp5" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp5" fatherComponentMECType="0" /> +<info value="Application::PrimitiveComp2" taskName="PrimitiveComp2" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1101" id="297" index="17" uid="348009d2-735e-4954-9e0e-c8fdf3138bff" > +<SUBCOMPONENT type="1101" id="297" index="15" uid="3f6e51d4-bdb4-4a88-9bfe-6c303449b749" > <father id="349" num="2" /> -<cdparam x="393" y="144" /> -<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="112" y="261" /> +<sizeparam width="198" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> -<infoparam name="TGComponent" value="Application::PrimitiveComp4" /> +<cdrectangleparam minX="0" maxX="354" minY="0" maxY="185" /> +<infoparam name="TGComponent" value="Application::PrimitiveComp3" /> <new d="false" /> <TGConnectingPoint num="0" id="289" /> <TGConnectingPoint num="1" id="290" /> @@ -1521,16 +1521,16 @@ <TGConnectingPoint num="6" id="295" /> <TGConnectingPoint num="7" id="296" /> <extraparam> -<info value="Application::PrimitiveComp4" taskName="PrimitiveComp4" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> +<info value="Application::PrimitiveComp3" taskName="PrimitiveComp3" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1101" id="306" index="18" uid="3f6e51d4-bdb4-4a88-9bfe-6c303449b749" > +<SUBCOMPONENT type="1101" id="306" index="16" uid="348009d2-735e-4954-9e0e-c8fdf3138bff" > <father id="349" num="3" /> -<cdparam x="112" y="261" /> -<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="393" y="144" /> +<sizeparam width="198" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> -<infoparam name="TGComponent" value="Application::PrimitiveComp3" /> +<cdrectangleparam minX="0" maxX="354" minY="0" maxY="185" /> +<infoparam name="TGComponent" value="Application::PrimitiveComp4" /> <new d="false" /> <TGConnectingPoint num="0" id="298" /> <TGConnectingPoint num="1" id="299" /> @@ -1541,16 +1541,16 @@ <TGConnectingPoint num="6" id="304" /> <TGConnectingPoint num="7" id="305" /> <extraparam> -<info value="Application::PrimitiveComp3" taskName="PrimitiveComp3" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> +<info value="Application::PrimitiveComp4" taskName="PrimitiveComp4" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1101" id="315" index="19" uid="39fff73a-8d03-4f01-badd-7758efd84065" > +<SUBCOMPONENT type="1101" id="315" index="17" uid="6771df13-5a2d-4df0-81df-3a43e5cc00e5" > <father id="349" num="4" /> -<cdparam x="111" y="201" /> -<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="371" y="203" /> +<sizeparam width="198" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> -<infoparam name="TGComponent" value="Application::PrimitiveComp2" /> +<cdrectangleparam minX="0" maxX="354" minY="0" maxY="185" /> +<infoparam name="TGComponent" value="Application::PrimitiveComp5" /> <new d="false" /> <TGConnectingPoint num="0" id="307" /> <TGConnectingPoint num="1" id="308" /> @@ -1561,16 +1561,16 @@ <TGConnectingPoint num="6" id="313" /> <TGConnectingPoint num="7" id="314" /> <extraparam> -<info value="Application::PrimitiveComp2" taskName="PrimitiveComp2" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> +<info value="Application::PrimitiveComp5" taskName="PrimitiveComp5" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp5" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="1101" id="324" index="20" uid="6a4f0c1d-e492-4a15-b14f-8f38af9f80d4" > +<SUBCOMPONENT type="1101" id="324" index="18" uid="36898c44-6f45-4a1c-b0d2-9c548d25d9f4" > <father id="349" num="5" /> -<cdparam x="110" y="152" /> -<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="376" y="255" /> +<sizeparam width="198" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" /> -<infoparam name="TGComponent" value="Application::PrimitiveComp1" /> +<cdrectangleparam minX="0" maxX="354" minY="0" maxY="185" /> +<infoparam name="TGComponent" value="Application::PrimitiveComp6" /> <new d="false" /> <TGConnectingPoint num="0" id="316" /> <TGConnectingPoint num="1" id="317" /> @@ -1581,49 +1581,12 @@ <TGConnectingPoint num="6" id="322" /> <TGConnectingPoint num="7" id="323" /> <extraparam> -<info value="Application::PrimitiveComp1" taskName="PrimitiveComp1" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" /> +<info value="Application::PrimitiveComp6" taskName="PrimitiveComp6" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp6" fatherComponentMECType="0" /> </extraparam> </SUBCOMPONENT> -<COMPONENT type="1100" id="374" index="1" uid="4a1faa36-2017-4ca8-a8c7-4266fba9e293" > -<cdparam x="991" y="100" /> -<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="CPU1" value="name" /> -<new d="false" /> -<TGConnectingPoint num="0" id="350" /> -<TGConnectingPoint num="1" id="351" /> -<TGConnectingPoint num="2" id="352" /> -<TGConnectingPoint num="3" id="353" /> -<TGConnectingPoint num="4" id="354" /> -<TGConnectingPoint num="5" id="355" /> -<TGConnectingPoint num="6" id="356" /> -<TGConnectingPoint num="7" id="357" /> -<TGConnectingPoint num="8" id="358" /> -<TGConnectingPoint num="9" id="359" /> -<TGConnectingPoint num="10" id="360" /> -<TGConnectingPoint num="11" id="361" /> -<TGConnectingPoint num="12" id="362" /> -<TGConnectingPoint num="13" id="363" /> -<TGConnectingPoint num="14" id="364" /> -<TGConnectingPoint num="15" id="365" /> -<TGConnectingPoint num="16" id="366" /> -<TGConnectingPoint num="17" id="367" /> -<TGConnectingPoint num="18" id="368" /> -<TGConnectingPoint num="19" id="369" /> -<TGConnectingPoint num="20" id="370" /> -<TGConnectingPoint num="21" id="371" /> -<TGConnectingPoint num="22" id="372" /> -<TGConnectingPoint num="23" id="373" /> -<extraparam> -<info stereotype="CPURR" nodeName="CPU1" /> -<attributes nbOfCores="1" byteDataSize="4" schedulingPolicy="0" sliceTime="10000" goIdleTime="10" maxConsecutiveIdleCycles="10" pipelineSize="5" taskSwitchingTime="20" branchingPredictionPenalty="2" cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" operation="" MECType="0" encryption="0"/> -</extraparam> -</COMPONENT> - -<COMPONENT type="1107" id="399" index="2" uid="93a76056-6fc0-498f-a49d-d329c3e624ec" > -<cdparam x="699" y="398" /> +<COMPONENT type="1107" id="399" index="1" uid="93a76056-6fc0-498f-a49d-d329c3e624ec" > +<cdparam x="868" y="390" /> <sizeparam width="200" height="200" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -1659,9 +1622,9 @@ </extraparam> </COMPONENT> -<COMPONENT type="1105" id="424" index="3" uid="4ecdf5d5-1dcd-4170-9d35-372d61cb4f7b" > +<COMPONENT type="1105" id="424" index="2" uid="4ecdf5d5-1dcd-4170-9d35-372d61cb4f7b" > <cdparam x="344" y="601" /> -<sizeparam width="200" height="200" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="453" height="303" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> <infoparam name="Memory0" value="name" /> @@ -1695,8 +1658,108 @@ <attributes byteDataSize="4" memorySize="1024" clockRatio="1" bufferType="0" /> </extraparam> </COMPONENT> +<SUBCOMPONENT type="1111" id="645" index="19" uid="a32a3295-0efe-4b57-a608-50f57ba3d815" > +<father id="424" num="0" /> +<cdparam x="629" y="685" /> +<sizeparam width="78" height="40" minWidth="75" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="378" minY="0" maxY="263" /> +<infoparam name="TGComponent" value="encryption1" /> +<new d="false" /> +<TGConnectingPoint num="0" id="646" /> +<TGConnectingPoint num="1" id="647" /> +<TGConnectingPoint num="2" id="648" /> +<TGConnectingPoint num="3" id="649" /> +<TGConnectingPoint num="4" id="650" /> +<TGConnectingPoint num="5" id="651" /> +<TGConnectingPoint num="6" id="652" /> +<TGConnectingPoint num="7" id="653" /> +<extraparam> +<info value="encryption1" referenceKeyName="encryption1" priority="5" typeName="key" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1103" id="636" index="20" uid="8965f59a-7431-4124-b159-45f050ab0fb1" > +<father id="424" num="1" /> +<cdparam x="424" y="840" /> +<sizeparam width="159" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="294" minY="0" maxY="263" /> +<infoparam name="TGComponent" value="Application::channel4" /> +<new d="false" /> +<TGConnectingPoint num="0" id="637" /> +<TGConnectingPoint num="1" id="638" /> +<TGConnectingPoint num="2" id="639" /> +<TGConnectingPoint num="3" id="640" /> +<TGConnectingPoint num="4" id="641" /> +<TGConnectingPoint num="5" id="642" /> +<TGConnectingPoint num="6" id="643" /> +<TGConnectingPoint num="7" id="644" /> +<extraparam> +<info value="Application::channel4" communicationName="channel4" referenceCommunicationName="Application" mappedElements="Bus0" priority="0" typeName="channel" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1103" id="627" index="21" uid="5e016d70-42a6-4126-a500-5c322db275e7" > +<father id="424" num="2" /> +<cdparam x="417" y="772" /> +<sizeparam width="159" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="294" minY="0" maxY="263" /> +<infoparam name="TGComponent" value="Application::channel3" /> +<new d="false" /> +<TGConnectingPoint num="0" id="628" /> +<TGConnectingPoint num="1" id="629" /> +<TGConnectingPoint num="2" id="630" /> +<TGConnectingPoint num="3" id="631" /> +<TGConnectingPoint num="4" id="632" /> +<TGConnectingPoint num="5" id="633" /> +<TGConnectingPoint num="6" id="634" /> +<TGConnectingPoint num="7" id="635" /> +<extraparam> +<info value="Application::channel3" communicationName="channel3" referenceCommunicationName="Application" mappedElements="Bus0" priority="0" typeName="channel" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1103" id="618" index="22" uid="cc2904ff-bc52-42b6-b87f-a8821c3d2e6b" > +<father id="424" num="3" /> +<cdparam x="415" y="709" /> +<sizeparam width="159" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="294" minY="0" maxY="263" /> +<infoparam name="TGComponent" value="Application::channel2" /> +<new d="false" /> +<TGConnectingPoint num="0" id="619" /> +<TGConnectingPoint num="1" id="620" /> +<TGConnectingPoint num="2" id="621" /> +<TGConnectingPoint num="3" id="622" /> +<TGConnectingPoint num="4" id="623" /> +<TGConnectingPoint num="5" id="624" /> +<TGConnectingPoint num="6" id="625" /> +<TGConnectingPoint num="7" id="626" /> +<extraparam> +<info value="Application::channel2" communicationName="channel2" referenceCommunicationName="Application" mappedElements="Bus0" priority="0" typeName="channel" /> +</extraparam> +</SUBCOMPONENT> +<SUBCOMPONENT type="1103" id="609" index="23" uid="5d13353d-f5d8-4257-9803-fa354216bb3c" > +<father id="424" num="4" /> +<cdparam x="413" y="654" /> +<sizeparam width="151" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="302" minY="0" maxY="263" /> +<infoparam name="TGComponent" value="Application::channel" /> +<new d="false" /> +<TGConnectingPoint num="0" id="610" /> +<TGConnectingPoint num="1" id="611" /> +<TGConnectingPoint num="2" id="612" /> +<TGConnectingPoint num="3" id="613" /> +<TGConnectingPoint num="4" id="614" /> +<TGConnectingPoint num="5" id="615" /> +<TGConnectingPoint num="6" id="616" /> +<TGConnectingPoint num="7" id="617" /> +<extraparam> +<info value="Application::channel" communicationName="channel" referenceCommunicationName="Application" mappedElements="Bus0" priority="0" typeName="channel" /> +</extraparam> +</SUBCOMPONENT> -<COMPONENT type="1102" id="449" index="4" uid="dd2d9143-9d10-4642-98c4-e86464b87c48" > +<COMPONENT type="1102" id="449" index="3" uid="dd2d9143-9d10-4642-98c4-e86464b87c48" > <cdparam x="316" y="416" /> <sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -1733,7 +1796,7 @@ </extraparam> </COMPONENT> -<COMPONENT type="1116" id="474" index="5" uid="2b132fe1-d097-4c6f-80a7-45c64804a361" > +<COMPONENT type="1116" id="474" index="4" uid="2b132fe1-d097-4c6f-80a7-45c64804a361" > <cdparam x="74" y="596" /> <sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -1770,8 +1833,8 @@ </extraparam> </COMPONENT> -<COMPONENT type="1104" id="499" index="6" uid="404cc939-1c43-468f-8c5e-fc73e9c4705d" > -<cdparam x="672" y="681" /> +<COMPONENT type="1104" id="499" index="5" uid="404cc939-1c43-468f-8c5e-fc73e9c4705d" > +<cdparam x="883" y="624" /> <sizeparam width="200" height="200" minWidth="100" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -1807,8 +1870,8 @@ </extraparam> </COMPONENT> -<COMPONENT type="1106" id="524" index="7" uid="db06ab28-3174-4247-8cee-726e80b1dd43" > -<cdparam x="13" y="416" /> +<COMPONENT type="1106" id="524" index="6" uid="db06ab28-3174-4247-8cee-726e80b1dd43" > +<cdparam x="806" y="227" /> <sizeparam width="250" height="100" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> @@ -1844,44 +1907,7 @@ </extraparam> </COMPONENT> -<COMPONENT type="1117" id="549" index="8" uid="be2e77f3-a26b-477a-ad2b-1b2bba8680f6" > -<cdparam x="686" y="230" /> -<sizeparam width="250" height="100" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" /> -<infoparam name="NoC0" value="name" /> -<new d="false" /> -<TGConnectingPoint num="0" id="525" /> -<TGConnectingPoint num="1" id="526" /> -<TGConnectingPoint num="2" id="527" /> -<TGConnectingPoint num="3" id="528" /> -<TGConnectingPoint num="4" id="529" /> -<TGConnectingPoint num="5" id="530" /> -<TGConnectingPoint num="6" id="531" /> -<TGConnectingPoint num="7" id="532" /> -<TGConnectingPoint num="8" id="533" /> -<TGConnectingPoint num="9" id="534" /> -<TGConnectingPoint num="10" id="535" /> -<TGConnectingPoint num="11" id="536" /> -<TGConnectingPoint num="12" id="537" /> -<TGConnectingPoint num="13" id="538" /> -<TGConnectingPoint num="14" id="539" /> -<TGConnectingPoint num="15" id="540" /> -<TGConnectingPoint num="16" id="541" /> -<TGConnectingPoint num="17" id="542" /> -<TGConnectingPoint num="18" id="543" /> -<TGConnectingPoint num="19" id="544" /> -<TGConnectingPoint num="20" id="545" /> -<TGConnectingPoint num="21" id="546" /> -<TGConnectingPoint num="22" id="547" /> -<TGConnectingPoint num="23" id="548" /> -<extraparam> -<info stereotype="NoC" nodeName="NoC0" /> -<attributes bufferByteDataSize="4" size="2" placement="CPU1 1 0" clockRatio="1" /> -</extraparam> -</COMPONENT> - -<CONNECTOR type="125" id="550" index="9" uid="85054cb4-6611-429e-8159-2e4cd4a8fade" > +<CONNECTOR type="125" id="550" index="7" uid="85054cb4-6611-429e-8159-2e4cd4a8fade" > <cdparam x="199" y="596" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> @@ -1894,11 +1920,11 @@ <spy value="false" /> </extraparam> </CONNECTOR> -<CONNECTOR type="125" id="551" index="10" uid="cfd81448-4fc3-4756-90ce-7c54ac45a969" > +<CONNECTOR type="125" id="551" index="8" uid="cfd81448-4fc3-4756-90ce-7c54ac45a969" > <cdparam x="262" y="461" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> -<P1 x="263" y="466" id="504" /> +<P1 x="1056" y="277" id="504" /> <P2 x="316" y="441" id="428" /> <AutomaticDrawing data="true" /> <new d="false" /> @@ -1907,11 +1933,11 @@ <spy value="false" /> </extraparam> </CONNECTOR> -<CONNECTOR type="125" id="552" index="11" uid="660bc149-89a7-4e30-9681-81175982b4fe" > +<CONNECTOR type="125" id="552" index="9" uid="660bc149-89a7-4e30-9681-81175982b4fe" > <cdparam x="770" y="476" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> -<P1 x="699" y="448" id="385" /> +<P1 x="868" y="440" id="385" /> <P2 x="566" y="441" id="429" /> <AutomaticDrawing data="true" /> <new d="false" /> @@ -1920,11 +1946,11 @@ <spy value="false" /> </extraparam> </CONNECTOR> -<CONNECTOR type="125" id="553" index="12" uid="71bfe2a4-9928-49ed-93cc-f626d227a7e7" > +<CONNECTOR type="125" id="553" index="10" uid="71bfe2a4-9928-49ed-93cc-f626d227a7e7" > <cdparam x="298" y="533" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> -<P1 x="444" y="601" id="401" /> +<P1 x="570" y="601" id="401" /> <P2 x="441" y="466" id="431" /> <AutomaticDrawing data="true" /> <new d="false" /> @@ -1933,7 +1959,7 @@ <spy value="false" /> </extraparam> </CONNECTOR> -<CONNECTOR type="125" id="554" index="13" uid="ab183948-ca5f-4609-acb8-0626992f702a" > +<CONNECTOR type="125" id="554" index="11" uid="ab183948-ca5f-4609-acb8-0626992f702a" > <cdparam x="444" y="328" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> @@ -1946,11 +1972,11 @@ <spy value="false" /> </extraparam> </CONNECTOR> -<CONNECTOR type="125" id="555" index="14" uid="f9884ba6-40a9-48b1-b7bf-90cb8396184c" > +<CONNECTOR type="125" id="555" index="12" uid="f9884ba6-40a9-48b1-b7bf-90cb8396184c" > <cdparam x="759" y="623" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="{info}" /> -<P1 x="722" y="681" id="483" /> +<P1 x="933" y="624" id="483" /> <P2 x="503" y="466" id="440" /> <AutomaticDrawing data="true" /> <new d="false" />