diff --git a/modeling/testavatar.xml b/modeling/testavatar.xml
index d0e5db1fa9a38625ea3f0501f08673329b72e345..b8b0fca31e07ebea243e1fbfbb036e72a01dd8c9 100644
--- a/modeling/testavatar.xml
+++ b/modeling/testavatar.xml
@@ -12,18 +12,18 @@
 <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="1" />
-<P1  x="626" y="278" id="6" />
-<P2  x="494" y="277" id="32" />
+<P1  x="609" y="259" id="6" />
+<P2  x="498" y="493" id="32" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <isd value="in testsig(int x, bool b)" />
 <oso value="out testsig(int x, bool b)" />
-<FIFOType asynchronous="true" size="1" blocking="false" private="true" broadcast="false" lossy="false" />
+<FIFOType asynchronous="true" size="2" blocking="false" private="true" broadcast="false" lossy="false" />
 </extraparam>
 </CONNECTOR>
 <COMPONENT type="5000" id="27" >
-<cdparam x="626" y="178" />
-<sizeparam width="250" height="200" minWidth="5" minHeight="2" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="609" y="157" />
+<sizeparam width="435" height="204" minWidth="5" minHeight="2" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="Block1" value="Generator" />
@@ -59,8 +59,8 @@
 </COMPONENT>
 
 <COMPONENT type="5000" id="52" >
-<cdparam x="138" y="178" />
-<sizeparam width="356" height="198" minWidth="5" minHeight="2" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="26" y="305" />
+<sizeparam width="472" height="376" minWidth="5" minHeight="2" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="Block0" value="TestBlock" />
@@ -102,17 +102,17 @@
 
 <AVATARStateMachineDiagramPanel name="Generator" minX="10" maxX="1400" minY="10" maxY="900" >
 <CONNECTOR type="5102" id="59" >
-<cdparam x="400" y="155" />
+<cdparam x="437" y="238" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from TGComponent to Send signal" value="null" />
+<infoparam name="connector from Send signal to stop state" value="null" />
 <TGConnectingPoint num="0" id="58" />
-<P1  x="401" y="156" id="79" />
-<P2  x="437" y="208" id="83" />
+<P1  x="437" y="238" id="82" />
+<P2  x="554" y="412" id="79" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="57" >
 <father id="59" num="0" />
-<cdparam x="452" y="172" />
-<sizeparam width="78" height="15" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="437" y="278" />
+<sizeparam width="10" 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="" />
@@ -126,77 +126,67 @@
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
-<actions value="b = (!b) || (b)" />
 </extraparam>
 </SUBCOMPONENT>
 
-<CONNECTOR type="5102" id="68" >
-<cdparam x="460" y="162" />
+<CONNECTOR type="5102" id="66" >
+<cdparam x="400" y="155" />
 <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="66" />
-<TGConnectingPoint num="1" id="67" />
-<P1  x="437" y="238" id="84" />
-<P2  x="467" y="291" id="81" />
-<Point x="445" y="257" />
+<infoparam name="connector from TGComponent to Send signal" value="null" />
+<TGConnectingPoint num="0" id="65" />
+<P1  x="401" y="156" id="77" />
+<P2  x="437" y="208" id="81" />
 <AutomaticDrawing  data="true" />
-</CONNECTOR><SUBCOMPONENT type="-1" id="60" >
-<father id="68" num="0" />
-<cdparam x="445" y="257" />
-<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="point " value="null" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="65" >
-<father id="68" num="1" />
-<cdparam x="460" y="202" />
-<sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="64" >
+<father id="66" num="0" />
+<cdparam x="452" y="172" />
+<sizeparam width="78" 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="61" />
-<TGConnectingPoint num="1" id="62" />
-<TGConnectingPoint num="2" id="63" />
-<TGConnectingPoint num="3" id="64" />
+<TGConnectingPoint num="0" id="60" />
+<TGConnectingPoint num="1" id="61" />
+<TGConnectingPoint num="2" id="62" />
+<TGConnectingPoint num="3" id="63" />
 <extraparam>
 <guard value="[ ]" />
 <afterMin value="" />
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<actions value="b = (!b) || (b)" />
 </extraparam>
 </SUBCOMPONENT>
 
-<CONNECTOR type="5102" id="77" >
+<CONNECTOR type="5102" id="75" >
 <cdparam x="407" y="70" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from start state to Send signal" value="null" />
-<TGConnectingPoint num="0" id="75" />
-<TGConnectingPoint num="1" id="76" />
-<P1  x="347" y="55" id="94" />
-<P2  x="401" y="126" id="78" />
+<TGConnectingPoint num="0" id="73" />
+<TGConnectingPoint num="1" id="74" />
+<P1  x="347" y="55" id="92" />
+<P2  x="401" y="126" id="76" />
 <Point x="370" y="98" />
 <AutomaticDrawing  data="true" />
-</CONNECTOR><SUBCOMPONENT type="-1" id="69" >
-<father id="77" num="0" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="67" >
+<father id="75" num="0" />
 <cdparam x="370" y="98" />
 <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="point " value="null" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="74" >
-<father id="77" num="1" />
+<SUBCOMPONENT type="-1" id="72" >
+<father id="75" num="1" />
 <cdparam x="401" y="88" />
 <sizeparam width="68" 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="70" />
-<TGConnectingPoint num="1" id="71" />
-<TGConnectingPoint num="2" id="72" />
-<TGConnectingPoint num="3" id="73" />
+<TGConnectingPoint num="0" id="68" />
+<TGConnectingPoint num="1" id="69" />
+<TGConnectingPoint num="2" id="70" />
+<TGConnectingPoint num="3" id="71" />
 <extraparam>
 <guard value="[ b | b&amp;b]" />
 <afterMin value="" />
@@ -206,79 +196,107 @@
 </extraparam>
 </SUBCOMPONENT>
 
-<COMPONENT type="5108" id="80" >
+<COMPONENT type="5108" id="78" >
 <cdparam x="334" y="131" />
 <sizeparam width="135" 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="TGComponent" value="null" />
-<TGConnectingPoint num="0" id="78" />
-<TGConnectingPoint num="1" id="79" />
+<TGConnectingPoint num="0" id="76" />
+<TGConnectingPoint num="1" id="77" />
 <extraparam>
 <Data variable="y" minValue="0" maxValue="10" functionId="0" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="5101" id="82" >
-<cdparam x="457" y="296" />
+<COMPONENT type="5101" id="80" >
+<cdparam x="544" y="417" />
 <sizeparam width="20" height="20" 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="stop state" value="null" />
-<TGConnectingPoint num="0" id="81" />
+<TGConnectingPoint num="0" id="79" />
 </COMPONENT>
 
-<COMPONENT type="5103" id="93" >
+<COMPONENT type="5103" id="91" >
 <cdparam x="399" y="213" />
 <sizeparam width="77" 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="testsig(y, b)" />
-<TGConnectingPoint num="0" id="83" />
-<TGConnectingPoint num="1" id="84" />
-<TGConnectingPoint num="2" id="85" />
-<TGConnectingPoint num="3" id="86" />
-<TGConnectingPoint num="4" id="87" />
-<TGConnectingPoint num="5" id="88" />
-<TGConnectingPoint num="6" id="89" />
-<TGConnectingPoint num="7" id="90" />
-<TGConnectingPoint num="8" id="91" />
-<TGConnectingPoint num="9" id="92" />
+<TGConnectingPoint num="0" id="81" />
+<TGConnectingPoint num="1" id="82" />
+<TGConnectingPoint num="2" id="83" />
+<TGConnectingPoint num="3" id="84" />
+<TGConnectingPoint num="4" id="85" />
+<TGConnectingPoint num="5" id="86" />
+<TGConnectingPoint num="6" id="87" />
+<TGConnectingPoint num="7" id="88" />
+<TGConnectingPoint num="8" id="89" />
+<TGConnectingPoint num="9" id="90" />
 <accessibility />
 </COMPONENT>
 
-<COMPONENT type="5100" id="95" >
+<COMPONENT type="5100" id="93" >
 <cdparam x="340" y="35" />
 <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="94" />
+<TGConnectingPoint num="0" id="92" />
 </COMPONENT>
 
 
 </AVATARStateMachineDiagramPanel>
 
 <AVATARStateMachineDiagramPanel name="TestBlock" minX="10" maxX="1400" minY="10" maxY="900" >
-<CONNECTOR type="5102" id="102" >
+<CONNECTOR type="5102" id="100" >
+<cdparam x="480" y="434" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from state1 to stop state" value="null" />
+<TGConnectingPoint num="0" id="99" />
+<P1  x="480" y="434" id="128" />
+<P2  x="496" y="470" id="174" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="98" >
+<father id="100" num="0" />
+<cdparam x="480" y="474" />
+<sizeparam width="10" 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="94" />
+<TGConnectingPoint num="1" id="95" />
+<TGConnectingPoint num="2" id="96" />
+<TGConnectingPoint num="3" id="97" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="5102" id="107" >
 <cdparam x="451" y="254" />
 <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="101" />
-<P1  x="425" y="254" id="118" />
-<P2  x="452" y="309" id="128" />
+<TGConnectingPoint num="0" id="106" />
+<P1  x="425" y="254" id="164" />
+<P2  x="480" y="384" id="123" />
 <AutomaticDrawing  data="true" />
-</CONNECTOR><SUBCOMPONENT type="-1" id="100" >
-<father id="102" num="0" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="105" >
+<father id="107" num="0" />
 <cdparam x="468" y="290" />
 <sizeparam width="60" 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="96" />
-<TGConnectingPoint num="1" id="97" />
-<TGConnectingPoint num="2" id="98" />
-<TGConnectingPoint num="3" id="99" />
+<TGConnectingPoint num="0" id="101" />
+<TGConnectingPoint num="1" id="102" />
+<TGConnectingPoint num="2" id="103" />
+<TGConnectingPoint num="3" id="104" />
 <extraparam>
 <guard value="[ ]" />
 <afterMin value="" />
@@ -289,25 +307,25 @@
 </extraparam>
 </SUBCOMPONENT>
 
-<CONNECTOR type="5102" id="109" >
+<CONNECTOR type="5102" id="114" >
 <cdparam x="344" y="199" />
 <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="108" />
-<P1  x="387" y="172" id="145" />
-<P2  x="425" y="224" id="117" />
+<TGConnectingPoint num="0" id="113" />
+<P1  x="387" y="172" id="191" />
+<P2  x="425" y="224" id="163" />
 <AutomaticDrawing  data="true" />
-</CONNECTOR><SUBCOMPONENT type="-1" id="107" >
-<father id="109" num="0" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="112" >
+<father id="114" num="0" />
 <cdparam x="430" y="198" />
 <sizeparam width="202" 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="103" />
-<TGConnectingPoint num="1" id="104" />
-<TGConnectingPoint num="2" id="105" />
-<TGConnectingPoint num="3" id="106" />
+<TGConnectingPoint num="0" id="108" />
+<TGConnectingPoint num="1" id="109" />
+<TGConnectingPoint num="2" id="110" />
+<TGConnectingPoint num="3" id="111" />
 <extraparam>
 <guard value="[(y== 43) || (y==42) || (y == 41)]" />
 <afterMin value="" />
@@ -317,25 +335,25 @@
 </extraparam>
 </SUBCOMPONENT>
 
-<CONNECTOR type="5102" id="116" >
+<CONNECTOR type="5102" id="121" >
 <cdparam x="338" y="91" />
 <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="115" />
-<P1  x="362" y="64" id="171" />
-<P2  x="362" y="122" id="131" />
+<TGConnectingPoint num="0" id="120" />
+<P1  x="362" y="64" id="217" />
+<P2  x="362" y="122" id="177" />
 <AutomaticDrawing  data="true" />
-</CONNECTOR><SUBCOMPONENT type="-1" id="114" >
-<father id="116" num="0" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="119" >
+<father id="121" num="0" />
 <cdparam x="338" y="131" />
 <sizeparam width="10" 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="110" />
-<TGConnectingPoint num="1" id="111" />
-<TGConnectingPoint num="2" id="112" />
-<TGConnectingPoint num="3" id="113" />
+<TGConnectingPoint num="0" id="115" />
+<TGConnectingPoint num="1" id="116" />
+<TGConnectingPoint num="2" id="117" />
+<TGConnectingPoint num="3" id="118" />
 <extraparam>
 <guard value="[ ]" />
 <afterMin value="" />
