diff --git a/bin/config.xml b/bin/config.xml index 0352f5c4e26f22b3c108c979a21ad30966d28b44..a7ad0f66ff999e55c32be799d9ee35938b29a44e 100755 --- a/bin/config.xml +++ b/bin/config.xml @@ -59,11 +59,11 @@ <ExternalCommand2Host data="localhost"/> <ExternalCommand2 data="/packages/uppaal(4.0.11/uppaal /localhome/ludo/TTool/uppaal/spec.xml"/> -<LastOpenFile data="/localhome/ludo/TTool/modeling/sncf/trial_Avatar.xml"/> +<LastOpenFile data="/Users/ludovicapvrille/TTool/modeling/EVITA/evita_t2300_23.xml"/> -<LastWindowAttributes x="138" y="22" width="1039" height="774" max="false" /> +<LastWindowAttributes x="545" y="286" width="1555" height="814" max="false" /> </TURTLECONFIGURATION> diff --git a/modeling/CoffeeMachine_Avatar.xml b/modeling/CoffeeMachine_Avatar.xml index 0cc58a6b7bc878b7ff8711c7b2d72af97941f48a..d5f9e6ba29a27aa5b649ca51c8d64d58063caec3 100644 --- a/modeling/CoffeeMachine_Avatar.xml +++ b/modeling/CoffeeMachine_Avatar.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<TURTLEGMODELING version="0.93-beta1"> +<TURTLEGMODELING version="0.93-beta2"> <Modeling type="Avatar Requirement" nameTab="AVATAR Requirements" > <AvatarRDPanel name="AVATAR RD" minX="10" maxX="1900" minY="10" maxY="900" zoom="1.0" > @@ -488,7 +488,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="265" /> -<P1 x="313" y="261" id="296" /> +<P1 x="313" y="261" id="309" /> <P2 x="361" y="261" id="284" /> <AutomaticDrawing data="true" /> </CONNECTOR> @@ -506,7 +506,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="269" /> -<P1 x="309" y="211" id="309" /> +<P1 x="309" y="211" id="296" /> <P2 x="361" y="211" id="283" /> <AutomaticDrawing data="true" /> </CONNECTOR> @@ -521,7 +521,7 @@ <TGConnectingPoint num="2" id="273" /> <TGConnectingPoint num="3" id="274" /> <extraparam> -<liveness data="true" /> +<liveness data="0" /> <not data="false" /> </extraparam> </COMPONENT> @@ -537,7 +537,7 @@ <TGConnectingPoint num="2" id="278" /> <TGConnectingPoint num="3" id="279" /> <extraparam> -<liveness data="false" /> +<liveness data="1" /> <not data="true" /> </extraparam> </COMPONENT> @@ -595,11 +595,11 @@ </COMPONENT> <SUBCOMPONENT type="5304" id="306" > <father id="344" num="0" /> -<cdparam x="165" y="241" /> -<sizeparam width="148" height="40" minWidth="100" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="170" y="191" /> +<sizeparam width="139" height="40" minWidth="100" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="20" minY="0" maxY="114" /> -<infoparam name="TGComponent" value="WaitingForFirstCoin_enter" /> +<cdrectangleparam minX="0" maxX="29" minY="0" maxY="114" /> +<infoparam name="TGComponent" value="WaitingForFirstCoin_exit" /> <TGConnectingPoint num="0" id="294" /> <TGConnectingPoint num="1" id="295" /> <TGConnectingPoint num="2" id="296" /> @@ -615,11 +615,11 @@ </SUBCOMPONENT> <SUBCOMPONENT type="5304" id="319" > <father id="344" num="1" /> -<cdparam x="170" y="191" /> -<sizeparam width="139" height="40" minWidth="100" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="165" y="241" /> +<sizeparam width="148" height="40" minWidth="100" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="29" minY="0" maxY="114" /> -<infoparam name="TGComponent" value="WaitingForFirstCoin_exit" /> +<cdrectangleparam minX="0" maxX="20" minY="0" maxY="114" /> +<infoparam name="TGComponent" value="WaitingForFirstCoin_enter" /> <TGConnectingPoint num="0" id="307" /> <TGConnectingPoint num="1" id="308" /> <TGConnectingPoint num="2" id="309" /> @@ -749,7 +749,7 @@ <TGConnectingPoint num="0" id="403" /> <TGConnectingPoint num="1" id="404" /> <TGConnectingPoint num="2" id="405" /> -<P1 x="581" y="154" id="492" /> +<P1 x="581" y="154" id="479" /> <P2 x="546" y="305" id="549" /> <Point x="518" y="154" /> <Point x="518" y="305" /> @@ -777,7 +777,7 @@ <infoparam name="connector from TGComponent to TGComponent" value="" /> <TGConnectingPoint num="0" id="408" /> <TGConnectingPoint num="1" id="409" /> -<P1 x="631" y="164" id="487" /> +<P1 x="631" y="164" id="474" /> <P2 x="667" y="310" id="536" /> <Point x="631" y="310" /> <AutomaticDrawing data="true" /> @@ -805,7 +805,7 @@ <infoparam name="connector from TGComponent to TGComponent" value="" /> <TGConnectingPoint num="0" id="414" /> <TGConnectingPoint num="1" id="415" /> -<P1 x="721" y="158" id="472" /> +<P1 x="721" y="158" id="485" /> <P2 x="700" y="204" id="526" /> <Point x="700" y="158" /> <AutomaticDrawing data="true" /> @@ -856,7 +856,7 @@ <TGConnectingPoint num="2" id="425" /> <TGConnectingPoint num="3" id="426" /> <extraparam> -<liveness data="false" /> +<liveness data="1" /> <not data="false" /> </extraparam> </COMPONENT> @@ -872,7 +872,7 @@ <TGConnectingPoint num="2" id="430" /> <TGConnectingPoint num="3" id="431" /> <extraparam> -<liveness data="true" /> +<liveness data="0" /> <not data="false" /> </extraparam> </COMPONENT> @@ -960,13 +960,13 @@ <TGConnectingPoint num="22" id="519" /> <TGConnectingPoint num="23" id="520" /> </COMPONENT> -<SUBCOMPONENT type="5303" id="483" > +<SUBCOMPONENT type="5304" id="483" > <father id="521" num="0" /> -<cdparam x="721" y="133" /> -<sizeparam width="100" height="50" minWidth="100" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="581" y="125" /> +<sizeparam width="100" height="39" minWidth="100" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="168" minY="0" maxY="65" /> -<infoparam name="TGComponent" value="nbOfCoins" /> +<cdrectangleparam minX="0" maxX="168" minY="0" maxY="76" /> +<infoparam name="TGComponent" value="Start" /> <TGConnectingPoint num="0" id="471" /> <TGConnectingPoint num="1" id="472" /> <TGConnectingPoint num="2" id="473" /> @@ -979,17 +979,14 @@ <TGConnectingPoint num="9" id="480" /> <TGConnectingPoint num="10" id="481" /> <TGConnectingPoint num="11" id="482" /> -<extraparam> -<Toggle value="" /> -</extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5304" id="496" > +<SUBCOMPONENT type="5303" id="496" > <father id="521" num="1" /> -<cdparam x="581" y="125" /> -<sizeparam width="100" height="39" minWidth="100" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="721" y="133" /> +<sizeparam width="100" height="50" minWidth="100" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="168" minY="0" maxY="76" /> -<infoparam name="TGComponent" value="Start" /> +<cdrectangleparam minX="0" maxX="168" minY="0" maxY="65" /> +<infoparam name="TGComponent" value="nbOfCoins" /> <TGConnectingPoint num="0" id="484" /> <TGConnectingPoint num="1" id="485" /> <TGConnectingPoint num="2" id="486" /> @@ -1002,6 +999,9 @@ <TGConnectingPoint num="9" id="493" /> <TGConnectingPoint num="10" id="494" /> <TGConnectingPoint num="11" id="495" /> +<extraparam> +<Toggle value="" /> +</extraparam> </SUBCOMPONENT> <COMPONENT type="5306" id="533" > @@ -1105,7 +1105,7 @@ <TGConnectingPoint num="2" id="583" /> <TGConnectingPoint num="3" id="584" /> <extraparam> -<liveness data="false" /> +<liveness data="1" /> <not data="false" /> </extraparam> </COMPONENT> @@ -1125,13 +1125,13 @@ <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="586" /> -<P1 x="559" y="330" id="623" /> +<P1 x="559" y="330" id="648" /> <P2 x="560" y="377" id="681" /> <AutomaticDrawing data="true" /> <extraparam> <isd value="in pushCoffeeButton()" /> <oso value="out push()" /> -<FIFOType asynchronous="false" size="1024" blocking="false" private="true" broadcast="false" /> +<FIFOType asynchronous="false" size="1024" blocking="false" private="true" broadcast="false" lossy="false" /> </extraparam> </CONNECTOR> <CONNECTOR type="5002" id="589" > @@ -1147,7 +1147,7 @@ <osd value="out ejectCoin(int nbOfCoins)" /> <isd value="in getCoin(int nbOfCoins)" /> <oso value="out putCoin(int nbOfCoins)" /> -<FIFOType asynchronous="false" size="1024" blocking="false" private="true" broadcast="false" /> +<FIFOType asynchronous="false" size="1024" blocking="false" private="true" broadcast="false" lossy="false" /> </extraparam> </CONNECTOR> <CONNECTOR type="5002" id="591" > @@ -1155,13 +1155,13 @@ <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="590" /> -<P1 x="789" y="326" id="648" /> +<P1 x="789" y="326" id="623" /> <P2 x="790" y="377" id="682" /> <AutomaticDrawing data="true" /> <extraparam> <isd value="in pushTeaButton()" /> <oso value="out push()" /> -<FIFOType asynchronous="false" size="1024" blocking="false" private="true" broadcast="false" /> +<FIFOType asynchronous="false" size="1024" blocking="false" private="true" broadcast="false" lossy="false" /> </extraparam> </CONNECTOR> <COMPONENT type="5000" id="616" > @@ -1252,11 +1252,11 @@ </COMPONENT> <SUBCOMPONENT type="5000" id="641" > <father id="691" num="0" /> -<cdparam x="464" y="228" /> -<sizeparam width="190" height="102" minWidth="5" minHeight="2" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="695" y="224" /> +<sizeparam width="189" height="102" minWidth="5" minHeight="2" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="271" minY="0" maxY="256" /> -<infoparam name="Block1" value="CoffeeButton" /> +<cdrectangleparam minX="0" maxX="272" minY="0" maxY="256" /> +<infoparam name="Block1" value="TeaButton" /> <TGConnectingPoint num="0" id="617" /> <TGConnectingPoint num="1" id="618" /> <TGConnectingPoint num="2" id="619" /> @@ -1284,16 +1284,15 @@ <extraparam> <Attribute access="0" id="mechanicalDelay" value="10" type="8" typeOther="" /> <Signal value="out push()" /> -<Signal value="out push()" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="5000" id="666" > <father id="691" num="1" /> -<cdparam x="695" y="224" /> -<sizeparam width="189" height="102" minWidth="5" minHeight="2" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="464" y="228" /> +<sizeparam width="190" height="102" minWidth="5" minHeight="2" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="272" minY="0" maxY="256" /> -<infoparam name="Block1" value="TeaButton" /> +<cdrectangleparam minX="0" maxX="271" minY="0" maxY="256" /> +<infoparam name="Block1" value="CoffeeButton" /> <TGConnectingPoint num="0" id="642" /> <TGConnectingPoint num="1" id="643" /> <TGConnectingPoint num="2" id="644" /> @@ -1321,6 +1320,7 @@ <extraparam> <Attribute access="0" id="mechanicalDelay" value="10" type="8" typeOther="" /> <Signal value="out push()" /> +<Signal value="out push()" /> </extraparam> </SUBCOMPONENT> @@ -1355,8 +1355,6 @@ <computeMax value="" /> <actions value="nbOfCoins = nbOfCoins + x" /> <actions value="contentOfWallet(nbOfCoins)" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> </extraparam> </SUBCOMPONENT> @@ -1365,7 +1363,7 @@ <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="704" /> -<P1 x="382" y="165" id="814" /> +<P1 x="382" y="165" id="846" /> <P2 x="485" y="189" id="738" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="703" > @@ -1385,8 +1383,6 @@ <afterMax value="" /> <computeMin value="" /> <computeMax value="" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> </extraparam> </SUBCOMPONENT> @@ -1396,7 +1392,7 @@ <infoparam name="connector from Send signal to state0" value="null" /> <TGConnectingPoint num="0" id="711" /> <P1 x="251" y="231" id="728" /> -<P2 x="252" y="300" id="775" /> +<P2 x="252" y="300" id="791" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="710" > <father id="712" num="0" /> @@ -1417,8 +1413,6 @@ <computeMax value="" /> <actions value="nbOfCoins = nbOfCoins - x" /> <actions value="contentOfWallet(nbOfCoins)" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> </extraparam> </SUBCOMPONENT> @@ -1427,7 +1421,7 @@ <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="718" /> -<P1 x="357" y="165" id="813" /> +<P1 x="357" y="165" id="845" /> <P2 x="251" y="201" id="727" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="717" > @@ -1447,8 +1441,6 @@ <afterMax value="" /> <computeMin value="" /> <computeMax value="" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> </extraparam> </SUBCOMPONENT> @@ -1457,8 +1449,8 @@ <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="725" /> -<P1 x="370" y="64" id="824" /> -<P2 x="370" y="135" id="800" /> +<P1 x="370" y="64" id="872" /> +<P2 x="370" y="135" id="832" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="724" > <father id="726" num="0" /> @@ -1478,8 +1470,6 @@ <computeMin value="" /> <computeMax value="" /> <actions value="contentOfWallet(nbOfCoins)" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> </extraparam> </SUBCOMPONENT> @@ -1519,7 +1509,7 @@ <TGConnectingPoint num="9" id="747" /> </COMPONENT> -<COMPONENT type="5106" id="773" > +<COMPONENT type="5106" id="789" > <cdparam x="460" y="274" /> <sizeparam width="50" height="40" minWidth="40" minHeight="30" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> @@ -1549,134 +1539,180 @@ <TGConnectingPoint num="21" id="770" /> <TGConnectingPoint num="22" id="771" /> <TGConnectingPoint num="23" id="772" /> +<TGConnectingPoint num="24" id="773" /> +<TGConnectingPoint num="25" id="774" /> +<TGConnectingPoint num="26" id="775" /> +<TGConnectingPoint num="27" id="776" /> +<TGConnectingPoint num="28" id="777" /> +<TGConnectingPoint num="29" id="778" /> +<TGConnectingPoint num="30" id="779" /> +<TGConnectingPoint num="31" id="780" /> +<TGConnectingPoint num="32" id="781" /> +<TGConnectingPoint num="33" id="782" /> +<TGConnectingPoint num="34" id="783" /> +<TGConnectingPoint num="35" id="784" /> +<TGConnectingPoint num="36" id="785" /> +<TGConnectingPoint num="37" id="786" /> +<TGConnectingPoint num="38" id="787" /> +<TGConnectingPoint num="39" id="788" /> </COMPONENT> -<COMPONENT type="5106" id="798" > +<COMPONENT type="5106" id="830" > <cdparam x="227" y="300" /> <sizeparam width="50" height="40" minWidth="40" minHeight="30" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="state0" value="main" /> -<TGConnectingPoint num="0" id="774" /> -<TGConnectingPoint num="1" id="775" /> -<TGConnectingPoint num="2" id="776" /> -<TGConnectingPoint num="3" id="777" /> -<TGConnectingPoint num="4" id="778" /> -<TGConnectingPoint num="5" id="779" /> -<TGConnectingPoint num="6" id="780" /> -<TGConnectingPoint num="7" id="781" /> -<TGConnectingPoint num="8" id="782" /> -<TGConnectingPoint num="9" id="783" /> -<TGConnectingPoint num="10" id="784" /> -<TGConnectingPoint num="11" id="785" /> -<TGConnectingPoint num="12" id="786" /> -<TGConnectingPoint num="13" id="787" /> -<TGConnectingPoint num="14" id="788" /> -<TGConnectingPoint num="15" id="789" /> -<TGConnectingPoint num="16" id="790" /> -<TGConnectingPoint num="17" id="791" /> -<TGConnectingPoint num="18" id="792" /> -<TGConnectingPoint num="19" id="793" /> -<TGConnectingPoint num="20" id="794" /> -<TGConnectingPoint num="21" id="795" /> -<TGConnectingPoint num="22" id="796" /> -<TGConnectingPoint num="23" id="797" /> +<TGConnectingPoint num="0" id="790" /> +<TGConnectingPoint num="1" id="791" /> +<TGConnectingPoint num="2" id="792" /> +<TGConnectingPoint num="3" id="793" /> +<TGConnectingPoint num="4" id="794" /> +<TGConnectingPoint num="5" id="795" /> +<TGConnectingPoint num="6" id="796" /> +<TGConnectingPoint num="7" id="797" /> +<TGConnectingPoint num="8" id="798" /> +<TGConnectingPoint num="9" id="799" /> +<TGConnectingPoint num="10" id="800" /> +<TGConnectingPoint num="11" id="801" /> +<TGConnectingPoint num="12" id="802" /> +<TGConnectingPoint num="13" id="803" /> +<TGConnectingPoint num="14" id="804" /> +<TGConnectingPoint num="15" id="805" /> +<TGConnectingPoint num="16" id="806" /> +<TGConnectingPoint num="17" id="807" /> +<TGConnectingPoint num="18" id="808" /> +<TGConnectingPoint num="19" id="809" /> +<TGConnectingPoint num="20" id="810" /> +<TGConnectingPoint num="21" id="811" /> +<TGConnectingPoint num="22" id="812" /> +<TGConnectingPoint num="23" id="813" /> +<TGConnectingPoint num="24" id="814" /> +<TGConnectingPoint num="25" id="815" /> +<TGConnectingPoint num="26" id="816" /> +<TGConnectingPoint num="27" id="817" /> +<TGConnectingPoint num="28" id="818" /> +<TGConnectingPoint num="29" id="819" /> +<TGConnectingPoint num="30" id="820" /> +<TGConnectingPoint num="31" id="821" /> +<TGConnectingPoint num="32" id="822" /> +<TGConnectingPoint num="33" id="823" /> +<TGConnectingPoint num="34" id="824" /> +<TGConnectingPoint num="35" id="825" /> +<TGConnectingPoint num="36" id="826" /> +<TGConnectingPoint num="37" id="827" /> +<TGConnectingPoint num="38" id="828" /> +<TGConnectingPoint num="39" id="829" /> </COMPONENT> -<COMPONENT type="5106" id="823" > +<COMPONENT type="5106" id="871" > <cdparam x="345" y="135" /> <sizeparam width="50" height="30" minWidth="40" minHeight="30" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="state0" value="main" /> -<TGConnectingPoint num="0" id="799" /> -<TGConnectingPoint num="1" id="800" /> -<TGConnectingPoint num="2" id="801" /> -<TGConnectingPoint num="3" id="802" /> -<TGConnectingPoint num="4" id="803" /> -<TGConnectingPoint num="5" id="804" /> -<TGConnectingPoint num="6" id="805" /> -<TGConnectingPoint num="7" id="806" /> -<TGConnectingPoint num="8" id="807" /> -<TGConnectingPoint num="9" id="808" /> -<TGConnectingPoint num="10" id="809" /> -<TGConnectingPoint num="11" id="810" /> -<TGConnectingPoint num="12" id="811" /> -<TGConnectingPoint num="13" id="812" /> -<TGConnectingPoint num="14" id="813" /> -<TGConnectingPoint num="15" id="814" /> -<TGConnectingPoint num="16" id="815" /> -<TGConnectingPoint num="17" id="816" /> -<TGConnectingPoint num="18" id="817" /> -<TGConnectingPoint num="19" id="818" /> -<TGConnectingPoint num="20" id="819" /> -<TGConnectingPoint num="21" id="820" /> -<TGConnectingPoint num="22" id="821" /> -<TGConnectingPoint num="23" id="822" /> +<TGConnectingPoint num="0" id="831" /> +<TGConnectingPoint num="1" id="832" /> +<TGConnectingPoint num="2" id="833" /> +<TGConnectingPoint num="3" id="834" /> +<TGConnectingPoint num="4" id="835" /> +<TGConnectingPoint num="5" id="836" /> +<TGConnectingPoint num="6" id="837" /> +<TGConnectingPoint num="7" id="838" /> +<TGConnectingPoint num="8" id="839" /> +<TGConnectingPoint num="9" id="840" /> +<TGConnectingPoint num="10" id="841" /> +<TGConnectingPoint num="11" id="842" /> +<TGConnectingPoint num="12" id="843" /> +<TGConnectingPoint num="13" id="844" /> +<TGConnectingPoint num="14" id="845" /> +<TGConnectingPoint num="15" id="846" /> +<TGConnectingPoint num="16" id="847" /> +<TGConnectingPoint num="17" id="848" /> +<TGConnectingPoint num="18" id="849" /> +<TGConnectingPoint num="19" id="850" /> +<TGConnectingPoint num="20" id="851" /> +<TGConnectingPoint num="21" id="852" /> +<TGConnectingPoint num="22" id="853" /> +<TGConnectingPoint num="23" id="854" /> +<TGConnectingPoint num="24" id="855" /> +<TGConnectingPoint num="25" id="856" /> +<TGConnectingPoint num="26" id="857" /> +<TGConnectingPoint num="27" id="858" /> +<TGConnectingPoint num="28" id="859" /> +<TGConnectingPoint num="29" id="860" /> +<TGConnectingPoint num="30" id="861" /> +<TGConnectingPoint num="31" id="862" /> +<TGConnectingPoint num="32" id="863" /> +<TGConnectingPoint num="33" id="864" /> +<TGConnectingPoint num="34" id="865" /> +<TGConnectingPoint num="35" id="866" /> +<TGConnectingPoint num="36" id="867" /> +<TGConnectingPoint num="37" id="868" /> +<TGConnectingPoint num="38" id="869" /> +<TGConnectingPoint num="39" id="870" /> </COMPONENT> -<COMPONENT type="5100" id="825" > +<COMPONENT type="5100" id="873" > <cdparam x="363" y="44" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="824" /> +<TGConnectingPoint num="0" id="872" /> </COMPONENT> </AVATARStateMachineDiagramPanel> <AVATARStateMachineDiagramPanel name="CoffeeMachine" minX="10" maxX="1400" minY="10" maxY="1400" > -<CONNECTOR type="5102" id="832" > +<CONNECTOR type="5102" id="880" > <cdparam x="691" y="288" /> <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="831" /> -<P1 x="699" y="289" id="970" /> -<P2 x="699" y="316" id="942" /> +<TGConnectingPoint num="0" id="879" /> +<P1 x="699" y="289" id="1018" /> +<P2 x="699" y="316" id="990" /> <AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="830" > -<father id="832" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="878" > +<father id="880" num="0" /> <cdparam x="691" y="328" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="826" /> -<TGConnectingPoint num="1" id="827" /> -<TGConnectingPoint num="2" id="828" /> -<TGConnectingPoint num="3" id="829" /> +<TGConnectingPoint num="0" id="874" /> +<TGConnectingPoint num="1" id="875" /> +<TGConnectingPoint num="2" id="876" /> +<TGConnectingPoint num="3" id="877" /> <extraparam> <guard value="[ ]" /> <afterMin value="" /> <afterMax value="" /> <computeMin value="" /> <computeMax value="" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="839" > +<CONNECTOR type="5102" id="887" > <cdparam x="481" y="501" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Send signal to stop state" value="null" /> -<TGConnectingPoint num="0" id="838" /> -<P1 x="437" y="525" id="1141" /> -<P2 x="323" y="748" id="1050" /> +<TGConnectingPoint num="0" id="886" /> +<P1 x="437" y="525" id="1220" /> +<P2 x="323" y="748" id="1146" /> <AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="837" > -<father id="839" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="885" > +<father id="887" num="0" /> <cdparam x="420" y="552" /> <sizeparam width="85" height="16" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="833" /> -<TGConnectingPoint num="1" id="834" /> -<TGConnectingPoint num="2" id="835" /> -<TGConnectingPoint num="3" id="836" /> +<TGConnectingPoint num="0" id="881" /> +<TGConnectingPoint num="1" id="882" /> +<TGConnectingPoint num="2" id="883" /> +<TGConnectingPoint num="3" id="884" /> <extraparam> <guard value="[ ]" /> <afterMin value="" /> @@ -1684,60 +1720,56 @@ <computeMin value="" /> <computeMax value="" /> <actions value="nbOfCoins = 0" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="846" > +<CONNECTOR type="5102" id="894" > <cdparam x="555" y="559" /> <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="845" /> -<P1 x="321" y="455" id="1106" /> -<P2 x="437" y="495" id="1140" /> +<TGConnectingPoint num="0" id="893" /> +<P1 x="321" y="455" id="1247" /> +<P2 x="437" y="495" id="1219" /> <AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="844" > -<father id="846" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="892" > +<father id="894" num="0" /> <cdparam x="395" y="448" /> <sizeparam width="94" height="16" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="840" /> -<TGConnectingPoint num="1" id="841" /> -<TGConnectingPoint num="2" id="842" /> -<TGConnectingPoint num="3" id="843" /> +<TGConnectingPoint num="0" id="888" /> +<TGConnectingPoint num="1" id="889" /> +<TGConnectingPoint num="2" id="890" /> +<TGConnectingPoint num="3" id="891" /> <extraparam> <guard value="[ ]" /> <afterMin value="coinDelay" /> <afterMax value="" /> <computeMin value="" /> <computeMax value="" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="853" > +<CONNECTOR type="5102" id="901" > <cdparam x="355" y="545" /> <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="852" /> -<P1 x="293" y="552" id="1092" /> -<P2 x="289" y="748" id="1042" /> +<TGConnectingPoint num="0" id="900" /> +<P1 x="293" y="552" id="1285" /> +<P2 x="289" y="748" id="1138" /> <AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="851" > -<father id="853" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="899" > +<father id="901" num="0" /> <cdparam x="284" y="594" /> <sizeparam width="228" height="48" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="847" /> -<TGConnectingPoint num="1" id="848" /> -<TGConnectingPoint num="2" id="849" /> -<TGConnectingPoint num="3" id="850" /> +<TGConnectingPoint num="0" id="895" /> +<TGConnectingPoint num="1" id="896" /> +<TGConnectingPoint num="2" id="897" /> +<TGConnectingPoint num="3" id="898" /> <extraparam> <guard value="[ ]" /> <afterMin value="" /> @@ -1746,60 +1778,56 @@ <computeMax value="teaMaxDelay" /> <actions value="nbOfCoins = 0" /> <actions value="beverageReady()" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="860" > +<CONNECTOR type="5102" id="908" > <cdparam x="295" y="465" /> <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="859" /> -<P1 x="288" y="475" id="1117" /> -<P2 x="293" y="522" id="1091" /> +<TGConnectingPoint num="0" id="907" /> +<P1 x="288" y="475" id="1258" /> +<P2 x="293" y="522" id="1284" /> <AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="858" > -<father id="860" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="906" > +<father id="908" num="0" /> <cdparam x="295" y="505" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="854" /> -<TGConnectingPoint num="1" id="855" /> -<TGConnectingPoint num="2" id="856" /> -<TGConnectingPoint num="3" id="857" /> +<TGConnectingPoint num="0" id="902" /> +<TGConnectingPoint num="1" id="903" /> +<TGConnectingPoint num="2" id="904" /> +<TGConnectingPoint num="3" id="905" /> <extraparam> <guard value="[ ]" /> <afterMin value="" /> <afterMax value="" /> <computeMin value="" /> <computeMax value="" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="867" > +<CONNECTOR type="5102" id="915" > <cdparam x="148" y="549" /> <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="866" /> -<P1 x="121" y="552" id="1130" /> -<P2 x="255" y="748" id="1049" /> +<TGConnectingPoint num="0" id="914" /> +<P1 x="121" y="552" id="1231" /> +<P2 x="255" y="748" id="1145" /> <AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="865" > -<father id="867" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="913" > +<father id="915" num="0" /> <cdparam x="32" y="587" /> <sizeparam width="262" height="48" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="861" /> -<TGConnectingPoint num="1" id="862" /> -<TGConnectingPoint num="2" id="863" /> -<TGConnectingPoint num="3" id="864" /> +<TGConnectingPoint num="0" id="909" /> +<TGConnectingPoint num="1" id="910" /> +<TGConnectingPoint num="2" id="911" /> +<TGConnectingPoint num="3" id="912" /> <extraparam> <guard value="[ ]" /> <afterMin value="" /> @@ -1808,90 +1836,84 @@ <computeMax value="coffeeMaxDelay" /> <actions value="nbOfCoins = 0" /> <actions value="beverageReady()" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="874" > +<CONNECTOR type="5102" id="922" > <cdparam x="229" y="465" /> <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="873" /> -<P1 x="222" y="475" id="1116" /> -<P2 x="121" y="522" id="1129" /> +<TGConnectingPoint num="0" id="921" /> +<P1 x="222" y="475" id="1257" /> +<P2 x="121" y="522" id="1230" /> <AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="872" > -<father id="874" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="920" > +<father id="922" num="0" /> <cdparam x="229" y="505" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="868" /> -<TGConnectingPoint num="1" id="869" /> -<TGConnectingPoint num="2" id="870" /> -<TGConnectingPoint num="3" id="871" /> +<TGConnectingPoint num="0" id="916" /> +<TGConnectingPoint num="1" id="917" /> +<TGConnectingPoint num="2" id="918" /> +<TGConnectingPoint num="3" id="919" /> <extraparam> <guard value="[ ]" /> <afterMin value="" /> <afterMax value="" /> <computeMin value="" /> <computeMax value="" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="881" > +<CONNECTOR type="5102" id="929" > <cdparam x="280" y="420" /> <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="880" /> -<P1 x="256" y="419" id="1127" /> -<P2 x="255" y="435" id="1103" /> +<TGConnectingPoint num="0" id="928" /> +<P1 x="256" y="419" id="1241" /> +<P2 x="255" y="435" id="1244" /> <AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="879" > -<father id="881" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="927" > +<father id="929" num="0" /> <cdparam x="280" y="460" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="875" /> -<TGConnectingPoint num="1" id="876" /> -<TGConnectingPoint num="2" id="877" /> -<TGConnectingPoint num="3" id="878" /> +<TGConnectingPoint num="0" id="923" /> +<TGConnectingPoint num="1" id="924" /> +<TGConnectingPoint num="2" id="925" /> +<TGConnectingPoint num="3" id="926" /> <extraparam> <guard value="[ ]" /> <afterMin value="" /> <afterMax value="" /> <computeMin value="" /> <computeMax value="" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="888" > +<CONNECTOR type="5102" id="936" > <cdparam x="667" y="346" /> <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="887" /> -<P1 x="699" y="346" id="943" /> -<P2 x="699" y="381" id="1067" /> +<TGConnectingPoint num="0" id="935" /> +<P1 x="699" y="346" id="991" /> +<P2 x="699" y="381" id="1179" /> <AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="886" > -<father id="888" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="934" > +<father id="936" num="0" /> <cdparam x="707" y="368" /> <sizeparam width="85" height="16" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="882" /> -<TGConnectingPoint num="1" id="883" /> -<TGConnectingPoint num="2" id="884" /> -<TGConnectingPoint num="3" id="885" /> +<TGConnectingPoint num="0" id="930" /> +<TGConnectingPoint num="1" id="931" /> +<TGConnectingPoint num="2" id="932" /> +<TGConnectingPoint num="3" id="933" /> <extraparam> <guard value="[ ]" /> <afterMin value="" /> @@ -1899,120 +1921,112 @@ <computeMin value="" /> <computeMax value="" /> <actions value="nbOfCoins = 0" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="895" > +<CONNECTOR type="5102" id="943" > <cdparam x="348" y="228" /> <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="894" /> -<P1 x="388" y="208" id="993" /> -<P2 x="649" y="264" id="967" /> +<TGConnectingPoint num="0" id="942" /> +<P1 x="388" y="208" id="1057" /> +<P2 x="649" y="264" id="1015" /> <AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="893" > -<father id="895" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="941" > +<father id="943" num="0" /> <cdparam x="411" y="206" /> <sizeparam width="94" height="16" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="889" /> -<TGConnectingPoint num="1" id="890" /> -<TGConnectingPoint num="2" id="891" /> -<TGConnectingPoint num="3" id="892" /> +<TGConnectingPoint num="0" id="937" /> +<TGConnectingPoint num="1" id="938" /> +<TGConnectingPoint num="2" id="939" /> +<TGConnectingPoint num="3" id="940" /> <extraparam> <guard value="[ ]" /> <afterMin value="coinDelay" /> <afterMax value="" /> <computeMin value="" /> <computeMax value="" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="902" > +<CONNECTOR type="5102" id="950" > <cdparam x="243" y="319" /> <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="901" /> -<P1 x="277" y="305" id="954" /> -<P2 x="306" y="370" id="1152" /> +<TGConnectingPoint num="0" id="949" /> +<P1 x="277" y="305" id="1002" /> +<P2 x="306" y="370" id="1296" /> <AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="900" > -<father id="902" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="948" > +<father id="950" num="0" /> <cdparam x="243" y="359" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="896" /> -<TGConnectingPoint num="1" id="897" /> -<TGConnectingPoint num="2" id="898" /> -<TGConnectingPoint num="3" id="899" /> +<TGConnectingPoint num="0" id="944" /> +<TGConnectingPoint num="1" id="945" /> +<TGConnectingPoint num="2" id="946" /> +<TGConnectingPoint num="3" id="947" /> <extraparam> <guard value="[ ]" /> <afterMin value="" /> <afterMax value="" /> <computeMin value="" /> <computeMax value="" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="909" > +<CONNECTOR type="5102" id="957" > <cdparam x="270" y="224" /> <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="908" /> -<P1 x="270" y="228" id="1003" /> -<P2 x="277" y="275" id="953" /> +<TGConnectingPoint num="0" id="956" /> +<P1 x="270" y="228" id="1067" /> +<P2 x="277" y="275" id="1001" /> <AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="907" > -<father id="909" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="955" > +<father id="957" num="0" /> <cdparam x="270" y="264" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="903" /> -<TGConnectingPoint num="1" id="904" /> -<TGConnectingPoint num="2" id="905" /> -<TGConnectingPoint num="3" id="906" /> +<TGConnectingPoint num="0" id="951" /> +<TGConnectingPoint num="1" id="952" /> +<TGConnectingPoint num="2" id="953" /> +<TGConnectingPoint num="3" id="954" /> <extraparam> <guard value="[ ]" /> <afterMin value="" /> <afterMax value="" /> <computeMin value="" /> <computeMax value="" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="916" > +<CONNECTOR type="5102" id="964" > <cdparam x="309" y="160" /> <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="915" /> -<P1 x="306" y="166" id="932" /> -<P2 x="309" y="188" id="990" /> +<TGConnectingPoint num="0" id="963" /> +<P1 x="306" y="166" id="980" /> +<P2 x="309" y="188" id="1054" /> <AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="914" > -<father id="916" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="962" > +<father id="964" num="0" /> <cdparam x="313" y="173" /> <sizeparam width="161" height="16" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="910" /> -<TGConnectingPoint num="1" id="911" /> -<TGConnectingPoint num="2" id="912" /> -<TGConnectingPoint num="3" id="913" /> +<TGConnectingPoint num="0" id="958" /> +<TGConnectingPoint num="1" id="959" /> +<TGConnectingPoint num="2" id="960" /> +<TGConnectingPoint num="3" id="961" /> <extraparam> <guard value="[ ]" /> <afterMin value="" /> @@ -2020,980 +2034,1036 @@ <computeMin value="" /> <computeMax value="" /> <actions value="nbOfCoins = nbOfCoins + x" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="923" > +<CONNECTOR type="5102" id="971" > <cdparam x="303" y="103" /> <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="922" /> -<P1 x="303" y="103" id="1022" /> -<P2 x="306" y="136" id="931" /> +<TGConnectingPoint num="0" id="970" /> +<P1 x="303" y="103" id="1102" /> +<P2 x="306" y="136" id="979" /> <AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="921" > -<father id="923" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="969" > +<father id="971" num="0" /> <cdparam x="303" y="143" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="917" /> -<TGConnectingPoint num="1" id="918" /> -<TGConnectingPoint num="2" id="919" /> -<TGConnectingPoint num="3" id="920" /> +<TGConnectingPoint num="0" id="965" /> +<TGConnectingPoint num="1" id="966" /> +<TGConnectingPoint num="2" id="967" /> +<TGConnectingPoint num="3" id="968" /> <extraparam> <guard value="[ ]" /> <afterMin value="" /> <afterMax value="" /> <computeMin value="" /> <computeMax value="" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="930" > +<CONNECTOR type="5102" id="978" > <cdparam x="303" y="40" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from start state to state0" value="null" /> -<TGConnectingPoint num="0" id="929" /> -<P1 x="303" y="40" id="1014" /> -<P2 x="303" y="63" id="1017" /> +<TGConnectingPoint num="0" id="977" /> +<P1 x="303" y="40" id="1094" /> +<P2 x="303" y="63" id="1097" /> <AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="928" > -<father id="930" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="976" > +<father id="978" num="0" /> <cdparam x="303" y="80" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="924" /> -<TGConnectingPoint num="1" id="925" /> -<TGConnectingPoint num="2" id="926" /> -<TGConnectingPoint num="3" id="927" /> +<TGConnectingPoint num="0" id="972" /> +<TGConnectingPoint num="1" id="973" /> +<TGConnectingPoint num="2" id="974" /> +<TGConnectingPoint num="3" id="975" /> <extraparam> <guard value="[ ]" /> <afterMin value="" /> <afterMax value="" /> <computeMin value="" /> <computeMax value="" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> </extraparam> </SUBCOMPONENT> -<COMPONENT type="5104" id="941" > +<COMPONENT type="5104" id="989" > <cdparam x="243" y="141" /> <sizeparam width="127" height="20" minWidth="30" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> <infoparam name="Receive signal" value="getCoin(nbOfCoins)" /> -<TGConnectingPoint num="0" id="931" /> -<TGConnectingPoint num="1" id="932" /> -<TGConnectingPoint num="2" id="933" /> -<TGConnectingPoint num="3" id="934" /> -<TGConnectingPoint num="4" id="935" /> -<TGConnectingPoint num="5" id="936" /> -<TGConnectingPoint num="6" id="937" /> -<TGConnectingPoint num="7" id="938" /> -<TGConnectingPoint num="8" id="939" /> -<TGConnectingPoint num="9" id="940" /> +<TGConnectingPoint num="0" id="979" /> +<TGConnectingPoint num="1" id="980" /> +<TGConnectingPoint num="2" id="981" /> +<TGConnectingPoint num="3" id="982" /> +<TGConnectingPoint num="4" id="983" /> +<TGConnectingPoint num="5" id="984" /> +<TGConnectingPoint num="6" id="985" /> +<TGConnectingPoint num="7" id="986" /> +<TGConnectingPoint num="8" id="987" /> +<TGConnectingPoint num="9" id="988" /> </COMPONENT> -<COMPONENT type="5103" id="952" > +<COMPONENT type="5103" id="1000" > <cdparam x="635" y="321" /> <sizeparam width="129" height="20" minWidth="30" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> <infoparam name="Send signal" value="ejectCoin(nbOfCoins)" /> -<TGConnectingPoint num="0" id="942" /> -<TGConnectingPoint num="1" id="943" /> -<TGConnectingPoint num="2" id="944" /> -<TGConnectingPoint num="3" id="945" /> -<TGConnectingPoint num="4" id="946" /> -<TGConnectingPoint num="5" id="947" /> -<TGConnectingPoint num="6" id="948" /> -<TGConnectingPoint num="7" id="949" /> -<TGConnectingPoint num="8" id="950" /> -<TGConnectingPoint num="9" id="951" /> +<TGConnectingPoint num="0" id="990" /> +<TGConnectingPoint num="1" id="991" /> +<TGConnectingPoint num="2" id="992" /> +<TGConnectingPoint num="3" id="993" /> +<TGConnectingPoint num="4" id="994" /> +<TGConnectingPoint num="5" id="995" /> +<TGConnectingPoint num="6" id="996" /> +<TGConnectingPoint num="7" id="997" /> +<TGConnectingPoint num="8" id="998" /> +<TGConnectingPoint num="9" id="999" /> </COMPONENT> -<COMPONENT type="5104" id="963" > +<COMPONENT type="5104" id="1011" > <cdparam x="241" y="280" /> <sizeparam width="73" height="20" minWidth="30" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> <infoparam name="Receive signal" value="getCoin(x)" /> -<TGConnectingPoint num="0" id="953" /> -<TGConnectingPoint num="1" id="954" /> -<TGConnectingPoint num="2" id="955" /> -<TGConnectingPoint num="3" id="956" /> -<TGConnectingPoint num="4" id="957" /> -<TGConnectingPoint num="5" id="958" /> -<TGConnectingPoint num="6" id="959" /> -<TGConnectingPoint num="7" id="960" /> -<TGConnectingPoint num="8" id="961" /> -<TGConnectingPoint num="9" id="962" /> +<TGConnectingPoint num="0" id="1001" /> +<TGConnectingPoint num="1" id="1002" /> +<TGConnectingPoint num="2" id="1003" /> +<TGConnectingPoint num="3" id="1004" /> +<TGConnectingPoint num="4" id="1005" /> +<TGConnectingPoint num="5" id="1006" /> +<TGConnectingPoint num="6" id="1007" /> +<TGConnectingPoint num="7" id="1008" /> +<TGConnectingPoint num="8" id="1009" /> +<TGConnectingPoint num="9" id="1010" /> <accessibility /> </COMPONENT> -<COMPONENT type="5106" id="988" > +<COMPONENT type="5106" id="1052" > <cdparam x="649" y="239" /> <sizeparam width="100" height="50" minWidth="40" minHeight="30" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> <infoparam name="state0" value="ejectState" /> -<TGConnectingPoint num="0" id="964" /> -<TGConnectingPoint num="1" id="965" /> -<TGConnectingPoint num="2" id="966" /> -<TGConnectingPoint num="3" id="967" /> -<TGConnectingPoint num="4" id="968" /> -<TGConnectingPoint num="5" id="969" /> -<TGConnectingPoint num="6" id="970" /> -<TGConnectingPoint num="7" id="971" /> -<TGConnectingPoint num="8" id="972" /> -<TGConnectingPoint num="9" id="973" /> -<TGConnectingPoint num="10" id="974" /> -<TGConnectingPoint num="11" id="975" /> -<TGConnectingPoint num="12" id="976" /> -<TGConnectingPoint num="13" id="977" /> -<TGConnectingPoint num="14" id="978" /> -<TGConnectingPoint num="15" id="979" /> -<TGConnectingPoint num="16" id="980" /> -<TGConnectingPoint num="17" id="981" /> -<TGConnectingPoint num="18" id="982" /> -<TGConnectingPoint num="19" id="983" /> -<TGConnectingPoint num="20" id="984" /> -<TGConnectingPoint num="21" id="985" /> -<TGConnectingPoint num="22" id="986" /> -<TGConnectingPoint num="23" id="987" /> +<TGConnectingPoint num="0" id="1012" /> +<TGConnectingPoint num="1" id="1013" /> +<TGConnectingPoint num="2" id="1014" /> +<TGConnectingPoint num="3" id="1015" /> +<TGConnectingPoint num="4" id="1016" /> +<TGConnectingPoint num="5" id="1017" /> +<TGConnectingPoint num="6" id="1018" /> +<TGConnectingPoint num="7" id="1019" /> +<TGConnectingPoint num="8" id="1020" /> +<TGConnectingPoint num="9" id="1021" /> +<TGConnectingPoint num="10" id="1022" /> +<TGConnectingPoint num="11" id="1023" /> +<TGConnectingPoint num="12" id="1024" /> +<TGConnectingPoint num="13" id="1025" /> +<TGConnectingPoint num="14" id="1026" /> +<TGConnectingPoint num="15" id="1027" /> +<TGConnectingPoint num="16" id="1028" /> +<TGConnectingPoint num="17" id="1029" /> +<TGConnectingPoint num="18" id="1030" /> +<TGConnectingPoint num="19" id="1031" /> +<TGConnectingPoint num="20" id="1032" /> +<TGConnectingPoint num="21" id="1033" /> +<TGConnectingPoint num="22" id="1034" /> +<TGConnectingPoint num="23" id="1035" /> +<TGConnectingPoint num="24" id="1036" /> +<TGConnectingPoint num="25" id="1037" /> +<TGConnectingPoint num="26" id="1038" /> +<TGConnectingPoint num="27" id="1039" /> +<TGConnectingPoint num="28" id="1040" /> +<TGConnectingPoint num="29" id="1041" /> +<TGConnectingPoint num="30" id="1042" /> +<TGConnectingPoint num="31" id="1043" /> +<TGConnectingPoint num="32" id="1044" /> +<TGConnectingPoint num="33" id="1045" /> +<TGConnectingPoint num="34" id="1046" /> +<TGConnectingPoint num="35" id="1047" /> +<TGConnectingPoint num="36" id="1048" /> +<TGConnectingPoint num="37" id="1049" /> +<TGConnectingPoint num="38" id="1050" /> +<TGConnectingPoint num="39" id="1051" /> </COMPONENT> -<COMPONENT type="5106" id="1013" > +<COMPONENT type="5106" id="1093" > <cdparam x="231" y="188" /> <sizeparam width="157" height="40" minWidth="40" minHeight="30" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> <infoparam name="state0" value="WaitingForSecondCoin" /> -<TGConnectingPoint num="0" id="989" /> -<TGConnectingPoint num="1" id="990" /> -<TGConnectingPoint num="2" id="991" /> -<TGConnectingPoint num="3" id="992" /> -<TGConnectingPoint num="4" id="993" /> -<TGConnectingPoint num="5" id="994" /> -<TGConnectingPoint num="6" id="995" /> -<TGConnectingPoint num="7" id="996" /> -<TGConnectingPoint num="8" id="997" /> -<TGConnectingPoint num="9" id="998" /> -<TGConnectingPoint num="10" id="999" /> -<TGConnectingPoint num="11" id="1000" /> -<TGConnectingPoint num="12" id="1001" /> -<TGConnectingPoint num="13" id="1002" /> -<TGConnectingPoint num="14" id="1003" /> -<TGConnectingPoint num="15" id="1004" /> -<TGConnectingPoint num="16" id="1005" /> -<TGConnectingPoint num="17" id="1006" /> -<TGConnectingPoint num="18" id="1007" /> -<TGConnectingPoint num="19" id="1008" /> -<TGConnectingPoint num="20" id="1009" /> -<TGConnectingPoint num="21" id="1010" /> -<TGConnectingPoint num="22" id="1011" /> -<TGConnectingPoint num="23" id="1012" /> +<TGConnectingPoint num="0" id="1053" /> +<TGConnectingPoint num="1" id="1054" /> +<TGConnectingPoint num="2" id="1055" /> +<TGConnectingPoint num="3" id="1056" /> +<TGConnectingPoint num="4" id="1057" /> +<TGConnectingPoint num="5" id="1058" /> +<TGConnectingPoint num="6" id="1059" /> +<TGConnectingPoint num="7" id="1060" /> +<TGConnectingPoint num="8" id="1061" /> +<TGConnectingPoint num="9" id="1062" /> +<TGConnectingPoint num="10" id="1063" /> +<TGConnectingPoint num="11" id="1064" /> +<TGConnectingPoint num="12" id="1065" /> +<TGConnectingPoint num="13" id="1066" /> +<TGConnectingPoint num="14" id="1067" /> +<TGConnectingPoint num="15" id="1068" /> +<TGConnectingPoint num="16" id="1069" /> +<TGConnectingPoint num="17" id="1070" /> +<TGConnectingPoint num="18" id="1071" /> +<TGConnectingPoint num="19" id="1072" /> +<TGConnectingPoint num="20" id="1073" /> +<TGConnectingPoint num="21" id="1074" /> +<TGConnectingPoint num="22" id="1075" /> +<TGConnectingPoint num="23" id="1076" /> +<TGConnectingPoint num="24" id="1077" /> +<TGConnectingPoint num="25" id="1078" /> +<TGConnectingPoint num="26" id="1079" /> +<TGConnectingPoint num="27" id="1080" /> +<TGConnectingPoint num="28" id="1081" /> +<TGConnectingPoint num="29" id="1082" /> +<TGConnectingPoint num="30" id="1083" /> +<TGConnectingPoint num="31" id="1084" /> +<TGConnectingPoint num="32" id="1085" /> +<TGConnectingPoint num="33" id="1086" /> +<TGConnectingPoint num="34" id="1087" /> +<TGConnectingPoint num="35" id="1088" /> +<TGConnectingPoint num="36" id="1089" /> +<TGConnectingPoint num="37" id="1090" /> +<TGConnectingPoint num="38" id="1091" /> +<TGConnectingPoint num="39" id="1092" /> </COMPONENT> -<COMPONENT type="5100" id="1015" > +<COMPONENT type="5100" id="1095" > <cdparam x="296" y="20" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="1014" /> +<TGConnectingPoint num="0" id="1094" /> </COMPONENT> -<COMPONENT type="5106" id="1040" > +<COMPONENT type="5106" id="1136" > <cdparam x="235" y="63" /> <sizeparam width="137" height="40" minWidth="40" minHeight="30" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> <infoparam name="state0" value="WaitingForFirstCoin" /> -<TGConnectingPoint num="0" id="1016" /> -<TGConnectingPoint num="1" id="1017" /> -<TGConnectingPoint num="2" id="1018" /> -<TGConnectingPoint num="3" id="1019" /> -<TGConnectingPoint num="4" id="1020" /> -<TGConnectingPoint num="5" id="1021" /> -<TGConnectingPoint num="6" id="1022" /> -<TGConnectingPoint num="7" id="1023" /> -<TGConnectingPoint num="8" id="1024" /> -<TGConnectingPoint num="9" id="1025" /> -<TGConnectingPoint num="10" id="1026" /> -<TGConnectingPoint num="11" id="1027" /> -<TGConnectingPoint num="12" id="1028" /> -<TGConnectingPoint num="13" id="1029" /> -<TGConnectingPoint num="14" id="1030" /> -<TGConnectingPoint num="15" id="1031" /> -<TGConnectingPoint num="16" id="1032" /> -<TGConnectingPoint num="17" id="1033" /> -<TGConnectingPoint num="18" id="1034" /> -<TGConnectingPoint num="19" id="1035" /> -<TGConnectingPoint num="20" id="1036" /> -<TGConnectingPoint num="21" id="1037" /> -<TGConnectingPoint num="22" id="1038" /> -<TGConnectingPoint num="23" id="1039" /> +<TGConnectingPoint num="0" id="1096" /> +<TGConnectingPoint num="1" id="1097" /> +<TGConnectingPoint num="2" id="1098" /> +<TGConnectingPoint num="3" id="1099" /> +<TGConnectingPoint num="4" id="1100" /> +<TGConnectingPoint num="5" id="1101" /> +<TGConnectingPoint num="6" id="1102" /> +<TGConnectingPoint num="7" id="1103" /> +<TGConnectingPoint num="8" id="1104" /> +<TGConnectingPoint num="9" id="1105" /> +<TGConnectingPoint num="10" id="1106" /> +<TGConnectingPoint num="11" id="1107" /> +<TGConnectingPoint num="12" id="1108" /> +<TGConnectingPoint num="13" id="1109" /> +<TGConnectingPoint num="14" id="1110" /> +<TGConnectingPoint num="15" id="1111" /> +<TGConnectingPoint num="16" id="1112" /> +<TGConnectingPoint num="17" id="1113" /> +<TGConnectingPoint num="18" id="1114" /> +<TGConnectingPoint num="19" id="1115" /> +<TGConnectingPoint num="20" id="1116" /> +<TGConnectingPoint num="21" id="1117" /> +<TGConnectingPoint num="22" id="1118" /> +<TGConnectingPoint num="23" id="1119" /> +<TGConnectingPoint num="24" id="1120" /> +<TGConnectingPoint num="25" id="1121" /> +<TGConnectingPoint num="26" id="1122" /> +<TGConnectingPoint num="27" id="1123" /> +<TGConnectingPoint num="28" id="1124" /> +<TGConnectingPoint num="29" id="1125" /> +<TGConnectingPoint num="30" id="1126" /> +<TGConnectingPoint num="31" id="1127" /> +<TGConnectingPoint num="32" id="1128" /> +<TGConnectingPoint num="33" id="1129" /> +<TGConnectingPoint num="34" id="1130" /> +<TGConnectingPoint num="35" id="1131" /> +<TGConnectingPoint num="36" id="1132" /> +<TGConnectingPoint num="37" id="1133" /> +<TGConnectingPoint num="38" id="1134" /> +<TGConnectingPoint num="39" id="1135" /> </COMPONENT> -<COMPONENT type="5106" id="1065" > +<COMPONENT type="5106" id="1177" > <cdparam x="221" y="748" /> <sizeparam width="137" height="40" minWidth="40" minHeight="30" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> <infoparam name="state0" value="WaitingForFirstCoin" /> -<TGConnectingPoint num="0" id="1041" /> -<TGConnectingPoint num="1" id="1042" /> -<TGConnectingPoint num="2" id="1043" /> -<TGConnectingPoint num="3" id="1044" /> -<TGConnectingPoint num="4" id="1045" /> -<TGConnectingPoint num="5" id="1046" /> -<TGConnectingPoint num="6" id="1047" /> -<TGConnectingPoint num="7" id="1048" /> -<TGConnectingPoint num="8" id="1049" /> -<TGConnectingPoint num="9" id="1050" /> -<TGConnectingPoint num="10" id="1051" /> -<TGConnectingPoint num="11" id="1052" /> -<TGConnectingPoint num="12" id="1053" /> -<TGConnectingPoint num="13" id="1054" /> -<TGConnectingPoint num="14" id="1055" /> -<TGConnectingPoint num="15" id="1056" /> -<TGConnectingPoint num="16" id="1057" /> -<TGConnectingPoint num="17" id="1058" /> -<TGConnectingPoint num="18" id="1059" /> -<TGConnectingPoint num="19" id="1060" /> -<TGConnectingPoint num="20" id="1061" /> -<TGConnectingPoint num="21" id="1062" /> -<TGConnectingPoint num="22" id="1063" /> -<TGConnectingPoint num="23" id="1064" /> +<TGConnectingPoint num="0" id="1137" /> +<TGConnectingPoint num="1" id="1138" /> +<TGConnectingPoint num="2" id="1139" /> +<TGConnectingPoint num="3" id="1140" /> +<TGConnectingPoint num="4" id="1141" /> +<TGConnectingPoint num="5" id="1142" /> +<TGConnectingPoint num="6" id="1143" /> +<TGConnectingPoint num="7" id="1144" /> +<TGConnectingPoint num="8" id="1145" /> +<TGConnectingPoint num="9" id="1146" /> +<TGConnectingPoint num="10" id="1147" /> +<TGConnectingPoint num="11" id="1148" /> +<TGConnectingPoint num="12" id="1149" /> +<TGConnectingPoint num="13" id="1150" /> +<TGConnectingPoint num="14" id="1151" /> +<TGConnectingPoint num="15" id="1152" /> +<TGConnectingPoint num="16" id="1153" /> +<TGConnectingPoint num="17" id="1154" /> +<TGConnectingPoint num="18" id="1155" /> +<TGConnectingPoint num="19" id="1156" /> +<TGConnectingPoint num="20" id="1157" /> +<TGConnectingPoint num="21" id="1158" /> +<TGConnectingPoint num="22" id="1159" /> +<TGConnectingPoint num="23" id="1160" /> +<TGConnectingPoint num="24" id="1161" /> +<TGConnectingPoint num="25" id="1162" /> +<TGConnectingPoint num="26" id="1163" /> +<TGConnectingPoint num="27" id="1164" /> +<TGConnectingPoint num="28" id="1165" /> +<TGConnectingPoint num="29" id="1166" /> +<TGConnectingPoint num="30" id="1167" /> +<TGConnectingPoint num="31" id="1168" /> +<TGConnectingPoint num="32" id="1169" /> +<TGConnectingPoint num="33" id="1170" /> +<TGConnectingPoint num="34" id="1171" /> +<TGConnectingPoint num="35" id="1172" /> +<TGConnectingPoint num="36" id="1173" /> +<TGConnectingPoint num="37" id="1174" /> +<TGConnectingPoint num="38" id="1175" /> +<TGConnectingPoint num="39" id="1176" /> </COMPONENT> -<COMPONENT type="5106" id="1090" > +<COMPONENT type="5106" id="1218" > <cdparam x="631" y="381" /> <sizeparam width="137" height="40" minWidth="40" minHeight="30" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> <infoparam name="state0" value="WaitingForFirstCoin" /> -<TGConnectingPoint num="0" id="1066" /> -<TGConnectingPoint num="1" id="1067" /> -<TGConnectingPoint num="2" id="1068" /> -<TGConnectingPoint num="3" id="1069" /> -<TGConnectingPoint num="4" id="1070" /> -<TGConnectingPoint num="5" id="1071" /> -<TGConnectingPoint num="6" id="1072" /> -<TGConnectingPoint num="7" id="1073" /> -<TGConnectingPoint num="8" id="1074" /> -<TGConnectingPoint num="9" id="1075" /> -<TGConnectingPoint num="10" id="1076" /> -<TGConnectingPoint num="11" id="1077" /> -<TGConnectingPoint num="12" id="1078" /> -<TGConnectingPoint num="13" id="1079" /> -<TGConnectingPoint num="14" id="1080" /> -<TGConnectingPoint num="15" id="1081" /> -<TGConnectingPoint num="16" id="1082" /> -<TGConnectingPoint num="17" id="1083" /> -<TGConnectingPoint num="18" id="1084" /> -<TGConnectingPoint num="19" id="1085" /> -<TGConnectingPoint num="20" id="1086" /> -<TGConnectingPoint num="21" id="1087" /> -<TGConnectingPoint num="22" id="1088" /> -<TGConnectingPoint num="23" id="1089" /> +<TGConnectingPoint num="0" id="1178" /> +<TGConnectingPoint num="1" id="1179" /> +<TGConnectingPoint num="2" id="1180" /> +<TGConnectingPoint num="3" id="1181" /> +<TGConnectingPoint num="4" id="1182" /> +<TGConnectingPoint num="5" id="1183" /> +<TGConnectingPoint num="6" id="1184" /> +<TGConnectingPoint num="7" id="1185" /> +<TGConnectingPoint num="8" id="1186" /> +<TGConnectingPoint num="9" id="1187" /> +<TGConnectingPoint num="10" id="1188" /> +<TGConnectingPoint num="11" id="1189" /> +<TGConnectingPoint num="12" id="1190" /> +<TGConnectingPoint num="13" id="1191" /> +<TGConnectingPoint num="14" id="1192" /> +<TGConnectingPoint num="15" id="1193" /> +<TGConnectingPoint num="16" id="1194" /> +<TGConnectingPoint num="17" id="1195" /> +<TGConnectingPoint num="18" id="1196" /> +<TGConnectingPoint num="19" id="1197" /> +<TGConnectingPoint num="20" id="1198" /> +<TGConnectingPoint num="21" id="1199" /> +<TGConnectingPoint num="22" id="1200" /> +<TGConnectingPoint num="23" id="1201" /> +<TGConnectingPoint num="24" id="1202" /> +<TGConnectingPoint num="25" id="1203" /> +<TGConnectingPoint num="26" id="1204" /> +<TGConnectingPoint num="27" id="1205" /> +<TGConnectingPoint num="28" id="1206" /> +<TGConnectingPoint num="29" id="1207" /> +<TGConnectingPoint num="30" id="1208" /> +<TGConnectingPoint num="31" id="1209" /> +<TGConnectingPoint num="32" id="1210" /> +<TGConnectingPoint num="33" id="1211" /> +<TGConnectingPoint num="34" id="1212" /> +<TGConnectingPoint num="35" id="1213" /> +<TGConnectingPoint num="36" id="1214" /> +<TGConnectingPoint num="37" id="1215" /> +<TGConnectingPoint num="38" id="1216" /> +<TGConnectingPoint num="39" id="1217" /> </COMPONENT> -<COMPONENT type="5106" id="1175" > +<COMPONENT type="5106" id="1335" > <cdparam x="18" y="370" /> <sizeparam width="577" height="354" minWidth="40" minHeight="30" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> <infoparam name="state0" value="Beverage" /> -<TGConnectingPoint num="0" id="1151" /> -<TGConnectingPoint num="1" id="1152" /> -<TGConnectingPoint num="2" id="1153" /> -<TGConnectingPoint num="3" id="1154" /> -<TGConnectingPoint num="4" id="1155" /> -<TGConnectingPoint num="5" id="1156" /> -<TGConnectingPoint num="6" id="1157" /> -<TGConnectingPoint num="7" id="1158" /> -<TGConnectingPoint num="8" id="1159" /> -<TGConnectingPoint num="9" id="1160" /> -<TGConnectingPoint num="10" id="1161" /> -<TGConnectingPoint num="11" id="1162" /> -<TGConnectingPoint num="12" id="1163" /> -<TGConnectingPoint num="13" id="1164" /> -<TGConnectingPoint num="14" id="1165" /> -<TGConnectingPoint num="15" id="1166" /> -<TGConnectingPoint num="16" id="1167" /> -<TGConnectingPoint num="17" id="1168" /> -<TGConnectingPoint num="18" id="1169" /> -<TGConnectingPoint num="19" id="1170" /> -<TGConnectingPoint num="20" id="1171" /> -<TGConnectingPoint num="21" id="1172" /> -<TGConnectingPoint num="22" id="1173" /> -<TGConnectingPoint num="23" id="1174" /> +<TGConnectingPoint num="0" id="1295" /> +<TGConnectingPoint num="1" id="1296" /> +<TGConnectingPoint num="2" id="1297" /> +<TGConnectingPoint num="3" id="1298" /> +<TGConnectingPoint num="4" id="1299" /> +<TGConnectingPoint num="5" id="1300" /> +<TGConnectingPoint num="6" id="1301" /> +<TGConnectingPoint num="7" id="1302" /> +<TGConnectingPoint num="8" id="1303" /> +<TGConnectingPoint num="9" id="1304" /> +<TGConnectingPoint num="10" id="1305" /> +<TGConnectingPoint num="11" id="1306" /> +<TGConnectingPoint num="12" id="1307" /> +<TGConnectingPoint num="13" id="1308" /> +<TGConnectingPoint num="14" id="1309" /> +<TGConnectingPoint num="15" id="1310" /> +<TGConnectingPoint num="16" id="1311" /> +<TGConnectingPoint num="17" id="1312" /> +<TGConnectingPoint num="18" id="1313" /> +<TGConnectingPoint num="19" id="1314" /> +<TGConnectingPoint num="20" id="1315" /> +<TGConnectingPoint num="21" id="1316" /> +<TGConnectingPoint num="22" id="1317" /> +<TGConnectingPoint num="23" id="1318" /> +<TGConnectingPoint num="24" id="1319" /> +<TGConnectingPoint num="25" id="1320" /> +<TGConnectingPoint num="26" id="1321" /> +<TGConnectingPoint num="27" id="1322" /> +<TGConnectingPoint num="28" id="1323" /> +<TGConnectingPoint num="29" id="1324" /> +<TGConnectingPoint num="30" id="1325" /> +<TGConnectingPoint num="31" id="1326" /> +<TGConnectingPoint num="32" id="1327" /> +<TGConnectingPoint num="33" id="1328" /> +<TGConnectingPoint num="34" id="1329" /> +<TGConnectingPoint num="35" id="1330" /> +<TGConnectingPoint num="36" id="1331" /> +<TGConnectingPoint num="37" id="1332" /> +<TGConnectingPoint num="38" id="1333" /> +<TGConnectingPoint num="39" id="1334" /> </COMPONENT> -<SUBCOMPONENT type="5104" id="1101" > -<father id="1175" num="0" /> -<cdparam x="239" y="527" /> -<sizeparam width="109" height="20" minWidth="30" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<SUBCOMPONENT type="5103" id="1229" > +<father id="1335" num="0" /> +<cdparam x="373" y="500" /> +<sizeparam width="129" height="20" minWidth="30" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="465" minY="0" maxY="334" /> -<infoparam name="Send signal" value="pushTeaButton()" /> -<TGConnectingPoint num="0" id="1091" /> -<TGConnectingPoint num="1" id="1092" /> -<TGConnectingPoint num="2" id="1093" /> -<TGConnectingPoint num="3" id="1094" /> -<TGConnectingPoint num="4" id="1095" /> -<TGConnectingPoint num="5" id="1096" /> -<TGConnectingPoint num="6" id="1097" /> -<TGConnectingPoint num="7" id="1098" /> -<TGConnectingPoint num="8" id="1099" /> -<TGConnectingPoint num="9" id="1100" /> +<cdrectangleparam minX="0" maxX="447" minY="0" maxY="334" /> +<infoparam name="Send signal" value="ejectCoin(nbOfCoins)" /> +<TGConnectingPoint num="0" id="1219" /> +<TGConnectingPoint num="1" id="1220" /> +<TGConnectingPoint num="2" id="1221" /> +<TGConnectingPoint num="3" id="1222" /> +<TGConnectingPoint num="4" id="1223" /> +<TGConnectingPoint num="5" id="1224" /> +<TGConnectingPoint num="6" id="1225" /> +<TGConnectingPoint num="7" id="1226" /> +<TGConnectingPoint num="8" id="1227" /> +<TGConnectingPoint num="9" id="1228" /> <accessibility /> </SUBCOMPONENT> -<SUBCOMPONENT type="5106" id="1126" > -<father id="1175" num="1" /> -<cdparam x="189" y="435" /> -<sizeparam width="132" height="40" minWidth="40" minHeight="30" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="0" maxX="445" minY="0" maxY="314" /> -<infoparam name="state0" value="WaitingForSelection" /> -<TGConnectingPoint num="0" id="1102" /> -<TGConnectingPoint num="1" id="1103" /> -<TGConnectingPoint num="2" id="1104" /> -<TGConnectingPoint num="3" id="1105" /> -<TGConnectingPoint num="4" id="1106" /> -<TGConnectingPoint num="5" id="1107" /> -<TGConnectingPoint num="6" id="1108" /> -<TGConnectingPoint num="7" id="1109" /> -<TGConnectingPoint num="8" id="1110" /> -<TGConnectingPoint num="9" id="1111" /> -<TGConnectingPoint num="10" id="1112" /> -<TGConnectingPoint num="11" id="1113" /> -<TGConnectingPoint num="12" id="1114" /> -<TGConnectingPoint num="13" id="1115" /> -<TGConnectingPoint num="14" id="1116" /> -<TGConnectingPoint num="15" id="1117" /> -<TGConnectingPoint num="16" id="1118" /> -<TGConnectingPoint num="17" id="1119" /> -<TGConnectingPoint num="18" id="1120" /> -<TGConnectingPoint num="19" id="1121" /> -<TGConnectingPoint num="20" id="1122" /> -<TGConnectingPoint num="21" id="1123" /> -<TGConnectingPoint num="22" id="1124" /> -<TGConnectingPoint num="23" id="1125" /> -</SUBCOMPONENT> -<SUBCOMPONENT type="5100" id="1128" > -<father id="1175" num="2" /> -<cdparam x="249" y="399" /> -<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="0" maxX="562" minY="0" maxY="339" /> -<infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="1127" /> -</SUBCOMPONENT> -<SUBCOMPONENT type="5104" id="1139" > -<father id="1175" num="3" /> +<SUBCOMPONENT type="5104" id="1240" > +<father id="1335" num="1" /> <cdparam x="59" y="527" /> <sizeparam width="124" height="20" minWidth="30" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="0" maxX="450" minY="0" maxY="334" /> <infoparam name="Send signal" value="pushCoffeeButton()" /> -<TGConnectingPoint num="0" id="1129" /> -<TGConnectingPoint num="1" id="1130" /> -<TGConnectingPoint num="2" id="1131" /> -<TGConnectingPoint num="3" id="1132" /> -<TGConnectingPoint num="4" id="1133" /> -<TGConnectingPoint num="5" id="1134" /> -<TGConnectingPoint num="6" id="1135" /> -<TGConnectingPoint num="7" id="1136" /> -<TGConnectingPoint num="8" id="1137" /> -<TGConnectingPoint num="9" id="1138" /> -<accessibility /> -</SUBCOMPONENT> -<SUBCOMPONENT type="5103" id="1150" > -<father id="1175" num="4" /> -<cdparam x="373" y="500" /> -<sizeparam width="129" height="20" minWidth="30" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="0" maxX="447" minY="0" maxY="334" /> -<infoparam name="Send signal" value="ejectCoin(nbOfCoins)" /> -<TGConnectingPoint num="0" id="1140" /> -<TGConnectingPoint num="1" id="1141" /> -<TGConnectingPoint num="2" id="1142" /> -<TGConnectingPoint num="3" id="1143" /> -<TGConnectingPoint num="4" id="1144" /> -<TGConnectingPoint num="5" id="1145" /> -<TGConnectingPoint num="6" id="1146" /> -<TGConnectingPoint num="7" id="1147" /> -<TGConnectingPoint num="8" id="1148" /> -<TGConnectingPoint num="9" id="1149" /> +<TGConnectingPoint num="0" id="1230" /> +<TGConnectingPoint num="1" id="1231" /> +<TGConnectingPoint num="2" id="1232" /> +<TGConnectingPoint num="3" id="1233" /> +<TGConnectingPoint num="4" id="1234" /> +<TGConnectingPoint num="5" id="1235" /> +<TGConnectingPoint num="6" id="1236" /> +<TGConnectingPoint num="7" id="1237" /> +<TGConnectingPoint num="8" id="1238" /> +<TGConnectingPoint num="9" id="1239" /> <accessibility /> </SUBCOMPONENT> - - -</AVATARStateMachineDiagramPanel> - -<AVATARStateMachineDiagramPanel name="TeaButton" minX="10" maxX="1400" minY="10" maxY="900" > -<CONNECTOR type="5102" id="1182" > -<cdparam x="363" y="193" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from Send signal to state0" value="null" /> -<TGConnectingPoint num="0" id="1181" /> -<P1 x="363" y="204" id="1198" /> -<P2 x="362" y="257" id="1209" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="1180" > -<father id="1182" num="0" /> -<cdparam x="368" y="210" /> -<sizeparam width="135" height="16" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<SUBCOMPONENT type="5100" id="1242" > +<father id="1335" num="2" /> +<cdparam x="249" y="399" /> +<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="1176" /> -<TGConnectingPoint num="1" id="1177" /> -<TGConnectingPoint num="2" id="1178" /> -<TGConnectingPoint num="3" id="1179" /> -<extraparam> -<guard value="[ ]" /> -<afterMin value="mechanicalDelay" /> -<afterMax value="" /> -<computeMin value="" /> -<computeMax value="" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> -</extraparam> +<cdrectangleparam minX="0" maxX="562" minY="0" maxY="339" /> +<infoparam name="start state" value="null" /> +<TGConnectingPoint num="0" id="1241" /> </SUBCOMPONENT> - -<CONNECTOR type="5102" id="1189" > -<cdparam x="363" y="150" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from state0 to Send signal" value="null" /> -<TGConnectingPoint num="0" id="1188" /> -<P1 x="363" y="150" id="1239" /> -<P2 x="363" y="174" id="1197" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="1187" > -<father id="1189" num="0" /> -<cdparam x="363" y="190" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<SUBCOMPONENT type="5106" id="1283" > +<father id="1335" num="3" /> +<cdparam x="189" y="435" /> +<sizeparam width="132" height="40" minWidth="40" minHeight="30" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="1183" /> -<TGConnectingPoint num="1" id="1184" /> -<TGConnectingPoint num="2" id="1185" /> -<TGConnectingPoint num="3" id="1186" /> -<extraparam> -<guard value="[ ]" /> -<afterMin value="" /> -<afterMax value="" /> -<computeMin value="" /> -<computeMax value="" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> -</extraparam> +<cdrectangleparam minX="0" maxX="445" minY="0" maxY="314" /> +<infoparam name="state0" value="WaitingForSelection" /> +<TGConnectingPoint num="0" id="1243" /> +<TGConnectingPoint num="1" id="1244" /> +<TGConnectingPoint num="2" id="1245" /> +<TGConnectingPoint num="3" id="1246" /> +<TGConnectingPoint num="4" id="1247" /> +<TGConnectingPoint num="5" id="1248" /> +<TGConnectingPoint num="6" id="1249" /> +<TGConnectingPoint num="7" id="1250" /> +<TGConnectingPoint num="8" id="1251" /> +<TGConnectingPoint num="9" id="1252" /> +<TGConnectingPoint num="10" id="1253" /> +<TGConnectingPoint num="11" id="1254" /> +<TGConnectingPoint num="12" id="1255" /> +<TGConnectingPoint num="13" id="1256" /> +<TGConnectingPoint num="14" id="1257" /> +<TGConnectingPoint num="15" id="1258" /> +<TGConnectingPoint num="16" id="1259" /> +<TGConnectingPoint num="17" id="1260" /> +<TGConnectingPoint num="18" id="1261" /> +<TGConnectingPoint num="19" id="1262" /> +<TGConnectingPoint num="20" id="1263" /> +<TGConnectingPoint num="21" id="1264" /> +<TGConnectingPoint num="22" id="1265" /> +<TGConnectingPoint num="23" id="1266" /> +<TGConnectingPoint num="24" id="1267" /> +<TGConnectingPoint num="25" id="1268" /> +<TGConnectingPoint num="26" id="1269" /> +<TGConnectingPoint num="27" id="1270" /> +<TGConnectingPoint num="28" id="1271" /> +<TGConnectingPoint num="29" id="1272" /> +<TGConnectingPoint num="30" id="1273" /> +<TGConnectingPoint num="31" id="1274" /> +<TGConnectingPoint num="32" id="1275" /> +<TGConnectingPoint num="33" id="1276" /> +<TGConnectingPoint num="34" id="1277" /> +<TGConnectingPoint num="35" id="1278" /> +<TGConnectingPoint num="36" id="1279" /> +<TGConnectingPoint num="37" id="1280" /> +<TGConnectingPoint num="38" id="1281" /> +<TGConnectingPoint num="39" id="1282" /> </SUBCOMPONENT> - -<CONNECTOR type="5102" id="1196" > -<cdparam x="362" y="101" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from start state to state0" value="null" /> -<TGConnectingPoint num="0" id="1195" /> -<P1 x="362" y="101" id="1258" /> -<P2 x="363" y="120" id="1234" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="1194" > -<father id="1196" num="0" /> -<cdparam x="362" y="141" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<SUBCOMPONENT type="5104" id="1294" > +<father id="1335" num="4" /> +<cdparam x="239" y="527" /> +<sizeparam width="109" height="20" minWidth="30" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="1190" /> -<TGConnectingPoint num="1" id="1191" /> -<TGConnectingPoint num="2" id="1192" /> -<TGConnectingPoint num="3" id="1193" /> -<extraparam> -<guard value="[ ]" /> -<afterMin value="" /> -<afterMax value="" /> -<computeMin value="" /> -<computeMax value="" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> -</extraparam> +<cdrectangleparam minX="0" maxX="465" minY="0" maxY="334" /> +<infoparam name="Send signal" value="pushTeaButton()" /> +<TGConnectingPoint num="0" id="1284" /> +<TGConnectingPoint num="1" id="1285" /> +<TGConnectingPoint num="2" id="1286" /> +<TGConnectingPoint num="3" id="1287" /> +<TGConnectingPoint num="4" id="1288" /> +<TGConnectingPoint num="5" id="1289" /> +<TGConnectingPoint num="6" id="1290" /> +<TGConnectingPoint num="7" id="1291" /> +<TGConnectingPoint num="8" id="1292" /> +<TGConnectingPoint num="9" id="1293" /> +<accessibility /> </SUBCOMPONENT> -<COMPONENT type="5103" id="1207" > -<cdparam x="340" y="179" /> -<sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="Send signal" value="push()" /> -<TGConnectingPoint num="0" id="1197" /> -<TGConnectingPoint num="1" id="1198" /> -<TGConnectingPoint num="2" id="1199" /> -<TGConnectingPoint num="3" id="1200" /> -<TGConnectingPoint num="4" id="1201" /> -<TGConnectingPoint num="5" id="1202" /> -<TGConnectingPoint num="6" id="1203" /> -<TGConnectingPoint num="7" id="1204" /> -<TGConnectingPoint num="8" id="1205" /> -<TGConnectingPoint num="9" id="1206" /> -</COMPONENT> - -<COMPONENT type="5106" id="1232" > -<cdparam x="337" y="257" /> -<sizeparam width="50" height="30" minWidth="40" minHeight="30" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="state0" value="main" /> -<TGConnectingPoint num="0" id="1208" /> -<TGConnectingPoint num="1" id="1209" /> -<TGConnectingPoint num="2" id="1210" /> -<TGConnectingPoint num="3" id="1211" /> -<TGConnectingPoint num="4" id="1212" /> -<TGConnectingPoint num="5" id="1213" /> -<TGConnectingPoint num="6" id="1214" /> -<TGConnectingPoint num="7" id="1215" /> -<TGConnectingPoint num="8" id="1216" /> -<TGConnectingPoint num="9" id="1217" /> -<TGConnectingPoint num="10" id="1218" /> -<TGConnectingPoint num="11" id="1219" /> -<TGConnectingPoint num="12" id="1220" /> -<TGConnectingPoint num="13" id="1221" /> -<TGConnectingPoint num="14" id="1222" /> -<TGConnectingPoint num="15" id="1223" /> -<TGConnectingPoint num="16" id="1224" /> -<TGConnectingPoint num="17" id="1225" /> -<TGConnectingPoint num="18" id="1226" /> -<TGConnectingPoint num="19" id="1227" /> -<TGConnectingPoint num="20" id="1228" /> -<TGConnectingPoint num="21" id="1229" /> -<TGConnectingPoint num="22" id="1230" /> -<TGConnectingPoint num="23" id="1231" /> -</COMPONENT> - -<COMPONENT type="5106" id="1257" > -<cdparam x="338" y="120" /> -<sizeparam width="50" height="30" minWidth="40" minHeight="30" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="state0" value="main" /> -<TGConnectingPoint num="0" id="1233" /> -<TGConnectingPoint num="1" id="1234" /> -<TGConnectingPoint num="2" id="1235" /> -<TGConnectingPoint num="3" id="1236" /> -<TGConnectingPoint num="4" id="1237" /> -<TGConnectingPoint num="5" id="1238" /> -<TGConnectingPoint num="6" id="1239" /> -<TGConnectingPoint num="7" id="1240" /> -<TGConnectingPoint num="8" id="1241" /> -<TGConnectingPoint num="9" id="1242" /> -<TGConnectingPoint num="10" id="1243" /> -<TGConnectingPoint num="11" id="1244" /> -<TGConnectingPoint num="12" id="1245" /> -<TGConnectingPoint num="13" id="1246" /> -<TGConnectingPoint num="14" id="1247" /> -<TGConnectingPoint num="15" id="1248" /> -<TGConnectingPoint num="16" id="1249" /> -<TGConnectingPoint num="17" id="1250" /> -<TGConnectingPoint num="18" id="1251" /> -<TGConnectingPoint num="19" id="1252" /> -<TGConnectingPoint num="20" id="1253" /> -<TGConnectingPoint num="21" id="1254" /> -<TGConnectingPoint num="22" id="1255" /> -<TGConnectingPoint num="23" id="1256" /> -</COMPONENT> - -<COMPONENT type="5100" id="1259" > -<cdparam x="355" y="81" /> -<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="1258" /> -</COMPONENT> - </AVATARStateMachineDiagramPanel> <AVATARStateMachineDiagramPanel name="CoffeeButton" minX="10" maxX="1400" minY="10" maxY="900" > -<CONNECTOR type="5102" id="1266" > +<CONNECTOR type="5102" id="1342" > <cdparam x="177" y="199" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from start state to Send signal" value="null" /> -<TGConnectingPoint num="0" id="1265" /> -<P1 x="340" y="233" id="1351" /> -<P2 x="353" y="252" id="1340" /> +<TGConnectingPoint num="0" id="1341" /> +<P1 x="340" y="233" id="1448" /> +<P2 x="353" y="252" id="1450" /> <AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="1264" > -<father id="1266" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1340" > +<father id="1342" num="0" /> <cdparam x="177" y="239" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="1260" /> -<TGConnectingPoint num="1" id="1261" /> -<TGConnectingPoint num="2" id="1262" /> -<TGConnectingPoint num="3" id="1263" /> +<TGConnectingPoint num="0" id="1336" /> +<TGConnectingPoint num="1" id="1337" /> +<TGConnectingPoint num="2" id="1338" /> +<TGConnectingPoint num="3" id="1339" /> <extraparam> <guard value="[ ]" /> <afterMin value="" /> <afterMax value="" /> <computeMin value="" /> <computeMax value="" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="1273" > +<CONNECTOR type="5102" id="1349" > <cdparam x="322" y="69" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from start state to state0" value="null" /> -<TGConnectingPoint num="0" id="1272" /> -<P1 x="322" y="69" id="1338" /> -<P2 x="323" y="88" id="1314" /> +<TGConnectingPoint num="0" id="1348" /> +<P1 x="322" y="69" id="1446" /> +<P2 x="323" y="88" id="1406" /> <AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="1271" > -<father id="1273" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1347" > +<father id="1349" num="0" /> <cdparam x="322" y="109" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="1267" /> -<TGConnectingPoint num="1" id="1268" /> -<TGConnectingPoint num="2" id="1269" /> -<TGConnectingPoint num="3" id="1270" /> +<TGConnectingPoint num="0" id="1343" /> +<TGConnectingPoint num="1" id="1344" /> +<TGConnectingPoint num="2" id="1345" /> +<TGConnectingPoint num="3" id="1346" /> <extraparam> <guard value="[ ]" /> <afterMin value="" /> <afterMax value="" /> <computeMin value="" /> <computeMax value="" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="1280" > +<CONNECTOR type="5102" id="1356" > <cdparam x="377" y="144" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from state0 to Send signal" value="null" /> -<TGConnectingPoint num="0" id="1279" /> -<P1 x="323" y="118" id="1319" /> -<P2 x="356" y="174" id="1354" /> +<TGConnectingPoint num="0" id="1355" /> +<P1 x="323" y="118" id="1411" /> +<P2 x="356" y="174" id="1462" /> <AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="1278" > -<father id="1280" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1354" > +<father id="1356" num="0" /> <cdparam x="377" y="184" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="1274" /> -<TGConnectingPoint num="1" id="1275" /> -<TGConnectingPoint num="2" id="1276" /> -<TGConnectingPoint num="3" id="1277" /> +<TGConnectingPoint num="0" id="1350" /> +<TGConnectingPoint num="1" id="1351" /> +<TGConnectingPoint num="2" id="1352" /> +<TGConnectingPoint num="3" id="1353" /> <extraparam> <guard value="[ ]" /> <afterMin value="" /> <afterMax value="" /> <computeMin value="" /> <computeMax value="" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="1287" > +<CONNECTOR type="5102" id="1363" > <cdparam x="377" y="187" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Send signal to state0" value="null" /> -<TGConnectingPoint num="0" id="1286" /> -<P1 x="353" y="282" id="1341" /> -<P2 x="399" y="352" id="1289" /> +<TGConnectingPoint num="0" id="1362" /> +<P1 x="353" y="282" id="1451" /> +<P2 x="399" y="352" id="1365" /> <AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="1285" > -<father id="1287" num="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1361" > +<father id="1363" num="0" /> <cdparam x="349" y="148" /> <sizeparam width="135" height="16" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="1281" /> -<TGConnectingPoint num="1" id="1282" /> -<TGConnectingPoint num="2" id="1283" /> -<TGConnectingPoint num="3" id="1284" /> +<TGConnectingPoint num="0" id="1357" /> +<TGConnectingPoint num="1" id="1358" /> +<TGConnectingPoint num="2" id="1359" /> +<TGConnectingPoint num="3" id="1360" /> <extraparam> <guard value="[ ]" /> <afterMin value="mechanicalDelay" /> <afterMax value="" /> <computeMin value="" /> <computeMax value="" /> -<filesToIncludeLine value="" /> -<codeToIncludeLine value="" /> </extraparam> </SUBCOMPONENT> -<COMPONENT type="5106" id="1312" > +<COMPONENT type="5106" id="1404" > <cdparam x="374" y="352" /> <sizeparam width="50" height="30" minWidth="40" minHeight="30" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="state0" value="main" /> -<TGConnectingPoint num="0" id="1288" /> -<TGConnectingPoint num="1" id="1289" /> -<TGConnectingPoint num="2" id="1290" /> -<TGConnectingPoint num="3" id="1291" /> -<TGConnectingPoint num="4" id="1292" /> -<TGConnectingPoint num="5" id="1293" /> -<TGConnectingPoint num="6" id="1294" /> -<TGConnectingPoint num="7" id="1295" /> -<TGConnectingPoint num="8" id="1296" /> -<TGConnectingPoint num="9" id="1297" /> -<TGConnectingPoint num="10" id="1298" /> -<TGConnectingPoint num="11" id="1299" /> -<TGConnectingPoint num="12" id="1300" /> -<TGConnectingPoint num="13" id="1301" /> -<TGConnectingPoint num="14" id="1302" /> -<TGConnectingPoint num="15" id="1303" /> -<TGConnectingPoint num="16" id="1304" /> -<TGConnectingPoint num="17" id="1305" /> -<TGConnectingPoint num="18" id="1306" /> -<TGConnectingPoint num="19" id="1307" /> -<TGConnectingPoint num="20" id="1308" /> -<TGConnectingPoint num="21" id="1309" /> -<TGConnectingPoint num="22" id="1310" /> -<TGConnectingPoint num="23" id="1311" /> +<TGConnectingPoint num="0" id="1364" /> +<TGConnectingPoint num="1" id="1365" /> +<TGConnectingPoint num="2" id="1366" /> +<TGConnectingPoint num="3" id="1367" /> +<TGConnectingPoint num="4" id="1368" /> +<TGConnectingPoint num="5" id="1369" /> +<TGConnectingPoint num="6" id="1370" /> +<TGConnectingPoint num="7" id="1371" /> +<TGConnectingPoint num="8" id="1372" /> +<TGConnectingPoint num="9" id="1373" /> +<TGConnectingPoint num="10" id="1374" /> +<TGConnectingPoint num="11" id="1375" /> +<TGConnectingPoint num="12" id="1376" /> +<TGConnectingPoint num="13" id="1377" /> +<TGConnectingPoint num="14" id="1378" /> +<TGConnectingPoint num="15" id="1379" /> +<TGConnectingPoint num="16" id="1380" /> +<TGConnectingPoint num="17" id="1381" /> +<TGConnectingPoint num="18" id="1382" /> +<TGConnectingPoint num="19" id="1383" /> +<TGConnectingPoint num="20" id="1384" /> +<TGConnectingPoint num="21" id="1385" /> +<TGConnectingPoint num="22" id="1386" /> +<TGConnectingPoint num="23" id="1387" /> +<TGConnectingPoint num="24" id="1388" /> +<TGConnectingPoint num="25" id="1389" /> +<TGConnectingPoint num="26" id="1390" /> +<TGConnectingPoint num="27" id="1391" /> +<TGConnectingPoint num="28" id="1392" /> +<TGConnectingPoint num="29" id="1393" /> +<TGConnectingPoint num="30" id="1394" /> +<TGConnectingPoint num="31" id="1395" /> +<TGConnectingPoint num="32" id="1396" /> +<TGConnectingPoint num="33" id="1397" /> +<TGConnectingPoint num="34" id="1398" /> +<TGConnectingPoint num="35" id="1399" /> +<TGConnectingPoint num="36" id="1400" /> +<TGConnectingPoint num="37" id="1401" /> +<TGConnectingPoint num="38" id="1402" /> +<TGConnectingPoint num="39" id="1403" /> </COMPONENT> -<COMPONENT type="5106" id="1337" > +<COMPONENT type="5106" id="1445" > <cdparam x="298" y="88" /> <sizeparam width="50" height="30" minWidth="40" minHeight="30" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="state0" value="main" /> -<TGConnectingPoint num="0" id="1313" /> -<TGConnectingPoint num="1" id="1314" /> -<TGConnectingPoint num="2" id="1315" /> -<TGConnectingPoint num="3" id="1316" /> -<TGConnectingPoint num="4" id="1317" /> -<TGConnectingPoint num="5" id="1318" /> -<TGConnectingPoint num="6" id="1319" /> -<TGConnectingPoint num="7" id="1320" /> -<TGConnectingPoint num="8" id="1321" /> -<TGConnectingPoint num="9" id="1322" /> -<TGConnectingPoint num="10" id="1323" /> -<TGConnectingPoint num="11" id="1324" /> -<TGConnectingPoint num="12" id="1325" /> -<TGConnectingPoint num="13" id="1326" /> -<TGConnectingPoint num="14" id="1327" /> -<TGConnectingPoint num="15" id="1328" /> -<TGConnectingPoint num="16" id="1329" /> -<TGConnectingPoint num="17" id="1330" /> -<TGConnectingPoint num="18" id="1331" /> -<TGConnectingPoint num="19" id="1332" /> -<TGConnectingPoint num="20" id="1333" /> -<TGConnectingPoint num="21" id="1334" /> -<TGConnectingPoint num="22" id="1335" /> -<TGConnectingPoint num="23" id="1336" /> +<TGConnectingPoint num="0" id="1405" /> +<TGConnectingPoint num="1" id="1406" /> +<TGConnectingPoint num="2" id="1407" /> +<TGConnectingPoint num="3" id="1408" /> +<TGConnectingPoint num="4" id="1409" /> +<TGConnectingPoint num="5" id="1410" /> +<TGConnectingPoint num="6" id="1411" /> +<TGConnectingPoint num="7" id="1412" /> +<TGConnectingPoint num="8" id="1413" /> +<TGConnectingPoint num="9" id="1414" /> +<TGConnectingPoint num="10" id="1415" /> +<TGConnectingPoint num="11" id="1416" /> +<TGConnectingPoint num="12" id="1417" /> +<TGConnectingPoint num="13" id="1418" /> +<TGConnectingPoint num="14" id="1419" /> +<TGConnectingPoint num="15" id="1420" /> +<TGConnectingPoint num="16" id="1421" /> +<TGConnectingPoint num="17" id="1422" /> +<TGConnectingPoint num="18" id="1423" /> +<TGConnectingPoint num="19" id="1424" /> +<TGConnectingPoint num="20" id="1425" /> +<TGConnectingPoint num="21" id="1426" /> +<TGConnectingPoint num="22" id="1427" /> +<TGConnectingPoint num="23" id="1428" /> +<TGConnectingPoint num="24" id="1429" /> +<TGConnectingPoint num="25" id="1430" /> +<TGConnectingPoint num="26" id="1431" /> +<TGConnectingPoint num="27" id="1432" /> +<TGConnectingPoint num="28" id="1433" /> +<TGConnectingPoint num="29" id="1434" /> +<TGConnectingPoint num="30" id="1435" /> +<TGConnectingPoint num="31" id="1436" /> +<TGConnectingPoint num="32" id="1437" /> +<TGConnectingPoint num="33" id="1438" /> +<TGConnectingPoint num="34" id="1439" /> +<TGConnectingPoint num="35" id="1440" /> +<TGConnectingPoint num="36" id="1441" /> +<TGConnectingPoint num="37" id="1442" /> +<TGConnectingPoint num="38" id="1443" /> +<TGConnectingPoint num="39" id="1444" /> </COMPONENT> -<COMPONENT type="5100" id="1339" > +<COMPONENT type="5100" id="1447" > <cdparam x="315" y="49" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="1338" /> +<TGConnectingPoint num="0" id="1446" /> </COMPONENT> -<COMPONENT type="5106" id="1377" > +<COMPONENT type="5106" id="1501" > <cdparam x="264" y="174" /> <sizeparam width="184" height="130" minWidth="40" minHeight="30" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="state0" value="state0" /> -<TGConnectingPoint num="0" id="1353" /> -<TGConnectingPoint num="1" id="1354" /> -<TGConnectingPoint num="2" id="1355" /> -<TGConnectingPoint num="3" id="1356" /> -<TGConnectingPoint num="4" id="1357" /> -<TGConnectingPoint num="5" id="1358" /> -<TGConnectingPoint num="6" id="1359" /> -<TGConnectingPoint num="7" id="1360" /> -<TGConnectingPoint num="8" id="1361" /> -<TGConnectingPoint num="9" id="1362" /> -<TGConnectingPoint num="10" id="1363" /> -<TGConnectingPoint num="11" id="1364" /> -<TGConnectingPoint num="12" id="1365" /> -<TGConnectingPoint num="13" id="1366" /> -<TGConnectingPoint num="14" id="1367" /> -<TGConnectingPoint num="15" id="1368" /> -<TGConnectingPoint num="16" id="1369" /> -<TGConnectingPoint num="17" id="1370" /> -<TGConnectingPoint num="18" id="1371" /> -<TGConnectingPoint num="19" id="1372" /> -<TGConnectingPoint num="20" id="1373" /> -<TGConnectingPoint num="21" id="1374" /> -<TGConnectingPoint num="22" id="1375" /> -<TGConnectingPoint num="23" id="1376" /> +<TGConnectingPoint num="0" id="1461" /> +<TGConnectingPoint num="1" id="1462" /> +<TGConnectingPoint num="2" id="1463" /> +<TGConnectingPoint num="3" id="1464" /> +<TGConnectingPoint num="4" id="1465" /> +<TGConnectingPoint num="5" id="1466" /> +<TGConnectingPoint num="6" id="1467" /> +<TGConnectingPoint num="7" id="1468" /> +<TGConnectingPoint num="8" id="1469" /> +<TGConnectingPoint num="9" id="1470" /> +<TGConnectingPoint num="10" id="1471" /> +<TGConnectingPoint num="11" id="1472" /> +<TGConnectingPoint num="12" id="1473" /> +<TGConnectingPoint num="13" id="1474" /> +<TGConnectingPoint num="14" id="1475" /> +<TGConnectingPoint num="15" id="1476" /> +<TGConnectingPoint num="16" id="1477" /> +<TGConnectingPoint num="17" id="1478" /> +<TGConnectingPoint num="18" id="1479" /> +<TGConnectingPoint num="19" id="1480" /> +<TGConnectingPoint num="20" id="1481" /> +<TGConnectingPoint num="21" id="1482" /> +<TGConnectingPoint num="22" id="1483" /> +<TGConnectingPoint num="23" id="1484" /> +<TGConnectingPoint num="24" id="1485" /> +<TGConnectingPoint num="25" id="1486" /> +<TGConnectingPoint num="26" id="1487" /> +<TGConnectingPoint num="27" id="1488" /> +<TGConnectingPoint num="28" id="1489" /> +<TGConnectingPoint num="29" id="1490" /> +<TGConnectingPoint num="30" id="1491" /> +<TGConnectingPoint num="31" id="1492" /> +<TGConnectingPoint num="32" id="1493" /> +<TGConnectingPoint num="33" id="1494" /> +<TGConnectingPoint num="34" id="1495" /> +<TGConnectingPoint num="35" id="1496" /> +<TGConnectingPoint num="36" id="1497" /> +<TGConnectingPoint num="37" id="1498" /> +<TGConnectingPoint num="38" id="1499" /> +<TGConnectingPoint num="39" id="1500" /> </COMPONENT> -<SUBCOMPONENT type="5103" id="1350" > -<father id="1377" num="0" /> -<cdparam x="330" y="257" /> -<sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="0" maxX="138" minY="0" maxY="110" /> -<infoparam name="Send signal" value="push()" /> -<TGConnectingPoint num="0" id="1340" /> -<TGConnectingPoint num="1" id="1341" /> -<TGConnectingPoint num="2" id="1342" /> -<TGConnectingPoint num="3" id="1343" /> -<TGConnectingPoint num="4" id="1344" /> -<TGConnectingPoint num="5" id="1345" /> -<TGConnectingPoint num="6" id="1346" /> -<TGConnectingPoint num="7" id="1347" /> -<TGConnectingPoint num="8" id="1348" /> -<TGConnectingPoint num="9" id="1349" /> -</SUBCOMPONENT> -<SUBCOMPONENT type="5100" id="1352" > -<father id="1377" num="1" /> +<SUBCOMPONENT type="5100" id="1449" > +<father id="1501" num="0" /> <cdparam x="333" y="213" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="0" maxX="169" minY="0" maxY="115" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="1351" /> +<TGConnectingPoint num="0" id="1448" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="5103" id="1460" > +<father id="1501" num="1" /> +<cdparam x="330" y="257" /> +<sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="138" minY="0" maxY="110" /> +<infoparam name="Send signal" value="push()" /> +<TGConnectingPoint num="0" id="1450" /> +<TGConnectingPoint num="1" id="1451" /> +<TGConnectingPoint num="2" id="1452" /> +<TGConnectingPoint num="3" id="1453" /> +<TGConnectingPoint num="4" id="1454" /> +<TGConnectingPoint num="5" id="1455" /> +<TGConnectingPoint num="6" id="1456" /> +<TGConnectingPoint num="7" id="1457" /> +<TGConnectingPoint num="8" id="1458" /> +<TGConnectingPoint num="9" id="1459" /> </SUBCOMPONENT> </AVATARStateMachineDiagramPanel> -</Modeling> - - - - -<Modeling type="AVATAR Design" nameTab="AVATAR Design" > -<AVATARBlockDiagramPanel name="AVATAR Block Diagram" minX="10" maxX="1400" minY="10" maxY="900" > -<CONNECTOR type="5002" id="1433" > -<cdparam x="509" y="208" /> +<AVATARStateMachineDiagramPanel name="TeaButton" minX="10" maxX="1400" minY="10" maxY="900" > +<CONNECTOR type="5102" id="1508" > +<cdparam x="363" y="193" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from Block0 to Block0" value="" /> -<TGConnectingPoint num="0" id="1434" /> -<P1 x="509" y="208" id="1384" /> -<P2 x="674" y="222" id="1410" /> +<infoparam name="connector from Send signal to state0" value="null" /> +<TGConnectingPoint num="0" id="1507" /> +<P1 x="363" y="204" id="1524" /> +<P2 x="362" y="257" id="1535" /> <AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1506" > +<father id="1508" num="0" /> +<cdparam x="368" y="210" /> +<sizeparam width="135" height="16" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1502" /> +<TGConnectingPoint num="1" id="1503" /> +<TGConnectingPoint num="2" id="1504" /> +<TGConnectingPoint num="3" id="1505" /> <extraparam> -<FIFOType asynchronous="true" size="1" blocking="false" private="true" broadcast="false" /> +<guard value="[ ]" /> +<afterMin value="mechanicalDelay" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> </extraparam> -</CONNECTOR> -<COMPONENT type="5000" id="1406" > -<cdparam x="674" y="122" /> -<sizeparam width="250" height="200" minWidth="5" minHeight="2" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +</SUBCOMPONENT> + +<CONNECTOR type="5102" id="1515" > +<cdparam x="363" y="150" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector from state0 to Send signal" value="null" /> +<TGConnectingPoint num="0" id="1514" /> +<P1 x="363" y="150" id="1581" /> +<P2 x="363" y="174" id="1523" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1513" > +<father id="1515" num="0" /> +<cdparam x="363" y="190" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="Block0" value="T1" /> -<TGConnectingPoint num="0" id="1407" /> -<TGConnectingPoint num="1" id="1408" /> -<TGConnectingPoint num="2" id="1409" /> -<TGConnectingPoint num="3" id="1410" /> -<TGConnectingPoint num="4" id="1411" /> -<TGConnectingPoint num="5" id="1412" /> -<TGConnectingPoint num="6" id="1413" /> -<TGConnectingPoint num="7" id="1414" /> -<TGConnectingPoint num="8" id="1415" /> -<TGConnectingPoint num="9" id="1416" /> -<TGConnectingPoint num="10" id="1417" /> -<TGConnectingPoint num="11" id="1418" /> -<TGConnectingPoint num="12" id="1419" /> -<TGConnectingPoint num="13" id="1420" /> -<TGConnectingPoint num="14" id="1421" /> -<TGConnectingPoint num="15" id="1422" /> -<TGConnectingPoint num="16" id="1423" /> -<TGConnectingPoint num="17" id="1424" /> -<TGConnectingPoint num="18" id="1425" /> -<TGConnectingPoint num="19" id="1426" /> -<TGConnectingPoint num="20" id="1427" /> -<TGConnectingPoint num="21" id="1428" /> -<TGConnectingPoint num="22" id="1429" /> -<TGConnectingPoint num="23" id="1430" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1509" /> +<TGConnectingPoint num="1" id="1510" /> +<TGConnectingPoint num="2" id="1511" /> +<TGConnectingPoint num="3" id="1512" /> <extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> </extraparam> -</COMPONENT> +</SUBCOMPONENT> -<COMPONENT type="5000" id="1379" > -<cdparam x="259" y="108" /> -<sizeparam width="250" height="200" minWidth="5" minHeight="2" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<CONNECTOR type="5102" id="1522" > +<cdparam x="362" y="101" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector from start state to state0" value="null" /> +<TGConnectingPoint num="0" id="1521" /> +<P1 x="362" y="101" id="1616" /> +<P2 x="363" y="120" id="1576" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1520" > +<father id="1522" num="0" /> +<cdparam x="362" y="141" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="Block0" value="T0" /> -<TGConnectingPoint num="0" id="1380" /> -<TGConnectingPoint num="1" id="1381" /> -<TGConnectingPoint num="2" id="1382" /> -<TGConnectingPoint num="3" id="1383" /> -<TGConnectingPoint num="4" id="1384" /> -<TGConnectingPoint num="5" id="1385" /> -<TGConnectingPoint num="6" id="1386" /> -<TGConnectingPoint num="7" id="1387" /> -<TGConnectingPoint num="8" id="1388" /> -<TGConnectingPoint num="9" id="1389" /> -<TGConnectingPoint num="10" id="1390" /> -<TGConnectingPoint num="11" id="1391" /> -<TGConnectingPoint num="12" id="1392" /> -<TGConnectingPoint num="13" id="1393" /> -<TGConnectingPoint num="14" id="1394" /> -<TGConnectingPoint num="15" id="1395" /> -<TGConnectingPoint num="16" id="1396" /> -<TGConnectingPoint num="17" id="1397" /> -<TGConnectingPoint num="18" id="1398" /> -<TGConnectingPoint num="19" id="1399" /> -<TGConnectingPoint num="20" id="1400" /> -<TGConnectingPoint num="21" id="1401" /> -<TGConnectingPoint num="22" id="1402" /> -<TGConnectingPoint num="23" id="1403" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> +<TGConnectingPoint num="0" id="1516" /> +<TGConnectingPoint num="1" id="1517" /> +<TGConnectingPoint num="2" id="1518" /> +<TGConnectingPoint num="3" id="1519" /> <extraparam> +<guard value="[ ]" /> +<afterMin value="" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> </extraparam> -</COMPONENT> - - -</AVATARBlockDiagramPanel> +</SUBCOMPONENT> -<AVATARStateMachineDiagramPanel name="T0" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="5100" id="1404" > -<cdparam x="400" y="50" /> -<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="5103" id="1533" > +<cdparam x="340" y="179" /> +<sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="1405" /> +<infoparam name="Send signal" value="push()" /> +<TGConnectingPoint num="0" id="1523" /> +<TGConnectingPoint num="1" id="1524" /> +<TGConnectingPoint num="2" id="1525" /> +<TGConnectingPoint num="3" id="1526" /> +<TGConnectingPoint num="4" id="1527" /> +<TGConnectingPoint num="5" id="1528" /> +<TGConnectingPoint num="6" id="1529" /> +<TGConnectingPoint num="7" id="1530" /> +<TGConnectingPoint num="8" id="1531" /> +<TGConnectingPoint num="9" id="1532" /> </COMPONENT> +<COMPONENT type="5106" id="1574" > +<cdparam x="337" y="257" /> +<sizeparam width="50" height="30" minWidth="40" minHeight="30" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> +<infoparam name="state0" value="main" /> +<TGConnectingPoint num="0" id="1534" /> +<TGConnectingPoint num="1" id="1535" /> +<TGConnectingPoint num="2" id="1536" /> +<TGConnectingPoint num="3" id="1537" /> +<TGConnectingPoint num="4" id="1538" /> +<TGConnectingPoint num="5" id="1539" /> +<TGConnectingPoint num="6" id="1540" /> +<TGConnectingPoint num="7" id="1541" /> +<TGConnectingPoint num="8" id="1542" /> +<TGConnectingPoint num="9" id="1543" /> +<TGConnectingPoint num="10" id="1544" /> +<TGConnectingPoint num="11" id="1545" /> +<TGConnectingPoint num="12" id="1546" /> +<TGConnectingPoint num="13" id="1547" /> +<TGConnectingPoint num="14" id="1548" /> +<TGConnectingPoint num="15" id="1549" /> +<TGConnectingPoint num="16" id="1550" /> +<TGConnectingPoint num="17" id="1551" /> +<TGConnectingPoint num="18" id="1552" /> +<TGConnectingPoint num="19" id="1553" /> +<TGConnectingPoint num="20" id="1554" /> +<TGConnectingPoint num="21" id="1555" /> +<TGConnectingPoint num="22" id="1556" /> +<TGConnectingPoint num="23" id="1557" /> +<TGConnectingPoint num="24" id="1558" /> +<TGConnectingPoint num="25" id="1559" /> +<TGConnectingPoint num="26" id="1560" /> +<TGConnectingPoint num="27" id="1561" /> +<TGConnectingPoint num="28" id="1562" /> +<TGConnectingPoint num="29" id="1563" /> +<TGConnectingPoint num="30" id="1564" /> +<TGConnectingPoint num="31" id="1565" /> +<TGConnectingPoint num="32" id="1566" /> +<TGConnectingPoint num="33" id="1567" /> +<TGConnectingPoint num="34" id="1568" /> +<TGConnectingPoint num="35" id="1569" /> +<TGConnectingPoint num="36" id="1570" /> +<TGConnectingPoint num="37" id="1571" /> +<TGConnectingPoint num="38" id="1572" /> +<TGConnectingPoint num="39" id="1573" /> +</COMPONENT> -</AVATARStateMachineDiagramPanel> +<COMPONENT type="5106" id="1615" > +<cdparam x="338" y="120" /> +<sizeparam width="50" height="30" minWidth="40" minHeight="30" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> +<infoparam name="state0" value="main" /> +<TGConnectingPoint num="0" id="1575" /> +<TGConnectingPoint num="1" id="1576" /> +<TGConnectingPoint num="2" id="1577" /> +<TGConnectingPoint num="3" id="1578" /> +<TGConnectingPoint num="4" id="1579" /> +<TGConnectingPoint num="5" id="1580" /> +<TGConnectingPoint num="6" id="1581" /> +<TGConnectingPoint num="7" id="1582" /> +<TGConnectingPoint num="8" id="1583" /> +<TGConnectingPoint num="9" id="1584" /> +<TGConnectingPoint num="10" id="1585" /> +<TGConnectingPoint num="11" id="1586" /> +<TGConnectingPoint num="12" id="1587" /> +<TGConnectingPoint num="13" id="1588" /> +<TGConnectingPoint num="14" id="1589" /> +<TGConnectingPoint num="15" id="1590" /> +<TGConnectingPoint num="16" id="1591" /> +<TGConnectingPoint num="17" id="1592" /> +<TGConnectingPoint num="18" id="1593" /> +<TGConnectingPoint num="19" id="1594" /> +<TGConnectingPoint num="20" id="1595" /> +<TGConnectingPoint num="21" id="1596" /> +<TGConnectingPoint num="22" id="1597" /> +<TGConnectingPoint num="23" id="1598" /> +<TGConnectingPoint num="24" id="1599" /> +<TGConnectingPoint num="25" id="1600" /> +<TGConnectingPoint num="26" id="1601" /> +<TGConnectingPoint num="27" id="1602" /> +<TGConnectingPoint num="28" id="1603" /> +<TGConnectingPoint num="29" id="1604" /> +<TGConnectingPoint num="30" id="1605" /> +<TGConnectingPoint num="31" id="1606" /> +<TGConnectingPoint num="32" id="1607" /> +<TGConnectingPoint num="33" id="1608" /> +<TGConnectingPoint num="34" id="1609" /> +<TGConnectingPoint num="35" id="1610" /> +<TGConnectingPoint num="36" id="1611" /> +<TGConnectingPoint num="37" id="1612" /> +<TGConnectingPoint num="38" id="1613" /> +<TGConnectingPoint num="39" id="1614" /> +</COMPONENT> -<AVATARStateMachineDiagramPanel name="T1" minX="10" maxX="1400" minY="10" maxY="900" > -<COMPONENT type="5100" id="1431" > -<cdparam x="400" y="50" /> +<COMPONENT type="5100" id="1617" > +<cdparam x="355" y="81" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="1432" /> +<TGConnectingPoint num="0" id="1616" /> </COMPONENT> diff --git a/src/avatartranslator/totpn/AVATAR2TPN.java b/src/avatartranslator/totpn/AVATAR2TPN.java index 76a144e8d758f32ff71b0d18e29c8160bf7e9e8a..cd612f2ec206d19a1eddda43adde4c255ade90a6 100755 --- a/src/avatartranslator/totpn/AVATAR2TPN.java +++ b/src/avatartranslator/totpn/AVATAR2TPN.java @@ -100,7 +100,7 @@ public class AVATAR2TPN { makeBlocks(); - TraceManager.addDev("-> tpn:" + tpn.toString()); + //TraceManager.addDev("-> tpn:" + tpn.toString()); /*if (_optimize) { @@ -162,7 +162,7 @@ public class AVATAR2TPN { pexit = pentry; entryPlaces.put(_asme, pentry); exitPlaces.put(_asme, pexit); - TraceManager.addDev("Adding place : " + pentry); + //TraceManager.addDev("Adding place : " + pentry); tpn.addPlace(pentry); link = true; @@ -189,7 +189,7 @@ public class AVATAR2TPN { exitPlaces.put(_asme, pexit); tpn.addPlace(pexit); - TraceManager.addDev("Adding place : " + pentry); + //TraceManager.addDev("Adding place : " + pentry); } else { TraceManager.addDev("UNMANAGED ELEMENTS: " +_asme); @@ -213,12 +213,55 @@ public class AVATAR2TPN { } + public void interconnectSynchro() { + int index; + AvatarSignal sig; + Transition t0, t1; + Place pSynchro; + + //TraceManager.addDev("Interconnecting synchro"); + + // Interconnect sender and receivers together! + for(AvatarActionOnSignal destination: receiveActions) { + // Find the related relation + for(AvatarRelation ar: avspec.getRelations()) { + if (ar.containsSignal(destination.getSignal()) && !ar.isAsynchronous()) { + index = ar.getIndexOfSignal(destination.getSignal()); + sig = ar.getOutSignal(index); + for(AvatarActionOnSignal origin:sendActions) { + if (origin.getSignal() == sig) { + // combination found! + //TraceManager.addDev("Combination found"); + t0 = new Transition("beginning Synchro from " + getTPNName(ar.getOutBlock(index), origin) + " to " + getTPNName(ar.getInBlock(index), destination)); + pSynchro = new Place("Synchro from " + getTPNName(ar.getOutBlock(index), origin) + " to " + getTPNName(ar.getInBlock(index), destination)); + tpn.addPlace(pSynchro); + t1 = new Transition("end Synchro from " + getTPNName(ar.getOutBlock(index), origin) + " to " + getTPNName(ar.getInBlock(index), destination)); + + t0.addOriginPlace(entryPlaces.get(destination)); + t0.addOriginPlace(entryPlaces.get(origin)); + t0.addDestinationPlace(pSynchro); + + t1.addOriginPlace(pSynchro); + t1.addDestinationPlace(exitPlaces.get(origin)); + t1.addDestinationPlace(exitPlaces.get(destination)); + + tpn.addTransition(t0); + tpn.addTransition(t1); + + } + } + } + } + } + + } + /* Old version public void interconnectSynchro() { int index; AvatarSignal sig; Transition t0; - TraceManager.addDev("Interconnecting synchro"); + //TraceManager.addDev("Interconnecting synchro"); // Interconnect sender and receivers together! for(AvatarActionOnSignal destination: receiveActions) { @@ -230,7 +273,7 @@ public class AVATAR2TPN { for(AvatarActionOnSignal origin:sendActions) { if (origin.getSignal() == sig) { // combination found! - TraceManager.addDev("Combination found"); + //TraceManager.addDev("Combination found"); t0 = new Transition("Synchro from " + getShortTPNName(origin) + " to " + getShortTPNName(destination)); t0.addOriginPlace(entryPlaces.get(origin)); t0.addDestinationPlace(exitPlaces.get(origin)); @@ -243,7 +286,7 @@ public class AVATAR2TPN { } } - } + }*/ public String getTPNName(AvatarBlock _block, AvatarStateMachineElement _asme) { return _block.getName() + "__" + _asme.getName() + "__" + _asme.getID(); diff --git a/src/myutil/IntMatrix.java b/src/myutil/IntMatrix.java index 2ef5b39abc1d71a2a5bb61a23d72930cdaa48774..534981cc30de1acebc94965a0a1016c4a68d402e 100755 --- a/src/myutil/IntMatrix.java +++ b/src/myutil/IntMatrix.java @@ -291,7 +291,7 @@ public class IntMatrix { IntMatrix idMat = new IntMatrix(sizeRow, sizeRow); idMat.makeID(); concatAfter(idMat); - System.out.println("matconcat=\n" + toString() + "\n\n"); + //System.out.println("matconcat=\n" + toString() + "\n\n"); int[] lined1, lined2, lined; int gcd; int l, i; @@ -363,7 +363,7 @@ public class IntMatrix { } } - System.out.println("----------------\nD"+ (j+1) +"=\n" + toString() + "\n\n"); + //System.out.println("----------------\nD"+ (j+1) +"=\n" + toString() + "\n\n"); } diff --git a/src/ui/ColorManager.java b/src/ui/ColorManager.java index 01924ce8124bde2f1b7b737aa4dcd3be47e56f59..cb577dee36ecd3c2888e360db125c2285dc1855b 100755 --- a/src/ui/ColorManager.java +++ b/src/ui/ColorManager.java @@ -102,28 +102,28 @@ public class ColorManager { public static final Color FOR = new Color(199, 243, 105); public static final Color EXEC = new Color(199, 243, 105); - - public static final Color REQ_ATTRIBUTE_BOX = new Color(179, 249, 179); + public static Color REQ_TOP_BOX = Color.yellow; + public static Color REQ_ATTRIBUTE_BOX = new Color(179, 249, 179); public static final Color LOSSY = new Color(139, 139, 139); //public static final Color REQ_ATTRIBUTE_BOX = new Color(190, 229, 158); - public static final Color OBS_ATTRIBUTE_BOX = new Color(225, 247, 225); + public static Color OBS_ATTRIBUTE_BOX = new Color(225, 247, 225); - public static final Color CPU_BOX_1 = new Color(198, 235, 249); - public static final Color CPU_BOX_2 = new Color(198, 227, 249); + public static Color CPU_BOX_1 = new Color(198, 235, 249); + public static Color CPU_BOX_2 = new Color(198, 227, 249); //public static final Color BUS_BOX = new Color(255, 207, 114); - public static final Color BUS_BOX = new Color(215, 188, 128); - public static final Color BRIDGE_BOX = new Color(215, 166, 72); - public static final Color MEMORY_BOX = new Color(172, 234, 211); - public static final Color DMA_BOX = new Color(172, 234, 211); - public static final Color HWA_BOX = new Color(144, 201, 211); + public static Color BUS_BOX = new Color(215, 188, 128); + public static Color BRIDGE_BOX = new Color(215, 166, 72); + public static Color MEMORY_BOX = new Color(172, 234, 211); + public static Color DMA_BOX = new Color(172, 234, 211); + public static Color HWA_BOX = new Color(144, 201, 211); - public static final Color TML_COMPOSITE_COMPONENT = new Color(239, 212, 176, 125); + public static Color TML_COMPOSITE_COMPONENT = new Color(239, 212, 176, 125); - public static final Color TML_PORT_CHANNEL = new Color(104, 229, 255); - public static final Color TML_PORT_EVENT = new Color(216, 187, 249); - public static final Color TML_PORT_REQUEST = new Color(196, 166, 122); + public static Color TML_PORT_CHANNEL = new Color(104, 229, 255); + public static Color TML_PORT_EVENT = new Color(216, 187, 249); + public static Color TML_PORT_REQUEST = new Color(196, 166, 122); public static final Color UML_NOTE = Color.lightGray; @@ -239,6 +239,21 @@ public class ColorManager { AVATARPD_ALIAS = Color.white; AVATARPD_ATTRIBUTE_SETTING = Color.white; AVATARPD_BOOLEQ = Color.white; + REQ_ATTRIBUTE_BOX = Color.white; + REQ_TOP_BOX = Color.white; + OBS_ATTRIBUTE_BOX = Color.white; + TML_COMPOSITE_COMPONENT = Color.white; + TML_PORT_CHANNEL = Color.white; + TML_PORT_EVENT = Color.white; + TML_PORT_REQUEST = Color.white; + CPU_BOX_1 = Color.white; + CPU_BOX_2 = Color.white; + BUS_BOX = Color.white; + BRIDGE_BOX = Color.white; + MEMORY_BOX = Color.white; + DMA_BOX = Color.white; + HWA_BOX = Color.white; + } } // Class Color diff --git a/src/ui/IconManager.java b/src/ui/IconManager.java index 4865a34687b5c4c39dfc81f15032760ac2431a04..49e4cf00e1ad4ad13b2e2b1ee694a83a04a4a5e1 100755 --- a/src/ui/IconManager.java +++ b/src/ui/IconManager.java @@ -75,7 +75,7 @@ public class IconManager { public static ImageIcon imgic60, imgic61, imgic62, imgic63, imgic64, imgic65, imgic66; public static ImageIcon imgic70, imgic71, imgic72, imgic73, imgic75, imgic76, imgic77; public static ImageIcon imgic80, imgic82, imgic84, imgic86, imgic88; - public static ImageIcon imgic90, imgic92, imgic94; + public static ImageIcon imgic90, imgic92, imgic94, imgic96; // Class diagram public static ImageIcon imgic100, imgic101, imgic102, imgic104, imgic106, imgic108; @@ -147,6 +147,7 @@ public class IconManager { public static ImageIcon imgic5050, imgic5052, imgic5054, imgic5056; public static ImageIcon imgic5100, imgic5102, imgic5104, imgic5106, imgic5108; + public static ImageIcon imgic5110, imgic5112; // Delegate ports image removed, by Solange //public static ImageIcon imgic2102; @@ -249,6 +250,7 @@ public class IconManager { private static String icon90 = "images/genlotos.gif"; private static String icon92 = "images/genuppaal.gif"; private static String icon94 = "images/avatarcodegeneration.gif"; + private static String icon96 = "images/avatarfvinvariant.png"; private static String icon100 = "images/toolbarButtonGraphics/general/Properties16.gif"; private static String icon101 = "images/toolbarButtonGraphics/general/Properties24.gif"; @@ -541,6 +543,8 @@ public class IconManager { private static String icon5106 = "images/attribute.gif"; private static String icon5108 = "images/method.gif"; + private static String icon5110 = "images/invariant.gif"; + private static String icon5112 = "images/invariantbig.gif"; public IconManager() { @@ -663,6 +667,7 @@ public class IconManager { imgic90 = getIcon(icon90); imgic92 = getIcon(icon92); imgic94 = getIcon(icon94); + imgic96 = getIcon(icon96); imgic100 = getIcon(icon100); imgic101 = getIcon(icon101); @@ -911,6 +916,9 @@ public class IconManager { if (imgic5102 != null) { img5102 = imgic5102.getImage(); } + + imgic5110 = getIcon(icon5110); + imgic5112 = getIcon(icon5112); } } // Class diff --git a/src/ui/Invariant.java b/src/ui/Invariant.java index 467fbd9c895a3e20f47c35b775a2e56f7aa92e38..deeb426da05054a6739c83d2ef5056e27340b038 100755 --- a/src/ui/Invariant.java +++ b/src/ui/Invariant.java @@ -57,10 +57,12 @@ public class Invariant implements GenericTree { private int tokenValue; // Invariant on a given nb of tokens; private int value; // value on the incidence matrix after computation of the invariant private LinkedList<TGComponent> components; + private LinkedList<InvariantSynchro> synchros; public Invariant(String _name) { name = _name; components = new LinkedList<TGComponent>(); + synchros = new LinkedList<InvariantSynchro>(); } public void setTokenValue(int _value) { @@ -72,6 +74,25 @@ public class Invariant implements GenericTree { value = _value; } + public int getTokenValue() { + return tokenValue; + } + + public int getValue() { + return value; + } + + public void addSynchro(InvariantSynchro _synchro) { + // Look for similar synchro + for(InvariantSynchro is: synchros) { + if ((is.getFrom() == _synchro.getFrom()) && (is.getTo() == _synchro.getTo())) { + return; + } + } + + synchros.add(_synchro); + } + public void addComponent(TGComponent _tgc) { if (_tgc == null) { TraceManager.addDev("NULL Component added to invariant -> IGNORING"); @@ -89,13 +110,17 @@ public class Invariant implements GenericTree { components.add(_tgc); } + public void computeValue() { + value = components.size() + synchros.size(); + } + public String toString() { return "(" + value + ") " + name; } public int getChildCount() { - return 2 + components.size(); + return 2 + synchros.size() + components.size(); } public Object getChild(int index) { @@ -108,6 +133,12 @@ public class Invariant implements GenericTree { } + if (index-2 < synchros.size()) { + return synchros.get(index-2); + } + + index -= synchros.size(); + TGComponent tgc = components.get(index-2); //TraceManager.addDev("Getting at index #" + (index-2) + " = " + tgc); @@ -125,9 +156,22 @@ public class Invariant implements GenericTree { return 1; } - return components.indexOf(child)+2; + if (child instanceof InvariantSynchro) { + return synchros.indexOf(child)+2; + } + return components.indexOf(child)+2+synchros.size(); } + + public boolean containsComponent(TGComponent tgc) { + for(InvariantSynchro is: synchros) { + if (is.containsComponent(tgc)) { + return true; + } + } + return components.contains(tgc); + } + } diff --git a/src/ui/InvariantSynchro.java b/src/ui/InvariantSynchro.java new file mode 100755 index 0000000000000000000000000000000000000000..e7813b18727d0cb32150a4434c305c035406aafc --- /dev/null +++ b/src/ui/InvariantSynchro.java @@ -0,0 +1,113 @@ +/**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. + +/** + * Class InvariantSynchro implements GenericTree + * InvariantSynchro is a synchro inside of a invanriant + * Creation: 29/03/2012 + * @version 1.0 29/03/2012 + * @author Ludovic APVRILLE + * @see TGComponent + */ + +package ui; + +import myutil.*; + +import java.util.*; + + +public class InvariantSynchro implements GenericTree { + + private TGComponent from; + private TGComponent to; + private String name; + + public InvariantSynchro(String _name, TGComponent _from, TGComponent _to) { + from = _from; + to = _to; + name = _name; + } + + + + public String toString() { + return name; + } + + public String getName() { + return name; + } + + public TGComponent getFrom() { + return from; + } + + public TGComponent getTo() { + return to; + } + + public int getChildCount() { + return 2; + } + + public Object getChild(int index) { + if (index == 0) { + return from; + } + + return to; + } + + public int getIndexOfChild(Object child) { + if (child == from) { + return 0; + } + return 1; + } + + public boolean containsComponent(TGComponent tgc) { + return (from == tgc) || (to == tgc); + } +} + + + + + + + diff --git a/src/ui/MainGUI.java b/src/ui/MainGUI.java index c452c7e0fa908c97ae08b52f698b1fea0b203b66..d0461fd281ae76b6b46424dee45256f303462913 100755 --- a/src/ui/MainGUI.java +++ b/src/ui/MainGUI.java @@ -268,6 +268,9 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener { private ArrayList<LoadInfo> loadIDs; private JFrameInteractiveSimulation jfis; private JFrameAvatarInteractiveSimulation jfais; + + // Invariants + Invariant currentInvariant; public MainGUI(boolean _systemcOn, boolean _lotosOn, boolean _proactiveOn, boolean _tpnOn, boolean _osOn, boolean _uppaalOn, boolean _ncOn, boolean _avatarOn, boolean _proverifOn) { systemcOn = _systemcOn; @@ -279,7 +282,11 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener { ncOn = _ncOn; avatarOn = _avatarOn; proverifOn = _proverifOn; - } + + currentInvariant = null; + } + + public boolean isAvatarOn() { return avatarOn; @@ -811,6 +818,17 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener { } + public void setCurrentInvariant(Invariant inv) { + currentInvariant = inv; + } + + public Invariant getCurrentInvariant() { + return currentInvariant; + } + + + + private int addAnalysisPanel(String name, int index) { if (index == -1) { index = tabs.size(); diff --git a/src/ui/PartOfHighInvariant.java b/src/ui/PartOfHighInvariant.java new file mode 100755 index 0000000000000000000000000000000000000000..dc049588f665dca03f63a1f2bdb4020b12f56b47 --- /dev/null +++ b/src/ui/PartOfHighInvariant.java @@ -0,0 +1,54 @@ +/**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. + +/** + * Class PartOfHighInvariant + * Components thatcan be part of invariants + * Creation: 28/04/2012 + * @version 1.0 28/04/2012 + * @author Ludovic APVRILLE + * @see + */ + + +package ui; + +import java.awt.*; + +public interface PartOfHighInvariant { + public void drawInvariantInformation(Graphics g); +} \ No newline at end of file diff --git a/src/ui/PartOfInvariant.java b/src/ui/PartOfInvariant.java new file mode 100755 index 0000000000000000000000000000000000000000..3b76756a0c69f524559add777bb3eb9c2bcbafaa --- /dev/null +++ b/src/ui/PartOfInvariant.java @@ -0,0 +1,54 @@ +/**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. + +/** + * Class PartOfInvariant + * Components thatcan be part of invariants + * Creation: 28/04/2012 + * @version 1.0 28/04/2012 + * @author Ludovic APVRILLE + * @see + */ + + +package ui; + +import java.awt.*; + +public interface PartOfInvariant { + public void drawInvariantInformation(Graphics g); +} \ No newline at end of file diff --git a/src/ui/TDiagramPanel.java b/src/ui/TDiagramPanel.java index 770895157553719fcccbecf228fade36caaea5a4..b2a763dbef15046c665152aff53c568fba45cba6 100755 --- a/src/ui/TDiagramPanel.java +++ b/src/ui/TDiagramPanel.java @@ -207,6 +207,8 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { // AVATAR ID -> for simulation purpose public static boolean AVATAR_ID_ON; public static boolean AVATAR_ANIMATE_ON; + + // Constructor public TDiagramPanel(MainGUI _mgui, TToolBar _ttb) { @@ -220,6 +222,8 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { ttb = _ttb; mode = NORMAL; + + buildPopupMenus(); } @@ -296,6 +300,8 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { public void removeAll() { componentList = new LinkedList(); } + + public void setInternalCommentVisible(int mode) { internalCommentVisible = mode; @@ -647,6 +653,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { boolean pointedElementFound = false; byte info = 0; + TGComponent tmp = componentPointed; componentPointed = null; Iterator iterator = componentList.listIterator(); @@ -683,6 +690,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { highlightComponent(-1, -1); + if (tgc.getState() == TGState.NORMAL) { if (tgc.getTopFather() == tgc) { tgc.setSelectedInternalTGComponent(null); @@ -695,6 +703,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { } } + public TGComponent componentPointed() { return componentPointed; } diff --git a/src/ui/TGCNote.java b/src/ui/TGCNote.java index c065d069eb55bbafdf29c8c177e76598fa2599e3..a83927240869ff7a13853490d0c68f18bd4a41dd 100755 --- a/src/ui/TGCNote.java +++ b/src/ui/TGCNote.java @@ -110,8 +110,8 @@ public class TGCNote extends TGCWithoutInternalComponent { g.drawLine(x+width, y, x+width, y+height - limit); g.setColor(ColorManager.UML_NOTE_BG); - int [] px1 = {x, x+width, x + width, x + width-limit, x}; - int [] py1 = {y, y, y+height-limit, y+height, y+height}; + int [] px1 = {x+1, x+width, x + width, x + width-limit, x+1}; + int [] py1 = {y+1, y+1, y+height-limit, y+height, y+height}; g.fillPolygon(px1, py1, 5); g.setColor(c); diff --git a/src/ui/TGComponent.java b/src/ui/TGComponent.java index cc607416329e2cd028bc8cec0124bca4faed7fe4..e796e61a5a3f82b7f9de752b8cf710dc5f2527dc 100755 --- a/src/ui/TGComponent.java +++ b/src/ui/TGComponent.java @@ -845,7 +845,26 @@ public abstract class TGComponent implements CDElement, GenericTree { } } } + + if (this instanceof PartOfInvariant) { + drawInvariantInformation(g); + + } + } + + public void drawInvariantInformation(Graphics g) { + Invariant inv = tdp.getMGUI().getCurrentInvariant(); + if (inv != null) { + if (inv.containsComponent(this)) { + g.setColor(ColorManager.ACCESSIBILITY); + if (this instanceof PartOfHighInvariant) { + g.drawString("inv", x+width+2, y+(height/2)); + } else { + g.drawString("inv", x+width+2, y+height); + } + } + } } public void drawWithAttributes(Graphics g) { diff --git a/src/ui/TGUIAction.java b/src/ui/TGUIAction.java index d7b62c3e6db69e3c00529ac28cdc2f94e820d898..92956230132c494d750dbe446212d75af05362f3 100755 --- a/src/ui/TGUIAction.java +++ b/src/ui/TGUIAction.java @@ -618,7 +618,7 @@ public class TGUIAction extends AbstractAction { actions[ACT_AVATAR_SIM] = new TAction("avatar-simu", "Interactive simulation", IconManager.imgic18, IconManager.imgic18, "Interactive simulation", "Interactive simulation of the AVATAR design under edition", '0'); actions[ACT_AVATAR_FV_UPPAAL] = new TAction("avatar-formal-verification-uppaal", "Formal verification with UPPAAL (Safety)", IconManager.imgic86, IconManager.imgic86, "Formal verification with UPPAAL (Safety)", "Formal verification with UPPAAL (Safety) of the AVATAR design under edition", '0'); actions[ACT_AVATAR_FV_PROVERIF] = new TAction("avatar-formal-verification-proverif", "Formal verification with ProVerif (Security)", IconManager.imgic88, IconManager.imgic88, "Formal verification with ProVerif (Security)", "Formal verification with ProVerif (Security) of the AVATAR design under edition", '0'); - actions[ACT_AVATAR_FV_STATICANALYSIS] = new TAction("avatar-formal-verification-staticanalysis", "Static analysis (invariants)", IconManager.imgic88, IconManager.imgic88, "Static analysis (Invariant)", "Static analysis (invariants) of the AVATAR design under edition", '0'); + actions[ACT_AVATAR_FV_STATICANALYSIS] = new TAction("avatar-formal-verification-staticanalysis", "Static analysis (invariants)", IconManager.imgic96, IconManager.imgic96, "Static analysis (Invariant)", "Static analysis (invariants) of the AVATAR design under edition", '0'); actions[ACT_AVATAR_EXECUTABLE_GENERATION] = new TAction("avatar-executable-generation", "Generation of executable code", IconManager.imgic94, IconManager.imgic94, "Generation of executable code", "Generation of executable code from AVATAR design under edition", '0'); diff --git a/src/ui/avatarsmd/AvatarSMDChoice.java b/src/ui/avatarsmd/AvatarSMDChoice.java index b0a3e39c4906701a35921481584c19037f2f8b53..6a25ce126f8bdb33f5ee4efd58d61b09309ede39 100755 --- a/src/ui/avatarsmd/AvatarSMDChoice.java +++ b/src/ui/avatarsmd/AvatarSMDChoice.java @@ -53,7 +53,7 @@ import java.awt.geom.*; import myutil.*; import ui.*; -public class AvatarSMDChoice extends AvatarSMDBasicComponent implements EmbeddedComment, BasicErrorHighlight { +public class AvatarSMDChoice extends AvatarSMDBasicComponent implements EmbeddedComment, BasicErrorHighlight, PartOfInvariant { private int lineLength = 10; private int lineOutLength = 10; private int textX1, textY1, textX2, textY2, textX3, textY3; diff --git a/src/ui/avatarsmd/AvatarSMDExpireTimer.java b/src/ui/avatarsmd/AvatarSMDExpireTimer.java index ee319a2c94f3f45068bf4f6a9088dfae3464c8c5..943db7a5d3377a88d7b3da5d11f6a8c4d4b59163 100644 --- a/src/ui/avatarsmd/AvatarSMDExpireTimer.java +++ b/src/ui/avatarsmd/AvatarSMDExpireTimer.java @@ -58,7 +58,7 @@ import myutil.*; import ui.*; import ui.window.*; -public class AvatarSMDExpireTimer extends AvatarSMDBasicComponent implements BasicErrorHighlight { +public class AvatarSMDExpireTimer extends AvatarSMDBasicComponent implements BasicErrorHighlight, PartOfInvariant { protected int lineLength = 5; protected int textX = 5; protected int textY = 15; diff --git a/src/ui/avatarsmd/AvatarSMDReceiveSignal.java b/src/ui/avatarsmd/AvatarSMDReceiveSignal.java index d82a887b88aa1b2afb0b8a8a9db86beb538d45aa..6a2aab86b4922a7ed363097004cab383f4fd932b 100644 --- a/src/ui/avatarsmd/AvatarSMDReceiveSignal.java +++ b/src/ui/avatarsmd/AvatarSMDReceiveSignal.java @@ -57,7 +57,7 @@ import myutil.*; import ui.*; import ui.window.*; -public class AvatarSMDReceiveSignal extends AvatarSMDBasicComponent implements CheckableAccessibility, BasicErrorHighlight { +public class AvatarSMDReceiveSignal extends AvatarSMDBasicComponent implements CheckableAccessibility, BasicErrorHighlight, PartOfInvariant { protected int lineLength = 5; protected int textX = 5; protected int textY = 15; @@ -90,7 +90,7 @@ public class AvatarSMDReceiveSignal extends AvatarSMDBasicComponent implements C value = "sig()"; //makeValue(); - myImageIcon = IconManager.imgic904; + myImageIcon = IconManager.imgic908; } public void internalDrawing(Graphics g) { diff --git a/src/ui/avatarsmd/AvatarSMDResetTimer.java b/src/ui/avatarsmd/AvatarSMDResetTimer.java index e15fa93c059b56735666be1bdd63b313086616cf..eae6ff2b40d6670baba7c477d61d6d36aefc8bc5 100644 --- a/src/ui/avatarsmd/AvatarSMDResetTimer.java +++ b/src/ui/avatarsmd/AvatarSMDResetTimer.java @@ -58,7 +58,7 @@ import myutil.*; import ui.*; import ui.window.*; -public class AvatarSMDResetTimer extends AvatarSMDBasicComponent implements BasicErrorHighlight { +public class AvatarSMDResetTimer extends AvatarSMDBasicComponent implements BasicErrorHighlight, PartOfInvariant { protected int lineLength = 5; protected int textX = 5; protected int textY = 15; diff --git a/src/ui/avatarsmd/AvatarSMDSendSignal.java b/src/ui/avatarsmd/AvatarSMDSendSignal.java index 0f97e83c1c345e90746335e425daeb784e0250b7..a8665595f001447cb8618a94d84e9aa6c2aa3fbf 100644 --- a/src/ui/avatarsmd/AvatarSMDSendSignal.java +++ b/src/ui/avatarsmd/AvatarSMDSendSignal.java @@ -58,7 +58,7 @@ import myutil.*; import ui.*; import ui.window.*; -public class AvatarSMDSendSignal extends AvatarSMDBasicComponent implements CheckableAccessibility, BasicErrorHighlight { +public class AvatarSMDSendSignal extends AvatarSMDBasicComponent implements CheckableAccessibility, BasicErrorHighlight, PartOfInvariant { protected int lineLength = 5; protected int textX = 5; protected int textY = 15; diff --git a/src/ui/avatarsmd/AvatarSMDSetTimer.java b/src/ui/avatarsmd/AvatarSMDSetTimer.java index 272534c049b82d9bb50fb3b97274ac9d476470aa..fbfe37c8ec90ae89032f906d00dee2a40293ddce 100644 --- a/src/ui/avatarsmd/AvatarSMDSetTimer.java +++ b/src/ui/avatarsmd/AvatarSMDSetTimer.java @@ -58,7 +58,7 @@ import myutil.*; import ui.*; import ui.window.*; -public class AvatarSMDSetTimer extends AvatarSMDBasicComponent implements BasicErrorHighlight { +public class AvatarSMDSetTimer extends AvatarSMDBasicComponent implements BasicErrorHighlight, PartOfInvariant { protected int lineLength = 5; protected int textX = 5; protected int textY = 15; diff --git a/src/ui/avatarsmd/AvatarSMDStartState.java b/src/ui/avatarsmd/AvatarSMDStartState.java index ec0c95f24972f0d6b087d4fc4ec0170231691cec..6cda1f995dd354b3426eb7ccfde4350e4111c104 100644 --- a/src/ui/avatarsmd/AvatarSMDStartState.java +++ b/src/ui/avatarsmd/AvatarSMDStartState.java @@ -52,7 +52,7 @@ import java.awt.geom.*; import myutil.*; import ui.*; -public class AvatarSMDStartState extends AvatarSMDBasicComponent implements EmbeddedComment{ +public class AvatarSMDStartState extends AvatarSMDBasicComponent implements EmbeddedComment, PartOfInvariant{ private int lineLength = 5; public AvatarSMDStartState(int _x, int _y, int _minX, int _maxX, int _minY, int _maxY, boolean _pos, TGComponent _father, TDiagramPanel _tdp) { diff --git a/src/ui/avatarsmd/AvatarSMDState.java b/src/ui/avatarsmd/AvatarSMDState.java index 685c0a3f775b2d1b6b8e608a11bf47ffdfc23bac..120de1118547c24c585ecded1087418a2a656ed0 100644 --- a/src/ui/avatarsmd/AvatarSMDState.java +++ b/src/ui/avatarsmd/AvatarSMDState.java @@ -57,7 +57,7 @@ import ui.*; import ui.window.*; -public class AvatarSMDState extends TGCScalableWithInternalComponent implements CheckableAccessibility, SwallowTGComponent, SwallowedTGComponent { +public class AvatarSMDState extends TGCScalableWithInternalComponent implements CheckableAccessibility, SwallowTGComponent, SwallowedTGComponent, PartOfInvariant, PartOfHighInvariant { private int textY1 = 3; private int maxFontSize = 12; @@ -226,7 +226,6 @@ public class AvatarSMDState extends TGCScalableWithInternalComponent implements // Icon - g.setFont(fold); } diff --git a/src/ui/avatarsmd/AvatarSMDStopState.java b/src/ui/avatarsmd/AvatarSMDStopState.java index a4603ab9bb7580f3eee87eac7071765c701b3409..93a7f097e4475359d7196642471811e38d29f8b1 100644 --- a/src/ui/avatarsmd/AvatarSMDStopState.java +++ b/src/ui/avatarsmd/AvatarSMDStopState.java @@ -51,7 +51,7 @@ import java.awt.*; import myutil.*; import ui.*; -public class AvatarSMDStopState extends AvatarSMDBasicComponent implements EmbeddedComment, AllowedBreakpoint { +public class AvatarSMDStopState extends AvatarSMDBasicComponent implements EmbeddedComment, AllowedBreakpoint, PartOfInvariant, PartOfHighInvariant { private int internalCircleSize = 16; private int lineLength = 5; diff --git a/src/ui/images/avatarfvinvariant.png b/src/ui/images/avatarfvinvariant.png new file mode 100644 index 0000000000000000000000000000000000000000..ea95c65b9e35283688a8b2bde4fac8bfceabb36e Binary files /dev/null and b/src/ui/images/avatarfvinvariant.png differ diff --git a/src/ui/images/starting_logo.gif b/src/ui/images/starting_logo.gif index 60795fedf7e469e6acee036bcd6442267e00a17d..895462764be13246f397bba4f4806374b039f94e 100755 Binary files a/src/ui/images/starting_logo.gif and b/src/ui/images/starting_logo.gif differ diff --git a/src/ui/images/std_starting_logo.gif b/src/ui/images/std_starting_logo.gif index 60795fedf7e469e6acee036bcd6442267e00a17d..895462764be13246f397bba4f4806374b039f94e 100755 Binary files a/src/ui/images/std_starting_logo.gif and b/src/ui/images/std_starting_logo.gif differ diff --git a/src/ui/req/EBRDDObserver.java b/src/ui/req/EBRDDObserver.java index f024bd86bb6bbe3a58f9019bfeb89a353227027a..40ed7b5f2af59d5baf50d32590aa646f9de36aab 100755 --- a/src/ui/req/EBRDDObserver.java +++ b/src/ui/req/EBRDDObserver.java @@ -164,13 +164,15 @@ public class EBRDDObserver extends TGCScalableWithInternalComponent implements T g.drawRect(x, y, width, height); g.drawLine(x, y+lineHeight, x+width, y+lineHeight); - g.setColor(Color.yellow); + g.setColor(ColorManager.REQ_TOP_BOX); g.fillRect(x+1, y+1, width-1, lineHeight-1); g.setColor(ColorManager.OBS_ATTRIBUTE_BOX); g.fillRect(x+1, y+1+lineHeight, width-1, height-1-lineHeight); ColorManager.setColor(g, getState(), 0); if ((lineHeight > 23) && (width > 23)){ - g.drawImage(IconManager.img8, x + width - iconSize + 1, y + 3, Color.yellow, null); + if (ColorManager.REQ_TOP_BOX != Color.white) { + g.drawImage(IconManager.img8, x + width - iconSize + 1, y + 3, Color.yellow, null); + } } if (displayText) { diff --git a/src/ui/req/Requirement.java b/src/ui/req/Requirement.java index 4b02126807cbbba32b989d6d54d0f53c285f8763..a359331c7d4d017362889566fdab160112c1b01b 100755 --- a/src/ui/req/Requirement.java +++ b/src/ui/req/Requirement.java @@ -224,13 +224,15 @@ public class Requirement extends TGCScalableWithInternalComponent implements Wit g.drawRect(x, y, width, height); g.drawLine(x, y+lineHeight, x+width, y+lineHeight); - g.setColor(Color.yellow); + g.setColor(ColorManager.REQ_TOP_BOX); g.fillRect(x+1, y+1, width-1, lineHeight-1); g.setColor(ColorManager.REQ_ATTRIBUTE_BOX); g.fillRect(x+1, y+1+lineHeight, width-1, height-1-lineHeight); ColorManager.setColor(g, getState(), 0); if ((lineHeight > 23) && (width > 23)){ - g.drawImage(IconManager.img8, x + width - iconSize + 1, y + 3, Color.yellow, null); + if (ColorManager.REQ_TOP_BOX != Color.white) { + g.drawImage(IconManager.img8, x + width - iconSize + 1, y + 3, Color.yellow, null); + } } if (displayText) { diff --git a/src/ui/req/RequirementObserver.java b/src/ui/req/RequirementObserver.java index 3b6533ff61f4bf0ad60bd2f2956e167df618b57b..6dfcc67c29e77fd831db2fe737677ffe6e8e8793 100755 --- a/src/ui/req/RequirementObserver.java +++ b/src/ui/req/RequirementObserver.java @@ -171,13 +171,15 @@ public class RequirementObserver extends TGCScalableWithInternalComponent implem g.drawRect(x, y, width, height); g.drawLine(x, y+lineHeight, x+width, y+lineHeight); - g.setColor(Color.yellow); + g.setColor(ColorManager.REQ_TOP_BOX); g.fillRect(x+1, y+1, width-1, lineHeight-1); g.setColor(ColorManager.OBS_ATTRIBUTE_BOX); g.fillRect(x+1, y+1+lineHeight, width-1, height-1-lineHeight); ColorManager.setColor(g, getState(), 0); if ((lineHeight > 23) && (width > 23)){ + if (ColorManager.REQ_TOP_BOX != Color.white) { g.drawImage(IconManager.img8, x + width - iconSize + 1, y + 3, Color.yellow, null); + } } if (displayText) { diff --git a/src/ui/tmlcompd/TMLCCompositeComponent.java b/src/ui/tmlcompd/TMLCCompositeComponent.java index fb3159b7f389c7b6a6df3f726df5a76a6ef4fbbc..52542a2d944622e902dcfcdb5babf83b05d4b2f1 100755 --- a/src/ui/tmlcompd/TMLCCompositeComponent.java +++ b/src/ui/tmlcompd/TMLCCompositeComponent.java @@ -117,7 +117,11 @@ public class TMLCCompositeComponent extends TGCScalableWithInternalComponent imp //FontMetrics fm = g.getFontMetrics(); if (myColor == null) { + if (ColorManager.TML_COMPOSITE_COMPONENT == Color.white) { + myColor = Color.white; + } else { myColor = new Color(251, 252, 200- (getMyDepth() * 10), 200); + } } if ((rescaled) && (!tdp.isScaled())) { diff --git a/src/ui/tmlcompd/TMLCPrimitiveComponent.java b/src/ui/tmlcompd/TMLCPrimitiveComponent.java index 573aaf87cd8f386a89e9a44f6766097fbba78b24..30caa59fa0d8213ac3d1f68a977bb7f9d6dc2ae5 100755 --- a/src/ui/tmlcompd/TMLCPrimitiveComponent.java +++ b/src/ui/tmlcompd/TMLCPrimitiveComponent.java @@ -120,7 +120,11 @@ public class TMLCPrimitiveComponent extends TGCScalableWithInternalComponent imp Font fold = f; if (myColor == null) { - myColor = new Color(201, 243, 188- (getMyDepth() * 10), 200); + if (ColorManager.TML_COMPOSITE_COMPONENT == Color.white) { + myColor = Color.white; + } else { + myColor = new Color(201, 243, 188- (getMyDepth() * 10), 200); + } } if ((rescaled) && (!tdp.isScaled())) { diff --git a/src/ui/tree/DiagramTreeModel.java b/src/ui/tree/DiagramTreeModel.java index 21c1ed81704a74896cdeb9f1f1caa1a9107de3fb..a3d6969779a110ddb5ee840f83332e46ec915a55 100755 --- a/src/ui/tree/DiagramTreeModel.java +++ b/src/ui/tree/DiagramTreeModel.java @@ -176,6 +176,10 @@ public class DiagramTreeModel implements TreeModel { return false; } } + + if (node instanceof InvariantSynchro) { + return false; + } return true; } } @@ -192,6 +196,6 @@ public class DiagramTreeModel implements TreeModel { * identified by path to newValue. Not used by this model. */ public void valueForPathChanged(TreePath path, Object newValue) { - System.out.println("*** valueForPathChanged : " + path + " --> " + newValue); + //System.out.println("*** valueForPathChanged : " + path + " --> " + newValue); } } diff --git a/src/ui/tree/DiagramTreeRenderer.java b/src/ui/tree/DiagramTreeRenderer.java index 220922d14dc415583868502b2edec2ba70814708..b37b3f3681b1b55fa01cadebcd0e1af2d3b2b5f6 100755 --- a/src/ui/tree/DiagramTreeRenderer.java +++ b/src/ui/tree/DiagramTreeRenderer.java @@ -223,6 +223,17 @@ public class DiagramTreeRenderer extends DefaultTreeCellRenderer { } else if (value instanceof CheckingError) { setIcon(IconManager.imgic322); setToolTipText(value.toString()); + } else if (value instanceof Invariant) { + Invariant inv = (Invariant)value; + setIcon(IconManager.imgic5110); + setToolTipText("value=" + inv.getValue() + " tokenValue=" + inv.getTokenValue()); + } else if (value instanceof InvariantSynchro) { + InvariantSynchro is = (InvariantSynchro)value; + setIcon(IconManager.imgic5004); + setToolTipText("name=" + is.getName() + " from=" + is.getFrom() + " to=" + is.getTo()); + } else if (value instanceof InvariantDataTree) { + setIcon(IconManager.imgic5112); + setToolTipText("List of invariants"); } else if (value instanceof TAttribute) { setIcon(IconManager.imgic5106); setToolTipText(value.toString()); diff --git a/src/ui/tree/JDiagramTree.java b/src/ui/tree/JDiagramTree.java index 4c7f9b7b55c84f0bdbde11dfd84d0f82e6af8929..08def8883085bafac92e9c7a1bf6a6f3da37f608 100755 --- a/src/ui/tree/JDiagramTree.java +++ b/src/ui/tree/JDiagramTree.java @@ -55,6 +55,7 @@ import java.util.*; //import translator.*; import ui.*; +import myutil.*; public class JDiagramTree extends javax.swing.JTree implements MouseListener, TreeExpansionListener, TreeSelectionListener, Runnable { @@ -71,6 +72,9 @@ public class JDiagramTree extends javax.swing.JTree implements MouseListener, Tr /** Creates new form */ public JDiagramTree(MainGUI _mgui) { super(new DiagramTreeModel(_mgui)); + + TraceManager.addDev("TREE CREATED"); + mgui = _mgui; getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); setEditable(false); @@ -217,6 +221,8 @@ public class JDiagramTree extends javax.swing.JTree implements MouseListener, Tr } public void valueChanged(TreeSelectionEvent treeSelectionEvent) { + //TraceManager.addDev("Value changed"); + if(getSelectionPaths() != null && getSelectionPaths().length >0 ){ m_selectedTreePaths = getSelectionModel().getSelectionPaths(); } @@ -227,6 +233,7 @@ public class JDiagramTree extends javax.swing.JTree implements MouseListener, Tr } Object nodeInfo = tp.getLastPathComponent(); + Object o; if (nodeInfo instanceof TDiagramPanel) { mgui.selectTab((TDiagramPanel)nodeInfo); @@ -236,6 +243,24 @@ public class JDiagramTree extends javax.swing.JTree implements MouseListener, Tr TGComponent tgc = (TGComponent) nodeInfo; mgui.selectTab(tgc.getTDiagramPanel()); tgc.getTDiagramPanel().highlightTGComponent(tgc); + } else if (nodeInfo instanceof Invariant) { + //TraceManager.addDev("Click on invariant"); + Invariant inv = (Invariant)nodeInfo; + mgui.setCurrentInvariant(inv); + for(int i=2; i< inv.getChildCount(); i++) { + o = inv.getChild(i); + if (o instanceof TGComponent) { + TGComponent tgc1 = (TGComponent) (o); + tgc1.getTDiagramPanel().repaint(); + } + + if (o instanceof InvariantSynchro) { + InvariantSynchro is = (InvariantSynchro)o; + is.getFrom().getTDiagramPanel().repaint(); + is.getTo().getTDiagramPanel().repaint(); + } + + } } else if (nodeInfo instanceof CheckingError) { CheckingError ce = (CheckingError)nodeInfo; TDiagramPanel tdp; TGComponent tgc; @@ -253,7 +278,7 @@ public class JDiagramTree extends javax.swing.JTree implements MouseListener, Tr mgui.selectTab("Class diagram"); } else if (ce.getTMLTask() != null) { mgui.selectTab(ce.getTMLTask().getName()); - } + } } } diff --git a/src/ui/window/JDialogInvariantAnalysis.java b/src/ui/window/JDialogInvariantAnalysis.java index 75b1ba017e9b7bcb4512a35124a3a4f1d513a5cf..e48c9f7aba4a7787d2648382e7668c9ee07f3b3c 100644 --- a/src/ui/window/JDialogInvariantAnalysis.java +++ b/src/ui/window/JDialogInvariantAnalysis.java @@ -1,49 +1,49 @@ /**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. - * - * /** - * Class JDialogInvariantAnalysis - * Dialog for managing the generation of ProVerif code and execution of - * ProVerif - * Creation: 09/02/2012 - * @version 1.0 09/01/2012 - * @author Ludovic APVRILLE - * @see - */ +* +* 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. +* +* /** +* Class JDialogInvariantAnalysis +* Dialog for managing the generation of ProVerif code and execution of +* ProVerif +* Creation: 09/02/2012 +* @version 1.0 09/01/2012 +* @author Ludovic APVRILLE +* @see +*/ package ui.window; @@ -137,7 +137,7 @@ public class JDialogInvariantAnalysis extends javax.swing.JDialog implements Act jta.setFont(f); jsp = new JScrollPane(jta, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); - panelCompute.add(jsp, BorderLayout.CENTER); + panelCompute.add(jsp, BorderLayout.CENTER); jp1.add("Compute invariants", panelCompute); @@ -235,7 +235,7 @@ public class JDialogInvariantAnalysis extends javax.swing.JDialog implements Act } public void run() { - TPN tpn; + TPN tpn; hasError = false; TraceManager.addDev("Thread started"); @@ -244,15 +244,15 @@ public class JDialogInvariantAnalysis extends javax.swing.JDialog implements Act jta.append("Generating Petri Net\n"); tpn = mgui.gtm.generateTPNFromAvatar(); jtatpn.append("Petri Net:\n" + tpn.toString() + "\n\n"); - testGo(); + testGo(); - jta.append("Computing incidence matrix\n"); + jta.append("Computing incidence matrix\n"); IntMatrix im = tpn.getIncidenceMatrix(); jtamatrix.append("Incidence matrix:\n" + im.toString() + "\n\n"); - jta.append("Incidence matrix computed\n"); - testGo(); - - jta.append("Computing invariants\n"); + jta.append("Incidence matrix computed\n"); + testGo(); + + jta.append("Computing invariants\n"); im.Farkas(true); //jtainvariants.append("All invariants:\n" + im.namesOfRowToString() + "\n\n"); @@ -261,25 +261,30 @@ public class JDialogInvariantAnalysis extends javax.swing.JDialog implements Act Invariant inv; String name; String[] elts; - String tmp; + String tmp, tmp1, tmp2; String[] tmps; int myid; AvatarSpecification avspec = mgui.gtm.getAvatarSpecification(); AvatarBlock ab = null; + AvatarBlock ab1, ab2; Object o; int state; int valToken = 0; boolean sameBlock; - AvatarBlock prevBlock; + AvatarBlock prevBlock, prevBlock1; int ignored = 0; + TGComponent tgc1, tgc2; + jtainvariants.append("Computed invariants:\n-----------------\n"); for(int i=0; i<im.getNbOfLines(); i++) { - name = im.getNameOfLine(i); prevBlock = null; + prevBlock1 = null; sameBlock = true; + name = im.getNameOfLine(i); + inv = new Invariant("#" + ((i+1)-ignored) + " " + name); inv.setValue(im.getValueOfLine(i)); @@ -289,35 +294,120 @@ public class JDialogInvariantAnalysis extends javax.swing.JDialog implements Act state = 0; for(int j=0; j<elts.length; j++) { tmp = elts[j].trim(); - TraceManager.addDev("#" + j + "=" + elts[j]); - tmp = Conversion.replaceAllString(tmp, "__", "&"); - tmps = tmp.split("&"); - if (tmps.length > 2) { - ab = avspec.getBlockWithName(tmps[0]); - if (prevBlock == null) { - prevBlock = ab; - } else { - if (prevBlock != ab) { - sameBlock = false; + //TraceManager.addDev("#" + j + "=" + elts[j] + " tmp=" + tmp); + + if (tmp.startsWith("Synchro from ")) { + tmp =tmp.substring(13, tmp.length()).trim(); + int index = tmp.indexOf(" to "); + if (index != -1) { + tmp1 = tmp.substring(0, index).trim(); + tmp2 = tmp.substring(index+4, tmp.length()).trim(); + //TraceManager.addDev("Found synchro: " + tmp1 + ", " + tmp2); + tgc1 = null; + tgc2 = null; + ab1 = null; + ab2 = null; + + //tmp1 + tmp1 = Conversion.replaceAllString(tmp1, "__", "&"); + tmps = tmp1.split("&"); + if (tmps.length > 2) { + ab = avspec.getBlockWithName(tmps[0]); + ab1 = ab; + + try { + myid = Integer.decode(tmps[tmps.length-1]).intValue(); + o = ab.getStateMachine().getReferenceObjectFromID(myid); + tgc1 = (TGComponent)o; + + } catch (Exception e) { + tgc1 = null; + TraceManager.addDev("Exception invariants tmp1:" + e.getMessage() + "tmps[end]=" + tmps[tmps.length-1] + " inv=" + name); + } + } + + + //tmp2 + tmp2 = Conversion.replaceAllString(tmp2, "__", "&"); + tmps = tmp2.split("&"); + if (tmps.length > 2) { + ab = avspec.getBlockWithName(tmps[0]); + ab2 = ab; + + try { + myid = Integer.decode(tmps[tmps.length-1]).intValue(); + o = ab.getStateMachine().getReferenceObjectFromID(myid); + tgc2 = (TGComponent)o; + + } catch (Exception e) { + tgc2 = null; + TraceManager.addDev("Exception invariants tm2:" + e.getMessage() + "tmps[end]=" + tmps[tmps.length-1] + " inv=" + name); + } + } + + + if ((ab1 != null ) && (ab2 != null)) { + if (prevBlock == null) { + prevBlock = ab1; + prevBlock1 = ab2; + } else { + if ((prevBlock != ab1) && (prevBlock != ab2)) { + sameBlock = false; + } + } + } + + // Can create synchro + //TraceManager.addDev("tg1=" + tgc1 + " tgc2=" + tgc2); + if ((tgc1 != null) && (tgc2 != null)) { + InvariantSynchro is = new InvariantSynchro(elts[j].trim(), tgc1, tgc2); + inv.addSynchro(is); + //TraceManager.addDev("Ading synchro: " + is); } + } - prevBlock = ab; + } else { - try { + tmp = Conversion.replaceAllString(tmp, "__", "&"); + tmps = tmp.split("&"); + if (tmps.length > 2) { + ab = avspec.getBlockWithName(tmps[0]); + if (prevBlock == null) { + prevBlock = ab; + } else { + if (prevBlock != ab) { + if (prevBlock1 != null) { + if (prevBlock1 != ab) { + sameBlock = false; + } + } else { + sameBlock = false; + } + } + } + prevBlock = ab; + prevBlock1 = null; + + try { myid = Integer.decode(tmps[tmps.length-1]).intValue(); o = ab.getStateMachine().getReferenceObjectFromID(myid); //TraceManager.addDev("Adding component to inv block=" + ab.getName() + " id=" + myid + " object=" + o); - inv.addComponent((TGComponent)o); + if (!((o instanceof AvatarSMDReceiveSignal) || (o instanceof AvatarSMDSendSignal))) { + //TraceManager.addDev("Adding component to inv block=" + ab.getName() + " id=" + myid + " object=" + o); + inv.addComponent((TGComponent)o); + } //TraceManager.addDev("Component added:" + o); if (o instanceof AvatarSMDStartState) { valToken ++; } } catch (Exception e) { - TraceManager.addDev("Exception invariants:" + e.getMessage() + "tmps[2]=" + tmps[tmps.length-1] + " inv=" + name); + TraceManager.addDev("Exception invariants:" + e.getMessage() + "tmps[end]=" + tmps[tmps.length-1] + " inv=" + name); } + } } } inv.setTokenValue(valToken); + inv.computeValue(); if (!(ignoreInvariants.isSelected() && sameBlock)) { mgui.gtm.addInvariant(inv); @@ -330,60 +420,60 @@ public class JDialogInvariantAnalysis extends javax.swing.JDialog implements Act } - jta.append("Invariants computed\n"); - testGo(); - - jta.append("All done\n"); + jta.append("Invariants computed\n"); + testGo(); + + jta.append("All done\n"); + - } catch (InterruptedException ie) { - jta.append("Interrupted\n"); + jta.append("Interrupted\n"); } jta.append("\n\nReady to process next command\n"); checkMode(); setButtons(); - - //System.out.println("Selected item=" + selectedItem); + + //System.out.println("Selected item=" + selectedItem); } protected void checkMode() { - mode = NOT_STARTED; + mode = NOT_STARTED; } protected void setButtons() { - switch(mode) { - case NOT_STARTED: - start.setEnabled(true); - stop.setEnabled(false); - close.setEnabled(true); - //setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); - getGlassPane().setVisible(false); - break; - case STARTED: - start.setEnabled(false); - stop.setEnabled(true); - close.setEnabled(false); - getGlassPane().setVisible(true); - //setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); - break; - case STOPPED: - default: - start.setEnabled(false); - stop.setEnabled(false); - close.setEnabled(true); - getGlassPane().setVisible(false); - break; - } + switch(mode) { + case NOT_STARTED: + start.setEnabled(true); + stop.setEnabled(false); + close.setEnabled(true); + //setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); + getGlassPane().setVisible(false); + break; + case STARTED: + start.setEnabled(false); + stop.setEnabled(true); + close.setEnabled(false); + getGlassPane().setVisible(true); + //setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); + break; + case STOPPED: + default: + start.setEnabled(false); + stop.setEnabled(false); + close.setEnabled(true); + getGlassPane().setVisible(false); + break; + } } public boolean hasToContinue() { - return (go == true); + return (go == true); } public void setError() { - hasError = true; + hasError = true; } }