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&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&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&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++;