@@ -345,91 +363,1672 @@
 </extraparam>
 </SUBCOMPONENT>
 
-<COMPONENT type="5104" id="127" >
+<COMPONENT type="5106" id="162" >
+<cdparam x="430" y="384" />
+<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="900" />
+<infoparam name="state1" value="GotSignalTest1" />
+<TGConnectingPoint num="0" id="122" />
+<TGConnectingPoint num="1" id="123" />
+<TGConnectingPoint num="2" id="124" />
+<TGConnectingPoint num="3" id="125" />
+<TGConnectingPoint num="4" id="126" />
+<TGConnectingPoint num="5" id="127" />
+<TGConnectingPoint num="6" id="128" />
+<TGConnectingPoint num="7" id="129" />
+<TGConnectingPoint num="8" id="130" />
+<TGConnectingPoint num="9" id="131" />
+<TGConnectingPoint num="10" id="132" />
+<TGConnectingPoint num="11" id="133" />
+<TGConnectingPoint num="12" id="134" />
+<TGConnectingPoint num="13" id="135" />
+<TGConnectingPoint num="14" id="136" />
+<TGConnectingPoint num="15" id="137" />
+<TGConnectingPoint num="16" id="138" />
+<TGConnectingPoint num="17" id="139" />
+<TGConnectingPoint num="18" id="140" />
+<TGConnectingPoint num="19" id="141" />
+<TGConnectingPoint num="20" id="142" />
+<TGConnectingPoint num="21" id="143" />
+<TGConnectingPoint num="22" id="144" />
+<TGConnectingPoint num="23" id="145" />
+<TGConnectingPoint num="24" id="146" />
+<TGConnectingPoint num="25" id="147" />
+<TGConnectingPoint num="26" id="148" />
+<TGConnectingPoint num="27" id="149" />
+<TGConnectingPoint num="28" id="150" />
+<TGConnectingPoint num="29" id="151" />
+<TGConnectingPoint num="30" id="152" />
+<TGConnectingPoint num="31" id="153" />
+<TGConnectingPoint num="32" id="154" />
+<TGConnectingPoint num="33" id="155" />
+<TGConnectingPoint num="34" id="156" />
+<TGConnectingPoint num="35" id="157" />
+<TGConnectingPoint num="36" id="158" />
+<TGConnectingPoint num="37" id="159" />
+<TGConnectingPoint num="38" id="160" />
+<TGConnectingPoint num="39" id="161" />
+<accessibility />
+<extraparam>
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="5104" id="173" >
 <cdparam x="382" y="229" />
 <sizeparam width="86" 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="Receive signal" value="testsig(x, b)" />
-<TGConnectingPoint num="0" id="117" />
-<TGConnectingPoint num="1" id="118" />
-<TGConnectingPoint num="2" id="119" />
-<TGConnectingPoint num="3" id="120" />
-<TGConnectingPoint num="4" id="121" />
-<TGConnectingPoint num="5" id="122" />
-<TGConnectingPoint num="6" id="123" />
-<TGConnectingPoint num="7" id="124" />
-<TGConnectingPoint num="8" id="125" />
-<TGConnectingPoint num="9" id="126" />
+<TGConnectingPoint num="0" id="163" />
+<TGConnectingPoint num="1" id="164" />
+<TGConnectingPoint num="2" id="165" />
+<TGConnectingPoint num="3" id="166" />
+<TGConnectingPoint num="4" id="167" />
+<TGConnectingPoint num="5" id="168" />
+<TGConnectingPoint num="6" id="169" />
+<TGConnectingPoint num="7" id="170" />
+<TGConnectingPoint num="8" id="171" />
+<TGConnectingPoint num="9" id="172" />
 <accessibility />
 </COMPONENT>
 
-<COMPONENT type="5101" id="129" >
-<cdparam x="442" y="314" />
+<COMPONENT type="5101" id="175" >
+<cdparam x="486" y="475" />
 <sizeparam width="20" height="20" 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="stop state" value="null" />
-<TGConnectingPoint num="0" id="128" />
+<TGConnectingPoint num="0" id="174" />
 </COMPONENT>
 
-<COMPONENT type="5106" id="170" >
+<COMPONENT type="5106" id="216" >
 <cdparam x="312" y="122" />
 <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="900" />
 <infoparam name="state0" value="state0" />
-<TGConnectingPoint num="0" id="130" />
-<TGConnectingPoint num="1" id="131" />
-<TGConnectingPoint num="2" id="132" />
-<TGConnectingPoint num="3" id="133" />
-<TGConnectingPoint num="4" id="134" />
-<TGConnectingPoint num="5" id="135" />
-<TGConnectingPoint num="6" id="136" />
-<TGConnectingPoint num="7" id="137" />
-<TGConnectingPoint num="8" id="138" />
-<TGConnectingPoint num="9" id="139" />
-<TGConnectingPoint num="10" id="140" />
-<TGConnectingPoint num="11" id="141" />
-<TGConnectingPoint num="12" id="142" />
-<TGConnectingPoint num="13" id="143" />
-<TGConnectingPoint num="14" id="144" />
-<TGConnectingPoint num="15" id="145" />
-<TGConnectingPoint num="16" id="146" />
-<TGConnectingPoint num="17" id="147" />
-<TGConnectingPoint num="18" id="148" />
-<TGConnectingPoint num="19" id="149" />
-<TGConnectingPoint num="20" id="150" />
-<TGConnectingPoint num="21" id="151" />
-<TGConnectingPoint num="22" id="152" />
-<TGConnectingPoint num="23" id="153" />
-<TGConnectingPoint num="24" id="154" />
-<TGConnectingPoint num="25" id="155" />
-<TGConnectingPoint num="26" id="156" />
-<TGConnectingPoint num="27" id="157" />
-<TGConnectingPoint num="28" id="158" />
-<TGConnectingPoint num="29" id="159" />
-<TGConnectingPoint num="30" id="160" />
-<TGConnectingPoint num="31" id="161" />
-<TGConnectingPoint num="32" id="162" />
-<TGConnectingPoint num="33" id="163" />
-<TGConnectingPoint num="34" id="164" />
-<TGConnectingPoint num="35" id="165" />
-<TGConnectingPoint num="36" id="166" />
-<TGConnectingPoint num="37" id="167" />
-<TGConnectingPoint num="38" id="168" />
-<TGConnectingPoint num="39" id="169" />
-<extraparam>
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="5100" id="172" >
+<TGConnectingPoint num="0" id="176" />
+<TGConnectingPoint num="1" id="177" />
+<TGConnectingPoint num="2" id="178" />
+<TGConnectingPoint num="3" id="179" />
+<TGConnectingPoint num="4" id="180" />
+<TGConnectingPoint num="5" id="181" />
+<TGConnectingPoint num="6" id="182" />
+<TGConnectingPoint num="7" id="183" />
+<TGConnectingPoint num="8" id="184" />
+<TGConnectingPoint num="9" id="185" />
+<TGConnectingPoint num="10" id="186" />
+<TGConnectingPoint num="11" id="187" />
+<TGConnectingPoint num="12" id="188" />
+<TGConnectingPoint num="13" id="189" />
+<TGConnectingPoint num="14" id="190" />
+<TGConnectingPoint num="15" id="191" />
+<TGConnectingPoint num="16" id="192" />
+<TGConnectingPoint num="17" id="193" />
+<TGConnectingPoint num="18" id="194" />
+<TGConnectingPoint num="19" id="195" />
+<TGConnectingPoint num="20" id="196" />
+<TGConnectingPoint num="21" id="197" />
+<TGConnectingPoint num="22" id="198" />
+<TGConnectingPoint num="23" id="199" />
+<TGConnectingPoint num="24" id="200" />
+<TGConnectingPoint num="25" id="201" />
+<TGConnectingPoint num="26" id="202" />
+<TGConnectingPoint num="27" id="203" />
+<TGConnectingPoint num="28" id="204" />
+<TGConnectingPoint num="29" id="205" />
+<TGConnectingPoint num="30" id="206" />
+<TGConnectingPoint num="31" id="207" />
+<TGConnectingPoint num="32" id="208" />
+<TGConnectingPoint num="33" id="209" />
+<TGConnectingPoint num="34" id="210" />
+<TGConnectingPoint num="35" id="211" />
+<TGConnectingPoint num="36" id="212" />
+<TGConnectingPoint num="37" id="213" />
+<TGConnectingPoint num="38" id="214" />
+<TGConnectingPoint num="39" id="215" />
+<extraparam>
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="5100" id="218" >
 <cdparam x="355" 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="171" />
