diff --git a/bin/config.xml b/bin/config.xml index 40386028d8e75b37bb924beeb30c0b7decb03446..ad6d7b46f31b25711775eaff3cff5b2ec92511be 100755 --- a/bin/config.xml +++ b/bin/config.xml @@ -2,11 +2,11 @@ <TURTLECONFIGURATION> <RTLHost data="localhost" /> -<RTLPath data="/homes/apvrille/TechTTool/RT-LOTOS.0.12-3_linux/bin/rtl" /> -<DTA2DOTPath data="/homes/apvrille/TechTTool/RT-LOTOS.0.12-3_linux/bin/dta2dot" /> -<RG2TLSAPath data="/homes/apvrille/TechTTool/RT-LOTOS.0.12-3_linux/bin/rg2tlsa" /> -<RGSTRAPPath data="/homes/apvrille/TechTTool/RT-LOTOS.0.12-3_linux/bin/rgstrap" /> -<DOTTYPath data="/usr/local/bin/dotty" /> +<RTLPath data="/packages/RT-LOTOS.0.12/bin/rtl" /> +<DTA2DOTPath data="/packages/RT-LOTOS.0.12/bin/dta2dot" /> +<RG2TLSAPath data="/packages/RT-LOTOS.0.12/bin/rg2tlsa" /> +<RGSTRAPPath data="/packages/RT-LOTOS.0.12/bin/rgstrap" /> +<DOTTYPath data="//opt/csw/bin/dotty" /> <DOTTYHost data="localhost" /> <AldebaranHost data="localhost" /> <AldebaranPath data="/packages/cadp/com/aldebaran" /> @@ -16,42 +16,46 @@ <BcgmergePath data="/packages/cadp/com/bcg_merge" /> <CaesarPath data="/packages/cadp/bin.iX86/caesar" /> <CaesarOpenPath data="/packages/cadp/com/caesar.open" /> -<TinaPath data="/homes/apvrille/bin/tina-2.8.0/bin/tina" /> -<TinaHost data="localhost" /> -<FILEPath data="/Users/ludovicapvrille/TTool/modeling" /> -<LIBPath data="/Users/ludovicapvrille/TTool/lib" /> -<IMGPath data="/Users/ludovicapvrille/TTool/figure" /> -<LOTOSPath data="/Users/ludovicapvrille/TTool/figure" /> -<GGraphPath data="/Users/ludovicapvrille/TTool/graphs" /> -<TGraphPath data="/Users/ludovicapvrille/TTool/graphs" /> +<FILEPath data="/localhome/ludo/TTool/modeling" /> +<LIBPath data="/localhome/ludo/TTool/lib" /> +<IMGPath data="/localhome/ludo/TTool/figure" /> +<LOTOSPath data="/localhome/ludo/TTool/lotos" /> +<GGraphPath data="/localhome/ludo/TTool/graphs" /> +<TGraphPath data="/localhome/ludo/TTool/graphs" /> <TToolUpdateURL data="" data1="http://labsoc.comelec.enst.fr/turtle/ttoolversion.html" /> <TToolUpdateProxy data="false" /> <TToolUpdateProxyPort data="8080" /> <TToolUpdateProxyHost data="To Be Completed" /> -<JavaCodeDirectory data="/Users/ludovicapvrille/TTool/javacode" /> +<JavaCodeDirectory data="/localhome/ludo/TTool/javacode" /> <JavaCompilerPath data="/usr/bin/javac" /> -<TToolClassPath data="/Users/ludovicapvrille/TTool/javacode" /> +<TToolClassPath data="/localhome/ludo/TTool/javacode" /> <JavaExecutePath data="/usr/bin/java" /> -<SimuJavaCodeDirectory data="U:\TechTTool\JavaSimulation\" /> -<TToolSimuClassPath data="U:\TechTTool\JavaSimulation\" /> <JavaHeader data="import java.sql.*;" /> -<SystemCCodeDirectory data="/Users/ludovicapvrille/TTool/simulators/c++2/" /> +<SystemCCodeDirectory data="/localhome/ludo/TTool/simulators/c++2/" /> <SystemCHost data="localhost"/> -<SystemCCodeCompileCommand data="make -C /Users/ludovicapvrille/TTool/simulators/c++2/" /> -<SystemCCodeExecuteCommand data="/Users/ludovicapvrille/TTool/simulators/c++2/run.x -ovcd /Users/ludovicapvrille/TTool/simulators/c++2/vcddump.vcd" /> -<SystemCCodeInteractiveExecuteCommand data="/homes/apvrille/TechTTool/SystemCCode/generated/run.x -server" /> -<TMLCodeDirectory data="/Users/ludovicapvrille/TTool/tmlcode" /> +<SystemCCodeCompileCommand data="make -C /localhome/ludo/TTool/simulators/c++2/" /> +<SystemCCodeExecuteCommand data="/localhome/ludo/TTool/simulators/c++2/run.x -ovcd /localhome/ludo/TTool/simulators/c++2/vcddump.vcd" /> +<SystemCCodeInteractiveExecuteCommand data="/localhome/ludo/TTool/simulators/c++2/run.x -server" /> +<TMLCodeDirectory data="/localhome/ludo/TTool/tmlcode" /> <GTKWavePath data="/opt/local/bin/gtkwave" /> -<VCDPath data="/Users/ludovicapvrille/TTool/vcd/" /> -<UPPAALCodeDirectory data="/Users/ludovicapvrille/TTool/uppaal/" /> -<UPPAALVerifierPath data="/Applications/uppaal-4.0.11/verifyta" /> +<VCDPath data="/localhome/ludo/TTool/vcd/" /> +<UPPAALCodeDirectory data="/localhome/ludo/TTool/uppaal/" /> +<UPPAALVerifierPath data="/packages/uppaal-4.0.11/verifyta" /> <UPPAALVerifierHost data="localhost" /> +<ProVerifCodeDirectory data="/localhome/ludo//TTool/proverif/" /> +<ProVerifVerifierPath data="/packages/proverif/proverif" /> +<ProVerifVerifierHost data="localhost" /> + <ExternalCommand1Host data="localhost"/> -<ExternalCommand1 data="/opt/local/bin/gtkwave /Users/ludovicapvrille/simulators/c++2/vcddump.vcd"/> +<ExternalCommand1 data="/opt/local/bin/gtkwave /localhome/ludo/TTool/simulators/c++2/vcddump.vcd"/> <ExternalCommand2Host data="localhost"/> -<ExternalCommand2 data="open /Applications/uppaal-4.0.11/UPPAAL.app /Users/ludovicapvrille/TTool/uppaal/spec.xml"/> +<ExternalCommand2 data="/packages/uppaal(4.0.11/uppaal /localhome/ludo/TTool/uppaal/spec.xml"/> + +<LastOpenFile data="/localhome/ludo/TTool/modeling/sncf/trial_Avatar.xml"/> + + -<LastWindowAttributes x="367" y="47" width="1094" height="924" max="false" /> +<LastWindowAttributes x="138" y="39" width="1039" height="775" max="false" /> </TURTLECONFIGURATION> diff --git a/executablecode/src/request.h b/executablecode/src/request.h index be26bc6b5380b033a97963e39c4988f402693077..9856f72678659c35a2c5753780683114ebf74f82 100644 --- a/executablecode/src/request.h +++ b/executablecode/src/request.h @@ -47,7 +47,7 @@ struct request { timespec delay; int nbOfParams; // synchronous com. int **params; // synchronous com. - message *msg; // Asynchronous comm. + message *msg; // Asynchronous comm. // Filled by the request manager diff --git a/executablecode/src/syncchannel.c b/executablecode/src/syncchannel.c index 452b22a16322cf0f7579779b6ac2a248a6cd5754..e1c90875f2574a15318facbda32b27f918f82592 100644 --- a/executablecode/src/syncchannel.c +++ b/executablecode/src/syncchannel.c @@ -16,10 +16,15 @@ syncchannel *getNewSyncchannel(char *outname, char *inname) { syncch->outname = outname; syncch->inWaitQueue = NULL; syncch->outWaitQueue = NULL; - + syncch->isBroadcast = false; return syncch; } +void setBroadcast(syncchannel *syncch, bool b) { + syncch->isBroadcast = b; +} + + /*request *makeNewSendSync(int hasDelay, long delay, int nbOfParams, int *params[]) { request *req = getNewRequest(SEND_SYNC_REQUEST, hasDelay, delay, nbOfParams, params); diff --git a/executablecode/src/syncchannel.h b/executablecode/src/syncchannel.h index 3a42c787c14012efd038befdc58f4f5ed8b4b725..93c6c1c0329afbfa99dd127bdb7e537171ce2aff 100644 --- a/executablecode/src/syncchannel.h +++ b/executablecode/src/syncchannel.h @@ -4,12 +4,14 @@ struct syncchannel; #include "request.h" +#include "defs.h" struct syncchannel { char *outname; char *inname; struct request* inWaitQueue; struct request* outWaitQueue; + bool isBroadcast; }; typedef struct syncchannel syncchannel; diff --git a/modeling/MicroWaveOven_SafetySecurity.xml b/modeling/MicroWaveOven_SafetySecurity.xml index 00a6ba20bb34450a81d5e7412c592189200366ab..392899b18bb4848082664d3426d70526254062ed 100644 --- a/modeling/MicroWaveOven_SafetySecurity.xml +++ b/modeling/MicroWaveOven_SafetySecurity.xml @@ -4405,7 +4405,7 @@ or by a maintenance station <oso value="out obs_open()" /> <oso value="out obs_closed()" /> <oso value="out obs_magnetronStart()" /> -<FIFOType asynchronous="false" size="1" blocking="false" private="true" /> +<FIFOType asynchronous="false" size="1" blocking="false" private="true" broadcast="false" /> </extraparam> </CONNECTOR> <CONNECTOR type="5002" id="2271" > @@ -4418,7 +4418,7 @@ or by a maintenance station <extraparam> <isd value="in remoteStart(int value)" /> <oso value="out remoteStart(int value)" /> -<FIFOType asynchronous="false" size="1" blocking="false" private="true" /> +<FIFOType asynchronous="false" size="1" blocking="false" private="true" broadcast="false" /> </extraparam> </CONNECTOR> <CONNECTOR type="5002" id="2274" > @@ -4433,7 +4433,7 @@ or by a maintenance station <extraparam> <iso value="in wirelessChannelRead(Message msg)" /> <osd value="out wirelessChannelWrite(Message msg)" /> -<FIFOType asynchronous="true" size="5" blocking="false" private="false" /> +<FIFOType asynchronous="true" size="5" blocking="false" private="false" broadcast="false" /> </extraparam> </CONNECTOR><SUBCOMPONENT type="-1" id="2272" > <father id="2274" num="0" /> @@ -4462,7 +4462,7 @@ or by a maintenance station <extraparam> <isd value="in ring()" /> <oso value="out ringBell()" /> -<FIFOType asynchronous="false" size="1" blocking="false" private="true" /> +<FIFOType asynchronous="false" size="1" blocking="false" private="true" broadcast="false" /> </extraparam> </CONNECTOR> <CONNECTOR type="5002" id="2276" > @@ -4477,7 +4477,7 @@ or by a maintenance station <isd value="in closed()" /> <oso value="out open()" /> <oso value="out closed()" /> -<FIFOType asynchronous="false" size="1" blocking="false" private="true" /> +<FIFOType asynchronous="false" size="1" blocking="false" private="true" broadcast="false" /> </extraparam> </CONNECTOR> <CONNECTOR type="5002" id="2277" > @@ -4492,7 +4492,7 @@ or by a maintenance station <isd value="in stopM()" /> <oso value="out startMagnetron()" /> <oso value="out stopMagnetron()" /> -<FIFOType asynchronous="false" size="1" blocking="false" private="true" /> +<FIFOType asynchronous="false" size="1" blocking="false" private="true" broadcast="false" /> </extraparam> </CONNECTOR> <CONNECTOR type="5002" id="2278" > @@ -4509,7 +4509,7 @@ or by a maintenance station <osd value="out stopCooking()" /> <isd value="in start(int duration)" /> <oso value="out startButton(int duration)" /> -<FIFOType asynchronous="false" size="1" blocking="false" private="true" /> +<FIFOType asynchronous="false" size="1" blocking="false" private="true" broadcast="false" /> </extraparam> </CONNECTOR> <COMPONENT type="5000" id="2303" > @@ -4588,7 +4588,7 @@ or by a maintenance station </COMPONENT> <COMPONENT type="301" id="2330" > -<cdparam x="152" y="54" /> +<cdparam x="133" y="37" /> <sizeparam width="568" height="84" minWidth="50" minHeight="20" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> diff --git a/src/avatartranslator/toexecutable/AVATAR2CPOSIX.java b/src/avatartranslator/toexecutable/AVATAR2CPOSIX.java index 5153e1ccd8faadd63481a4b101f63b97ea6b8bbd..415011f65ef364b7cdd2295606ae1c16870f25d6 100755 --- a/src/avatartranslator/toexecutable/AVATAR2CPOSIX.java +++ b/src/avatartranslator/toexecutable/AVATAR2CPOSIX.java @@ -161,6 +161,9 @@ public class AVATAR2CPOSIX { mainFile.appendToBeforeMainCode("syncchannel __" + getChannelName(ar, i) + ";" + CR); mainFile.appendToMainCode("__" + getChannelName(ar, i) + ".inname =\"" + ar.getInSignal(i).getName() + "\";" + CR); mainFile.appendToMainCode("__" + getChannelName(ar, i) + ".outname =\"" + ar.getOutSignal(i).getName() + "\";" + CR); + if (ar.isBroadcast()) { + mainFile.appendToMainCode("setBroadcast(&__" + getChannelName(ar, i) + ", true);" + CR); + } } } } diff --git a/src/ui/avatarbd/AvatarBDPortConnector.java b/src/ui/avatarbd/AvatarBDPortConnector.java index 65ce1258feafaca179e390b8204a0b3fc27cf7df..690072e663de73686199529926a2fa330a21dab2 100644 --- a/src/ui/avatarbd/AvatarBDPortConnector.java +++ b/src/ui/avatarbd/AvatarBDPortConnector.java @@ -391,7 +391,7 @@ public class AvatarBDPortConnector extends TGConnector implements ScalableTGCom val1 = elt.getAttribute("size"); val2 = elt.getAttribute("blocking"); val3 = elt.getAttribute("private"); - val4 = elt.getAttribute("brodcast"); + val4 = elt.getAttribute("broadcast"); if ((val != null) && (!(val.equals("null")))) { if (val.trim().toLowerCase().compareTo("true") == 0) { @@ -431,13 +431,13 @@ public class AvatarBDPortConnector extends TGConnector implements ScalableTGCom } if ((val4 != null) && (!(val4.equals("null")))) { - if (val3.trim().toLowerCase().compareTo("false") == 0) { - isBroadcast = false; - } else { + if (val4.trim().toLowerCase().compareTo("true") == 0) { isBroadcast = true; + } else { + isBroadcast = false; } - } else { + } else { isBroadcast = false; } } diff --git a/src/ui/avatarinteractivesimulation/AvatarSpecificationSimulationSDPanel.java b/src/ui/avatarinteractivesimulation/AvatarSpecificationSimulationSDPanel.java index ad6d005058f451a3f84cffebf6b7477263a6c47b..ca10103bc31636e799bc1e1ab1e29ee32b67a20c 100644 --- a/src/ui/avatarinteractivesimulation/AvatarSpecificationSimulationSDPanel.java +++ b/src/ui/avatarinteractivesimulation/AvatarSpecificationSimulationSDPanel.java @@ -85,6 +85,7 @@ public class AvatarSpecificationSimulationSDPanel extends JPanel implements Mous private int spaceStop = 20; private int verticalLink = 10; private int lengthAsync = 50; + private int spaceBroadcast = 25; private AvatarSpecificationSimulation ass; @@ -555,12 +556,12 @@ public class AvatarSpecificationSimulationSDPanel extends JPanel implements Mous currentY += 10; g.setColor(ColorManager.AVATAR_SEND_SIGNAL); - g.drawLine(currentX+lengthAsync, currentY-1, currentX, currentY-1); + g.drawLine(currentX+spaceBetweenLifeLines-spaceBroadcast, currentY-1, currentX, currentY-1); g.setColor(c); - GraphicLib.arrowWithLine(g, 1, 0, 10, currentX, currentY, currentX+lengthAsync, currentY, true); + GraphicLib.arrowWithLine(g, 1, 0, 10, currentX, currentY, currentX+spaceBetweenLifeLines-spaceBroadcast, currentY, true); points.add(new Point(currentX, currentY)); transactionsOfPoints.add(ast); - g.fillOval(currentX+lengthAsync, currentY-5, 10, 10); + g.fillOval(currentX+spaceBetweenLifeLines-spaceBroadcast, currentY-5, 10, 10); // Putting the message name w = g.getFontMetrics().stringWidth(messageName);