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;
     }
 }