+<TGConnectingPoint num="0" id="217" />
+</COMPONENT>
+
+
+</AVATARStateMachineDiagramPanel>
+
+</Modeling>
+
+
+
+
+<Modeling type="AVATAR Design" nameTab="AVATAR Design" >
+<AVATARBlockDiagramPanel name="AVATAR Block Diagram" minX="10" maxX="1400" minY="10" maxY="900" >
+<MainCode value="void __user_init() {"/>
+<MainCode value="}"/>
+
+<CONNECTOR type="5002" id="220" >
+<cdparam x="547" y="225" />
+<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="219" />
+<P1  x="609" y="259" id="224" />
+<P2  x="498" y="493" id="250" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<isd value="in testsig(int x, bool b)" />
+<isd value="in testsig2(int x)" />
+<oso value="out testsig(int x, bool b)" />
+<oso value="out test2(int x)" />
+<FIFOType asynchronous="true" size="2" blocking="false" private="true" broadcast="false" lossy="false" />
+</extraparam>
+</CONNECTOR>
+<COMPONENT type="5000" id="245" >
+<cdparam x="609" y="157" />
+<sizeparam width="435" height="204" minWidth="5" minHeight="2" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="Block1" value="Generator" />
+<TGConnectingPoint num="0" id="221" />
+<TGConnectingPoint num="1" id="222" />
+<TGConnectingPoint num="2" id="223" />
+<TGConnectingPoint num="3" id="224" />
+<TGConnectingPoint num="4" id="225" />
+<TGConnectingPoint num="5" id="226" />
+<TGConnectingPoint num="6" id="227" />
+<TGConnectingPoint num="7" id="228" />
+<TGConnectingPoint num="8" id="229" />
+<TGConnectingPoint num="9" id="230" />
+<TGConnectingPoint num="10" id="231" />
+<TGConnectingPoint num="11" id="232" />
+<TGConnectingPoint num="12" id="233" />
+<TGConnectingPoint num="13" id="234" />
+<TGConnectingPoint num="14" id="235" />
+<TGConnectingPoint num="15" id="236" />
+<TGConnectingPoint num="16" id="237" />
+<TGConnectingPoint num="17" id="238" />
+<TGConnectingPoint num="18" id="239" />
+<TGConnectingPoint num="19" id="240" />
+<TGConnectingPoint num="20" id="241" />
+<TGConnectingPoint num="21" id="242" />
+<TGConnectingPoint num="22" id="243" />
+<TGConnectingPoint num="23" id="244" />
+<extraparam>
+<Attribute access="0" id="y" value="12" type="8" typeOther="" />
+<Attribute access="0" id="b" value="true" type="4" typeOther="" />
+<Signal value="out testsig(int x, bool b)" />
+<Signal value="out test2(int x)" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="5000" id="270" >
+<cdparam x="26" y="305" />
+<sizeparam width="472" height="376" minWidth="5" minHeight="2" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="Block0" value="TestBlock" />
+<TGConnectingPoint num="0" id="246" />
+<TGConnectingPoint num="1" id="247" />
+<TGConnectingPoint num="2" id="248" />
+<TGConnectingPoint num="3" id="249" />
+<TGConnectingPoint num="4" id="250" />
+<TGConnectingPoint num="5" id="251" />
+<TGConnectingPoint num="6" id="252" />
+<TGConnectingPoint num="7" id="253" />
+<TGConnectingPoint num="8" id="254" />
+<TGConnectingPoint num="9" id="255" />
+<TGConnectingPoint num="10" id="256" />
+<TGConnectingPoint num="11" id="257" />
+<TGConnectingPoint num="12" id="258" />
+<TGConnectingPoint num="13" id="259" />
+<TGConnectingPoint num="14" id="260" />
+<TGConnectingPoint num="15" id="261" />
+<TGConnectingPoint num="16" id="262" />
+<TGConnectingPoint num="17" id="263" />
+<TGConnectingPoint num="18" id="264" />
+<TGConnectingPoint num="19" id="265" />
+<TGConnectingPoint num="20" id="266" />
+<TGConnectingPoint num="21" id="267" />
+<TGConnectingPoint num="22" id="268" />
+<TGConnectingPoint num="23" id="269" />
+<extraparam>
+<Attribute access="0" id="y" value="41" type="8" typeOther="" />
+<Attribute access="0" id="b" value="true" type="4" typeOther="" />
+<Attribute access="0" id="x" value="" type="8" typeOther="" />
+<Method value="done(int x, bool b)" />
+<Signal value="in testsig(int x, bool b)" />
+<Signal value="in testsig2(int x)" />
+</extraparam>
+</COMPONENT>
+
+
+</AVATARBlockDiagramPanel>
+
+<AVATARStateMachineDiagramPanel name="Generator" minX="10" maxX="1400" minY="10" maxY="900" >
+<CONNECTOR type="5102" id="277" >
+<cdparam x="483" 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 stop state" value="null" />
+<TGConnectingPoint num="0" id="276" />
+<P1  x="483" y="319" id="304" />
+<P2  x="554" y="412" id="317" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="275" >
+<father id="277" num="0" />
+<cdparam x="483" y="359" />
+<sizeparam width="10" 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="271" />
+<TGConnectingPoint num="1" id="272" />
+<TGConnectingPoint num="2" id="273" />
+<TGConnectingPoint num="3" id="274" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="5102" id="284" >
+<cdparam x="400" y="155" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from TGComponent to Send signal" value="null" />
+<TGConnectingPoint num="0" id="283" />
+<P1  x="401" y="156" id="315" />
+<P2  x="437" y="208" id="319" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="282" >
+<father id="284" num="0" />
+<cdparam x="452" y="172" />
+<sizeparam width="78" 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="278" />
+<TGConnectingPoint num="1" id="279" />
+<TGConnectingPoint num="2" id="280" />
+<TGConnectingPoint num="3" id="281" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+<actions value="b = (!b) || (b)" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="5102" id="293" >
+<cdparam x="460" y="162" />
+<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="291" />
+<TGConnectingPoint num="1" id="292" />
+<P1  x="437" y="238" id="320" />
+<P2  x="483" y="289" id="303" />
+<Point x="445" y="257" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="285" >
+<father id="293" num="0" />
+<cdparam x="445" y="257" />
+<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="point " value="null" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="290" >
+<father id="293" num="1" />
+<cdparam x="460" y="202" />
+<sizeparam width="60" 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="286" />
+<TGConnectingPoint num="1" id="287" />
+<TGConnectingPoint num="2" id="288" />
+<TGConnectingPoint num="3" id="289" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+<actions value="y = y  + 1" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="5102" id="302" >
+<cdparam x="407" y="70" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from start state to Send signal" value="null" />
+<TGConnectingPoint num="0" id="300" />
+<TGConnectingPoint num="1" id="301" />
+<P1  x="347" y="55" id="330" />
+<P2  x="401" y="126" id="314" />
+<Point x="370" y="98" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="294" >
+<father id="302" num="0" />
+<cdparam x="370" y="98" />
+<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="point " value="null" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="299" >
+<father id="302" num="1" />
+<cdparam x="401" y="88" />
+<sizeparam width="68" 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="295" />
+<TGConnectingPoint num="1" id="296" />
+<TGConnectingPoint num="2" id="297" />
+<TGConnectingPoint num="3" id="298" />
+<extraparam>
+<guard value="[ b | b&amp;b]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="5103" id="313" >
+<cdparam x="457" y="294" />
+<sizeparam width="53" 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="test2(y)" />
+<TGConnectingPoint num="0" id="303" />
+<TGConnectingPoint num="1" id="304" />
+<TGConnectingPoint num="2" id="305" />
+<TGConnectingPoint num="3" id="306" />
+<TGConnectingPoint num="4" id="307" />
+<TGConnectingPoint num="5" id="308" />
+<TGConnectingPoint num="6" id="309" />
+<TGConnectingPoint num="7" id="310" />
+<TGConnectingPoint num="8" id="311" />
+<TGConnectingPoint num="9" id="312" />
+</COMPONENT>
+
+<COMPONENT type="5108" id="316" >
+<cdparam x="334" y="131" />
+<sizeparam width="135" 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="TGComponent" value="null" />
+<TGConnectingPoint num="0" id="314" />
+<TGConnectingPoint num="1" id="315" />
+<extraparam>
+<Data variable="y" minValue="0" maxValue="10" functionId="0" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="5101" id="318" >
+<cdparam x="544" y="417" />
+<sizeparam width="20" height="20" 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="stop state" value="null" />
+<TGConnectingPoint num="0" id="317" />
+</COMPONENT>
+
+<COMPONENT type="5103" id="329" >
+<cdparam x="399" y="213" />
+<sizeparam width="77" 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="testsig(y, b)" />
+<TGConnectingPoint num="0" id="319" />
+<TGConnectingPoint num="1" id="320" />
+<TGConnectingPoint num="2" id="321" />
+<TGConnectingPoint num="3" id="322" />
+<TGConnectingPoint num="4" id="323" />
+<TGConnectingPoint num="5" id="324" />
+<TGConnectingPoint num="6" id="325" />
+<TGConnectingPoint num="7" id="326" />
+<TGConnectingPoint num="8" id="327" />
+<TGConnectingPoint num="9" id="328" />
+<accessibility />
+</COMPONENT>
+
+<COMPONENT type="5100" id="331" >
+<cdparam x="340" y="35" />
+<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="330" />
+</COMPONENT>
+
+
+</AVATARStateMachineDiagramPanel>
+
+<AVATARStateMachineDiagramPanel name="TestBlock" minX="10" maxX="1400" minY="10" maxY="900" >
+<CONNECTOR type="5102" id="338" >
+<cdparam x="337" y="172" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from state0 to Receive signal" value="null" />
+<TGConnectingPoint num="0" id="337" />
+<P1  x="337" y="172" id="503" />
+<P2  x="272" y="260" id="383" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="336" >
+<father id="338" num="0" />
+<cdparam x="337" y="212" />
+<sizeparam width="10" 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="332" />
+<TGConnectingPoint num="1" id="333" />
+<TGConnectingPoint num="2" id="334" />
+<TGConnectingPoint num="3" id="335" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="5102" id="345" >
+<cdparam x="480" y="434" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from state1 to stop state" value="null" />
+<TGConnectingPoint num="0" id="344" />
+<P1  x="480" y="434" id="441" />
+<P2  x="496" y="470" id="487" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="343" >
+<father id="345" num="0" />
+<cdparam x="480" y="474" />
+<sizeparam width="10" 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="339" />
+<TGConnectingPoint num="1" id="340" />
+<TGConnectingPoint num="2" id="341" />
+<TGConnectingPoint num="3" id="342" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="5102" id="352" >
+<cdparam x="451" y="254" />
+<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="351" />
+<P1  x="425" y="281" id="477" />
+<P2  x="480" y="384" id="436" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="350" >
+<father id="352" num="0" />
+<cdparam x="468" y="290" />
+<sizeparam width="60" 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="346" />
+<TGConnectingPoint num="1" id="347" />
+<TGConnectingPoint num="2" id="348" />
+<TGConnectingPoint num="3" id="349" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+<actions value="done(x, b)" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="5102" id="359" >
+<cdparam x="344" y="199" />
+<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="358" />
+<P1  x="387" y="172" id="504" />
+<P2  x="425" y="251" id="476" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="357" >
+<father id="359" num="0" />
+<cdparam x="430" y="198" />
+<sizeparam width="202" 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="353" />
+<TGConnectingPoint num="1" id="354" />
+<TGConnectingPoint num="2" id="355" />
+<TGConnectingPoint num="3" id="356" />
+<extraparam>
+<guard value="[(y== 43) || (y==42) || (y == 41)]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="5102" id="366" >
+<cdparam x="338" y="91" />
+<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="365" />
+<P1  x="362" y="64" id="530" />
+<P2  x="362" y="122" id="490" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="364" >
+<father id="366" num="0" />
+<cdparam x="338" y="131" />
+<sizeparam width="10" 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="360" />
+<TGConnectingPoint num="1" id="361" />
+<TGConnectingPoint num="2" id="362" />
+<TGConnectingPoint num="3" id="363" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="5102" id="373" >
+<cdparam x="192" y="272" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from Receive signal to state1" value="null" />
+<TGConnectingPoint num="0" id="372" />
+<P1  x="272" y="290" id="384" />
+<P2  x="187" y="370" id="411" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="371" >
+<father id="373" num="0" />
+<cdparam x="192" y="312" />
+<sizeparam width="10" 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="367" />
+<TGConnectingPoint num="1" id="368" />
+<TGConnectingPoint num="2" id="369" />
+<TGConnectingPoint num="3" id="370" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="5102" id="380" >
+<cdparam x="212" y="420" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from state1 to stop state" value="null" />
+<TGConnectingPoint num="0" id="379" />
+<P1  x="212" y="420" id="424" />
+<P2  x="197" y="464" id="381" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="378" >
+<father id="380" num="0" />
+<cdparam x="212" y="460" />
+<sizeparam width="10" 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="374" />
+<TGConnectingPoint num="1" id="375" />
+<TGConnectingPoint num="2" id="376" />
+<TGConnectingPoint num="3" id="377" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="5101" id="382" >
+<cdparam x="187" y="469" />
+<sizeparam width="20" height="20" 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="stop state" value="null" />
+<TGConnectingPoint num="0" id="381" />
+</COMPONENT>
+
+<COMPONENT type="5104" id="393" >
+<cdparam x="233" y="265" />
+<sizeparam width="78" 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="Receive signal" value="testsig2(x)" />
+<TGConnectingPoint num="0" id="383" />
+<TGConnectingPoint num="1" id="384" />
+<TGConnectingPoint num="2" id="385" />
+<TGConnectingPoint num="3" id="386" />
+<TGConnectingPoint num="4" id="387" />
+<TGConnectingPoint num="5" id="388" />
+<TGConnectingPoint num="6" id="389" />
+<TGConnectingPoint num="7" id="390" />
+<TGConnectingPoint num="8" id="391" />
+<TGConnectingPoint num="9" id="392" />
+</COMPONENT>
+
+<COMPONENT type="5106" id="434" >
+<cdparam x="150" y="370" />
+<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="900" />
+<infoparam name="state1" value="GoSignalTest2" />
+<TGConnectingPoint num="0" id="394" />
+<TGConnectingPoint num="1" id="395" />
+<TGConnectingPoint num="2" id="396" />
+<TGConnectingPoint num="3" id="397" />
+<TGConnectingPoint num="4" id="398" />
+<TGConnectingPoint num="5" id="399" />
+<TGConnectingPoint num="6" id="400" />
+<TGConnectingPoint num="7" id="401" />
+<TGConnectingPoint num="8" id="402" />
+<TGConnectingPoint num="9" id="403" />
+<TGConnectingPoint num="10" id="404" />
+<TGConnectingPoint num="11" id="405" />
+<TGConnectingPoint num="12" id="406" />
+<TGConnectingPoint num="13" id="407" />
+<TGConnectingPoint num="14" id="408" />
+<TGConnectingPoint num="15" id="409" />
+<TGConnectingPoint num="16" id="410" />
+<TGConnectingPoint num="17" id="411" />
+<TGConnectingPoint num="18" id="412" />
+<TGConnectingPoint num="19" id="413" />
+<TGConnectingPoint num="20" id="414" />
+<TGConnectingPoint num="21" id="415" />
+<TGConnectingPoint num="22" id="416" />
+<TGConnectingPoint num="23" id="417" />
+<TGConnectingPoint num="24" id="418" />
+<TGConnectingPoint num="25" id="419" />
+<TGConnectingPoint num="26" id="420" />
+<TGConnectingPoint num="27" id="421" />
+<TGConnectingPoint num="28" id="422" />
+<TGConnectingPoint num="29" id="423" />
+<TGConnectingPoint num="30" id="424" />
+<TGConnectingPoint num="31" id="425" />
+<TGConnectingPoint num="32" id="426" />
+<TGConnectingPoint num="33" id="427" />
+<TGConnectingPoint num="34" id="428" />
+<TGConnectingPoint num="35" id="429" />
+<TGConnectingPoint num="36" id="430" />
+<TGConnectingPoint num="37" id="431" />
+<TGConnectingPoint num="38" id="432" />
+<TGConnectingPoint num="39" id="433" />
+<accessibility />
+<extraparam>
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="5106" id="475" >
+<cdparam x="430" y="384" />
+<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="900" />
+<infoparam name="state1" value="GotSignalTest1" />
+<TGConnectingPoint num="0" id="435" />
+<TGConnectingPoint num="1" id="436" />
+<TGConnectingPoint num="2" id="437" />
+<TGConnectingPoint num="3" id="438" />
+<TGConnectingPoint num="4" id="439" />
+<TGConnectingPoint num="5" id="440" />
+<TGConnectingPoint num="6" id="441" />
+<TGConnectingPoint num="7" id="442" />
+<TGConnectingPoint num="8" id="443" />
+<TGConnectingPoint num="9" id="444" />
+<TGConnectingPoint num="10" id="445" />
+<TGConnectingPoint num="11" id="446" />
+<TGConnectingPoint num="12" id="447" />
+<TGConnectingPoint num="13" id="448" />
+<TGConnectingPoint num="14" id="449" />
+<TGConnectingPoint num="15" id="450" />
+<TGConnectingPoint num="16" id="451" />
+<TGConnectingPoint num="17" id="452" />
+<TGConnectingPoint num="18" id="453" />
+<TGConnectingPoint num="19" id="454" />
+<TGConnectingPoint num="20" id="455" />
+<TGConnectingPoint num="21" id="456" />
+<TGConnectingPoint num="22" id="457" />
+<TGConnectingPoint num="23" id="458" />
+<TGConnectingPoint num="24" id="459" />
+<TGConnectingPoint num="25" id="460" />
+<TGConnectingPoint num="26" id="461" />
+<TGConnectingPoint num="27" id="462" />
+<TGConnectingPoint num="28" id="463" />
+<TGConnectingPoint num="29" id="464" />
+<TGConnectingPoint num="30" id="465" />
+<TGConnectingPoint num="31" id="466" />
+<TGConnectingPoint num="32" id="467" />
+<TGConnectingPoint num="33" id="468" />
+<TGConnectingPoint num="34" id="469" />
+<TGConnectingPoint num="35" id="470" />
+<TGConnectingPoint num="36" id="471" />
+<TGConnectingPoint num="37" id="472" />
+<TGConnectingPoint num="38" id="473" />
+<TGConnectingPoint num="39" id="474" />
+<accessibility />
+<extraparam>
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="5104" id="486" >
+<cdparam x="382" y="256" />
+<sizeparam width="86" 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="Receive signal" value="testsig(x, b)" />
+<TGConnectingPoint num="0" id="476" />
+<TGConnectingPoint num="1" id="477" />
+<TGConnectingPoint num="2" id="478" />
+<TGConnectingPoint num="3" id="479" />
+<TGConnectingPoint num="4" id="480" />
+<TGConnectingPoint num="5" id="481" />
+<TGConnectingPoint num="6" id="482" />
+<TGConnectingPoint num="7" id="483" />
+<TGConnectingPoint num="8" id="484" />
+<TGConnectingPoint num="9" id="485" />
+<accessibility />
+</COMPONENT>
+
+<COMPONENT type="5101" id="488" >
+<cdparam x="486" y="475" />
+<sizeparam width="20" height="20" 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="stop state" value="null" />
+<TGConnectingPoint num="0" id="487" />
+</COMPONENT>
+
+<COMPONENT type="5106" id="529" >
+<cdparam x="312" y="122" />
+<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="900" />
+<infoparam name="state0" value="state0" />
+<TGConnectingPoint num="0" id="489" />
+<TGConnectingPoint num="1" id="490" />
+<TGConnectingPoint num="2" id="491" />
+<TGConnectingPoint num="3" id="492" />
+<TGConnectingPoint num="4" id="493" />
+<TGConnectingPoint num="5" id="494" />
+<TGConnectingPoint num="6" id="495" />
+<TGConnectingPoint num="7" id="496" />
+<TGConnectingPoint num="8" id="497" />
+<TGConnectingPoint num="9" id="498" />
+<TGConnectingPoint num="10" id="499" />
+<TGConnectingPoint num="11" id="500" />
+<TGConnectingPoint num="12" id="501" />
+<TGConnectingPoint num="13" id="502" />
+<TGConnectingPoint num="14" id="503" />
+<TGConnectingPoint num="15" id="504" />
+<TGConnectingPoint num="16" id="505" />
+<TGConnectingPoint num="17" id="506" />
+<TGConnectingPoint num="18" id="507" />
+<TGConnectingPoint num="19" id="508" />
+<TGConnectingPoint num="20" id="509" />
+<TGConnectingPoint num="21" id="510" />
+<TGConnectingPoint num="22" id="511" />
+<TGConnectingPoint num="23" id="512" />
+<TGConnectingPoint num="24" id="513" />
+<TGConnectingPoint num="25" id="514" />
+<TGConnectingPoint num="26" id="515" />
+<TGConnectingPoint num="27" id="516" />
+<TGConnectingPoint num="28" id="517" />
+<TGConnectingPoint num="29" id="518" />
+<TGConnectingPoint num="30" id="519" />
+<TGConnectingPoint num="31" id="520" />
+<TGConnectingPoint num="32" id="521" />
+<TGConnectingPoint num="33" id="522" />
+<TGConnectingPoint num="34" id="523" />
+<TGConnectingPoint num="35" id="524" />
+<TGConnectingPoint num="36" id="525" />
+<TGConnectingPoint num="37" id="526" />
+<TGConnectingPoint num="38" id="527" />
+<TGConnectingPoint num="39" id="528" />
+<extraparam>
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="5100" id="531" >
+<cdparam x="355" 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="530" />
+</COMPONENT>
+
+
+</AVATARStateMachineDiagramPanel>
+
+</Modeling>
+
+
+
+
+<Modeling type="AVATAR Design" nameTab="AVATAR Design" >
+<AVATARBlockDiagramPanel name="AVATAR Block Diagram" minX="10" maxX="1400" minY="10" maxY="900" >
+<MainCode value="void __user_init() {"/>
+<MainCode value="}"/>
+
+<CONNECTOR type="5002" id="533" >
+<cdparam x="547" y="225" />
+<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="532" />
+<P1  x="609" y="259" id="537" />
+<P2  x="499" y="493" id="588" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<isd value="in testsig(int x, bool b)" />
+<isd value="in testsig2(int x)" />
+<oso value="out testsig(int x, bool b)" />
+<oso value="out test2(int x)" />
+<FIFOType asynchronous="true" size="2" blocking="false" private="true" broadcast="false" lossy="false" />
+</extraparam>
+</CONNECTOR>
+<COMPONENT type="5000" id="558" >
+<cdparam x="609" y="157" />
+<sizeparam width="435" height="204" minWidth="5" minHeight="2" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="Block1" value="Generator" />
+<TGConnectingPoint num="0" id="534" />
+<TGConnectingPoint num="1" id="535" />
+<TGConnectingPoint num="2" id="536" />
+<TGConnectingPoint num="3" id="537" />
+<TGConnectingPoint num="4" id="538" />
+<TGConnectingPoint num="5" id="539" />
+<TGConnectingPoint num="6" id="540" />
+<TGConnectingPoint num="7" id="541" />
+<TGConnectingPoint num="8" id="542" />
+<TGConnectingPoint num="9" id="543" />
+<TGConnectingPoint num="10" id="544" />
+<TGConnectingPoint num="11" id="545" />
+<TGConnectingPoint num="12" id="546" />
+<TGConnectingPoint num="13" id="547" />
+<TGConnectingPoint num="14" id="548" />
+<TGConnectingPoint num="15" id="549" />
+<TGConnectingPoint num="16" id="550" />
+<TGConnectingPoint num="17" id="551" />
+<TGConnectingPoint num="18" id="552" />
+<TGConnectingPoint num="19" id="553" />
+<TGConnectingPoint num="20" id="554" />
+<TGConnectingPoint num="21" id="555" />
+<TGConnectingPoint num="22" id="556" />
+<TGConnectingPoint num="23" id="557" />
+<extraparam>
+<Attribute access="0" id="y" value="12" type="8" typeOther="" />
+<Attribute access="0" id="b" value="true" type="4" typeOther="" />
+<Signal value="out testsig(int x, bool b)" />
+<Signal value="out test2(int x)" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="5000" id="608" >
+<cdparam x="27" y="305" />
+<sizeparam width="472" height="376" minWidth="5" minHeight="2" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="Block0" value="TestBlock" />
+<TGConnectingPoint num="0" id="584" />
+<TGConnectingPoint num="1" id="585" />
+<TGConnectingPoint num="2" id="586" />
+<TGConnectingPoint num="3" id="587" />
+<TGConnectingPoint num="4" id="588" />
+<TGConnectingPoint num="5" id="589" />
+<TGConnectingPoint num="6" id="590" />
+<TGConnectingPoint num="7" id="591" />
+<TGConnectingPoint num="8" id="592" />
+<TGConnectingPoint num="9" id="593" />
+<TGConnectingPoint num="10" id="594" />
+<TGConnectingPoint num="11" id="595" />
+<TGConnectingPoint num="12" id="596" />
+<TGConnectingPoint num="13" id="597" />
+<TGConnectingPoint num="14" id="598" />
+<TGConnectingPoint num="15" id="599" />
+<TGConnectingPoint num="16" id="600" />
+<TGConnectingPoint num="17" id="601" />
+<TGConnectingPoint num="18" id="602" />
+<TGConnectingPoint num="19" id="603" />
+<TGConnectingPoint num="20" id="604" />
+<TGConnectingPoint num="21" id="605" />
+<TGConnectingPoint num="22" id="606" />
+<TGConnectingPoint num="23" id="607" />
+<extraparam>
+<Attribute access="0" id="y" value="41" type="8" typeOther="" />
+<Attribute access="0" id="b" value="true" type="4" typeOther="" />
+<Attribute access="0" id="x" value="" type="8" typeOther="" />
+<Method value="done(int x, bool b)" />
+<Signal value="in testsig(int x, bool b)" />
+<Signal value="in testsig2(int x)" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="5000" id="583" >
+<father id="608" num="0" />
+<cdparam x="148" y="433" />
+<sizeparam width="250" height="200" minWidth="5" minHeight="2" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="222" minY="0" maxY="176" />
+<infoparam name="Block0" value="ReceiverOfTest2" />
+<TGConnectingPoint num="0" id="559" />
+<TGConnectingPoint num="1" id="560" />
+<TGConnectingPoint num="2" id="561" />
+<TGConnectingPoint num="3" id="562" />
+<TGConnectingPoint num="4" id="563" />
+<TGConnectingPoint num="5" id="564" />
+<TGConnectingPoint num="6" id="565" />
+<TGConnectingPoint num="7" id="566" />
+<TGConnectingPoint num="8" id="567" />
+<TGConnectingPoint num="9" id="568" />
+<TGConnectingPoint num="10" id="569" />
+<TGConnectingPoint num="11" id="570" />
+<TGConnectingPoint num="12" id="571" />
+<TGConnectingPoint num="13" id="572" />
+<TGConnectingPoint num="14" id="573" />
+<TGConnectingPoint num="15" id="574" />
+<TGConnectingPoint num="16" id="575" />
+<TGConnectingPoint num="17" id="576" />
+<TGConnectingPoint num="18" id="577" />
+<TGConnectingPoint num="19" id="578" />
+<TGConnectingPoint num="20" id="579" />
+<TGConnectingPoint num="21" id="580" />
+<TGConnectingPoint num="22" id="581" />
+<TGConnectingPoint num="23" id="582" />
+<extraparam>
+<Attribute access="0" id="x" value="0" type="8" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+
+</AVATARBlockDiagramPanel>
+
+<AVATARStateMachineDiagramPanel name="Generator" minX="10" maxX="1400" minY="10" maxY="900" >
+<CONNECTOR type="5102" id="615" >
+<cdparam x="483" 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 stop state" value="null" />
+<TGConnectingPoint num="0" id="614" />
+<P1  x="483" y="319" id="642" />
+<P2  x="554" y="412" id="655" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="613" >
+<father id="615" num="0" />
+<cdparam x="483" y="359" />
+<sizeparam width="10" 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="609" />
+<TGConnectingPoint num="1" id="610" />
+<TGConnectingPoint num="2" id="611" />
+<TGConnectingPoint num="3" id="612" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="5102" id="622" >
+<cdparam x="400" y="155" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from TGComponent to Send signal" value="null" />
+<TGConnectingPoint num="0" id="621" />
+<P1  x="401" y="156" id="653" />
+<P2  x="437" y="208" id="657" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="620" >
+<father id="622" num="0" />
+<cdparam x="452" y="172" />
+<sizeparam width="78" 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="616" />
+<TGConnectingPoint num="1" id="617" />
+<TGConnectingPoint num="2" id="618" />
+<TGConnectingPoint num="3" id="619" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+<actions value="b = (!b) || (b)" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="5102" id="631" >
+<cdparam x="460" y="162" />
+<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="629" />
+<TGConnectingPoint num="1" id="630" />
+<P1  x="437" y="238" id="658" />
+<P2  x="483" y="289" id="641" />
+<Point x="445" y="257" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="623" >
+<father id="631" num="0" />
+<cdparam x="445" y="257" />
+<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="point " value="null" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="628" >
+<father id="631" num="1" />
+<cdparam x="469" y="261" />
+<sizeparam width="120" 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="624" />
+<TGConnectingPoint num="1" id="625" />
+<TGConnectingPoint num="2" id="626" />
+<TGConnectingPoint num="3" id="627" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+<actions value="y = y  + 1 + 3  +  4" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="5102" id="640" >
+<cdparam x="407" y="70" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from start state to Send signal" value="null" />
+<TGConnectingPoint num="0" id="638" />
+<TGConnectingPoint num="1" id="639" />
+<P1  x="347" y="55" id="668" />
+<P2  x="401" y="126" id="652" />
+<Point x="370" y="98" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="632" >
+<father id="640" num="0" />
+<cdparam x="370" y="98" />
+<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="point " value="null" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="637" >
+<father id="640" num="1" />
+<cdparam x="401" y="88" />
+<sizeparam width="68" 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="633" />
+<TGConnectingPoint num="1" id="634" />
+<TGConnectingPoint num="2" id="635" />
+<TGConnectingPoint num="3" id="636" />
+<extraparam>
+<guard value="[ b | b&amp;b]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="5103" id="651" >
+<cdparam x="457" y="294" />
+<sizeparam width="53" 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="test2(y)" />
+<TGConnectingPoint num="0" id="641" />
+<TGConnectingPoint num="1" id="642" />
+<TGConnectingPoint num="2" id="643" />
+<TGConnectingPoint num="3" id="644" />
+<TGConnectingPoint num="4" id="645" />
+<TGConnectingPoint num="5" id="646" />
+<TGConnectingPoint num="6" id="647" />
+<TGConnectingPoint num="7" id="648" />
+<TGConnectingPoint num="8" id="649" />
+<TGConnectingPoint num="9" id="650" />
+</COMPONENT>
+
+<COMPONENT type="5108" id="654" >
+<cdparam x="334" y="131" />
+<sizeparam width="135" 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="TGComponent" value="null" />
+<TGConnectingPoint num="0" id="652" />
+<TGConnectingPoint num="1" id="653" />
+<extraparam>
+<Data variable="y" minValue="0" maxValue="10" functionId="0" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="5101" id="656" >
+<cdparam x="544" y="417" />
+<sizeparam width="20" height="20" 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="stop state" value="null" />
+<TGConnectingPoint num="0" id="655" />
+</COMPONENT>
+
+<COMPONENT type="5103" id="667" >
+<cdparam x="399" y="213" />
+<sizeparam width="77" 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="testsig(y, b)" />
+<TGConnectingPoint num="0" id="657" />
+<TGConnectingPoint num="1" id="658" />
+<TGConnectingPoint num="2" id="659" />
+<TGConnectingPoint num="3" id="660" />
+<TGConnectingPoint num="4" id="661" />
+<TGConnectingPoint num="5" id="662" />
+<TGConnectingPoint num="6" id="663" />
+<TGConnectingPoint num="7" id="664" />
+<TGConnectingPoint num="8" id="665" />
+<TGConnectingPoint num="9" id="666" />
+<accessibility />
+</COMPONENT>
+
+<COMPONENT type="5100" id="669" >
+<cdparam x="340" y="35" />
+<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="668" />
+</COMPONENT>
+
+
+</AVATARStateMachineDiagramPanel>
+
+<AVATARStateMachineDiagramPanel name="TestBlock" minX="10" maxX="1400" minY="10" maxY="900" >
+<CONNECTOR type="5102" id="676" >
+<cdparam x="480" y="434" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from state1 to stop state" value="null" />
+<TGConnectingPoint num="0" id="675" />
+<P1  x="480" y="434" id="704" />
+<P2  x="496" y="470" id="750" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="674" >
+<father id="676" num="0" />
+<cdparam x="480" y="474" />
+<sizeparam width="10" 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="670" />
+<TGConnectingPoint num="1" id="671" />
+<TGConnectingPoint num="2" id="672" />
+<TGConnectingPoint num="3" id="673" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="5102" id="683" >
+<cdparam x="451" y="254" />
+<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="682" />
+<P1  x="425" y="254" id="740" />
+<P2  x="480" y="384" id="699" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="681" >
+<father id="683" num="0" />
+<cdparam x="468" y="290" />
+<sizeparam width="60" 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="677" />
+<TGConnectingPoint num="1" id="678" />
+<TGConnectingPoint num="2" id="679" />
+<TGConnectingPoint num="3" id="680" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+<actions value="done(x, b)" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="5102" id="690" >
+<cdparam x="344" y="199" />
+<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="689" />
+<P1  x="387" y="172" id="767" />
+<P2  x="425" y="224" id="739" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="688" >
+<father id="690" num="0" />
+<cdparam x="430" y="198" />
+<sizeparam width="202" 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="684" />
+<TGConnectingPoint num="1" id="685" />
+<TGConnectingPoint num="2" id="686" />
+<TGConnectingPoint num="3" id="687" />
+<extraparam>
+<guard value="[(y== 43) || (y==42)||(y == 41)]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+<filesToIncludeLine value="" />
+<codeToIncludeLine value="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="5102" id="697" >
+<cdparam x="338" y="91" />
+<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="696" />
+<P1  x="362" y="64" id="793" />
+<P2  x="362" y="122" id="753" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="695" >
+<father id="697" num="0" />
+<cdparam x="338" y="131" />
+<sizeparam width="10" 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="691" />
+<TGConnectingPoint num="1" id="692" />
+<TGConnectingPoint num="2" id="693" />
+<TGConnectingPoint num="3" id="694" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="5106" id="738" >
+<cdparam x="430" y="384" />
+<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="900" />
+<infoparam name="state1" value="GotSignalTest1" />
+<TGConnectingPoint num="0" id="698" />
+<TGConnectingPoint num="1" id="699" />
+<TGConnectingPoint num="2" id="700" />
+<TGConnectingPoint num="3" id="701" />
+<TGConnectingPoint num="4" id="702" />
+<TGConnectingPoint num="5" id="703" />
+<TGConnectingPoint num="6" id="704" />
+<TGConnectingPoint num="7" id="705" />
+<TGConnectingPoint num="8" id="706" />
+<TGConnectingPoint num="9" id="707" />
+<TGConnectingPoint num="10" id="708" />
+<TGConnectingPoint num="11" id="709" />
+<TGConnectingPoint num="12" id="710" />
+<TGConnectingPoint num="13" id="711" />
+<TGConnectingPoint num="14" id="712" />
+<TGConnectingPoint num="15" id="713" />
+<TGConnectingPoint num="16" id="714" />
+<TGConnectingPoint num="17" id="715" />
+<TGConnectingPoint num="18" id="716" />
+<TGConnectingPoint num="19" id="717" />
+<TGConnectingPoint num="20" id="718" />
+<TGConnectingPoint num="21" id="719" />
+<TGConnectingPoint num="22" id="720" />
+<TGConnectingPoint num="23" id="721" />
+<TGConnectingPoint num="24" id="722" />
+<TGConnectingPoint num="25" id="723" />
+<TGConnectingPoint num="26" id="724" />
+<TGConnectingPoint num="27" id="725" />
+<TGConnectingPoint num="28" id="726" />
+<TGConnectingPoint num="29" id="727" />
+<TGConnectingPoint num="30" id="728" />
+<TGConnectingPoint num="31" id="729" />
+<TGConnectingPoint num="32" id="730" />
+<TGConnectingPoint num="33" id="731" />
+<TGConnectingPoint num="34" id="732" />
+<TGConnectingPoint num="35" id="733" />
+<TGConnectingPoint num="36" id="734" />
+<TGConnectingPoint num="37" id="735" />
+<TGConnectingPoint num="38" id="736" />
+<TGConnectingPoint num="39" id="737" />
+<accessibility />
+<extraparam>
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="5104" id="749" >
+<cdparam x="382" y="229" />
+<sizeparam width="86" 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="Receive signal" value="testsig(x, b)" />
+<TGConnectingPoint num="0" id="739" />
+<TGConnectingPoint num="1" id="740" />
+<TGConnectingPoint num="2" id="741" />
+<TGConnectingPoint num="3" id="742" />
+<TGConnectingPoint num="4" id="743" />
+<TGConnectingPoint num="5" id="744" />
+<TGConnectingPoint num="6" id="745" />
+<TGConnectingPoint num="7" id="746" />
+<TGConnectingPoint num="8" id="747" />
+<TGConnectingPoint num="9" id="748" />
+<accessibility />
+</COMPONENT>
+
+<COMPONENT type="5101" id="751" >
+<cdparam x="486" y="475" />
+<sizeparam width="20" height="20" 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="stop state" value="null" />
+<TGConnectingPoint num="0" id="750" />
+</COMPONENT>
+
+<COMPONENT type="5106" id="792" >
+<cdparam x="312" y="122" />
+<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="900" />
+<infoparam name="state0" value="state0" />
+<TGConnectingPoint num="0" id="752" />
+<TGConnectingPoint num="1" id="753" />
+<TGConnectingPoint num="2" id="754" />
+<TGConnectingPoint num="3" id="755" />
+<TGConnectingPoint num="4" id="756" />
+<TGConnectingPoint num="5" id="757" />
+<TGConnectingPoint num="6" id="758" />
+<TGConnectingPoint num="7" id="759" />
+<TGConnectingPoint num="8" id="760" />
+<TGConnectingPoint num="9" id="761" />
+<TGConnectingPoint num="10" id="762" />
+<TGConnectingPoint num="11" id="763" />
+<TGConnectingPoint num="12" id="764" />
+<TGConnectingPoint num="13" id="765" />
+<TGConnectingPoint num="14" id="766" />
+<TGConnectingPoint num="15" id="767" />
+<TGConnectingPoint num="16" id="768" />
+<TGConnectingPoint num="17" id="769" />
+<TGConnectingPoint num="18" id="770" />
+<TGConnectingPoint num="19" id="771" />
+<TGConnectingPoint num="20" id="772" />
+<TGConnectingPoint num="21" id="773" />
+<TGConnectingPoint num="22" id="774" />
+<TGConnectingPoint num="23" id="775" />
+<TGConnectingPoint num="24" id="776" />
+<TGConnectingPoint num="25" id="777" />
+<TGConnectingPoint num="26" id="778" />
+<TGConnectingPoint num="27" id="779" />
+<TGConnectingPoint num="28" id="780" />
+<TGConnectingPoint num="29" id="781" />
+<TGConnectingPoint num="30" id="782" />
+<TGConnectingPoint num="31" id="783" />
+<TGConnectingPoint num="32" id="784" />
+<TGConnectingPoint num="33" id="785" />
+<TGConnectingPoint num="34" id="786" />
+<TGConnectingPoint num="35" id="787" />
+<TGConnectingPoint num="36" id="788" />
+<TGConnectingPoint num="37" id="789" />
+<TGConnectingPoint num="38" id="790" />
+<TGConnectingPoint num="39" id="791" />
+<extraparam>
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="5100" id="794" >
+<cdparam x="355" 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="793" />
+</COMPONENT>
+
+
+</AVATARStateMachineDiagramPanel>
+
+<AVATARStateMachineDiagramPanel name="ReceiverOfTest2" minX="10" maxX="1400" minY="10" maxY="900" >
+<CONNECTOR type="5102" id="807" >
+<cdparam x="441" y="243" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from Receive signal to state0" value="null" />
+<TGConnectingPoint num="0" id="803" />
+<TGConnectingPoint num="1" id="804" />
+<TGConnectingPoint num="2" id="805" />
+<TGConnectingPoint num="3" id="806" />
+<P1  x="441" y="243" id="823" />
+<P2  x="656" y="127" id="837" />
+<Point x="458" y="360" />
+<Point x="765" y="350" />
+<Point x="757" y="124" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="795" >
+<father id="807" num="0" />
+<cdparam x="458" y="360" />
+<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="point " value="null" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="796" >
+<father id="807" num="1" />
+<cdparam x="765" y="350" />
+<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="point " value="null" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="797" >
+<father id="807" num="2" />
+<cdparam x="757" y="124" />
+<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="point " value="null" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="802" >
+<father id="807" num="3" />
+<cdparam x="441" y="283" />
+<sizeparam width="10" 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="798" />
+<TGConnectingPoint num="1" id="799" />
+<TGConnectingPoint num="2" id="800" />
+<TGConnectingPoint num="3" id="801" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="5102" id="814" >
+<cdparam x="407" y="70" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from start state to state0" value="null" />
+<TGConnectingPoint num="0" id="813" />
+<P1  x="407" y="70" id="874" />
+<P2  x="406" y="102" id="850" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="812" >
+<father id="814" num="0" />
+<cdparam x="407" y="110" />
+<sizeparam width="10" 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="808" />
+<TGConnectingPoint num="1" id="809" />
+<TGConnectingPoint num="2" id="810" />
+<TGConnectingPoint num="3" id="811" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="5102" id="821" >
+<cdparam x="458" y="152" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from state0 to Receive signal" value="null" />
+<TGConnectingPoint num="0" id="820" />
+<P1  x="458" y="152" id="839" />
+<P2  x="441" y="213" id="822" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="819" >
+<father id="821" num="0" />
+<cdparam x="458" y="192" />
+<sizeparam width="10" 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="815" />
+<TGConnectingPoint num="1" id="816" />
+<TGConnectingPoint num="2" id="817" />
+<TGConnectingPoint num="3" id="818" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="5104" id="832" >
+<cdparam x="402" y="218" />
+<sizeparam width="78" 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="Receive signal" value="testsig2(x)" />
+<TGConnectingPoint num="0" id="822" />
+<TGConnectingPoint num="1" id="823" />
+<TGConnectingPoint num="2" id="824" />
+<TGConnectingPoint num="3" id="825" />
+<TGConnectingPoint num="4" id="826" />
+<TGConnectingPoint num="5" id="827" />
+<TGConnectingPoint num="6" id="828" />
+<TGConnectingPoint num="7" id="829" />
+<TGConnectingPoint num="8" id="830" />
+<TGConnectingPoint num="9" id="831" />
+</COMPONENT>
+
+<COMPONENT type="5106" id="873" >
+<cdparam x="260" y="102" />
+<sizeparam width="396" 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="900" />
+<infoparam name="state0" value="WaitingTest2Signal" />
+<TGConnectingPoint num="0" id="833" />
+<TGConnectingPoint num="1" id="834" />
+<TGConnectingPoint num="2" id="835" />
+<TGConnectingPoint num="3" id="836" />
+<TGConnectingPoint num="4" id="837" />
+<TGConnectingPoint num="5" id="838" />
+<TGConnectingPoint num="6" id="839" />
+<TGConnectingPoint num="7" id="840" />
+<TGConnectingPoint num="8" id="841" />
+<TGConnectingPoint num="9" id="842" />
+<TGConnectingPoint num="10" id="843" />
+<TGConnectingPoint num="11" id="844" />
+<TGConnectingPoint num="12" id="845" />
+<TGConnectingPoint num="13" id="846" />
+<TGConnectingPoint num="14" id="847" />
+<TGConnectingPoint num="15" id="848" />
+<TGConnectingPoint num="16" id="849" />
+<TGConnectingPoint num="17" id="850" />
+<TGConnectingPoint num="18" id="851" />
+<TGConnectingPoint num="19" id="852" />
+<TGConnectingPoint num="20" id="853" />
+<TGConnectingPoint num="21" id="854" />
+<TGConnectingPoint num="22" id="855" />
+<TGConnectingPoint num="23" id="856" />
+<TGConnectingPoint num="24" id="857" />
+<TGConnectingPoint num="25" id="858" />
+<TGConnectingPoint num="26" id="859" />
+<TGConnectingPoint num="27" id="860" />
+<TGConnectingPoint num="28" id="861" />
+<TGConnectingPoint num="29" id="862" />
+<TGConnectingPoint num="30" id="863" />
+<TGConnectingPoint num="31" id="864" />
+<TGConnectingPoint num="32" id="865" />
+<TGConnectingPoint num="33" id="866" />
+<TGConnectingPoint num="34" id="867" />
+<TGConnectingPoint num="35" id="868" />
+<TGConnectingPoint num="36" id="869" />
+<TGConnectingPoint num="37" id="870" />
+<TGConnectingPoint num="38" id="871" />
+<TGConnectingPoint num="39" id="872" />
+<extraparam>
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="5100" id="875" >
+<cdparam x="400" y="50" />
+<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="874" />
 </COMPONENT>
 
 
