From c1afb8d6e0d908603db317449373d5bbadd4f79d Mon Sep 17 00:00:00 2001 From: Ludovic Apvrille <ludovic.apvrille@telecom-paris.fr> Date: Tue, 1 Mar 2022 19:29:24 +0100 Subject: [PATCH] Adding test for the remove time operator test --- modeling/AVATAR/CoffeeMachine_Avatar.xml | 535 +++++++++--------- src/main/java/cli/Action.java | 33 ++ .../java/cli/CLIAvatarModelCheckerTest.java | 87 ++- .../cli/input/scriptmodelchecker_s_notime | 12 + .../cli/input/scriptmodelchecker_s_time | 11 + 5 files changed, 410 insertions(+), 268 deletions(-) create mode 100644 ttool/src/test/resources/cli/input/scriptmodelchecker_s_notime create mode 100644 ttool/src/test/resources/cli/input/scriptmodelchecker_s_time diff --git a/modeling/AVATAR/CoffeeMachine_Avatar.xml b/modeling/AVATAR/CoffeeMachine_Avatar.xml index 2d10d1948f..c6af5a9745 100644 --- a/modeling/AVATAR/CoffeeMachine_Avatar.xml +++ b/modeling/AVATAR/CoffeeMachine_Avatar.xml @@ -27,6 +27,7 @@ <TGConnectingPoint num="14" id="15" /> <TGConnectingPoint num="15" id="16" /> <extraparam> +<Line value="" /> </extraparam> </COMPONENT> @@ -758,7 +759,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="449" /> -<P1 x="302" y="261" id="480" /> +<P1 x="302" y="261" id="493" /> <P2 x="361" y="261" id="468" /> <AutomaticDrawing data="true" /> </CONNECTOR> @@ -776,7 +777,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="453" /> -<P1 x="305" y="211" id="493" /> +<P1 x="305" y="211" id="480" /> <P2 x="361" y="211" id="467" /> <AutomaticDrawing data="true" /> </CONNECTOR> @@ -863,13 +864,13 @@ <TGConnectingPoint num="22" id="526" /> <TGConnectingPoint num="23" id="527" /> </COMPONENT> -<SUBCOMPONENT type="5304" id="490" index="13" uid="e14fd5a7-c9ae-42ab-b99a-306f91c69127" > +<SUBCOMPONENT type="5304" id="490" index="13" uid="2dbef5cf-57eb-4674-94d5-4b37c6777b4a" > <father id="528" num="0" /> -<cdparam x="154" y="241" /> -<sizeparam width="148" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="166" y="191" /> +<sizeparam width="139" height="40" minWidth="100" minHeight="1" 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="478" /> <TGConnectingPoint num="1" id="479" /> <TGConnectingPoint num="2" id="480" /> @@ -883,13 +884,13 @@ <TGConnectingPoint num="10" id="488" /> <TGConnectingPoint num="11" id="489" /> </SUBCOMPONENT> -<SUBCOMPONENT type="5304" id="503" index="14" uid="2dbef5cf-57eb-4674-94d5-4b37c6777b4a" > +<SUBCOMPONENT type="5304" id="503" index="14" uid="e14fd5a7-c9ae-42ab-b99a-306f91c69127" > <father id="528" num="1" /> -<cdparam x="166" y="191" /> -<sizeparam width="139" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="154" y="241" /> +<sizeparam width="148" height="40" minWidth="100" minHeight="1" 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="491" /> <TGConnectingPoint num="1" id="492" /> <TGConnectingPoint num="2" id="493" /> @@ -1019,7 +1020,7 @@ <TGConnectingPoint num="0" id="587" /> <TGConnectingPoint num="1" id="588" /> <TGConnectingPoint num="2" id="589" /> -<P1 x="581" y="154" id="676" /> +<P1 x="581" y="154" id="663" /> <P2 x="546" y="305" id="733" /> <Point x="518" y="154" /> <Point x="518" y="305" /> @@ -1047,7 +1048,7 @@ <infoparam name="connector from TGComponent to TGComponent" value="" /> <TGConnectingPoint num="0" id="592" /> <TGConnectingPoint num="1" id="593" /> -<P1 x="631" y="164" id="671" /> +<P1 x="631" y="164" id="658" /> <P2 x="667" y="310" id="720" /> <Point x="631" y="310" /> <AutomaticDrawing data="true" /> @@ -1075,7 +1076,7 @@ <infoparam name="connector from TGComponent to TGComponent" value="" /> <TGConnectingPoint num="0" id="598" /> <TGConnectingPoint num="1" id="599" /> -<P1 x="721" y="158" id="656" /> +<P1 x="721" y="158" id="669" /> <P2 x="700" y="204" id="710" /> <Point x="700" y="158" /> <AutomaticDrawing data="true" /> @@ -1230,13 +1231,13 @@ <TGConnectingPoint num="22" id="703" /> <TGConnectingPoint num="23" id="704" /> </COMPONENT> -<SUBCOMPONENT type="5303" id="667" index="24" uid="bf44a33b-5344-46b2-9170-509d38670a83" > +<SUBCOMPONENT type="5304" id="667" index="24" uid="5ba2c908-950a-4288-889b-0b4c00bd9d79" > <father id="705" num="0" /> -<cdparam x="721" y="133" /> -<sizeparam width="100" height="50" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="581" y="125" /> +<sizeparam width="100" height="39" minWidth="100" minHeight="1" 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="655" /> <TGConnectingPoint num="1" id="656" /> <TGConnectingPoint num="2" id="657" /> @@ -1249,17 +1250,14 @@ <TGConnectingPoint num="9" id="664" /> <TGConnectingPoint num="10" id="665" /> <TGConnectingPoint num="11" id="666" /> -<extraparam> -<Toggle value="" /> -</extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5304" id="680" index="25" uid="5ba2c908-950a-4288-889b-0b4c00bd9d79" > +<SUBCOMPONENT type="5303" id="680" index="25" uid="bf44a33b-5344-46b2-9170-509d38670a83" > <father id="705" num="1" /> -<cdparam x="581" y="125" /> -<sizeparam width="100" height="39" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="721" y="133" /> +<sizeparam width="100" height="50" minWidth="100" minHeight="1" 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="668" /> <TGConnectingPoint num="1" id="669" /> <TGConnectingPoint num="2" id="670" /> @@ -1272,6 +1270,9 @@ <TGConnectingPoint num="9" id="677" /> <TGConnectingPoint num="10" id="678" /> <TGConnectingPoint num="11" id="679" /> +<extraparam> +<Toggle value="" /> +</extraparam> </SUBCOMPONENT> <COMPONENT type="5306" id="717" index="14" uid="7a1c9320-1617-4710-a22f-ae8365f354ef" > @@ -1402,7 +1403,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="770" /> -<P1 x="557" y="348" id="840" /> +<P1 x="557" y="348" id="881" /> <P2 x="558" y="375" id="930" /> <AutomaticDrawing data="true" /> <extraparam> @@ -1432,7 +1433,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="774" /> -<P1 x="788" y="347" id="881" /> +<P1 x="788" y="347" id="840" /> <P2 x="788" y="375" id="931" /> <AutomaticDrawing data="true" /> <extraparam> @@ -1623,13 +1624,13 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <Signal value="out ejectCoin(int nbOfCoins)" attached="true" /> </extraparam> </COMPONENT> -<SUBCOMPONENT type="5000" id="874" index="6" uid="7a21d6ab-e515-4a9c-b908-bcb26c800cfb" > +<SUBCOMPONENT type="5000" id="874" index="6" uid="a5114e80-03e3-4820-b57a-bfcefd90a9c8" > <father id="956" num="0" /> -<cdparam x="463" y="247" /> -<sizeparam width="188" height="101" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="695" y="246" /> +<sizeparam width="187" height="101" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="272" minY="0" maxY="256" /> -<infoparam name="Block1" value="CoffeeButton" /> +<cdrectangleparam minX="0" maxX="273" minY="0" maxY="256" /> +<infoparam name="Block1" value="TeaButton" /> <TGConnectingPoint num="0" id="834" /> <TGConnectingPoint num="1" id="835" /> <TGConnectingPoint num="2" id="836" /> @@ -1677,13 +1678,13 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <Signal value="out push()" attached="true" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5000" id="915" index="7" uid="a5114e80-03e3-4820-b57a-bfcefd90a9c8" > +<SUBCOMPONENT type="5000" id="915" index="7" uid="7a21d6ab-e515-4a9c-b908-bcb26c800cfb" > <father id="956" num="1" /> -<cdparam x="695" y="246" /> -<sizeparam width="187" height="101" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="463" y="247" /> +<sizeparam width="188" height="101" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="273" minY="0" maxY="256" /> -<infoparam name="Block1" value="TeaButton" /> +<cdrectangleparam minX="0" maxX="272" minY="0" maxY="256" /> +<infoparam name="Block1" value="CoffeeButton" /> <TGConnectingPoint num="0" id="875" /> <TGConnectingPoint num="1" id="876" /> <TGConnectingPoint num="2" id="877" /> @@ -1741,8 +1742,8 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <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="962" /> -<P1 x="340" y="233" id="1144" /> -<P2 x="353" y="252" id="1133" /> +<P1 x="340" y="233" id="1133" /> +<P2 x="353" y="252" id="1135" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="961" index="8" uid="4b47f2ec-3073-4a06-b6e0-da7704454345" > <father id="963" num="0" /> @@ -1840,7 +1841,7 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <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="983" /> -<P1 x="353" y="282" id="1134" /> +<P1 x="353" y="282" id="1136" /> <P2 x="399" y="352" id="986" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="982" index="11" uid="ef1e1204-6711-4c2c-b81f-515c0e412fcb" > @@ -2125,33 +2126,33 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <extraparam> </extraparam> </COMPONENT> -<SUBCOMPONENT type="5103" id="1143" index="12" uid="71f14636-3c96-4e4e-8d0e-c1cd11e52641" > +<SUBCOMPONENT type="5100" id="1134" index="12" uid="4ea28494-de50-4f99-8981-3ef7a87d7d34" > <father id="1218" num="0" /> +<cdparam x="333" y="213" /> +<sizeparam width="15" height="15" minWidth="1" minHeight="1" 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="1133" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="5103" id="1145" index="13" uid="71f14636-3c96-4e4e-8d0e-c1cd11e52641" > +<father id="1218" num="1" /> <cdparam x="330" y="257" /> <sizeparam width="46" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="0" maxX="138" minY="0" maxY="110" /> <infoparam name="Send signal" value="push()" /> -<TGConnectingPoint num="0" id="1133" /> -<TGConnectingPoint num="1" id="1134" /> -<TGConnectingPoint num="2" id="1135" /> -<TGConnectingPoint num="3" id="1136" /> -<TGConnectingPoint num="4" id="1137" /> -<TGConnectingPoint num="5" id="1138" /> -<TGConnectingPoint num="6" id="1139" /> -<TGConnectingPoint num="7" id="1140" /> -<TGConnectingPoint num="8" id="1141" /> -<TGConnectingPoint num="9" id="1142" /> -</SUBCOMPONENT> -<SUBCOMPONENT type="5100" id="1145" index="13" uid="4ea28494-de50-4f99-8981-3ef7a87d7d34" > -<father id="1218" num="1" /> -<cdparam x="333" y="213" /> -<sizeparam width="15" height="15" minWidth="1" minHeight="1" 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="1144" /> +<TGConnectingPoint num="0" id="1135" /> +<TGConnectingPoint num="1" id="1136" /> +<TGConnectingPoint num="2" id="1137" /> +<TGConnectingPoint num="3" id="1138" /> +<TGConnectingPoint num="4" id="1139" /> +<TGConnectingPoint num="5" id="1140" /> +<TGConnectingPoint num="6" id="1141" /> +<TGConnectingPoint num="7" id="1142" /> +<TGConnectingPoint num="8" id="1143" /> +<TGConnectingPoint num="9" id="1144" /> </SUBCOMPONENT> @@ -2728,8 +2729,8 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <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="1460" /> -<P1 x="261" y="421" id="2095" /> -<P2 x="260" y="437" id="2023" /> +<P1 x="261" y="421" id="2106" /> +<P2 x="260" y="437" id="2109" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="1459" index="38" uid="a28ea541-81ef-4713-8ea6-c7f5ba166daa" > <father id="1461" num="0" /> @@ -2761,8 +2762,8 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <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="1467" /> -<P1 x="227" y="477" id="2036" /> -<P2 x="126" y="524" id="2097" /> +<P1 x="227" y="477" id="2122" /> +<P2 x="126" y="524" id="2095" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="1466" index="39" uid="2484893a-3443-40dc-8f74-e1443edc2bde" > <father id="1468" num="0" /> @@ -2794,8 +2795,8 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <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="1474" /> -<P1 x="126" y="554" id="2098" /> -<P2 x="126" y="653" id="2120" /> +<P1 x="126" y="554" id="2096" /> +<P2 x="126" y="653" id="2012" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="1473" index="40" uid="6f6c6e3e-0702-4e99-b1e6-da999207526e" > <father id="1475" num="0" /> @@ -2829,8 +2830,8 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <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="1481" /> -<P1 x="293" y="477" id="2037" /> -<P2 x="298" y="524" id="2011" /> +<P1 x="293" y="477" id="2123" /> +<P2 x="298" y="524" id="2181" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="1480" index="41" uid="18f77c23-d770-43b2-a9ca-161802d8a987" > <father id="1482" num="0" /> @@ -2862,7 +2863,7 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <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="1488" /> -<P1 x="298" y="554" id="2012" /> +<P1 x="298" y="554" id="2182" /> <P2 x="296" y="650" id="1939" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="1487" index="42" uid="a2a44349-5c04-4880-b1fb-76fa61d0f788" > @@ -2897,8 +2898,8 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <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="1495" /> -<P1 x="326" y="457" id="2026" /> -<P2 x="442" y="497" id="2108" /> +<P1 x="326" y="457" id="2112" /> +<P2 x="442" y="497" id="2084" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="1494" index="43" uid="1286b08f-20a2-44ff-9ae2-d3d09cf02647" > <father id="1496" num="0" /> @@ -2931,7 +2932,7 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <infoparam name="connector from Send signal to stop state" value="null" /> <TGConnectingPoint num="0" id="1503" /> <TGConnectingPoint num="1" id="1504" /> -<P1 x="442" y="527" id="2109" /> +<P1 x="442" y="527" id="2085" /> <P2 x="323" y="748" id="1801" /> <Point x="442" y="737" /> <AutomaticDrawing data="true" /> @@ -3015,7 +3016,7 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <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="1519" /> -<P1 x="126" y="702" id="2125" /> +<P1 x="126" y="702" id="2017" /> <P2 x="221" y="758" id="1802" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="1518" index="47" uid="96753e12-f1ba-45d7-9fc5-e71fe53eb22b" > @@ -3720,14 +3721,14 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <extraparam> </extraparam> </COMPONENT> -<SUBCOMPONENT type="5104" id="2021" index="48" uid="8718a1dd-4942-43e5-b6ce-b5f78b82a355" > +<SUBCOMPONENT type="5106" id="2083" index="48" uid="52044bb2-8b01-4108-a1ac-b5e7886ea624" > <father id="2264" num="0" /> -<cdparam x="242" y="529" /> -<sizeparam width="112" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="53" y="653" /> +<sizeparam width="146" height="49" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> -<cdrectangleparam minX="0" maxX="465" minY="0" maxY="334" /> -<infoparam name="Send signal" value="pushTeaButton()" /> +<cdrectangleparam minX="0" maxX="431" minY="0" maxY="305" /> +<infoparam name="state0" value="CoffeeDelivered" /> <TGConnectingPoint num="0" id="2011" /> <TGConnectingPoint num="1" id="2012" /> <TGConnectingPoint num="2" id="2013" /> @@ -3738,129 +3739,128 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <TGConnectingPoint num="7" id="2018" /> <TGConnectingPoint num="8" id="2019" /> <TGConnectingPoint num="9" id="2020" /> -<accessibility /> +<TGConnectingPoint num="10" id="2021" /> +<TGConnectingPoint num="11" id="2022" /> +<TGConnectingPoint num="12" id="2023" /> +<TGConnectingPoint num="13" id="2024" /> +<TGConnectingPoint num="14" id="2025" /> +<TGConnectingPoint num="15" id="2026" /> +<TGConnectingPoint num="16" id="2027" /> +<TGConnectingPoint num="17" id="2028" /> +<TGConnectingPoint num="18" id="2029" /> +<TGConnectingPoint num="19" id="2030" /> +<TGConnectingPoint num="20" id="2031" /> +<TGConnectingPoint num="21" id="2032" /> +<TGConnectingPoint num="22" id="2033" /> +<TGConnectingPoint num="23" id="2034" /> +<TGConnectingPoint num="24" id="2035" /> +<TGConnectingPoint num="25" id="2036" /> +<TGConnectingPoint num="26" id="2037" /> +<TGConnectingPoint num="27" id="2038" /> +<TGConnectingPoint num="28" id="2039" /> +<TGConnectingPoint num="29" id="2040" /> +<TGConnectingPoint num="30" id="2041" /> +<TGConnectingPoint num="31" id="2042" /> +<TGConnectingPoint num="32" id="2043" /> +<TGConnectingPoint num="33" id="2044" /> +<TGConnectingPoint num="34" id="2045" /> +<TGConnectingPoint num="35" id="2046" /> +<TGConnectingPoint num="36" id="2047" /> +<TGConnectingPoint num="37" id="2048" /> +<TGConnectingPoint num="38" id="2049" /> +<TGConnectingPoint num="39" id="2050" /> +<TGConnectingPoint num="40" id="2051" /> +<TGConnectingPoint num="41" id="2052" /> +<TGConnectingPoint num="42" id="2053" /> +<TGConnectingPoint num="43" id="2054" /> +<TGConnectingPoint num="44" id="2055" /> +<TGConnectingPoint num="45" id="2056" /> +<TGConnectingPoint num="46" id="2057" /> +<TGConnectingPoint num="47" id="2058" /> +<TGConnectingPoint num="48" id="2059" /> +<TGConnectingPoint num="49" id="2060" /> +<TGConnectingPoint num="50" id="2061" /> +<TGConnectingPoint num="51" id="2062" /> +<TGConnectingPoint num="52" id="2063" /> +<TGConnectingPoint num="53" id="2064" /> +<TGConnectingPoint num="54" id="2065" /> +<TGConnectingPoint num="55" id="2066" /> +<TGConnectingPoint num="56" id="2067" /> +<TGConnectingPoint num="57" id="2068" /> +<TGConnectingPoint num="58" id="2069" /> +<TGConnectingPoint num="59" id="2070" /> +<TGConnectingPoint num="60" id="2071" /> +<TGConnectingPoint num="61" id="2072" /> +<TGConnectingPoint num="62" id="2073" /> +<TGConnectingPoint num="63" id="2074" /> +<TGConnectingPoint num="64" id="2075" /> +<TGConnectingPoint num="65" id="2076" /> +<TGConnectingPoint num="66" id="2077" /> +<TGConnectingPoint num="67" id="2078" /> +<TGConnectingPoint num="68" id="2079" /> +<TGConnectingPoint num="69" id="2080" /> +<TGConnectingPoint num="70" id="2081" /> +<TGConnectingPoint num="71" id="2082" /> +<extraparam> +</extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5106" id="2094" index="49" uid="542c0583-8080-46a1-9ae2-775c6446817c" > +<SUBCOMPONENT type="5103" id="2094" index="49" uid="9c813d39-192a-47ff-98b2-607e27617acf" > <father id="2264" num="1" /> -<cdparam x="194" y="437" /> -<sizeparam width="132" height="40" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="377" y="502" /> +<sizeparam width="130" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> -<cdrectangleparam minX="0" maxX="445" minY="0" maxY="314" /> -<infoparam name="state0" value="WaitingForSelection" /> -<TGConnectingPoint num="0" id="2022" /> -<TGConnectingPoint num="1" id="2023" /> -<TGConnectingPoint num="2" id="2024" /> -<TGConnectingPoint num="3" id="2025" /> -<TGConnectingPoint num="4" id="2026" /> -<TGConnectingPoint num="5" id="2027" /> -<TGConnectingPoint num="6" id="2028" /> -<TGConnectingPoint num="7" id="2029" /> -<TGConnectingPoint num="8" id="2030" /> -<TGConnectingPoint num="9" id="2031" /> -<TGConnectingPoint num="10" id="2032" /> -<TGConnectingPoint num="11" id="2033" /> -<TGConnectingPoint num="12" id="2034" /> -<TGConnectingPoint num="13" id="2035" /> -<TGConnectingPoint num="14" id="2036" /> -<TGConnectingPoint num="15" id="2037" /> -<TGConnectingPoint num="16" id="2038" /> -<TGConnectingPoint num="17" id="2039" /> -<TGConnectingPoint num="18" id="2040" /> -<TGConnectingPoint num="19" id="2041" /> -<TGConnectingPoint num="20" id="2042" /> -<TGConnectingPoint num="21" id="2043" /> -<TGConnectingPoint num="22" id="2044" /> -<TGConnectingPoint num="23" id="2045" /> -<TGConnectingPoint num="24" id="2046" /> -<TGConnectingPoint num="25" id="2047" /> -<TGConnectingPoint num="26" id="2048" /> -<TGConnectingPoint num="27" id="2049" /> -<TGConnectingPoint num="28" id="2050" /> -<TGConnectingPoint num="29" id="2051" /> -<TGConnectingPoint num="30" id="2052" /> -<TGConnectingPoint num="31" id="2053" /> -<TGConnectingPoint num="32" id="2054" /> -<TGConnectingPoint num="33" id="2055" /> -<TGConnectingPoint num="34" id="2056" /> -<TGConnectingPoint num="35" id="2057" /> -<TGConnectingPoint num="36" id="2058" /> -<TGConnectingPoint num="37" id="2059" /> -<TGConnectingPoint num="38" id="2060" /> -<TGConnectingPoint num="39" id="2061" /> -<TGConnectingPoint num="40" id="2062" /> -<TGConnectingPoint num="41" id="2063" /> -<TGConnectingPoint num="42" id="2064" /> -<TGConnectingPoint num="43" id="2065" /> -<TGConnectingPoint num="44" id="2066" /> -<TGConnectingPoint num="45" id="2067" /> -<TGConnectingPoint num="46" id="2068" /> -<TGConnectingPoint num="47" id="2069" /> -<TGConnectingPoint num="48" id="2070" /> -<TGConnectingPoint num="49" id="2071" /> -<TGConnectingPoint num="50" id="2072" /> -<TGConnectingPoint num="51" id="2073" /> -<TGConnectingPoint num="52" id="2074" /> -<TGConnectingPoint num="53" id="2075" /> -<TGConnectingPoint num="54" id="2076" /> -<TGConnectingPoint num="55" id="2077" /> -<TGConnectingPoint num="56" id="2078" /> -<TGConnectingPoint num="57" id="2079" /> -<TGConnectingPoint num="58" id="2080" /> -<TGConnectingPoint num="59" id="2081" /> -<TGConnectingPoint num="60" id="2082" /> -<TGConnectingPoint num="61" id="2083" /> -<TGConnectingPoint num="62" id="2084" /> -<TGConnectingPoint num="63" id="2085" /> -<TGConnectingPoint num="64" id="2086" /> -<TGConnectingPoint num="65" id="2087" /> -<TGConnectingPoint num="66" id="2088" /> -<TGConnectingPoint num="67" id="2089" /> -<TGConnectingPoint num="68" id="2090" /> -<TGConnectingPoint num="69" id="2091" /> -<TGConnectingPoint num="70" id="2092" /> -<TGConnectingPoint num="71" id="2093" /> -<latencyCheck /> -<extraparam> -</extraparam> +<cdrectangleparam minX="0" maxX="447" minY="0" maxY="334" /> +<infoparam name="Send signal" value="ejectCoin(nbOfCoins)" /> +<TGConnectingPoint num="0" id="2084" /> +<TGConnectingPoint num="1" id="2085" /> +<TGConnectingPoint num="2" id="2086" /> +<TGConnectingPoint num="3" id="2087" /> +<TGConnectingPoint num="4" id="2088" /> +<TGConnectingPoint num="5" id="2089" /> +<TGConnectingPoint num="6" id="2090" /> +<TGConnectingPoint num="7" id="2091" /> +<TGConnectingPoint num="8" id="2092" /> +<TGConnectingPoint num="9" id="2093" /> +<accessibility /> </SUBCOMPONENT> -<SUBCOMPONENT type="5100" id="2096" index="50" uid="d60fd6d2-14be-4b25-b424-35a9ae5e3ba3" > +<SUBCOMPONENT type="5104" id="2105" index="50" uid="f73b994e-357b-446d-a13d-97a66d7a4653" > <father id="2264" num="2" /> -<cdparam x="254" y="401" /> -<sizeparam width="15" height="15" minWidth="1" minHeight="1" 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="2095" /> -</SUBCOMPONENT> -<SUBCOMPONENT type="5104" id="2107" index="51" uid="f73b994e-357b-446d-a13d-97a66d7a4653" > -<father id="2264" num="3" /> <cdparam x="63" y="529" /> <sizeparam width="127" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="0" maxX="450" minY="0" maxY="334" /> <infoparam name="Send signal" value="pushCoffeeButton()" /> -<TGConnectingPoint num="0" id="2097" /> -<TGConnectingPoint num="1" id="2098" /> -<TGConnectingPoint num="2" id="2099" /> -<TGConnectingPoint num="3" id="2100" /> -<TGConnectingPoint num="4" id="2101" /> -<TGConnectingPoint num="5" id="2102" /> -<TGConnectingPoint num="6" id="2103" /> -<TGConnectingPoint num="7" id="2104" /> -<TGConnectingPoint num="8" id="2105" /> -<TGConnectingPoint num="9" id="2106" /> +<TGConnectingPoint num="0" id="2095" /> +<TGConnectingPoint num="1" id="2096" /> +<TGConnectingPoint num="2" id="2097" /> +<TGConnectingPoint num="3" id="2098" /> +<TGConnectingPoint num="4" id="2099" /> +<TGConnectingPoint num="5" id="2100" /> +<TGConnectingPoint num="6" id="2101" /> +<TGConnectingPoint num="7" id="2102" /> +<TGConnectingPoint num="8" id="2103" /> +<TGConnectingPoint num="9" id="2104" /> <accessibility /> </SUBCOMPONENT> -<SUBCOMPONENT type="5103" id="2118" index="52" uid="9c813d39-192a-47ff-98b2-607e27617acf" > +<SUBCOMPONENT type="5100" id="2107" index="51" uid="d60fd6d2-14be-4b25-b424-35a9ae5e3ba3" > +<father id="2264" num="3" /> +<cdparam x="254" y="401" /> +<sizeparam width="15" height="15" minWidth="1" minHeight="1" 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="2106" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="5106" id="2180" index="52" uid="542c0583-8080-46a1-9ae2-775c6446817c" > <father id="2264" num="4" /> -<cdparam x="377" y="502" /> -<sizeparam width="130" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="194" y="437" /> +<sizeparam width="132" height="40" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> -<cdrectangleparam minX="0" maxX="447" minY="0" maxY="334" /> -<infoparam name="Send signal" value="ejectCoin(nbOfCoins)" /> +<cdrectangleparam minX="0" maxX="445" minY="0" maxY="314" /> +<infoparam name="state0" value="WaitingForSelection" /> <TGConnectingPoint num="0" id="2108" /> <TGConnectingPoint num="1" id="2109" /> <TGConnectingPoint num="2" id="2110" /> @@ -3871,90 +3871,91 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <TGConnectingPoint num="7" id="2115" /> <TGConnectingPoint num="8" id="2116" /> <TGConnectingPoint num="9" id="2117" /> -<accessibility /> +<TGConnectingPoint num="10" id="2118" /> +<TGConnectingPoint num="11" id="2119" /> +<TGConnectingPoint num="12" id="2120" /> +<TGConnectingPoint num="13" id="2121" /> +<TGConnectingPoint num="14" id="2122" /> +<TGConnectingPoint num="15" id="2123" /> +<TGConnectingPoint num="16" id="2124" /> +<TGConnectingPoint num="17" id="2125" /> +<TGConnectingPoint num="18" id="2126" /> +<TGConnectingPoint num="19" id="2127" /> +<TGConnectingPoint num="20" id="2128" /> +<TGConnectingPoint num="21" id="2129" /> +<TGConnectingPoint num="22" id="2130" /> +<TGConnectingPoint num="23" id="2131" /> +<TGConnectingPoint num="24" id="2132" /> +<TGConnectingPoint num="25" id="2133" /> +<TGConnectingPoint num="26" id="2134" /> +<TGConnectingPoint num="27" id="2135" /> +<TGConnectingPoint num="28" id="2136" /> +<TGConnectingPoint num="29" id="2137" /> +<TGConnectingPoint num="30" id="2138" /> +<TGConnectingPoint num="31" id="2139" /> +<TGConnectingPoint num="32" id="2140" /> +<TGConnectingPoint num="33" id="2141" /> +<TGConnectingPoint num="34" id="2142" /> +<TGConnectingPoint num="35" id="2143" /> +<TGConnectingPoint num="36" id="2144" /> +<TGConnectingPoint num="37" id="2145" /> +<TGConnectingPoint num="38" id="2146" /> +<TGConnectingPoint num="39" id="2147" /> +<TGConnectingPoint num="40" id="2148" /> +<TGConnectingPoint num="41" id="2149" /> +<TGConnectingPoint num="42" id="2150" /> +<TGConnectingPoint num="43" id="2151" /> +<TGConnectingPoint num="44" id="2152" /> +<TGConnectingPoint num="45" id="2153" /> +<TGConnectingPoint num="46" id="2154" /> +<TGConnectingPoint num="47" id="2155" /> +<TGConnectingPoint num="48" id="2156" /> +<TGConnectingPoint num="49" id="2157" /> +<TGConnectingPoint num="50" id="2158" /> +<TGConnectingPoint num="51" id="2159" /> +<TGConnectingPoint num="52" id="2160" /> +<TGConnectingPoint num="53" id="2161" /> +<TGConnectingPoint num="54" id="2162" /> +<TGConnectingPoint num="55" id="2163" /> +<TGConnectingPoint num="56" id="2164" /> +<TGConnectingPoint num="57" id="2165" /> +<TGConnectingPoint num="58" id="2166" /> +<TGConnectingPoint num="59" id="2167" /> +<TGConnectingPoint num="60" id="2168" /> +<TGConnectingPoint num="61" id="2169" /> +<TGConnectingPoint num="62" id="2170" /> +<TGConnectingPoint num="63" id="2171" /> +<TGConnectingPoint num="64" id="2172" /> +<TGConnectingPoint num="65" id="2173" /> +<TGConnectingPoint num="66" id="2174" /> +<TGConnectingPoint num="67" id="2175" /> +<TGConnectingPoint num="68" id="2176" /> +<TGConnectingPoint num="69" id="2177" /> +<TGConnectingPoint num="70" id="2178" /> +<TGConnectingPoint num="71" id="2179" /> +<latencyCheck /> +<extraparam> +</extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5106" id="2191" index="53" uid="52044bb2-8b01-4108-a1ac-b5e7886ea624" > +<SUBCOMPONENT type="5104" id="2191" index="53" uid="8718a1dd-4942-43e5-b6ce-b5f78b82a355" > <father id="2264" num="5" /> -<cdparam x="53" y="653" /> -<sizeparam width="146" height="49" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="242" y="529" /> +<sizeparam width="112" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> -<cdrectangleparam minX="0" maxX="431" minY="0" maxY="305" /> -<infoparam name="state0" value="CoffeeDelivered" /> -<TGConnectingPoint num="0" id="2119" /> -<TGConnectingPoint num="1" id="2120" /> -<TGConnectingPoint num="2" id="2121" /> -<TGConnectingPoint num="3" id="2122" /> -<TGConnectingPoint num="4" id="2123" /> -<TGConnectingPoint num="5" id="2124" /> -<TGConnectingPoint num="6" id="2125" /> -<TGConnectingPoint num="7" id="2126" /> -<TGConnectingPoint num="8" id="2127" /> -<TGConnectingPoint num="9" id="2128" /> -<TGConnectingPoint num="10" id="2129" /> -<TGConnectingPoint num="11" id="2130" /> -<TGConnectingPoint num="12" id="2131" /> -<TGConnectingPoint num="13" id="2132" /> -<TGConnectingPoint num="14" id="2133" /> -<TGConnectingPoint num="15" id="2134" /> -<TGConnectingPoint num="16" id="2135" /> -<TGConnectingPoint num="17" id="2136" /> -<TGConnectingPoint num="18" id="2137" /> -<TGConnectingPoint num="19" id="2138" /> -<TGConnectingPoint num="20" id="2139" /> -<TGConnectingPoint num="21" id="2140" /> -<TGConnectingPoint num="22" id="2141" /> -<TGConnectingPoint num="23" id="2142" /> -<TGConnectingPoint num="24" id="2143" /> -<TGConnectingPoint num="25" id="2144" /> -<TGConnectingPoint num="26" id="2145" /> -<TGConnectingPoint num="27" id="2146" /> -<TGConnectingPoint num="28" id="2147" /> -<TGConnectingPoint num="29" id="2148" /> -<TGConnectingPoint num="30" id="2149" /> -<TGConnectingPoint num="31" id="2150" /> -<TGConnectingPoint num="32" id="2151" /> -<TGConnectingPoint num="33" id="2152" /> -<TGConnectingPoint num="34" id="2153" /> -<TGConnectingPoint num="35" id="2154" /> -<TGConnectingPoint num="36" id="2155" /> -<TGConnectingPoint num="37" id="2156" /> -<TGConnectingPoint num="38" id="2157" /> -<TGConnectingPoint num="39" id="2158" /> -<TGConnectingPoint num="40" id="2159" /> -<TGConnectingPoint num="41" id="2160" /> -<TGConnectingPoint num="42" id="2161" /> -<TGConnectingPoint num="43" id="2162" /> -<TGConnectingPoint num="44" id="2163" /> -<TGConnectingPoint num="45" id="2164" /> -<TGConnectingPoint num="46" id="2165" /> -<TGConnectingPoint num="47" id="2166" /> -<TGConnectingPoint num="48" id="2167" /> -<TGConnectingPoint num="49" id="2168" /> -<TGConnectingPoint num="50" id="2169" /> -<TGConnectingPoint num="51" id="2170" /> -<TGConnectingPoint num="52" id="2171" /> -<TGConnectingPoint num="53" id="2172" /> -<TGConnectingPoint num="54" id="2173" /> -<TGConnectingPoint num="55" id="2174" /> -<TGConnectingPoint num="56" id="2175" /> -<TGConnectingPoint num="57" id="2176" /> -<TGConnectingPoint num="58" id="2177" /> -<TGConnectingPoint num="59" id="2178" /> -<TGConnectingPoint num="60" id="2179" /> -<TGConnectingPoint num="61" id="2180" /> -<TGConnectingPoint num="62" id="2181" /> -<TGConnectingPoint num="63" id="2182" /> -<TGConnectingPoint num="64" id="2183" /> -<TGConnectingPoint num="65" id="2184" /> -<TGConnectingPoint num="66" id="2185" /> -<TGConnectingPoint num="67" id="2186" /> -<TGConnectingPoint num="68" id="2187" /> -<TGConnectingPoint num="69" id="2188" /> -<TGConnectingPoint num="70" id="2189" /> -<TGConnectingPoint num="71" id="2190" /> -<extraparam> -</extraparam> +<cdrectangleparam minX="0" maxX="465" minY="0" maxY="334" /> +<infoparam name="Send signal" value="pushTeaButton()" /> +<TGConnectingPoint num="0" id="2181" /> +<TGConnectingPoint num="1" id="2182" /> +<TGConnectingPoint num="2" id="2183" /> +<TGConnectingPoint num="3" id="2184" /> +<TGConnectingPoint num="4" id="2185" /> +<TGConnectingPoint num="5" id="2186" /> +<TGConnectingPoint num="6" id="2187" /> +<TGConnectingPoint num="7" id="2188" /> +<TGConnectingPoint num="8" id="2189" /> +<TGConnectingPoint num="9" id="2190" /> +<accessibility /> </SUBCOMPONENT> diff --git a/src/main/java/cli/Action.java b/src/main/java/cli/Action.java index c42ab8a70a..635effd9f5 100644 --- a/src/main/java/cli/Action.java +++ b/src/main/java/cli/Action.java @@ -94,6 +94,7 @@ public class Action extends Command { private final static String CHECKSYNTAX = "check-syntax"; + private final static String REMOVE_TIME = "remove-time-operators"; private final static String DIPLO_INTERACTIVE_SIMULATION = "diplodocus-interactive-simulation"; private final static String DIPLO_FORMAL_VERIFICATION = "diplodocus-formal-verification"; private final static String DIPLO_ONETRACE_SIMULATION = "diplodocus-onetrace-simulation"; @@ -495,6 +496,37 @@ public class Action extends Command { } }; + + // Check syntax + Command removeTimeOperators = new Command() { + public String getCommand() { + return REMOVE_TIME; + } + + public String getShortCommand() { + return "rto"; + } + + public String getDescription() { + return "Removing time operators from an avatar specification"; + } + + public String executeCommand(String command, Interpreter interpreter) { + if (!interpreter.isTToolStarted()) { + return Interpreter.TTOOL_NOT_STARTED; + } + + AvatarSpecification avspec = interpreter.mgui.gtm.getAvatarSpecification(); + + if (avspec == null) { + return "No internal avatar specification"; + } + + avspec.removeAllDelays(); + return null; + } + }; + // Diplodocus interactive simulation Command diplodocusInteractiveSimulation = new Command() { public String getCommand() { @@ -1477,6 +1509,7 @@ public class Action extends Command { addAndSortSubcommand(removeCurrentTab); addAndSortSubcommand(checkSyntax); + addAndSortSubcommand(removeTimeOperators); addAndSortSubcommand(generateRGFromAvatar); addAndSortSubcommand(diplodocusInteractiveSimulation); addAndSortSubcommand(diplodocusFormalVerification); diff --git a/ttool/src/test/java/cli/CLIAvatarModelCheckerTest.java b/ttool/src/test/java/cli/CLIAvatarModelCheckerTest.java index a76039ce24..ad72e733fb 100644 --- a/ttool/src/test/java/cli/CLIAvatarModelCheckerTest.java +++ b/ttool/src/test/java/cli/CLIAvatarModelCheckerTest.java @@ -48,9 +48,12 @@ package cli; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.io.File; +import java.util.ArrayList; + import common.ConfigurationTTool; import common.SpecConfigTTool; import graph.AUTGraph; +import graph.AUTTransition; import myutil.Conversion; import org.junit.Test; import test.AbstractTest; @@ -224,7 +227,7 @@ public class CLIAvatarModelCheckerTest extends AbstractTest implements Interpret AUTGraph graph = new AUTGraph(); graph.buildGraph(data); graph.computeStates(); - + filePath = getBaseResourcesDir() + PATH_TO_EXPECTED_FILE + "modelchecker_s_expected"; f = new File(filePath); assertTrue(myutil.FileUtils.checkFileForOpen(f)); @@ -254,6 +257,88 @@ public class CLIAvatarModelCheckerTest extends AbstractTest implements Interpret assertTrue(s1.equals(s2)); } + + @Test + public void testCoffeeMachine_NoTime() { + String filePath = getBaseResourcesDir() + PATH_TO_TEST_FILE + "scriptmodelchecker_s_notime"; + String script; + + outputResult = new StringBuilder(); + + File f = new File(filePath); + assertTrue(myutil.FileUtils.checkFileForOpen(f)); + + script = myutil.FileUtils.loadFileData(f); + + assertTrue(script.length() > 0); + + boolean show = false; + Interpreter interpret = new Interpreter(script, (InterpreterOutputInterface)this, show); + interpret.interpret(); + + // Must now load the graph + filePath = "rgmodelchecker_notime.aut"; + f = new File(filePath); + assertTrue(myutil.FileUtils.checkFileForOpen(f)); + String data = myutil.FileUtils.loadFileData(f); + + assertTrue(data.length() > 0); + AUTGraph graph = new AUTGraph(); + graph.buildGraph(data); + graph.computeStates(); + + System.out.println("states=" + graph.getNbOfStates() + " transitions=" + graph.getNbOfTransitions()); + + ArrayList<AUTTransition> trs = graph.getTransitions(); + for(AUTTransition tr: trs) { + //System.out.println("label:" + tr.transition); + assertTrue(tr.transition.endsWith("[0...0]")); + } + } + + @Test + public void testCoffeeMachine_Time() { + String filePath = getBaseResourcesDir() + PATH_TO_TEST_FILE + "scriptmodelchecker_s_time"; + String script; + + outputResult = new StringBuilder(); + + File f = new File(filePath); + assertTrue(myutil.FileUtils.checkFileForOpen(f)); + + script = myutil.FileUtils.loadFileData(f); + + assertTrue(script.length() > 0); + + boolean show = false; + Interpreter interpret = new Interpreter(script, (InterpreterOutputInterface)this, show); + interpret.interpret(); + + // Must now load the graph + filePath = "rgmodelchecker_time.aut"; + f = new File(filePath); + assertTrue(myutil.FileUtils.checkFileForOpen(f)); + String data = myutil.FileUtils.loadFileData(f); + + assertTrue(data.length() > 0); + AUTGraph graph = new AUTGraph(); + graph.buildGraph(data); + graph.computeStates(); + + System.out.println("states=" + graph.getNbOfStates() + " transitions=" + graph.getNbOfTransitions()); + + //At least one state with different time + ArrayList<AUTTransition> trs = graph.getTransitions(); + int cpt = 0; + for(AUTTransition tr: trs) { + //System.out.println("label:" + tr.transition); + if (!tr.transition.endsWith("[0...0]")) { + cpt ++; + } + } + System.out.println("Nb of transition with non-zero time: " + cpt); + assertTrue(cpt >= 4); + } @Test public void testValidateCoffeeMachine() { diff --git a/ttool/src/test/resources/cli/input/scriptmodelchecker_s_notime b/ttool/src/test/resources/cli/input/scriptmodelchecker_s_notime new file mode 100644 index 0000000000..2b38f2675a --- /dev/null +++ b/ttool/src/test/resources/cli/input/scriptmodelchecker_s_notime @@ -0,0 +1,12 @@ +print dir +set model resources/test/cli/models/CoffeeMachine_Avatar.xml +#print The model to be opened is: $model +action start +wait 2 +#toto +action open $model +wait 4 +action check-syntax +action remove-time-operators +action avatar-rg -d -ra -la -s -g rgmodelchecker_notime.aut +action quit diff --git a/ttool/src/test/resources/cli/input/scriptmodelchecker_s_time b/ttool/src/test/resources/cli/input/scriptmodelchecker_s_time new file mode 100644 index 0000000000..9f04951882 --- /dev/null +++ b/ttool/src/test/resources/cli/input/scriptmodelchecker_s_time @@ -0,0 +1,11 @@ +print dir +set model resources/test/cli/models/CoffeeMachine_Avatar.xml +#print The model to be opened is: $model +action start +wait 2 +#toto +action open $model +wait 4 +action check-syntax +action avatar-rg -d -ra -la -s -g rgmodelchecker_time.aut +action quit -- GitLab