diff --git a/modeling/AVATAR/CoffeeMachine_Avatar.xml b/modeling/AVATAR/CoffeeMachine_Avatar.xml index 418d8e038cee46aac1524e425394411adb36a950..4b806f16364b010281c0cdd8ea4121daef1f4501 100644 --- a/modeling/AVATAR/CoffeeMachine_Avatar.xml +++ b/modeling/AVATAR/CoffeeMachine_Avatar.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<TURTLEGMODELING version="0.99"> +<TURTLEGMODELING version="1.0beta"> <Modeling type="Avatar Requirement" nameTab="AVATAR Requirements" > <AvatarRDPanel name="AVATAR RD" minX="10" maxX="1900" minY="10" maxY="900" zoom="1.0" > @@ -578,7 +578,7 @@ <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from TGComponent to TGComponent" value="" /> <TGConnectingPoint num="0" id="337" /> -<P1 x="313" y="261" id="368" /> +<P1 x="313" y="261" id="381" /> <P2 x="361" y="261" id="356" /> <AutomaticDrawing data="true" /> </CONNECTOR> @@ -596,7 +596,7 @@ <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from TGComponent to TGComponent" value="" /> <TGConnectingPoint num="0" id="341" /> -<P1 x="309" y="211" id="381" /> +<P1 x="309" y="211" id="368" /> <P2 x="361" y="211" id="355" /> <AutomaticDrawing data="true" /> </CONNECTOR> @@ -685,11 +685,11 @@ </COMPONENT> <SUBCOMPONENT type="5304" id="378" > <father id="416" num="0" /> -<cdparam x="165" y="241" /> -<sizeparam width="148" height="40" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="170" y="191" /> +<sizeparam width="139" height="40" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="20" minY="0" maxY="114" /> -<infoparam name="TGComponent" value="WaitingForFirstCoin_enter" /> +<cdrectangleparam minX="0" maxX="29" minY="0" maxY="114" /> +<infoparam name="TGComponent" value="WaitingForFirstCoin_exit" /> <TGConnectingPoint num="0" id="366" /> <TGConnectingPoint num="1" id="367" /> <TGConnectingPoint num="2" id="368" /> @@ -705,11 +705,11 @@ </SUBCOMPONENT> <SUBCOMPONENT type="5304" id="391" > <father id="416" num="1" /> -<cdparam x="170" y="191" /> -<sizeparam width="139" height="40" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="165" y="241" /> +<sizeparam width="148" height="40" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="29" minY="0" maxY="114" /> -<infoparam name="TGComponent" value="WaitingForFirstCoin_exit" /> +<cdrectangleparam minX="0" maxX="20" minY="0" maxY="114" /> +<infoparam name="TGComponent" value="WaitingForFirstCoin_enter" /> <TGConnectingPoint num="0" id="379" /> <TGConnectingPoint num="1" id="380" /> <TGConnectingPoint num="2" id="381" /> @@ -839,7 +839,7 @@ <TGConnectingPoint num="0" id="475" /> <TGConnectingPoint num="1" id="476" /> <TGConnectingPoint num="2" id="477" /> -<P1 x="581" y="154" id="564" /> +<P1 x="581" y="154" id="551" /> <P2 x="546" y="305" id="621" /> <Point x="518" y="154" /> <Point x="518" y="305" /> @@ -867,7 +867,7 @@ <infoparam name="connector from TGComponent to TGComponent" value="" /> <TGConnectingPoint num="0" id="480" /> <TGConnectingPoint num="1" id="481" /> -<P1 x="631" y="164" id="559" /> +<P1 x="631" y="164" id="546" /> <P2 x="667" y="310" id="608" /> <Point x="631" y="310" /> <AutomaticDrawing data="true" /> @@ -895,7 +895,7 @@ <infoparam name="connector from TGComponent to TGComponent" value="" /> <TGConnectingPoint num="0" id="486" /> <TGConnectingPoint num="1" id="487" /> -<P1 x="721" y="158" id="544" /> +<P1 x="721" y="158" id="557" /> <P2 x="700" y="204" id="598" /> <Point x="700" y="158" /> <AutomaticDrawing data="true" /> @@ -1050,13 +1050,13 @@ <TGConnectingPoint num="22" id="591" /> <TGConnectingPoint num="23" id="592" /> </COMPONENT> -<SUBCOMPONENT type="5303" id="555" > +<SUBCOMPONENT type="5304" id="555" > <father id="593" num="0" /> -<cdparam x="721" y="133" /> -<sizeparam width="100" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="581" y="125" /> +<sizeparam width="100" height="39" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="168" minY="0" maxY="65" /> -<infoparam name="TGComponent" value="nbOfCoins" /> +<cdrectangleparam minX="0" maxX="168" minY="0" maxY="76" /> +<infoparam name="TGComponent" value="Start" /> <TGConnectingPoint num="0" id="543" /> <TGConnectingPoint num="1" id="544" /> <TGConnectingPoint num="2" id="545" /> @@ -1069,17 +1069,14 @@ <TGConnectingPoint num="9" id="552" /> <TGConnectingPoint num="10" id="553" /> <TGConnectingPoint num="11" id="554" /> -<extraparam> -<Toggle value="" /> -</extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5304" id="568" > +<SUBCOMPONENT type="5303" id="568" > <father id="593" num="1" /> -<cdparam x="581" y="125" /> -<sizeparam width="100" height="39" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="721" y="133" /> +<sizeparam width="100" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="168" minY="0" maxY="76" /> -<infoparam name="TGComponent" value="Start" /> +<cdrectangleparam minX="0" maxX="168" minY="0" maxY="65" /> +<infoparam name="TGComponent" value="nbOfCoins" /> <TGConnectingPoint num="0" id="556" /> <TGConnectingPoint num="1" id="557" /> <TGConnectingPoint num="2" id="558" /> @@ -1092,6 +1089,9 @@ <TGConnectingPoint num="9" id="565" /> <TGConnectingPoint num="10" id="566" /> <TGConnectingPoint num="11" id="567" /> +<extraparam> +<Toggle value="" /> +</extraparam> </SUBCOMPONENT> <COMPONENT type="5306" id="605" > @@ -1221,7 +1221,7 @@ <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Block1 to Block0" value="" /> <TGConnectingPoint num="0" id="658" /> -<P1 x="559" y="330" id="695" /> +<P1 x="559" y="330" id="720" /> <P2 x="560" y="377" id="753" /> <AutomaticDrawing data="true" /> <extraparam> @@ -1251,7 +1251,7 @@ <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Block1 to Block0" value="" /> <TGConnectingPoint num="0" id="662" /> -<P1 x="789" y="326" id="720" /> +<P1 x="789" y="326" id="695" /> <P2 x="790" y="377" id="754" /> <AutomaticDrawing data="true" /> <extraparam> @@ -1350,11 +1350,11 @@ </COMPONENT> <SUBCOMPONENT type="5000" id="713" > <father id="763" num="0" /> -<cdparam x="464" y="228" /> -<sizeparam width="190" height="102" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="695" y="224" /> +<sizeparam width="189" height="102" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="271" minY="0" maxY="256" /> -<infoparam name="Block1" value="CoffeeButton" /> +<cdrectangleparam minX="0" maxX="272" minY="0" maxY="256" /> +<infoparam name="Block1" value="TeaButton" /> <TGConnectingPoint num="0" id="689" /> <TGConnectingPoint num="1" id="690" /> <TGConnectingPoint num="2" id="691" /> @@ -1381,17 +1381,17 @@ <TGConnectingPoint num="23" id="712" /> <extraparam> <CryptoBlock value="false" /> -<Attribute access="0" id="mechanicalDelay" value="80" type="8" typeOther="" /> +<Attribute access="0" id="mechanicalDelay" value="10" type="8" typeOther="" /> <Signal value="out push()" attached="false" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="5000" id="738" > <father id="763" num="1" /> -<cdparam x="695" y="224" /> -<sizeparam width="189" height="102" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="464" y="228" /> +<sizeparam width="190" height="102" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="272" minY="0" maxY="256" /> -<infoparam name="Block1" value="TeaButton" /> +<cdrectangleparam minX="0" maxX="271" minY="0" maxY="256" /> +<infoparam name="Block1" value="CoffeeButton" /> <TGConnectingPoint num="0" id="714" /> <TGConnectingPoint num="1" id="715" /> <TGConnectingPoint num="2" id="716" /> @@ -1418,7 +1418,7 @@ <TGConnectingPoint num="23" id="737" /> <extraparam> <CryptoBlock value="false" /> -<Attribute access="0" id="mechanicalDelay" value="10" type="8" typeOther="" /> +<Attribute access="0" id="mechanicalDelay" value="80" type="8" typeOther="" /> <Signal value="out push()" attached="false" /> </extraparam> </SUBCOMPONENT> @@ -1804,7 +1804,7 @@ <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="958" /> -<P1 x="437" y="525" id="1357" /> +<P1 x="437" y="525" id="1292" /> <P2 x="323" y="748" id="1218" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="957" > @@ -1833,8 +1833,8 @@ <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="965" /> -<P1 x="321" y="455" id="1306" /> -<P2 x="437" y="495" id="1356" /> +<P1 x="321" y="455" id="1319" /> +<P2 x="437" y="495" id="1291" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="964" > <father id="966" num="0" /> @@ -1861,7 +1861,7 @@ <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="972" /> -<P1 x="293" y="552" id="1292" /> +<P1 x="293" y="552" id="1357" /> <P2 x="289" y="748" id="1210" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="971" > @@ -1891,8 +1891,8 @@ <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="979" /> -<P1 x="288" y="475" id="1317" /> -<P2 x="293" y="522" id="1291" /> +<P1 x="288" y="475" id="1330" /> +<P2 x="293" y="522" id="1356" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="978" > <father id="980" num="0" /> @@ -1919,7 +1919,7 @@ <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="986" /> -<P1 x="121" y="552" id="1346" /> +<P1 x="121" y="552" id="1303" /> <P2 x="255" y="748" id="1217" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="985" > @@ -1949,8 +1949,8 @@ <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="993" /> -<P1 x="222" y="475" id="1316" /> -<P2 x="121" y="522" id="1345" /> +<P1 x="222" y="475" id="1329" /> +<P2 x="121" y="522" id="1302" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="992" > <father id="994" num="0" /> @@ -1977,8 +1977,8 @@ <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from start state to state0" value="null" /> <TGConnectingPoint num="0" id="1000" /> -<P1 x="256" y="419" id="1343" /> -<P2 x="255" y="435" id="1303" /> +<P1 x="256" y="419" id="1313" /> +<P2 x="255" y="435" id="1316" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="999" > <father id="1001" num="0" /> @@ -2561,13 +2561,13 @@ <extraparam> </extraparam> </COMPONENT> -<SUBCOMPONENT type="5104" id="1301" > +<SUBCOMPONENT type="5103" id="1301" > <father id="1407" num="0" /> -<cdparam x="231" y="527" /> -<sizeparam width="124" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="367" y="500" /> +<sizeparam width="141" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="465" minY="0" maxY="334" /> -<infoparam name="Send signal" value="pushTeaButton()" /> +<cdrectangleparam minX="0" maxX="447" minY="0" maxY="334" /> +<infoparam name="Send signal" value="ejectCoin(nbOfCoins)" /> <TGConnectingPoint num="0" id="1291" /> <TGConnectingPoint num="1" id="1292" /> <TGConnectingPoint num="2" id="1293" /> @@ -2580,13 +2580,13 @@ <TGConnectingPoint num="9" id="1300" /> <accessibility /> </SUBCOMPONENT> -<SUBCOMPONENT type="5106" id="1342" > +<SUBCOMPONENT type="5104" id="1312" > <father id="1407" num="1" /> -<cdparam x="189" y="435" /> -<sizeparam width="132" height="40" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="51" y="527" /> +<sizeparam width="141" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="445" minY="0" maxY="314" /> -<infoparam name="state0" value="WaitingForSelection" /> +<cdrectangleparam minX="0" maxX="450" minY="0" maxY="334" /> +<infoparam name="Send signal" value="pushCoffeeButton()" /> <TGConnectingPoint num="0" id="1302" /> <TGConnectingPoint num="1" id="1303" /> <TGConnectingPoint num="2" id="1304" /> @@ -2597,74 +2597,74 @@ <TGConnectingPoint num="7" id="1309" /> <TGConnectingPoint num="8" id="1310" /> <TGConnectingPoint num="9" id="1311" /> -<TGConnectingPoint num="10" id="1312" /> -<TGConnectingPoint num="11" id="1313" /> -<TGConnectingPoint num="12" id="1314" /> -<TGConnectingPoint num="13" id="1315" /> -<TGConnectingPoint num="14" id="1316" /> -<TGConnectingPoint num="15" id="1317" /> -<TGConnectingPoint num="16" id="1318" /> -<TGConnectingPoint num="17" id="1319" /> -<TGConnectingPoint num="18" id="1320" /> -<TGConnectingPoint num="19" id="1321" /> -<TGConnectingPoint num="20" id="1322" /> -<TGConnectingPoint num="21" id="1323" /> -<TGConnectingPoint num="22" id="1324" /> -<TGConnectingPoint num="23" id="1325" /> -<TGConnectingPoint num="24" id="1326" /> -<TGConnectingPoint num="25" id="1327" /> -<TGConnectingPoint num="26" id="1328" /> -<TGConnectingPoint num="27" id="1329" /> -<TGConnectingPoint num="28" id="1330" /> -<TGConnectingPoint num="29" id="1331" /> -<TGConnectingPoint num="30" id="1332" /> -<TGConnectingPoint num="31" id="1333" /> -<TGConnectingPoint num="32" id="1334" /> -<TGConnectingPoint num="33" id="1335" /> -<TGConnectingPoint num="34" id="1336" /> -<TGConnectingPoint num="35" id="1337" /> -<TGConnectingPoint num="36" id="1338" /> -<TGConnectingPoint num="37" id="1339" /> -<TGConnectingPoint num="38" id="1340" /> -<TGConnectingPoint num="39" id="1341" /> -<extraparam> -</extraparam> +<accessibility /> </SUBCOMPONENT> -<SUBCOMPONENT type="5100" id="1344" > +<SUBCOMPONENT type="5100" id="1314" > <father id="1407" num="2" /> <cdparam x="249" y="399" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="0" maxX="562" minY="0" maxY="339" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="1343" /> +<TGConnectingPoint num="0" id="1313" /> </SUBCOMPONENT> -<SUBCOMPONENT type="5104" id="1355" > +<SUBCOMPONENT type="5106" id="1355" > <father id="1407" num="3" /> -<cdparam x="51" y="527" /> -<sizeparam width="141" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="189" y="435" /> +<sizeparam width="132" height="40" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="450" minY="0" maxY="334" /> -<infoparam name="Send signal" value="pushCoffeeButton()" /> -<TGConnectingPoint num="0" id="1345" /> -<TGConnectingPoint num="1" id="1346" /> -<TGConnectingPoint num="2" id="1347" /> -<TGConnectingPoint num="3" id="1348" /> -<TGConnectingPoint num="4" id="1349" /> -<TGConnectingPoint num="5" id="1350" /> -<TGConnectingPoint num="6" id="1351" /> -<TGConnectingPoint num="7" id="1352" /> -<TGConnectingPoint num="8" id="1353" /> -<TGConnectingPoint num="9" id="1354" /> -<accessibility /> +<cdrectangleparam minX="0" maxX="445" minY="0" maxY="314" /> +<infoparam name="state0" value="WaitingForSelection" /> +<TGConnectingPoint num="0" id="1315" /> +<TGConnectingPoint num="1" id="1316" /> +<TGConnectingPoint num="2" id="1317" /> +<TGConnectingPoint num="3" id="1318" /> +<TGConnectingPoint num="4" id="1319" /> +<TGConnectingPoint num="5" id="1320" /> +<TGConnectingPoint num="6" id="1321" /> +<TGConnectingPoint num="7" id="1322" /> +<TGConnectingPoint num="8" id="1323" /> +<TGConnectingPoint num="9" id="1324" /> +<TGConnectingPoint num="10" id="1325" /> +<TGConnectingPoint num="11" id="1326" /> +<TGConnectingPoint num="12" id="1327" /> +<TGConnectingPoint num="13" id="1328" /> +<TGConnectingPoint num="14" id="1329" /> +<TGConnectingPoint num="15" id="1330" /> +<TGConnectingPoint num="16" id="1331" /> +<TGConnectingPoint num="17" id="1332" /> +<TGConnectingPoint num="18" id="1333" /> +<TGConnectingPoint num="19" id="1334" /> +<TGConnectingPoint num="20" id="1335" /> +<TGConnectingPoint num="21" id="1336" /> +<TGConnectingPoint num="22" id="1337" /> +<TGConnectingPoint num="23" id="1338" /> +<TGConnectingPoint num="24" id="1339" /> +<TGConnectingPoint num="25" id="1340" /> +<TGConnectingPoint num="26" id="1341" /> +<TGConnectingPoint num="27" id="1342" /> +<TGConnectingPoint num="28" id="1343" /> +<TGConnectingPoint num="29" id="1344" /> +<TGConnectingPoint num="30" id="1345" /> +<TGConnectingPoint num="31" id="1346" /> +<TGConnectingPoint num="32" id="1347" /> +<TGConnectingPoint num="33" id="1348" /> +<TGConnectingPoint num="34" id="1349" /> +<TGConnectingPoint num="35" id="1350" /> +<TGConnectingPoint num="36" id="1351" /> +<TGConnectingPoint num="37" id="1352" /> +<TGConnectingPoint num="38" id="1353" /> +<TGConnectingPoint num="39" id="1354" /> +<extraparam> +</extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5103" id="1366" > +<SUBCOMPONENT type="5104" id="1366" > <father id="1407" num="4" /> -<cdparam x="367" y="500" /> -<sizeparam width="141" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="231" y="527" /> +<sizeparam width="124" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="447" minY="0" maxY="334" /> -<infoparam name="Send signal" value="ejectCoin(nbOfCoins)" /> +<cdrectangleparam minX="0" maxX="465" minY="0" maxY="334" /> +<infoparam name="Send signal" value="pushTeaButton()" /> <TGConnectingPoint num="0" id="1356" /> <TGConnectingPoint num="1" id="1357" /> <TGConnectingPoint num="2" id="1358" /> @@ -2681,19 +2681,19 @@ </AVATARStateMachineDiagramPanel> -<AVATARStateMachineDiagramPanel name="TeaButton" minX="10" maxX="1400" minY="10" maxY="900" > +<AVATARStateMachineDiagramPanel name="CoffeeButton" minX="10" maxX="1400" minY="10" maxY="900" > <CONNECTOR type="5102" id="1414" > -<cdparam x="363" y="193" /> +<cdparam x="177" y="199" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from Send signal to state0" value="null" /> +<infoparam name="connector from start state to Send signal" value="null" /> <TGConnectingPoint num="0" id="1413" /> -<P1 x="363" y="204" id="1430" /> -<P2 x="362" y="257" id="1441" /> +<P1 x="340" y="233" id="1520" /> +<P2 x="353" y="252" id="1522" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="1412" > <father id="1414" num="0" /> -<cdparam x="380" y="228" /> -<sizeparam width="149" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="177" y="239" /> +<sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" 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="" /> @@ -2703,7 +2703,7 @@ <TGConnectingPoint num="3" id="1411" /> <extraparam> <guard value="[ ]" /> -<afterMin value="mechanicalDelay" /> +<afterMin value="" /> <afterMax value="" /> <computeMin value="" /> <computeMax value="" /> @@ -2711,16 +2711,16 @@ </SUBCOMPONENT> <CONNECTOR type="5102" id="1421" > -<cdparam x="363" y="150" /> +<cdparam x="322" y="69" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from state0 to Send signal" value="null" /> +<infoparam name="connector from start state to state0" value="null" /> <TGConnectingPoint num="0" id="1420" /> -<P1 x="363" y="150" id="1487" /> -<P2 x="363" y="174" id="1429" /> +<P1 x="322" y="69" id="1518" /> +<P2 x="323" y="88" id="1478" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="1419" > <father id="1421" num="0" /> -<cdparam x="363" y="190" /> +<cdparam x="322" y="109" /> <sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> @@ -2739,16 +2739,16 @@ </SUBCOMPONENT> <CONNECTOR type="5102" id="1428" > -<cdparam x="362" y="101" /> +<cdparam x="377" y="144" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from start state to state0" value="null" /> +<infoparam name="connector from state0 to Send signal" value="null" /> <TGConnectingPoint num="0" id="1427" /> -<P1 x="362" y="101" id="1522" /> -<P2 x="363" y="120" id="1482" /> +<P1 x="323" y="118" id="1483" /> +<P2 x="356" y="174" id="1534" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="1426" > <father id="1428" num="0" /> -<cdparam x="362" y="141" /> +<cdparam x="377" y="184" /> <sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> @@ -2766,184 +2766,271 @@ </extraparam> </SUBCOMPONENT> -<COMPONENT type="5103" id="1439" > -<cdparam x="338" y="179" /> -<sizeparam width="51" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<CONNECTOR type="5102" id="1435" > +<cdparam x="377" y="187" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector from Send signal to state0" value="null" /> +<TGConnectingPoint num="0" id="1434" /> +<P1 x="353" y="282" id="1523" /> +<P2 x="399" y="352" id="1437" /> +<AutomaticDrawing data="true" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1433" > +<father id="1435" num="0" /> +<cdparam x="417" y="335" /> +<sizeparam width="149" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="Send signal" value="push()" /> +<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> <TGConnectingPoint num="0" id="1429" /> <TGConnectingPoint num="1" id="1430" /> <TGConnectingPoint num="2" id="1431" /> <TGConnectingPoint num="3" id="1432" /> -<TGConnectingPoint num="4" id="1433" /> -<TGConnectingPoint num="5" id="1434" /> -<TGConnectingPoint num="6" id="1435" /> -<TGConnectingPoint num="7" id="1436" /> -<TGConnectingPoint num="8" id="1437" /> -<TGConnectingPoint num="9" id="1438" /> -</COMPONENT> +<extraparam> +<guard value="[ ]" /> +<afterMin value="mechanicalDelay" /> +<afterMax value="" /> +<computeMin value="" /> +<computeMax value="" /> +</extraparam> +</SUBCOMPONENT> -<COMPONENT type="5106" id="1480" > -<cdparam x="337" y="257" /> +<COMPONENT type="5106" id="1476" > +<cdparam x="374" y="352" /> <sizeparam width="50" height="30" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="state0" value="main" /> -<TGConnectingPoint num="0" id="1440" /> -<TGConnectingPoint num="1" id="1441" /> -<TGConnectingPoint num="2" id="1442" /> -<TGConnectingPoint num="3" id="1443" /> -<TGConnectingPoint num="4" id="1444" /> -<TGConnectingPoint num="5" id="1445" /> -<TGConnectingPoint num="6" id="1446" /> -<TGConnectingPoint num="7" id="1447" /> -<TGConnectingPoint num="8" id="1448" /> -<TGConnectingPoint num="9" id="1449" /> -<TGConnectingPoint num="10" id="1450" /> -<TGConnectingPoint num="11" id="1451" /> -<TGConnectingPoint num="12" id="1452" /> -<TGConnectingPoint num="13" id="1453" /> -<TGConnectingPoint num="14" id="1454" /> -<TGConnectingPoint num="15" id="1455" /> -<TGConnectingPoint num="16" id="1456" /> -<TGConnectingPoint num="17" id="1457" /> -<TGConnectingPoint num="18" id="1458" /> -<TGConnectingPoint num="19" id="1459" /> -<TGConnectingPoint num="20" id="1460" /> -<TGConnectingPoint num="21" id="1461" /> -<TGConnectingPoint num="22" id="1462" /> -<TGConnectingPoint num="23" id="1463" /> -<TGConnectingPoint num="24" id="1464" /> -<TGConnectingPoint num="25" id="1465" /> -<TGConnectingPoint num="26" id="1466" /> -<TGConnectingPoint num="27" id="1467" /> -<TGConnectingPoint num="28" id="1468" /> -<TGConnectingPoint num="29" id="1469" /> -<TGConnectingPoint num="30" id="1470" /> -<TGConnectingPoint num="31" id="1471" /> -<TGConnectingPoint num="32" id="1472" /> -<TGConnectingPoint num="33" id="1473" /> -<TGConnectingPoint num="34" id="1474" /> -<TGConnectingPoint num="35" id="1475" /> -<TGConnectingPoint num="36" id="1476" /> -<TGConnectingPoint num="37" id="1477" /> -<TGConnectingPoint num="38" id="1478" /> -<TGConnectingPoint num="39" id="1479" /> +<TGConnectingPoint num="0" id="1436" /> +<TGConnectingPoint num="1" id="1437" /> +<TGConnectingPoint num="2" id="1438" /> +<TGConnectingPoint num="3" id="1439" /> +<TGConnectingPoint num="4" id="1440" /> +<TGConnectingPoint num="5" id="1441" /> +<TGConnectingPoint num="6" id="1442" /> +<TGConnectingPoint num="7" id="1443" /> +<TGConnectingPoint num="8" id="1444" /> +<TGConnectingPoint num="9" id="1445" /> +<TGConnectingPoint num="10" id="1446" /> +<TGConnectingPoint num="11" id="1447" /> +<TGConnectingPoint num="12" id="1448" /> +<TGConnectingPoint num="13" id="1449" /> +<TGConnectingPoint num="14" id="1450" /> +<TGConnectingPoint num="15" id="1451" /> +<TGConnectingPoint num="16" id="1452" /> +<TGConnectingPoint num="17" id="1453" /> +<TGConnectingPoint num="18" id="1454" /> +<TGConnectingPoint num="19" id="1455" /> +<TGConnectingPoint num="20" id="1456" /> +<TGConnectingPoint num="21" id="1457" /> +<TGConnectingPoint num="22" id="1458" /> +<TGConnectingPoint num="23" id="1459" /> +<TGConnectingPoint num="24" id="1460" /> +<TGConnectingPoint num="25" id="1461" /> +<TGConnectingPoint num="26" id="1462" /> +<TGConnectingPoint num="27" id="1463" /> +<TGConnectingPoint num="28" id="1464" /> +<TGConnectingPoint num="29" id="1465" /> +<TGConnectingPoint num="30" id="1466" /> +<TGConnectingPoint num="31" id="1467" /> +<TGConnectingPoint num="32" id="1468" /> +<TGConnectingPoint num="33" id="1469" /> +<TGConnectingPoint num="34" id="1470" /> +<TGConnectingPoint num="35" id="1471" /> +<TGConnectingPoint num="36" id="1472" /> +<TGConnectingPoint num="37" id="1473" /> +<TGConnectingPoint num="38" id="1474" /> +<TGConnectingPoint num="39" id="1475" /> <extraparam> </extraparam> </COMPONENT> -<COMPONENT type="5106" id="1521" > -<cdparam x="338" y="120" /> +<COMPONENT type="5106" id="1517" > +<cdparam x="298" y="88" /> <sizeparam width="50" height="30" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="state0" value="main" /> -<TGConnectingPoint num="0" id="1481" /> -<TGConnectingPoint num="1" id="1482" /> -<TGConnectingPoint num="2" id="1483" /> -<TGConnectingPoint num="3" id="1484" /> -<TGConnectingPoint num="4" id="1485" /> -<TGConnectingPoint num="5" id="1486" /> -<TGConnectingPoint num="6" id="1487" /> -<TGConnectingPoint num="7" id="1488" /> -<TGConnectingPoint num="8" id="1489" /> -<TGConnectingPoint num="9" id="1490" /> -<TGConnectingPoint num="10" id="1491" /> -<TGConnectingPoint num="11" id="1492" /> -<TGConnectingPoint num="12" id="1493" /> -<TGConnectingPoint num="13" id="1494" /> -<TGConnectingPoint num="14" id="1495" /> -<TGConnectingPoint num="15" id="1496" /> -<TGConnectingPoint num="16" id="1497" /> -<TGConnectingPoint num="17" id="1498" /> -<TGConnectingPoint num="18" id="1499" /> -<TGConnectingPoint num="19" id="1500" /> -<TGConnectingPoint num="20" id="1501" /> -<TGConnectingPoint num="21" id="1502" /> -<TGConnectingPoint num="22" id="1503" /> -<TGConnectingPoint num="23" id="1504" /> -<TGConnectingPoint num="24" id="1505" /> -<TGConnectingPoint num="25" id="1506" /> -<TGConnectingPoint num="26" id="1507" /> -<TGConnectingPoint num="27" id="1508" /> -<TGConnectingPoint num="28" id="1509" /> -<TGConnectingPoint num="29" id="1510" /> -<TGConnectingPoint num="30" id="1511" /> -<TGConnectingPoint num="31" id="1512" /> -<TGConnectingPoint num="32" id="1513" /> -<TGConnectingPoint num="33" id="1514" /> -<TGConnectingPoint num="34" id="1515" /> -<TGConnectingPoint num="35" id="1516" /> -<TGConnectingPoint num="36" id="1517" /> -<TGConnectingPoint num="37" id="1518" /> -<TGConnectingPoint num="38" id="1519" /> -<TGConnectingPoint num="39" id="1520" /> +<TGConnectingPoint num="0" id="1477" /> +<TGConnectingPoint num="1" id="1478" /> +<TGConnectingPoint num="2" id="1479" /> +<TGConnectingPoint num="3" id="1480" /> +<TGConnectingPoint num="4" id="1481" /> +<TGConnectingPoint num="5" id="1482" /> +<TGConnectingPoint num="6" id="1483" /> +<TGConnectingPoint num="7" id="1484" /> +<TGConnectingPoint num="8" id="1485" /> +<TGConnectingPoint num="9" id="1486" /> +<TGConnectingPoint num="10" id="1487" /> +<TGConnectingPoint num="11" id="1488" /> +<TGConnectingPoint num="12" id="1489" /> +<TGConnectingPoint num="13" id="1490" /> +<TGConnectingPoint num="14" id="1491" /> +<TGConnectingPoint num="15" id="1492" /> +<TGConnectingPoint num="16" id="1493" /> +<TGConnectingPoint num="17" id="1494" /> +<TGConnectingPoint num="18" id="1495" /> +<TGConnectingPoint num="19" id="1496" /> +<TGConnectingPoint num="20" id="1497" /> +<TGConnectingPoint num="21" id="1498" /> +<TGConnectingPoint num="22" id="1499" /> +<TGConnectingPoint num="23" id="1500" /> +<TGConnectingPoint num="24" id="1501" /> +<TGConnectingPoint num="25" id="1502" /> +<TGConnectingPoint num="26" id="1503" /> +<TGConnectingPoint num="27" id="1504" /> +<TGConnectingPoint num="28" id="1505" /> +<TGConnectingPoint num="29" id="1506" /> +<TGConnectingPoint num="30" id="1507" /> +<TGConnectingPoint num="31" id="1508" /> +<TGConnectingPoint num="32" id="1509" /> +<TGConnectingPoint num="33" id="1510" /> +<TGConnectingPoint num="34" id="1511" /> +<TGConnectingPoint num="35" id="1512" /> +<TGConnectingPoint num="36" id="1513" /> +<TGConnectingPoint num="37" id="1514" /> +<TGConnectingPoint num="38" id="1515" /> +<TGConnectingPoint num="39" id="1516" /> <extraparam> </extraparam> </COMPONENT> -<COMPONENT type="5100" id="1523" > -<cdparam x="355" y="81" /> +<COMPONENT type="5100" id="1519" > +<cdparam x="315" y="49" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="1522" /> +<TGConnectingPoint num="0" id="1518" /> +</COMPONENT> + +<COMPONENT type="5106" id="1573" > +<cdparam x="264" y="174" /> +<sizeparam width="184" height="130" minWidth="40" minHeight="30" maxWidth="2000" 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="1533" /> +<TGConnectingPoint num="1" id="1534" /> +<TGConnectingPoint num="2" id="1535" /> +<TGConnectingPoint num="3" id="1536" /> +<TGConnectingPoint num="4" id="1537" /> +<TGConnectingPoint num="5" id="1538" /> +<TGConnectingPoint num="6" id="1539" /> +<TGConnectingPoint num="7" id="1540" /> +<TGConnectingPoint num="8" id="1541" /> +<TGConnectingPoint num="9" id="1542" /> +<TGConnectingPoint num="10" id="1543" /> +<TGConnectingPoint num="11" id="1544" /> +<TGConnectingPoint num="12" id="1545" /> +<TGConnectingPoint num="13" id="1546" /> +<TGConnectingPoint num="14" id="1547" /> +<TGConnectingPoint num="15" id="1548" /> +<TGConnectingPoint num="16" id="1549" /> +<TGConnectingPoint num="17" id="1550" /> +<TGConnectingPoint num="18" id="1551" /> +<TGConnectingPoint num="19" id="1552" /> +<TGConnectingPoint num="20" id="1553" /> +<TGConnectingPoint num="21" id="1554" /> +<TGConnectingPoint num="22" id="1555" /> +<TGConnectingPoint num="23" id="1556" /> +<TGConnectingPoint num="24" id="1557" /> +<TGConnectingPoint num="25" id="1558" /> +<TGConnectingPoint num="26" id="1559" /> +<TGConnectingPoint num="27" id="1560" /> +<TGConnectingPoint num="28" id="1561" /> +<TGConnectingPoint num="29" id="1562" /> +<TGConnectingPoint num="30" id="1563" /> +<TGConnectingPoint num="31" id="1564" /> +<TGConnectingPoint num="32" id="1565" /> +<TGConnectingPoint num="33" id="1566" /> +<TGConnectingPoint num="34" id="1567" /> +<TGConnectingPoint num="35" id="1568" /> +<TGConnectingPoint num="36" id="1569" /> +<TGConnectingPoint num="37" id="1570" /> +<TGConnectingPoint num="38" id="1571" /> +<TGConnectingPoint num="39" id="1572" /> +<extraparam> +</extraparam> </COMPONENT> +<SUBCOMPONENT type="5100" id="1521" > +<father id="1573" num="0" /> +<cdparam x="333" y="213" /> +<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="169" minY="0" maxY="115" /> +<infoparam name="start state" value="null" /> +<TGConnectingPoint num="0" id="1520" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="5103" id="1532" > +<father id="1573" num="1" /> +<cdparam x="328" y="257" /> +<sizeparam width="51" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="138" minY="0" maxY="110" /> +<infoparam name="Send signal" value="push()" /> +<TGConnectingPoint num="0" id="1522" /> +<TGConnectingPoint num="1" id="1523" /> +<TGConnectingPoint num="2" id="1524" /> +<TGConnectingPoint num="3" id="1525" /> +<TGConnectingPoint num="4" id="1526" /> +<TGConnectingPoint num="5" id="1527" /> +<TGConnectingPoint num="6" id="1528" /> +<TGConnectingPoint num="7" id="1529" /> +<TGConnectingPoint num="8" id="1530" /> +<TGConnectingPoint num="9" id="1531" /> +</SUBCOMPONENT> </AVATARStateMachineDiagramPanel> -<AVATARStateMachineDiagramPanel name="CoffeeButton" minX="10" maxX="1400" minY="10" maxY="900" > -<CONNECTOR type="5102" id="1530" > -<cdparam x="177" y="199" /> +<AVATARStateMachineDiagramPanel name="TeaButton" minX="10" maxX="1400" minY="10" maxY="900" > +<CONNECTOR type="5102" id="1580" > +<cdparam x="363" y="193" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from start state to Send signal" value="null" /> -<TGConnectingPoint num="0" id="1529" /> -<P1 x="340" y="233" id="1647" /> -<P2 x="353" y="252" id="1636" /> +<infoparam name="connector from Send signal to state0" value="null" /> +<TGConnectingPoint num="0" id="1579" /> +<P1 x="363" y="204" id="1596" /> +<P2 x="362" y="257" id="1607" /> <AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="1528" > -<father id="1530" num="0" /> -<cdparam x="177" y="239" /> -<sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1578" > +<father id="1580" num="0" /> +<cdparam x="380" y="228" /> +<sizeparam width="149" height="15" minWidth="0" minHeight="0" maxWidth="2000" 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="1524" /> -<TGConnectingPoint num="1" id="1525" /> -<TGConnectingPoint num="2" id="1526" /> -<TGConnectingPoint num="3" id="1527" /> +<TGConnectingPoint num="0" id="1574" /> +<TGConnectingPoint num="1" id="1575" /> +<TGConnectingPoint num="2" id="1576" /> +<TGConnectingPoint num="3" id="1577" /> <extraparam> <guard value="[ ]" /> -<afterMin value="" /> +<afterMin value="mechanicalDelay" /> <afterMax value="" /> <computeMin value="" /> <computeMax value="" /> </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="1537" > -<cdparam x="322" y="69" /> +<CONNECTOR type="5102" id="1587" > +<cdparam x="363" y="150" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from start state to state0" value="null" /> -<TGConnectingPoint num="0" id="1536" /> -<P1 x="322" y="69" id="1634" /> -<P2 x="323" y="88" id="1594" /> +<infoparam name="connector from state0 to Send signal" value="null" /> +<TGConnectingPoint num="0" id="1586" /> +<P1 x="363" y="150" id="1653" /> +<P2 x="363" y="174" id="1595" /> <AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="1535" > -<father id="1537" num="0" /> -<cdparam x="322" y="109" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1585" > +<father id="1587" num="0" /> +<cdparam x="363" y="190" /> <sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" 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="1531" /> -<TGConnectingPoint num="1" id="1532" /> -<TGConnectingPoint num="2" id="1533" /> -<TGConnectingPoint num="3" id="1534" /> +<TGConnectingPoint num="0" id="1581" /> +<TGConnectingPoint num="1" id="1582" /> +<TGConnectingPoint num="2" id="1583" /> +<TGConnectingPoint num="3" id="1584" /> <extraparam> <guard value="[ ]" /> <afterMin value="" /> @@ -2953,25 +3040,25 @@ </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="1544" > -<cdparam x="377" y="144" /> +<CONNECTOR type="5102" id="1594" > +<cdparam x="362" y="101" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from state0 to Send signal" value="null" /> -<TGConnectingPoint num="0" id="1543" /> -<P1 x="323" y="118" id="1599" /> -<P2 x="356" y="174" id="1650" /> +<infoparam name="connector from start state to state0" value="null" /> +<TGConnectingPoint num="0" id="1593" /> +<P1 x="362" y="101" id="1688" /> +<P2 x="363" y="120" id="1648" /> <AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="1542" > -<father id="1544" num="0" /> -<cdparam x="377" y="184" /> +</CONNECTOR><SUBCOMPONENT type="-1" id="1592" > +<father id="1594" num="0" /> +<cdparam x="362" y="141" /> <sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" 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="1538" /> -<TGConnectingPoint num="1" id="1539" /> -<TGConnectingPoint num="2" id="1540" /> -<TGConnectingPoint num="3" id="1541" /> +<TGConnectingPoint num="0" id="1588" /> +<TGConnectingPoint num="1" id="1589" /> +<TGConnectingPoint num="2" id="1590" /> +<TGConnectingPoint num="3" id="1591" /> <extraparam> <guard value="[ ]" /> <afterMin value="" /> @@ -2981,220 +3068,133 @@ </extraparam> </SUBCOMPONENT> -<CONNECTOR type="5102" id="1551" > -<cdparam x="377" y="187" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from Send signal to state0" value="null" /> -<TGConnectingPoint num="0" id="1550" /> -<P1 x="353" y="282" id="1637" /> -<P2 x="399" y="352" id="1553" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="1549" > -<father id="1551" num="0" /> -<cdparam x="417" y="335" /> -<sizeparam width="149" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<COMPONENT type="5103" id="1605" > +<cdparam x="338" y="179" /> +<sizeparam width="51" height="20" minWidth="30" minHeight="0" maxWidth="2000" 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="1545" /> -<TGConnectingPoint num="1" id="1546" /> -<TGConnectingPoint num="2" id="1547" /> -<TGConnectingPoint num="3" id="1548" /> -<extraparam> -<guard value="[ ]" /> -<afterMin value="mechanicalDelay" /> -<afterMax value="" /> -<computeMin value="" /> -<computeMax value="" /> -</extraparam> -</SUBCOMPONENT> +<infoparam name="Send signal" value="push()" /> +<TGConnectingPoint num="0" id="1595" /> +<TGConnectingPoint num="1" id="1596" /> +<TGConnectingPoint num="2" id="1597" /> +<TGConnectingPoint num="3" id="1598" /> +<TGConnectingPoint num="4" id="1599" /> +<TGConnectingPoint num="5" id="1600" /> +<TGConnectingPoint num="6" id="1601" /> +<TGConnectingPoint num="7" id="1602" /> +<TGConnectingPoint num="8" id="1603" /> +<TGConnectingPoint num="9" id="1604" /> +</COMPONENT> -<COMPONENT type="5106" id="1592" > -<cdparam x="374" y="352" /> +<COMPONENT type="5106" id="1646" > +<cdparam x="337" y="257" /> <sizeparam width="50" height="30" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="state0" value="main" /> -<TGConnectingPoint num="0" id="1552" /> -<TGConnectingPoint num="1" id="1553" /> -<TGConnectingPoint num="2" id="1554" /> -<TGConnectingPoint num="3" id="1555" /> -<TGConnectingPoint num="4" id="1556" /> -<TGConnectingPoint num="5" id="1557" /> -<TGConnectingPoint num="6" id="1558" /> -<TGConnectingPoint num="7" id="1559" /> -<TGConnectingPoint num="8" id="1560" /> -<TGConnectingPoint num="9" id="1561" /> -<TGConnectingPoint num="10" id="1562" /> -<TGConnectingPoint num="11" id="1563" /> -<TGConnectingPoint num="12" id="1564" /> -<TGConnectingPoint num="13" id="1565" /> -<TGConnectingPoint num="14" id="1566" /> -<TGConnectingPoint num="15" id="1567" /> -<TGConnectingPoint num="16" id="1568" /> -<TGConnectingPoint num="17" id="1569" /> -<TGConnectingPoint num="18" id="1570" /> -<TGConnectingPoint num="19" id="1571" /> -<TGConnectingPoint num="20" id="1572" /> -<TGConnectingPoint num="21" id="1573" /> -<TGConnectingPoint num="22" id="1574" /> -<TGConnectingPoint num="23" id="1575" /> -<TGConnectingPoint num="24" id="1576" /> -<TGConnectingPoint num="25" id="1577" /> -<TGConnectingPoint num="26" id="1578" /> -<TGConnectingPoint num="27" id="1579" /> -<TGConnectingPoint num="28" id="1580" /> -<TGConnectingPoint num="29" id="1581" /> -<TGConnectingPoint num="30" id="1582" /> -<TGConnectingPoint num="31" id="1583" /> -<TGConnectingPoint num="32" id="1584" /> -<TGConnectingPoint num="33" id="1585" /> -<TGConnectingPoint num="34" id="1586" /> -<TGConnectingPoint num="35" id="1587" /> -<TGConnectingPoint num="36" id="1588" /> -<TGConnectingPoint num="37" id="1589" /> -<TGConnectingPoint num="38" id="1590" /> -<TGConnectingPoint num="39" id="1591" /> +<TGConnectingPoint num="0" id="1606" /> +<TGConnectingPoint num="1" id="1607" /> +<TGConnectingPoint num="2" id="1608" /> +<TGConnectingPoint num="3" id="1609" /> +<TGConnectingPoint num="4" id="1610" /> +<TGConnectingPoint num="5" id="1611" /> +<TGConnectingPoint num="6" id="1612" /> +<TGConnectingPoint num="7" id="1613" /> +<TGConnectingPoint num="8" id="1614" /> +<TGConnectingPoint num="9" id="1615" /> +<TGConnectingPoint num="10" id="1616" /> +<TGConnectingPoint num="11" id="1617" /> +<TGConnectingPoint num="12" id="1618" /> +<TGConnectingPoint num="13" id="1619" /> +<TGConnectingPoint num="14" id="1620" /> +<TGConnectingPoint num="15" id="1621" /> +<TGConnectingPoint num="16" id="1622" /> +<TGConnectingPoint num="17" id="1623" /> +<TGConnectingPoint num="18" id="1624" /> +<TGConnectingPoint num="19" id="1625" /> +<TGConnectingPoint num="20" id="1626" /> +<TGConnectingPoint num="21" id="1627" /> +<TGConnectingPoint num="22" id="1628" /> +<TGConnectingPoint num="23" id="1629" /> +<TGConnectingPoint num="24" id="1630" /> +<TGConnectingPoint num="25" id="1631" /> +<TGConnectingPoint num="26" id="1632" /> +<TGConnectingPoint num="27" id="1633" /> +<TGConnectingPoint num="28" id="1634" /> +<TGConnectingPoint num="29" id="1635" /> +<TGConnectingPoint num="30" id="1636" /> +<TGConnectingPoint num="31" id="1637" /> +<TGConnectingPoint num="32" id="1638" /> +<TGConnectingPoint num="33" id="1639" /> +<TGConnectingPoint num="34" id="1640" /> +<TGConnectingPoint num="35" id="1641" /> +<TGConnectingPoint num="36" id="1642" /> +<TGConnectingPoint num="37" id="1643" /> +<TGConnectingPoint num="38" id="1644" /> +<TGConnectingPoint num="39" id="1645" /> <extraparam> </extraparam> </COMPONENT> -<COMPONENT type="5106" id="1633" > -<cdparam x="298" y="88" /> +<COMPONENT type="5106" id="1687" > +<cdparam x="338" y="120" /> <sizeparam width="50" height="30" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="state0" value="main" /> -<TGConnectingPoint num="0" id="1593" /> -<TGConnectingPoint num="1" id="1594" /> -<TGConnectingPoint num="2" id="1595" /> -<TGConnectingPoint num="3" id="1596" /> -<TGConnectingPoint num="4" id="1597" /> -<TGConnectingPoint num="5" id="1598" /> -<TGConnectingPoint num="6" id="1599" /> -<TGConnectingPoint num="7" id="1600" /> -<TGConnectingPoint num="8" id="1601" /> -<TGConnectingPoint num="9" id="1602" /> -<TGConnectingPoint num="10" id="1603" /> -<TGConnectingPoint num="11" id="1604" /> -<TGConnectingPoint num="12" id="1605" /> -<TGConnectingPoint num="13" id="1606" /> -<TGConnectingPoint num="14" id="1607" /> -<TGConnectingPoint num="15" id="1608" /> -<TGConnectingPoint num="16" id="1609" /> -<TGConnectingPoint num="17" id="1610" /> -<TGConnectingPoint num="18" id="1611" /> -<TGConnectingPoint num="19" id="1612" /> -<TGConnectingPoint num="20" id="1613" /> -<TGConnectingPoint num="21" id="1614" /> -<TGConnectingPoint num="22" id="1615" /> -<TGConnectingPoint num="23" id="1616" /> -<TGConnectingPoint num="24" id="1617" /> -<TGConnectingPoint num="25" id="1618" /> -<TGConnectingPoint num="26" id="1619" /> -<TGConnectingPoint num="27" id="1620" /> -<TGConnectingPoint num="28" id="1621" /> -<TGConnectingPoint num="29" id="1622" /> -<TGConnectingPoint num="30" id="1623" /> -<TGConnectingPoint num="31" id="1624" /> -<TGConnectingPoint num="32" id="1625" /> -<TGConnectingPoint num="33" id="1626" /> -<TGConnectingPoint num="34" id="1627" /> -<TGConnectingPoint num="35" id="1628" /> -<TGConnectingPoint num="36" id="1629" /> -<TGConnectingPoint num="37" id="1630" /> -<TGConnectingPoint num="38" id="1631" /> -<TGConnectingPoint num="39" id="1632" /> +<TGConnectingPoint num="0" id="1647" /> +<TGConnectingPoint num="1" id="1648" /> +<TGConnectingPoint num="2" id="1649" /> +<TGConnectingPoint num="3" id="1650" /> +<TGConnectingPoint num="4" id="1651" /> +<TGConnectingPoint num="5" id="1652" /> +<TGConnectingPoint num="6" id="1653" /> +<TGConnectingPoint num="7" id="1654" /> +<TGConnectingPoint num="8" id="1655" /> +<TGConnectingPoint num="9" id="1656" /> +<TGConnectingPoint num="10" id="1657" /> +<TGConnectingPoint num="11" id="1658" /> +<TGConnectingPoint num="12" id="1659" /> +<TGConnectingPoint num="13" id="1660" /> +<TGConnectingPoint num="14" id="1661" /> +<TGConnectingPoint num="15" id="1662" /> +<TGConnectingPoint num="16" id="1663" /> +<TGConnectingPoint num="17" id="1664" /> +<TGConnectingPoint num="18" id="1665" /> +<TGConnectingPoint num="19" id="1666" /> +<TGConnectingPoint num="20" id="1667" /> +<TGConnectingPoint num="21" id="1668" /> +<TGConnectingPoint num="22" id="1669" /> +<TGConnectingPoint num="23" id="1670" /> +<TGConnectingPoint num="24" id="1671" /> +<TGConnectingPoint num="25" id="1672" /> +<TGConnectingPoint num="26" id="1673" /> +<TGConnectingPoint num="27" id="1674" /> +<TGConnectingPoint num="28" id="1675" /> +<TGConnectingPoint num="29" id="1676" /> +<TGConnectingPoint num="30" id="1677" /> +<TGConnectingPoint num="31" id="1678" /> +<TGConnectingPoint num="32" id="1679" /> +<TGConnectingPoint num="33" id="1680" /> +<TGConnectingPoint num="34" id="1681" /> +<TGConnectingPoint num="35" id="1682" /> +<TGConnectingPoint num="36" id="1683" /> +<TGConnectingPoint num="37" id="1684" /> +<TGConnectingPoint num="38" id="1685" /> +<TGConnectingPoint num="39" id="1686" /> <extraparam> </extraparam> </COMPONENT> -<COMPONENT type="5100" id="1635" > -<cdparam x="315" y="49" /> +<COMPONENT type="5100" id="1689" > +<cdparam x="355" y="81" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="1634" /> +<TGConnectingPoint num="0" id="1688" /> </COMPONENT> -<COMPONENT type="5106" id="1689" > -<cdparam x="264" y="174" /> -<sizeparam width="184" height="130" minWidth="40" minHeight="30" maxWidth="2000" 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="1649" /> -<TGConnectingPoint num="1" id="1650" /> -<TGConnectingPoint num="2" id="1651" /> -<TGConnectingPoint num="3" id="1652" /> -<TGConnectingPoint num="4" id="1653" /> -<TGConnectingPoint num="5" id="1654" /> -<TGConnectingPoint num="6" id="1655" /> -<TGConnectingPoint num="7" id="1656" /> -<TGConnectingPoint num="8" id="1657" /> -<TGConnectingPoint num="9" id="1658" /> -<TGConnectingPoint num="10" id="1659" /> -<TGConnectingPoint num="11" id="1660" /> -<TGConnectingPoint num="12" id="1661" /> -<TGConnectingPoint num="13" id="1662" /> -<TGConnectingPoint num="14" id="1663" /> -<TGConnectingPoint num="15" id="1664" /> -<TGConnectingPoint num="16" id="1665" /> -<TGConnectingPoint num="17" id="1666" /> -<TGConnectingPoint num="18" id="1667" /> -<TGConnectingPoint num="19" id="1668" /> -<TGConnectingPoint num="20" id="1669" /> -<TGConnectingPoint num="21" id="1670" /> -<TGConnectingPoint num="22" id="1671" /> -<TGConnectingPoint num="23" id="1672" /> -<TGConnectingPoint num="24" id="1673" /> -<TGConnectingPoint num="25" id="1674" /> -<TGConnectingPoint num="26" id="1675" /> -<TGConnectingPoint num="27" id="1676" /> -<TGConnectingPoint num="28" id="1677" /> -<TGConnectingPoint num="29" id="1678" /> -<TGConnectingPoint num="30" id="1679" /> -<TGConnectingPoint num="31" id="1680" /> -<TGConnectingPoint num="32" id="1681" /> -<TGConnectingPoint num="33" id="1682" /> -<TGConnectingPoint num="34" id="1683" /> -<TGConnectingPoint num="35" id="1684" /> -<TGConnectingPoint num="36" id="1685" /> -<TGConnectingPoint num="37" id="1686" /> -<TGConnectingPoint num="38" id="1687" /> -<TGConnectingPoint num="39" id="1688" /> -<extraparam> -</extraparam> -</COMPONENT> -<SUBCOMPONENT type="5103" id="1646" > -<father id="1689" num="0" /> -<cdparam x="328" y="257" /> -<sizeparam width="51" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="0" maxX="138" minY="0" maxY="110" /> -<infoparam name="Send signal" value="push()" /> -<TGConnectingPoint num="0" id="1636" /> -<TGConnectingPoint num="1" id="1637" /> -<TGConnectingPoint num="2" id="1638" /> -<TGConnectingPoint num="3" id="1639" /> -<TGConnectingPoint num="4" id="1640" /> -<TGConnectingPoint num="5" id="1641" /> -<TGConnectingPoint num="6" id="1642" /> -<TGConnectingPoint num="7" id="1643" /> -<TGConnectingPoint num="8" id="1644" /> -<TGConnectingPoint num="9" id="1645" /> -</SUBCOMPONENT> -<SUBCOMPONENT type="5100" id="1648" > -<father id="1689" num="1" /> -<cdparam x="333" y="213" /> -<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="0" maxX="169" minY="0" maxY="115" /> -<infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="1647" /> -</SUBCOMPONENT> - </AVATARStateMachineDiagramPanel> @@ -3216,7 +3216,7 @@ <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Block1 to Block0" value="" /> <TGConnectingPoint num="0" id="1690" /> -<P1 x="559" y="330" id="1803" /> +<P1 x="559" y="330" id="1778" /> <P2 x="560" y="377" id="1836" /> <AutomaticDrawing data="true" /> <extraparam> @@ -3246,7 +3246,7 @@ <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Block1 to Block0" value="" /> <TGConnectingPoint num="0" id="1694" /> -<P1 x="789" y="326" id="1778" /> +<P1 x="789" y="326" id="1803" /> <P2 x="790" y="377" id="1837" /> <AutomaticDrawing data="true" /> <extraparam> @@ -3255,73 +3255,17 @@ <FIFOType asynchronous="false" size="1024" blocking="false" private="true" broadcast="false" lossy="false" /> </extraparam> </CONNECTOR> -<COMPONENT type="302" id="1712" > -<cdparam x="498" y="455" /> -<sizeparam width="274" height="71" minWidth="80" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="Proverif Pragma" value="SecreyAssymptions Wallet.nbOfCoins -" /> -<TGConnectingPoint num="0" id="1696" /> -<TGConnectingPoint num="1" id="1697" /> -<TGConnectingPoint num="2" id="1698" /> -<TGConnectingPoint num="3" id="1699" /> -<TGConnectingPoint num="4" id="1700" /> -<TGConnectingPoint num="5" id="1701" /> -<TGConnectingPoint num="6" id="1702" /> -<TGConnectingPoint num="7" id="1703" /> -<TGConnectingPoint num="8" id="1704" /> -<TGConnectingPoint num="9" id="1705" /> -<TGConnectingPoint num="10" id="1706" /> -<TGConnectingPoint num="11" id="1707" /> -<TGConnectingPoint num="12" id="1708" /> -<TGConnectingPoint num="13" id="1709" /> -<TGConnectingPoint num="14" id="1710" /> -<TGConnectingPoint num="15" id="1711" /> -<extraparam> -<Line value="SecreyAssymptions Wallet.nbOfCoins" /> -</extraparam> -</COMPONENT> - -<COMPONENT type="307" id="1729" > -<cdparam x="94" y="513" /> -<sizeparam width="342" height="45" minWidth="80" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="Performance Pragma" value="Latenc(Block1.state, block2.state) -" /> -<TGConnectingPoint num="0" id="1713" /> -<TGConnectingPoint num="1" id="1714" /> -<TGConnectingPoint num="2" id="1715" /> -<TGConnectingPoint num="3" id="1716" /> -<TGConnectingPoint num="4" id="1717" /> -<TGConnectingPoint num="5" id="1718" /> -<TGConnectingPoint num="6" id="1719" /> -<TGConnectingPoint num="7" id="1720" /> -<TGConnectingPoint num="8" id="1721" /> -<TGConnectingPoint num="9" id="1722" /> -<TGConnectingPoint num="10" id="1723" /> -<TGConnectingPoint num="11" id="1724" /> -<TGConnectingPoint num="12" id="1725" /> -<TGConnectingPoint num="13" id="1726" /> -<TGConnectingPoint num="14" id="1727" /> -<TGConnectingPoint num="15" id="1728" /> -<extraparam> -<Line value="Latenc(Block1.state, block2.state)" /> -</extraparam> -</COMPONENT> - <COMPONENT type="303" id="1746" > <cdparam x="92" y="385" /> -<sizeparam width="390" height="110" minWidth="80" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="334" height="84" minWidth="80" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="UPPAAL Pragma" value="A[] Wallet.nbOfCoins<1 +<infoparam name="UPPAAL Pragma" value="A[] Wallet.nbOfCoins<3 A[] CoffeeButton.main -A[] CoffeeMachine.WaitingForSelection +A<> CoffeeMachine.WaitingForSelection E<> CoffeeMachine.WaitingForSelection -A[] Wallet.b == true && Wallet.b == false -A[]Wallet.b== true" /> + +" /> <TGConnectingPoint num="0" id="1730" /> <TGConnectingPoint num="1" id="1731" /> <TGConnectingPoint num="2" id="1732" /> @@ -3339,12 +3283,10 @@ A[]Wallet.b== true" /> <TGConnectingPoint num="14" id="1744" /> <TGConnectingPoint num="15" id="1745" /> <extraparam> -<Line value="A[] Wallet.nbOfCoins<1" /> +<Line value="A[] Wallet.nbOfCoins<3" /> <Line value="A[] CoffeeButton.main" /> -<Line value="A[] CoffeeMachine.WaitingForSelection" /> +<Line value="A<> CoffeeMachine.WaitingForSelection" /> <Line value="E<> CoffeeMachine.WaitingForSelection" /> -<Line value="A[] Wallet.b == true && Wallet.b == false" /> -<Line value="A[]Wallet.b== true" /> </extraparam> </COMPONENT> @@ -3384,7 +3326,6 @@ A[]Wallet.b== true" /> <Attribute access="0" id="x" value="1" type="8" typeOther="" /> <Attribute access="0" id="minUserDelay" value="50" type="8" typeOther="" /> <Attribute access="0" id="maxUserDelay" value="70" type="8" typeOther="" /> -<Attribute access="0" id="b" value="" type="4" typeOther="" /> <Method value="contentOfWallet(int nbOfCoins)" /> <Signal value="in getCoin(int nbOfCoins)" attached="true" /> <Signal value="out putCoin(int nbOfCoins)" attached="true" /> @@ -3439,11 +3380,11 @@ A[]Wallet.b== true" /> </COMPONENT> <SUBCOMPONENT type="5000" id="1796" > <father id="1846" num="0" /> -<cdparam x="695" y="224" /> -<sizeparam width="189" height="102" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="464" y="228" /> +<sizeparam width="190" height="102" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="272" minY="0" maxY="256" /> -<infoparam name="Block1" value="TeaButton" /> +<cdrectangleparam minX="0" maxX="271" minY="0" maxY="256" /> +<infoparam name="Block1" value="CoffeeButton" /> <TGConnectingPoint num="0" id="1772" /> <TGConnectingPoint num="1" id="1773" /> <TGConnectingPoint num="2" id="1774" /> @@ -3470,17 +3411,17 @@ A[]Wallet.b== true" /> <TGConnectingPoint num="23" id="1795" /> <extraparam> <CryptoBlock value="false" /> -<Attribute access="0" id="mechanicalDelay" value="10" type="8" typeOther="" /> +<Attribute access="0" id="mechanicalDelay" value="80" type="8" typeOther="" /> <Signal value="out push()" attached="true" /> </extraparam> </SUBCOMPONENT> <SUBCOMPONENT type="5000" id="1821" > <father id="1846" num="1" /> -<cdparam x="464" y="228" /> -<sizeparam width="190" height="102" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="695" y="224" /> +<sizeparam width="189" height="102" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="271" minY="0" maxY="256" /> -<infoparam name="Block1" value="CoffeeButton" /> +<cdrectangleparam minX="0" maxX="272" minY="0" maxY="256" /> +<infoparam name="Block1" value="TeaButton" /> <TGConnectingPoint num="0" id="1797" /> <TGConnectingPoint num="1" id="1798" /> <TGConnectingPoint num="2" id="1799" /> @@ -3507,7 +3448,7 @@ A[]Wallet.b== true" /> <TGConnectingPoint num="23" id="1820" /> <extraparam> <CryptoBlock value="false" /> -<Attribute access="0" id="mechanicalDelay" value="80" type="8" typeOther="" /> +<Attribute access="0" id="mechanicalDelay" value="10" type="8" typeOther="" /> <Signal value="out push()" attached="true" /> </extraparam> </SUBCOMPONENT> @@ -4683,19 +4624,19 @@ A[]Wallet.b== true" /> </AVATARStateMachineDiagramPanel> -<AVATARStateMachineDiagramPanel name="CoffeeButton" minX="10" maxX="1400" minY="10" maxY="900" > +<AVATARStateMachineDiagramPanel name="TeaButton" minX="10" maxX="1400" minY="10" maxY="900" > <CONNECTOR type="5102" id="2447" > -<cdparam x="323" y="118" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="null" /> +<cdparam x="363" y="193" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector from Send signal to state0" value="null" /> <TGConnectingPoint num="0" id="2446" /> -<P1 x="323" y="118" id="2520" /> -<P2 x="341" y="200" id="2462" /> +<P1 x="363" y="204" id="2463" /> +<P2 x="362" y="257" id="2474" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="2445" > <father id="2447" num="0" /> -<cdparam x="323" y="158" /> -<sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="380" y="228" /> +<sizeparam width="149" height="15" minWidth="0" minHeight="0" maxWidth="2000" 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="" /> @@ -4705,7 +4646,7 @@ A[]Wallet.b== true" /> <TGConnectingPoint num="3" id="2444" /> <extraparam> <guard value="[ ]" /> -<afterMin value="" /> +<afterMin value="mechanicalDelay" /> <afterMax value="" /> <computeMin value="" /> <computeMax value="" /> @@ -4713,16 +4654,16 @@ A[]Wallet.b== true" /> </SUBCOMPONENT> <CONNECTOR type="5102" id="2454" > -<cdparam x="322" y="69" /> +<cdparam x="363" y="150" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from start state to state0" value="null" /> +<infoparam name="connector from state0 to Send signal" value="null" /> <TGConnectingPoint num="0" id="2453" /> -<P1 x="322" y="69" id="2555" /> -<P2 x="323" y="88" id="2515" /> +<P1 x="363" y="150" id="2520" /> +<P2 x="363" y="174" id="2462" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="2452" > <father id="2454" num="0" /> -<cdparam x="322" y="109" /> +<cdparam x="363" y="190" /> <sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> @@ -4741,17 +4682,17 @@ A[]Wallet.b== true" /> </SUBCOMPONENT> <CONNECTOR type="5102" id="2461" > -<cdparam x="365" y="135" /> +<cdparam x="362" y="101" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from Send signal to state0" value="null" /> +<infoparam name="connector from start state to state0" value="null" /> <TGConnectingPoint num="0" id="2460" /> -<P1 x="341" y="230" id="2463" /> -<P2 x="387" y="300" id="2474" /> +<P1 x="362" y="101" id="2555" /> +<P2 x="363" y="120" id="2515" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="2459" > <father id="2461" num="0" /> -<cdparam x="405" y="283" /> -<sizeparam width="149" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="362" y="141" /> +<sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" 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="" /> @@ -4761,7 +4702,7 @@ A[]Wallet.b== true" /> <TGConnectingPoint num="3" id="2458" /> <extraparam> <guard value="[ ]" /> -<afterMin value="mechanicalDelay" /> +<afterMin value="" /> <afterMax value="" /> <computeMin value="" /> <computeMax value="" /> @@ -4769,7 +4710,7 @@ A[]Wallet.b== true" /> </SUBCOMPONENT> <COMPONENT type="5103" id="2472" > -<cdparam x="316" y="205" /> +<cdparam x="338" y="179" /> <sizeparam width="51" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> @@ -4787,7 +4728,7 @@ A[]Wallet.b== true" /> </COMPONENT> <COMPONENT type="5106" id="2513" > -<cdparam x="362" y="300" /> +<cdparam x="337" y="257" /> <sizeparam width="50" height="30" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> @@ -4837,7 +4778,7 @@ A[]Wallet.b== true" /> </COMPONENT> <COMPONENT type="5106" id="2554" > -<cdparam x="298" y="88" /> +<cdparam x="338" y="120" /> <sizeparam width="50" height="30" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> @@ -4887,7 +4828,7 @@ A[]Wallet.b== true" /> </COMPONENT> <COMPONENT type="5100" id="2556" > -<cdparam x="315" y="49" /> +<cdparam x="355" y="81" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> @@ -4898,19 +4839,19 @@ A[]Wallet.b== true" /> </AVATARStateMachineDiagramPanel> -<AVATARStateMachineDiagramPanel name="TeaButton" minX="10" maxX="1400" minY="10" maxY="900" > +<AVATARStateMachineDiagramPanel name="CoffeeButton" minX="10" maxX="1400" minY="10" maxY="900" > <CONNECTOR type="5102" id="2563" > -<cdparam x="363" y="193" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from Send signal to state0" value="null" /> +<cdparam x="323" y="118" /> +<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<infoparam name="connector" value="null" /> <TGConnectingPoint num="0" id="2562" /> -<P1 x="363" y="204" id="2579" /> -<P2 x="362" y="257" id="2590" /> +<P1 x="323" y="118" id="2636" /> +<P2 x="341" y="200" id="2578" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="2561" > <father id="2563" num="0" /> -<cdparam x="380" y="228" /> -<sizeparam width="149" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="323" y="158" /> +<sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" 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="" /> @@ -4920,7 +4861,7 @@ A[]Wallet.b== true" /> <TGConnectingPoint num="3" id="2560" /> <extraparam> <guard value="[ ]" /> -<afterMin value="mechanicalDelay" /> +<afterMin value="" /> <afterMax value="" /> <computeMin value="" /> <computeMax value="" /> @@ -4928,16 +4869,16 @@ A[]Wallet.b== true" /> </SUBCOMPONENT> <CONNECTOR type="5102" id="2570" > -<cdparam x="363" y="150" /> +<cdparam x="322" y="69" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from state0 to Send signal" value="null" /> +<infoparam name="connector from start state to state0" value="null" /> <TGConnectingPoint num="0" id="2569" /> -<P1 x="363" y="150" id="2636" /> -<P2 x="363" y="174" id="2578" /> +<P1 x="322" y="69" id="2671" /> +<P2 x="323" y="88" id="2631" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="2568" > <father id="2570" num="0" /> -<cdparam x="363" y="190" /> +<cdparam x="322" y="109" /> <sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> @@ -4956,17 +4897,17 @@ A[]Wallet.b== true" /> </SUBCOMPONENT> <CONNECTOR type="5102" id="2577" > -<cdparam x="362" y="101" /> +<cdparam x="365" y="135" /> <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" /> +<infoparam name="connector from Send signal to state0" value="null" /> <TGConnectingPoint num="0" id="2576" /> -<P1 x="362" y="101" id="2671" /> -<P2 x="363" y="120" id="2631" /> +<P1 x="341" y="230" id="2579" /> +<P2 x="387" y="300" id="2590" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="2575" > <father id="2577" num="0" /> -<cdparam x="362" y="141" /> -<sizeparam width="10" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="405" y="283" /> +<sizeparam width="149" height="15" minWidth="0" minHeight="0" maxWidth="2000" 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="" /> @@ -4976,7 +4917,7 @@ A[]Wallet.b== true" /> <TGConnectingPoint num="3" id="2574" /> <extraparam> <guard value="[ ]" /> -<afterMin value="" /> +<afterMin value="mechanicalDelay" /> <afterMax value="" /> <computeMin value="" /> <computeMax value="" /> @@ -4984,7 +4925,7 @@ A[]Wallet.b== true" /> </SUBCOMPONENT> <COMPONENT type="5103" id="2588" > -<cdparam x="338" y="179" /> +<cdparam x="316" y="205" /> <sizeparam width="51" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> @@ -5002,7 +4943,7 @@ A[]Wallet.b== true" /> </COMPONENT> <COMPONENT type="5106" id="2629" > -<cdparam x="337" y="257" /> +<cdparam x="362" y="300" /> <sizeparam width="50" height="30" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> @@ -5052,7 +4993,7 @@ A[]Wallet.b== true" /> </COMPONENT> <COMPONENT type="5106" id="2670" > -<cdparam x="338" y="120" /> +<cdparam x="298" y="88" /> <sizeparam width="50" height="30" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> @@ -5102,7 +5043,7 @@ A[]Wallet.b== true" /> </COMPONENT> <COMPONENT type="5100" id="2672" > -<cdparam x="355" y="81" /> +<cdparam x="315" y="49" /> <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> diff --git a/src/main/java/avatartranslator/modelchecker/AvatarModelChecker.java b/src/main/java/avatartranslator/modelchecker/AvatarModelChecker.java index 2dffe6e8e7b4cfdf3d86f4cb69d23493a8657071..392cd17f595324c883428b290fabf91c3100f4df 100644 --- a/src/main/java/avatartranslator/modelchecker/AvatarModelChecker.java +++ b/src/main/java/avatartranslator/modelchecker/AvatarModelChecker.java @@ -1193,7 +1193,7 @@ public class AvatarModelChecker implements Runnable, myutil.Graph { //TraceManager.addDev("State:" + state.id); if (state.nexts != null) { for(SpecificationLink link: state.nexts) { - sb.append("(" + link.originState.id + ",\"" + link.action + "\"," + link.destinationState.id + ")\n"); + sb.append("(" + link.originState.id + ",\"" + link.action + "\"," + link.destinationState.id + ")\n"); } } } @@ -1263,6 +1263,10 @@ public class AvatarModelChecker implements Runnable, myutil.Graph { return similar; } + private Map<Integer, SpecificationState> getRG() { + return states; + } + diff --git a/src/main/java/avatartranslator/modelchecker/SafetyProperty.java b/src/main/java/avatartranslator/modelchecker/SafetyProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..921aa4e2ed8942fd43c0c6e1394551af5a93556e --- /dev/null +++ b/src/main/java/avatartranslator/modelchecker/SafetyProperty.java @@ -0,0 +1,137 @@ +/* Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille + * + * ludovic.apvrille AT enst.fr + * + * This software is a computer program whose purpose is to allow the + * edition of TURTLE analysis, design and deployment diagrams, to + * allow the generation of RT-LOTOS or Java code from this diagram, + * and at last to allow the analysis of formal validation traces + * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP + * from INRIA Rhone-Alpes. + * + * This software is governed by the CeCILL license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL license and that you accept its terms. + */ + + + + + +package avatartranslator.modelchecker; + +import avatartranslator.*; + + +/** + * Class SafetyProperty + * Coding of a ssafety property + * Creation: 22/11/2017 + * @version 1.0 22/11/2017 + * @author Ludovic APVRILLE + */ +public class SafetyProperty { + // Error on property + public static final int NO_ERROR = 0; + public static final int BAD_SAFETY_TYPE = 1; + public static final int BAD_PROPERTY_STRUCTURE = 1; + + // Type of safety + public static final int ALLTRACES_ALLSTATES = 0;// A[] + public static final int ALLTRACES_ONESTATE = 1; // A<> + public static final int ONETRACE_ALLSTATES = 2; // E[] + public static final int ONETRACE_ONESTATE = 3; // E<> + + // Type of property + public static final int BLOCK_STATE = 0; + public static final int BOOL_EXPR = 1; + + + private String rawProperty; + + private int safetyType; + private int propertyType; + private String p; + + private boolean isBlockStateProperty; + private int blockIndex; + private int stateIndex; + + private int errorOnProperty; + + + public SafetyProperty(String property, AvatarSpecification _spec) { + rawProperty = property.trim(); + analyzeProperty(_spec); + } + + public boolean analyzeProperty(AvatarSpecification _spec) { + String tmpP = rawProperty; + + errorOnProperty = NO_ERROR; + + if (tmpP.startsWith("A[]")) { + safetyType = ALLTRACES_ALLSTATES; + } else if (tmpP.startsWith("A<>")) { + safetyType = ALLTRACES_ONESTATE; + } else if (tmpP.startsWith("E[]")) { + safetyType = ONETRACE_ALLSTATES; + } else if (tmpP.startsWith("E<>")) { + safetyType = ONETRACE_ONESTATE; + } else { + errorOnProperty = BAD_SAFETY_TYPE; + return false; + } + + p = tmpP.substring(3, tmpP.length()).trim(); + + if (p.length() == 0) { + errorOnProperty = BAD_PROPERTY_STRUCTURE; + return false; + } + + return (errorOnProperty == NO_ERROR); + } + + + public boolean hasError() { + return errorOnProperty != NO_ERROR; + } + + public void setErrorOnP() { + errorOnProperty = BAD_PROPERTY_STRUCTURE; + } + + public String getP() { + return p; + } + + + public String toString() { + return "prop: " + rawProperty; + } + + +} diff --git a/src/main/java/avatartranslator/modelchecker/SpecificationBlock.java b/src/main/java/avatartranslator/modelchecker/SpecificationBlock.java index 3067c672d3bca9acbc2ec22ac202a5bc456927ce..ef6ed4cd49395b4f15f0648977e0304db7ca4be2 100644 --- a/src/main/java/avatartranslator/modelchecker/SpecificationBlock.java +++ b/src/main/java/avatartranslator/modelchecker/SpecificationBlock.java @@ -66,6 +66,9 @@ public class SpecificationBlock { public int [] values; // state in block, clockmin, clockmax, variables public int maxClock; + + public AvatarBlock block; + public SpecificationBlock() { } @@ -75,6 +78,7 @@ public class SpecificationBlock { } public void init(AvatarBlock _block, boolean _ignoreEmptyTransitions) { + LinkedList<AvatarAttribute> attrs = _block.getAttributes(); //TraceManager.addDev("Nb of attributes:" + attrs.size()); //TraceManager.addDev("in block=" + _block.toString()); diff --git a/src/main/java/avatartranslator/modelchecker/SpecificationState.java b/src/main/java/avatartranslator/modelchecker/SpecificationState.java index 4cbeffd4d390183290061bce943445e53f0fa5b5..8f5ef83f6b8dcc70e0897ac24c6c8a59f55c1d1a 100644 --- a/src/main/java/avatartranslator/modelchecker/SpecificationState.java +++ b/src/main/java/avatartranslator/modelchecker/SpecificationState.java @@ -63,7 +63,7 @@ public class SpecificationState implements Comparable<SpecificationState> { public int hashValue; public boolean hashComputed; public long id; - public LinkedList<SpecificationLink> nexts; + public LinkedList<SpecificationLink> nexts; // The RG is there public ArrayList<SpecificationTransition> transitions; @@ -195,4 +195,21 @@ public class SpecificationState implements Comparable<SpecificationState> { return ((int)id) - (int)(_s.id); } + // Returns false in case of invalid property + public boolean checkProperty(SafetyProperty _sp) { + if (_sp.hasError()) { + return false; + } + + // Two cases + // 1. block.state + // 2. bool expr + + + + + + return true; + } + } diff --git a/src/main/java/myutil/BoolExpressionEvaluator.java b/src/main/java/myutil/BoolExpressionEvaluator.java index c74f9ef612967110cf37766bb04ec0c71f027562..fddde761d1a06f2a4377e9ead27613fc8d462739 100755 --- a/src/main/java/myutil/BoolExpressionEvaluator.java +++ b/src/main/java/myutil/BoolExpressionEvaluator.java @@ -60,6 +60,7 @@ public class BoolExpressionEvaluator { public static final int BOOL_BINARY_OP = 4; public static final int BOOL_UNARY_OP = 5; public static final int OPEN_PARENTHESIS = 6; + public static final int UNKNOWN_TERM = 7; public int id = (int)(Math.ceil(Math.random() * 10000000)); public int i = -18; @@ -97,6 +98,12 @@ public class BoolExpressionEvaluator { father = _father; } + public IntBoolRes(String val, IntBoolRes _father) { + symb = val; + res = UNKNOWN_TERM; + father = _father; + } + public IntBoolRes getTop() { if (father == null) { return this; @@ -134,6 +141,21 @@ public class BoolExpressionEvaluator { } return news; } + + public IntBoolRes addTerminalUnknown(String val) { + if (isFull()) { + return null; + } + + IntBoolRes news = new IntBoolRes(val, this); + if (left == null) { + left = news; + } else { + right = news; + } + return news; + } + public IntBoolRes addOpenParenthesis() { if ((left != null) && (right != null)) { @@ -658,12 +680,17 @@ public class BoolExpressionEvaluator { private int nbOpen; - private IntBoolRes top; + private IntBoolRes top; // top of tree + private boolean supportUnknownTerminal = false; public BoolExpressionEvaluator() { } + public void setSupportUnknownTerminal(boolean support) { + supportUnknownTerminal = support; + } + public String getError() { if (errorMessage == null) { @@ -1893,6 +1920,16 @@ public class BoolExpressionEvaluator { return father.father; } + if (supportUnknownTerminal) { + TraceManager.addDev("Adding unknown term:" + token); + newElt = current.addTerminalUnknown(token); + + if (newElt == null) { + errorMessage = "Badly placed unknown term:" + token; + return null; + } + return current; + } return null;