diff --git a/src/Main.java b/src/Main.java
index f478cc1b9fd628d66099b6249e5c47327edc0f5b..8b38299f76e9010d64b1ef60c6f103aeb6b18d8a 100755
--- a/src/Main.java
+++ b/src/Main.java
@@ -71,8 +71,14 @@ public class Main implements ActionListener {
 	
     public static void main(String[] args) {
     	
-    	testMatrix();
+    	testBoolExpr();
+    	//testMatrix();
 		
+/*    	int x = 5 * 2 + 3;
+    	int y = 3 + 5 * 2;
+    	System.out.println("x=" + x + " y=" + y);*/
+    	
+    	
 		TraceManager.devPolicy = TraceManager.TO_DEVNULL;
         
         System.out.println("\n*** TTool version: " + DefaultText.getFullVersion() + " ***\n");
@@ -398,5 +404,26 @@ public class Main implements ActionListener {
     	
     }
     
+    public static void testBoolExpr() {
+    	
+    	
+    	evalBool("t or f");
+    	
+    	evalBool("(t) or f");
+    	
+    	
+    	
+    	System.exit(-1);
+    }
+    
+    public static void evalBool(String s) {
+    	BoolExpressionEvaluator bee = new BoolExpressionEvaluator();
+    	System.out.println("->Result of " + s + " =" + bee.getResultOf(s));
+    	if (bee.hasError()) {
+    		System.out.println("Error = " + bee.getFullError());
+    	}
+    	System.out.println("\n\n");
+    }
+    
 } // Class Main
 
diff --git a/src/Test.java b/src/Test.java
new file mode 100755
index 0000000000000000000000000000000000000000..345ea6816b9a8c3d565aa4417d8abfe854116550
--- /dev/null
+++ b/src/Test.java
@@ -0,0 +1,115 @@
+/**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 Main
+ * starts the main Windows and a project manager
+ * Creation: 01/12/2003
+ * @version 1.0 21/08/2004
+ * @author Ludovic APVRILLE
+ * @see
+ */
+
+
+
+import myutil.*;
+
+
+public class Test  {
+   
+	
+    public static void main(String[] args) {
+    	
+    	testBoolExpr();
+    	
+    }
+    
+    public static void testBoolExpr() {
+    	int nbOfPb = 0;
+    	
+    	nbOfPb += evalBool("t or f", true, false);
+    	
+    	nbOfPb += evalBool("(t) or f", true, false);
+    	
+    	nbOfPb += evalBool("(t) or f)", true, true);
+    	
+    	nbOfPb += evalBool("((t) or f)", true, false);
+    	
+    	nbOfPb += evalBool("((t) and f)", false, false);
+    	
+    	nbOfPb += evalBool("t and f and t", false, false);
+    	
+    	
+    	nbOfPb += evalBool("(2==2)==f", false, false);
+    	nbOfPb += evalBool("(2==1)==f", true, false);
+    	nbOfPb += evalBool("(2>1)==f", false, false);
+    	
+    	nbOfPb += evalBool("f==2==2", false, false);
+    	
+    	nbOfPb += evalBool("((3>5)or(4<6))and(1>2)", false, false);
+    	nbOfPb += evalBool("((3>5)or(4<6))and(2>1)", true, false);
+    	nbOfPb += evalBool("((3>5)or or (4<6))and(2>1)", true, true);
+    	
+    	nbOfPb += evalBool("f or t)", true, true);
+    	
+    	System.out.println("Nb of problems found:" + nbOfPb);
+    	
+    	System.exit(-1);
+    }
+    
+    public static int evalBool(String s, boolean expectedValue, boolean expectedError) {
+    	BoolExpressionEvaluator bee = new BoolExpressionEvaluator();
+    	boolean val = bee.getResultOf(s);
+    	boolean err = bee.hasError();
+    	
+    	if ((val != expectedValue) || (err != expectedError)) {
+    	
+    	System.out.println("\n-------------------->Result of " + s + " =" + bee.getResultOf(s));
+    	if (bee.hasError()) {
+    		System.out.println("Error = " + bee.getFullError());
+    	}
+    	System.out.println("\n\n");
+    	return 1;
+    	}
+    	
+    	return 0;
+    	
+    	
+    }
+
+} // Class Test
+
diff --git a/src/avatartranslator/AvatarAttribute.java b/src/avatartranslator/AvatarAttribute.java
index f930bf6065daf7d16b4ef7fb8d3cf2f3f7a7e642..4949d659ba2ac0819e6603cac3474a2b400b5b20 100644
--- a/src/avatartranslator/AvatarAttribute.java
+++ b/src/avatartranslator/AvatarAttribute.java
@@ -96,6 +96,10 @@ public class AvatarAttribute extends AvatarElement{
 		return AvatarType.getDefaultInitialValue(type);
 	}
 	
+	public String getDefaultInitialValueTF() {
+		return AvatarType.getDefaultInitialValueTF(type);
+	}
+	
 	public int getType() {
 		return type;
 	}
diff --git a/src/avatartranslator/AvatarSyntaxChecker.java b/src/avatartranslator/AvatarSyntaxChecker.java
index e9e0dd286847dea4124225ffe76fedca4a4b3239..e0d6c27651b55498ed4f90774ba4eff5f535b532 100644
--- a/src/avatartranslator/AvatarSyntaxChecker.java
+++ b/src/avatartranslator/AvatarSyntaxChecker.java
@@ -128,7 +128,7 @@ public class AvatarSyntaxChecker  {
 		String act = tmp;
 		
 		for(AvatarAttribute aa: _ab.getAttributes()) {
-			act = Conversion.putVariableValueInString(AvatarSpecification.ops, act, aa.getName(), aa.getDefaultInitialValue());
+			act = Conversion.putVariableValueInString(AvatarSpecification.ops, act, aa.getName(), aa.getDefaultInitialValueTF());
 		}
 		
 		BoolExpressionEvaluator bee = new BoolExpressionEvaluator();
diff --git a/src/avatartranslator/AvatarType.java b/src/avatartranslator/AvatarType.java
index 8f171dc73eb929fe27a78c960ee41f654e7fcbe0..99595f7a6e417299f2a00c355ff2404d882c9ae9 100644
--- a/src/avatartranslator/AvatarType.java
+++ b/src/avatartranslator/AvatarType.java
@@ -98,4 +98,16 @@ public class AvatarType {
         }
 		return "";
 	}
+	
+	public static String getDefaultInitialValueTF(int _type) {
+		switch(_type) {
+            case BOOLEAN:
+                return "f";
+			case INTEGER:
+                return "0";
+			case TIMER:
+                return "0";
+        }
+		return "";
+	}
 }
\ No newline at end of file
diff --git a/src/avatartranslator/directsimulation/AvatarSimulationAsynchronousTransaction.java b/src/avatartranslator/directsimulation/AvatarSimulationAsynchronousTransaction.java
index f654ad178f1702f5da5b2642b6422b14f18473fb..fe84863b133571363cb3f866c41ab69e36b9f527 100644
--- a/src/avatartranslator/directsimulation/AvatarSimulationAsynchronousTransaction.java
+++ b/src/avatartranslator/directsimulation/AvatarSimulationAsynchronousTransaction.java
@@ -113,6 +113,19 @@ public class AvatarSimulationAsynchronousTransaction  {
 		ret += relation.block2.getName() + "." + sig2.getName();
 		
 		
+		return ret;
+	}
+	
+	public String parametersToString() {
+		String ret="(";
+		for(int i=0; i<parameters.size(); i++) {
+			if (i !=0) {
+				ret += ",";
+			}
+			ret += parameters.get(i);
+		}
+		ret += ")";
+		
 		return ret;
 	}
 }
\ No newline at end of file
diff --git a/src/myutil/BoolExpressionEvaluator.java b/src/myutil/BoolExpressionEvaluator.java
index 97f529b01658c7719e1c2569660d6d7fa5343e69..af6004cbd9e12dbcff62e1684b9e381c67ac2ad0 100755
--- a/src/myutil/BoolExpressionEvaluator.java
+++ b/src/myutil/BoolExpressionEvaluator.java
@@ -49,8 +49,8 @@ import java.util.*;
 
 public class BoolExpressionEvaluator {
 	
-	public static final String TRUE = "true";
-	public static final String FALSE = "false";
+	public static final String TRUE = "t";
+	public static final String FALSE = "f";
 	
 	public static final int TRUE_VALUE = 1;
 	public static final int FALSE_VALUE = 0;
@@ -58,14 +58,20 @@ public class BoolExpressionEvaluator {
 	public static final int NUMBER_TOKEN = -1;
 	public static final int BOOL_TOKEN = -2;
 	public static final int EQUAL_TOKEN = -3;
-	public static final int LT_TOKEN = -4;
-	public static final int GT_TOKEN = -5;
-	public static final int NEG_TOKEN = -6;
+	public static final int NOT_TOKEN = -6;
 	public static final int OR_TOKEN = -7;
 	public static final int AND_TOKEN = -8;
+	public static final int LT_TOKEN = -4;
+	public static final int GT_TOKEN = -5;
 	public static final int LTEQ_TOKEN = -9;
 	public static final int GTEQ_TOKEN = -10;
 	public static final int EOLN_TOKEN = -11;
+	public static final int OPEN_PAR_TOKEN = -12;
+	public static final int CLOSE_PAR_TOKEN = -13;
+	public static final int WHITE_SPACE_TOKEN = -14;
+	
+	// PARSING_STAGE
+	public static final int BEGIN_EXPR = 1;
 	
 	private StringTokenizer tokens;
 	private String errorMessage = null;
@@ -80,6 +86,15 @@ public class BoolExpressionEvaluator {
 	}
 	
 	public String getError() {
+		int index = errorMessage.indexOf("/");
+		if (index == -1) {
+			return errorMessage;
+		}
+		
+		return errorMessage.substring(index+1, errorMessage.length());
+	}
+	
+	public String getFullError() {
 		return errorMessage;
 	}
 	
@@ -132,9 +147,21 @@ public class BoolExpressionEvaluator {
 		
 		//TraceManager.addDev("Computing:" + _expr);
 		
-		tokens = new java.util.StringTokenizer(_expr," \t\n\r+-*/!=&|<>:;()",true);
+		tokens = new java.util.StringTokenizer(_expr," \t\n\r!=&|<>():;tf",true);
 		
-		computeNextToken();
+		int result = parseRootExpr1();
+		
+		if (result == TRUE_VALUE) {
+			TraceManager.addDev("equal true");
+			return true;
+		}
+		
+		if (result == FALSE_VALUE) {
+			TraceManager.addDev("equal false");
+			return false;
+		}
+		
+		/*computeNextToken();
 		int result =  (int)(parseExpression());
 		
 		if (errorMessage != null) {
@@ -147,22 +174,357 @@ public class BoolExpressionEvaluator {
 		}
 		
 		if (result == TRUE_VALUE) {
-			//TraceManager.addDev("equal true");
+			TraceManager.addDev("equal true");
 			return true;
 		}
 		
 		if (result == FALSE_VALUE) {
-			//TraceManager.addDev("equal false");
+			TraceManager.addDev("equal false");
 			return false;
 		}
 		
 		errorMessage = "Not a boolean expression: " + _expr;
 		
-		TraceManager.addDev("Error:" + errorMessage);
+		TraceManager.addDev("Error:" + errorMessage);*/
 		return false;
 	}
 	
 	
+	public int parseRootExpr1() {
+		int[] result = parseNonEmptyExpr();
+		
+		if ((result[1] == NUMBER_TOKEN) && (errorMessage == null)) {
+			errorMessage = "0/Unexpected integer value";
+			return result[0];
+		}
+		
+		return result[0];
+		
+	}
+	
+	// Returns the value and type of the return
+	// <boolexpr>
+	public int[] parseNonEmptyExpr() {
+		TraceManager.addDev("1/Parsing non empty expr");
+		int[] result = new int[2];
+		
+		computeNextToken1();
+		
+		TraceManager.addDev("currentType=" + currentType);
+	
+		if (endOfParsing()) {
+			errorMessage = "2/Unexpected end of expression";
+			return result;
+		}
+	
+		
+		if (currentType == CLOSE_PAR_TOKEN) {
+			errorMessage = "3/Unexpected closing parenthesis";
+			return result;
+		}
+		
+		if ((currentType == BOOL_TOKEN) || (currentType == NUMBER_TOKEN)) {
+			result[0] = currentValue;
+			result[1] = currentType;
+			//computeNextToken();
+			return parseEmptyOrOpExpr(result);
+		}
+		
+		TraceManager.addDev("Testing parenthesis type=" + currentType);
+		if (currentType == NOT_TOKEN) {
+			result = parseNonEmptyExpr();
+			if (result[0] == 0) {
+				result[0] = 1;
+			} else {
+				result[0] = 0;
+			}
+			return result;
+		}
+		
+		if (currentType == OPEN_PAR_TOKEN) {
+			TraceManager.addDev("opening par token");
+			result = parseNonEmptyExpr();
+			if (currentType != CLOSE_PAR_TOKEN) {
+				errorMessage = "4/Expecting closing parenthesis";
+				return result;
+			}
+			
+			return parseEmptyOrOpExpr(result);
+		}
+		
+		return result;
+	}
+	
+	// <empty> or <op bool/int expr>
+	public int[] parseEmptyOrOpExpr(int[] result) {
+		TraceManager.addDev("parseEmptyOrOpExpr result0= " + result[0] + " result1=" + result[1] + " currentType=" + currentType);
+		
+		computeNextToken1();
+		
+		if (endOfParsing()) {
+			return result;
+		}
+		
+		if ((currentType == BOOL_TOKEN) || (currentType == NUMBER_TOKEN)) {
+			errorMessage = "5/Unexpected value";
+			return result;
+		}
+		
+		if (currentType == OPEN_PAR_TOKEN) {
+			errorMessage = "6/Unexpected opening parenthesis";
+			return result;
+		}
+		
+		if (currentType == CLOSE_PAR_TOKEN) {
+			//errorMessage = "7/Unexpected closing parenthesis";
+			return result;
+		}
+		
+		return parseBeginExprOp(result);
+	}
+	
+	
+	//<op bool/int expr>
+	// Wrning: token already computed
+	public int[] parseBeginExprOp(int[] result) {
+		TraceManager.addDev("parseBeginExprOp result0= " + result[0] + " result1=" + result[1] + " currentType=" + currentType);
+		if (endOfParsing()) {
+			errorMessage = "8/Unexpected end of expression";
+			return result;
+		}
+	
+		
+		if (currentType == CLOSE_PAR_TOKEN) {
+			errorMessage = "9/Unexpected closing parenthesis";
+			return result;
+		}
+		
+		if (currentType == OPEN_PAR_TOKEN) {
+			errorMessage = "10/Unexpected opening parenthesis";
+			return result;
+		}
+		
+		if ((currentType == BOOL_TOKEN) || (currentType == NUMBER_TOKEN)) {
+			errorMessage = "11/Unexpected value";
+			return result;
+		}
+		
+		// So, this is an op!
+		int typeOfOp = currentType;
+		TraceManager.addDev("Parsing right expression");
+		int resultRight[] = parseNonEmptyExpr();
+		
+		if (hasError()) {
+			return result;
+		}
+		
+		// Same type on operand
+		if (resultRight[1] != result[1]) {
+			errorMessage = "12/Type on left and right operand not compatible";
+			return result;
+		}
+		
+		// Boolean ops
+		if (resultRight[1] == BOOL_TOKEN) {
+			TraceManager.addDev("** Bool operator = " + typeOfOp);
+			if (typeOfOp == EQUAL_TOKEN) {
+				if (result[0] == resultRight[0]) {
+					result[0] = 1; 
+				} else {
+					result[0] = 0; 
+				}
+				
+			} else if (typeOfOp == OR_TOKEN) {
+				result[0] = result[0] + resultRight[0];
+				if (result[0] > 1) {
+					result[0] = 1;
+				}
+				TraceManager.addDev("Or result=" + result[0]);
+				
+			} else if (typeOfOp == AND_TOKEN) {
+				result[0] = (result[0] * resultRight[0]);
+				
+			} else {
+				errorMessage = "13/Invalid boolean operator";
+			}
+					
+		// Int ops
+		} else {
+			TraceManager.addDev("** Int operator = " + typeOfOp);
+			if (typeOfOp == EQUAL_TOKEN) {
+				if (result[0] == resultRight[0]) {
+					result[0] = 1; 
+				} else {
+					result[0] = 0; 
+				}
+				result[1] = BOOL_TOKEN;
+				
+			} else if (typeOfOp == LT_TOKEN) {
+				if (result[0] < resultRight[0]) {
+					result[0] = 1; 
+				} else {
+					result[0] = 0; 
+				}
+				result[1] = BOOL_TOKEN;
+				
+			} else if (typeOfOp == GT_TOKEN) {
+				if (result[0] > resultRight[0]) {
+					result[0] = 1; 
+				} else {
+					result[0] = 0; 
+				}
+				result[1] = BOOL_TOKEN;
+				
+			} else if (typeOfOp == GTEQ_TOKEN) {
+				if (result[0] >= resultRight[0]) {
+					result[0] = 1; 
+				} else {
+					result[0] = 0; 
+				}
+				result[1] = BOOL_TOKEN;
+				
+			} else if (typeOfOp == LTEQ_TOKEN) {
+				if (result[0] <= resultRight[0]) {
+					result[0] = 1; 
+				} else {
+					result[0] = 0; 
+				}
+				result[1] = BOOL_TOKEN;
+			}
+				
+		}
+		
+		return result;
+		
+	}
+	
+	
+	public boolean endOfParsing() {
+		return (currentType == EOLN_TOKEN);
+	}
+	
+	
+	
+	public void computeNextToken1() {
+		// If we're at the end, make it an EOLN_TOKEN.
+		if (!tokens.hasMoreTokens()) {
+			currentType = EOLN_TOKEN;
+			return;
+		}
+		
+		// Get a token--if it looks like a number, 
+		// make it a NUMBER_TOKEN.
+		
+		String s = tokens.nextToken();
+		TraceManager.addDev("Token? = >" + s + "<");
+		
+		char c1 = s.charAt(0);
+		if (Character.isDigit(c1)) {
+			TraceManager.addDev("digit found");
+			try {
+				currentValue = Integer.valueOf(s).intValue();
+				currentType = NUMBER_TOKEN;
+				//System.out.println("value:" + s);
+			}
+			catch (NumberFormatException x) {
+				errorMessage = "Illegal format for a number.";
+			}
+			return;
+		}
+		
+		//TraceManager.addDev("next 1");
+		
+		if (s.compareTo(TRUE) == 0) {
+			currentValue = TRUE_VALUE;
+			currentType = BOOL_TOKEN;
+			//TraceManager.addDev("true token!");
+			return;
+		}
+		
+		if (s.compareTo(FALSE) == 0) {
+			currentValue = FALSE_VALUE;
+			currentType = BOOL_TOKEN;
+			//TraceManager.addDev("false token!");
+			return;
+		}
+		
+		if (s.compareTo("<") == 0) {
+			currentValue = 0;
+			currentType = LT_TOKEN;
+			return;
+		}
+		
+		if (s.compareTo(">") == 0) {
+			currentValue = 0;
+			currentType = GT_TOKEN;
+			return;
+		}
+		
+		if (s.compareTo(":") == 0) {
+			currentValue = 0;
+			currentType = GTEQ_TOKEN;
+			return;
+		}
+		
+		if (s.compareTo(";") == 0) {
+			currentValue = 0;
+			currentType = LTEQ_TOKEN;
+			return;
+		}
+		
+		if (s.compareTo("=") == 0) {
+			currentValue = 0;
+			currentType = EQUAL_TOKEN;
+			return;
+		}
+		
+		if (s.compareTo("!") == 0) {
+			currentValue = 0;
+			currentType = NOT_TOKEN;
+			return;
+		}
+		
+		if (s.compareTo("|") == 0) {
+			currentValue = 0;
+			currentType = OR_TOKEN;
+			return;
+		}
+		if (s.compareTo("&") == 0) {
+			currentValue = 0;
+			currentType = AND_TOKEN;
+			return;
+		}
+		
+		if (s.compareTo(")") == 0) {
+			currentType = CLOSE_PAR_TOKEN;
+			nbOpen --;
+			if (nbOpen < 0) {
+				TraceManager.addDev("Boolean expr: Found pb with a parenthesis");
+				errorMessage = "Parenthesis mismatch";
+			}
+			return;
+		}
+		
+		//TraceManager.addDev("next 10");
+		
+		if (s.compareTo("(") == 0) {
+			//TraceManager.addDev("opening par token");
+			currentType = OPEN_PAR_TOKEN;
+			nbOpen ++;
+			return;
+		}
+		
+		// Any other single character that is not 
+		// white space is a token.
+		
+		if (Character.isWhitespace(c1)) {
+			currentType = WHITE_SPACE_TOKEN;
+			TraceManager.addDev("White space found: looping");
+			computeNextToken1();
+		}
+	}
+	
+	
 	
 	/**
 	* Match a given token and advance to the next.  
@@ -367,11 +729,11 @@ public class BoolExpressionEvaluator {
 					return FALSE_VALUE;
 				}
 				
-			} else if (currentType == NEG_TOKEN) {
-				match(NEG_TOKEN);
+			} else if (currentType == NOT_TOKEN) {
+				match(NOT_TOKEN);
 				if (errorMessage != null) return result;
 				
-				TraceManager.addDev("NEG TOKEN!");
+				TraceManager.addDev("NOT TOKEN!");
 				resulttmp = parseRootexp();
 				//intresult = (int)(resulttmp);
 				//intresult2 = (int)(result);
@@ -446,8 +808,8 @@ public class BoolExpressionEvaluator {
 			if (errorMessage != null) return result;
 		}
 		
-		else if (currentType==NEG_TOKEN){
-			match(NEG_TOKEN);
+		else if (currentType==NOT_TOKEN){
+			match(NOT_TOKEN);
 			result = parseExpression();
 			if (result == TRUE_VALUE) {
 				result = FALSE_VALUE;
@@ -482,7 +844,7 @@ public class BoolExpressionEvaluator {
 			// make it a NUMBER_TOKEN.
 			
 			String s = tokens.nextToken();
-			//TraceManager.addDev("Token? = >" + s + "<");
+			TraceManager.addDev("Token? = >" + s + "<");
 			
 			char c1 = s.charAt(0);
 			if (Character.isDigit(c1)) {
@@ -516,55 +878,47 @@ public class BoolExpressionEvaluator {
 			if (s.compareTo("<") == 0) {
 				currentValue = 0;
 				currentType = LT_TOKEN;
-				//TraceManager.addDev("equal token!");
 				return;
 			}
 			
 			if (s.compareTo(">") == 0) {
 				currentValue = 0;
 				currentType = GT_TOKEN;
-				//TraceManager.addDev("equal token!");
 				return;
 			}
 			
 			if (s.compareTo(":") == 0) {
 				currentValue = 0;
 				currentType = GTEQ_TOKEN;
-				//TraceManager.addDev("equal token!");
 				return;
 			}
 			
 			if (s.compareTo(";") == 0) {
 				currentValue = 0;
 				currentType = LTEQ_TOKEN;
-				//TraceManager.addDev("equal token!");
 				return;
 			}
 			
 			if (s.compareTo("=") == 0) {
 				currentValue = 0;
 				currentType = EQUAL_TOKEN;
-				//TraceManager.addDev("equal token!");
 				return;
 			}
 			
 			if (s.compareTo("!") == 0) {
 				currentValue = 0;
-				currentType = NEG_TOKEN;
-				//TraceManager.addDev("equal token!");
+				currentType = NOT_TOKEN;
 				return;
 			}
 			
 			if (s.compareTo("|") == 0) {
 				currentValue = 0;
 				currentType = OR_TOKEN;
-				//TraceManager.addDev("equal token!");
 				return;
 			}
 			if (s.compareTo("&") == 0) {
 				currentValue = 0;
 				currentType = AND_TOKEN;
-				//TraceManager.addDev("equal token!");
 				return;
 			}
 			
diff --git a/src/ui/MainGUI.java b/src/ui/MainGUI.java
index 04c99ee5a958da6483fda0e268fe22349a9c5474..8866f7878892cee9e024c526d98f475495e1b8a9 100755
--- a/src/ui/MainGUI.java
+++ b/src/ui/MainGUI.java
@@ -6321,6 +6321,13 @@ public	class MainGUI implements ActionListener, WindowListener, KeyListener, Per
 		return 0;
 	}
 	
+	public String[] hasMessageInformationForAvatarConnector(AvatarBDPortConnector _conn) {
+		if(jfais.isVisible()) {
+			return jfais.getFirstMessagesOnEachConnectorSide(_conn);
+		}
+		return null;
+	}
+	
 	public void setDiploAnimate(boolean b) {
 		TDiagramPanel.DIPLO_ANIMATE_ON = b;
 		TDiagramPanel tdp = getCurrentTDiagramPanel();
diff --git a/src/ui/TGComponent.java b/src/ui/TGComponent.java
index 174691f0b9a2ff7c8294072a77067d3c0de1025c..4c20a1f4a21e7351699937e0783d69e3ed7769a0 100755
--- a/src/ui/TGComponent.java
+++ b/src/ui/TGComponent.java
@@ -664,7 +664,7 @@ public abstract class TGComponent implements CDElement, GenericTree {
 	}
 	
 	// _mode: 1 : running
-	//       2 : slected for execution 
+	//       2 : selected for execution 
 	public void drawAVATARComp(Graphics g, int _mode) {
 		int wb = 30;
 		int hb = 10;
@@ -989,6 +989,7 @@ public abstract class TGComponent implements CDElement, GenericTree {
 				//TraceManager.addDev("Avatar animate!");
 				drawAVATARComp(g, ret);
 			}
+			
 		}
 		
 		if (this instanceof EmbeddedComment) {
diff --git a/src/ui/avatarbd/AvatarBDPortConnector.java b/src/ui/avatarbd/AvatarBDPortConnector.java
index 359f8f6797587413fd863c7101c538b9f6477981..76d1c3ff929b0a2a7c3d0a3bbd2ec69803101a43 100644
--- a/src/ui/avatarbd/AvatarBDPortConnector.java
+++ b/src/ui/avatarbd/AvatarBDPortConnector.java
@@ -57,6 +57,7 @@ import org.w3c.dom.*;
 import myutil.*;
 import ui.*;
 import ui.window.*;
+import myutil.*;
 
 public class AvatarBDPortConnector extends TGConnectorWithCommentConnectionPoints implements ScalableTGComponent {
     //protected int arrowLength = 10;
@@ -232,6 +233,23 @@ public class AvatarBDPortConnector extends TGConnectorWithCommentConnectionPoint
 			g.setFont(f);
 		}*/
 		
+		// Animation?
+		if ((tdp.AVATAR_ANIMATE_ON) && (isAsynchronous())){
+			//TraceManager.addDev("anim port connector: " + this);
+			String messageInformation[] = tdp.getMGUI().hasMessageInformationForAvatarConnector(this);
+			if (messageInformation != null) {
+				if (messageInformation[0] != null) {
+					g.setColor(Color.BLUE);
+					g.drawString(messageInformation[0], p1.getX() + decX, p1.getY());
+				}
+				if (messageInformation[1] != null) {
+					g.setColor(Color.BLUE);
+					g.drawString(messageInformation[1], p2.getX() + decX, p2.getY());
+				}
+				g.setColor(Color.BLACK);
+			}
+		}
+		
 		
 	
     }
diff --git a/src/ui/avatarinteractivesimulation/JFrameAvatarInteractiveSimulation.java b/src/ui/avatarinteractivesimulation/JFrameAvatarInteractiveSimulation.java
index 9f56c6eac7c67eb2a4dd1e7c4afadbd60c1c8ffd..edb266d88fae047cca6840b94983ee0a21302955 100755
--- a/src/ui/avatarinteractivesimulation/JFrameAvatarInteractiveSimulation.java
+++ b/src/ui/avatarinteractivesimulation/JFrameAvatarInteractiveSimulation.java
@@ -62,6 +62,7 @@ import ui.file.*;
 
 import avatartranslator.*;
 import avatartranslator.directsimulation.*;
+import ui.avatarbd.*;
 
 
 public	class JFrameAvatarInteractiveSimulation extends JFrame implements AvatarSimulationInteraction, ActionListener, Runnable, MouseListener, ItemListener, ListSelectionListener, WindowListener/*, StoppableGUIElement, SteppedAlgorithm, ExternalCall*/ {
@@ -204,6 +205,9 @@ public	class JFrameAvatarInteractiveSimulation extends JFrame implements AvatarS
 	
 	private boolean simulationRunning;
 	
+	// Async messages
+	Vector<AvatarSimulationAsynchronousTransaction> lastAsyncmsgs;
+	
 	public JFrameAvatarInteractiveSimulation(Frame _f, MainGUI _mgui, String _title, AvatarSpecification _avspec) {
 		super(_title);
 		
@@ -1234,11 +1238,61 @@ public	class JFrameAvatarInteractiveSimulation extends JFrame implements AvatarS
 			transactiontm.fireTableStructureChanged();
 		}
 	}
+
+	
+	public String[] getFirstMessagesOnEachConnectorSide(AvatarBDPortConnector conn) {
+		String []messages = new String[2];
+		messages[0] = null;
+		messages[1] = null;
+		boolean b0, b1;
+		AvatarRelation ar;
+		AvatarBlock ab;
+		int index;
+		String info;
+		
+		if (asyncmsgs == null) {
+			return messages;
+		}
+		
+		b0 = false; b1 = false;
+		for(AvatarSimulationAsynchronousTransaction msg: lastAsyncmsgs) {
+			ar = msg.getRelation();
+			if (ar.hasReferenceObject(conn)) {
+				ab = ar.getInBlock(msg.getIndex());
+				
+				if (ab == ar.block1) {
+					info = ar.getSignal1(msg.getIndex()).getName();
+					index = 0;
+				} else {
+					info = ar.getSignal2(msg.getIndex()).getName();
+					index = 1;
+				}
+				
+				info += msg.parametersToString();
+				
+				if ((index == 0) && (!b0)) {
+					b0 = true;
+					messages[0] = info;
+				} else if ((index == 1) && (!b1)) {
+					b1 = true;
+					messages[1] = info;
+				}
+				
+				if (b0 && b1) {
+					break;
+				}
+			}
+			
+		}
+		
+		return messages;
+	}
+	
 	
 	public void updateAsynchronousChannels() {
 		
 		if (ass != null) {
-			Vector<AvatarSimulationAsynchronousTransaction> msgs = ass.getAsynchronousMessages();
+			lastAsyncmsgs = (Vector<AvatarSimulationAsynchronousTransaction>)(ass.getAsynchronousMessages().clone());
 			
 			if (fifos != null) {
 				for(AvatarInteractiveSimulationFIFOData fifo: fifos) {
@@ -1248,10 +1302,10 @@ public	class JFrameAvatarInteractiveSimulation extends JFrame implements AvatarS
 				
 			}
 			
-			if (msgs != null) {
+			if (lastAsyncmsgs != null) {
 				
-				if (msgs.size() > 0) {
-					for(AvatarSimulationAsynchronousTransaction msg: msgs) {
+				if (lastAsyncmsgs.size() > 0) {
+					for(AvatarSimulationAsynchronousTransaction msg: lastAsyncmsgs) {
 						for(AvatarInteractiveSimulationFIFOData fifo0: fifos) {
 							if (fifo0.fifo == msg.getRelation()) {
 								fifo0.nb ++;
@@ -1274,7 +1328,7 @@ public	class JFrameAvatarInteractiveSimulation extends JFrame implements AvatarS
 					if (currentFifo != null) {
 						nbOfAsyncMsgs = 0;
 						Vector<AvatarSimulationAsynchronousTransaction> vectorForList = new Vector<AvatarSimulationAsynchronousTransaction>();
-						for(AvatarSimulationAsynchronousTransaction as: msgs) {
+						for(AvatarSimulationAsynchronousTransaction as: lastAsyncmsgs) {
 							if (as.getRelation() == currentFifo.fifo) {
 								vectorForList.add(as);
 								nbOfAsyncMsgs++;