TTool issueshttps://gitlab.telecom-paris.fr/mbe-tools/TTool/-/issues2023-12-07T15:20:50Zhttps://gitlab.telecom-paris.fr/mbe-tools/TTool/-/issues/393Proverif specification generation fails when using Timer type in messages2023-12-07T15:20:50ZLudovic ApvrilleProverif specification generation fails when using Timer type in messagesSo types in functions are not checked for before proverif generation (e.g., syntax checking)So types in functions are not checked for before proverif generation (e.g., syntax checking)https://gitlab.telecom-paris.fr/mbe-tools/TTool/-/issues/392Z3 DSE crashes on SmartCardProtocol2023-11-07T23:16:21ZMarvin HäuserZ3 DSE crashes on SmartCardProtocol# Summary
Performing Z3 DSE on the SmartCardProtocol project from the in-built repository crashes.
# Steps to reproduce
1. Load the SmartCardProtocol from the in-built repository.
2. Switch to Mapping1 and start Z3 DSE.
# What is th...# Summary
Performing Z3 DSE on the SmartCardProtocol project from the in-built repository crashes.
# Steps to reproduce
1. Load the SmartCardProtocol from the in-built repository.
2. Switch to Mapping1 and start Z3 DSE.
# What is the current bug behavior?
The process fails with the following error:
```
ERROR: Z3 Unknown Exception: Cannot invoke "tmltranslator.TMLTask.getOperation()" because "tmlTask" is null
```
# What is the expected correct behavior?
The process completes successfully, e.g.:
```
Optimized mapping found
The optimal mapping solution is:
(1) Spatial mapping of tasks:
TASK --> PLATFORM NODE
AppC__InterfaceDevice --> cpu0
AppC__SmartCard --> cpu0
AppC__TCPIP --> cpu0
AppC__Application --> cpu0
AppC__Timer --> cpu0
(2) Temporal mapping of tasks:
cpu0 : AppC__Timer at 0 ; AppC__Application at 1 ;
(3) Spatial mapping of channels onto controllers:
Channel(InterfaceDevice,SmartCard) --> cpu0
Channel(SmartCard,TCPIP) --> cpu0
Channel(SmartCard,InterfaceDevice) --> cpu0
Channel(TCPIP,TCPIP) --> cpu0
Channel(TCPIP,Application) --> cpu0
Channel(TCPIP,SmartCard) --> cpu0
Channel(Application,TCPIP) --> cpu0
```
# Possible fixes
The issue is masked or possibly resolved by rolling back the following change:
https://gitlab.telecom-paris.fr/mbe-tools/TTool/-/merge_requests/107/diffs#75d2c997b1d082b003e6aa869cae021c48149d03_108_105
The change is undocumented and the intention is not obvious.
# Relevant logs and/or screenshots
Debugging the code check above with a "task name | writers.Empty() | readers.Empty()" scheme yields:
```
[tmltranslator.dsez3engine.InputInstance] AppC__Timer true true
[tmltranslator.dsez3engine.InputInstance] AppC__InterfaceDevice false false
[tmltranslator.dsez3engine.InputInstance] AppC__TCPIP false false
[tmltranslator.dsez3engine.InputInstance] fAppC__Application false true
[tmltranslator.dsez3engine.InputInstance] AppC__SmartCard false false
```
Thus, ``AppC__Timer`` is not picked as final task with the change from the MR, but is picked prior.https://gitlab.telecom-paris.fr/mbe-tools/TTool/-/issues/391JDK 17: Migrate from Nashorn JS engine2023-11-10T18:24:49ZMarvin HäuserJDK 17: Migrate from Nashorn JS engineJDK 17 removed the Nashorn JavaScript engine [1]. This breaks DSE, which expects a JavaScript engine to be registered out-of-the-box. The most commonly accepted alternative to the removed Nashorn engine appears to be Graal.JS, with a mig...JDK 17 removed the Nashorn JavaScript engine [1]. This breaks DSE, which expects a JavaScript engine to be registered out-of-the-box. The most commonly accepted alternative to the removed Nashorn engine appears to be Graal.JS, with a migration guide readily available [2]. As ScriptEngine is not extensively used, the code changes required a fairly minimal to ship and consume Graal.JS along TTool. However, there are complicated considerations regarding combining it with GraalVM to improve performance:
* Optimal configuration requires experimental features to be enabled and module path upgrades [3].
* In a quick and dirty integration test, their class path isolation feature malfunctioned for unknown reasons.
[1] https://openjdk.org/jeps/372
[2] https://www.graalvm.org/latest/reference-manual/js/NashornMigrationGuide/
[3] https://www.graalvm.org/22.1/reference-manual/js/RunOnJDK/#graalvm-javascript-on-jdk-11https://gitlab.telecom-paris.fr/mbe-tools/TTool/-/issues/373Reset number of samples in a channel with wic command2022-09-09T11:56:08ZJawher JerrayReset number of samples in a channel with wic commandWe can reset the number of samples in a channel using the wic command by putting 0 as # of samples.
We probably could mention this feature in the wic command help.We can reset the number of samples in a channel using the wic command by putting 0 as # of samples.
We probably could mention this feature in the wic command help.https://gitlab.telecom-paris.fr/mbe-tools/TTool/-/issues/370Adding help for ports of diplodocus component2022-08-04T12:34:41ZLudovic ApvrilleAdding help for ports of diplodocus componentWe have to explain in particular the capacity and width of channelWe have to explain in particular the capacity and width of channelhttps://gitlab.telecom-paris.fr/mbe-tools/TTool/-/issues/364Long guards should be displayed on several lines2023-03-21T08:30:42ZLudovic ApvrilleLong guards should be displayed on several lineshttps://gitlab.telecom-paris.fr/mbe-tools/TTool/-/issues/359Model-checking from zigbee application suprisingly long2022-03-24T12:27:44ZLudovic ApvrilleModel-checking from zigbee application suprisingly longhttps://gitlab.telecom-paris.fr/mbe-tools/TTool/-/issues/357Creating a new method leads in having only assumptions2022-03-24T12:23:53ZLudovic ApvrilleCreating a new method leads in having only assumptionsBug with new Diplo method, now avatar method, etc.Bug with new Diplo method, now avatar method, etc.Ludovic ApvrilleLudovic Apvrillehttps://gitlab.telecom-paris.fr/mbe-tools/TTool/-/issues/353Suggestion: remove guard for branches with no follower2022-01-21T17:10:12ZLudovic ApvrilleSuggestion: remove guard for branches with no followerThis may apply to all activity diagramsThis may apply to all activity diagramshttps://gitlab.telecom-paris.fr/mbe-tools/TTool/-/issues/350EXECC not taken into account2022-02-25T13:22:55ZLudovic ApvrilleEXECC not taken into accountEXECC configuration is not taken into account in the enclosed model.
[Test2.xml](/uploads/2b00626980b8c8f6f064dcc09cc6da4e/Test2.xml)EXECC configuration is not taken into account in the enclosed model.
[Test2.xml](/uploads/2b00626980b8c8f6f064dcc09cc6da4e/Test2.xml)https://gitlab.telecom-paris.fr/mbe-tools/TTool/-/issues/347More than three next in choices (diplodocus AD, analysis AD)2021-11-19T10:35:17ZLudovic ApvrilleMore than three next in choices (diplodocus AD, analysis AD)Choices are limited to three choices. Having more would be better.Choices are limited to three choices. Having more would be better.https://gitlab.telecom-paris.fr/mbe-tools/TTool/-/issues/325Invalid options are not detected by the simulator2021-06-17T14:20:16ZLudovic ApvrilleInvalid options are not detected by the simulatorHello,
I have just noticed that the DIPLODOCUS simulator, with its CLI, cannot detect invalid option.
In case an invalid option is used, it should inform the user and quit immediately, without executing a simulation.
How to reproduce th...Hello,
I have just noticed that the DIPLODOCUS simulator, with its CLI, cannot detect invalid option.
In case an invalid option is used, it should inform the user and quit immediately, without executing a simulation.
How to reproduce this bug:
$ ./run.x -helpp
There, a simulation is executed whereas an error should be returned and no simulation executed.
thanks!Le Van TruongLe Van Truonghttps://gitlab.telecom-paris.fr/mbe-tools/TTool/-/issues/324Useless info in CLI diplodocus simulator2021-06-17T14:20:18ZLudovic ApvrilleUseless info in CLI diplodocus simulatorHello,
When starting the diplodocus simulator in CLI, the following is printed when using, e.g., the -help option:
___
./run.x -help
The preparation took 340usec.
Starting up...
Just analyzed explo 1-><-
Just analyzed explo 2
Running in...Hello,
When starting the diplodocus simulator in CLI, the following is printed when using, e.g., the -help option:
___
./run.x -help
The preparation took 340usec.
Starting up...
Just analyzed explo 1-><-
Just analyzed explo 2
Running in command line mode.
__
I guess all these information are useless when asking for help (general help, or for a given command). Also, it looks like there is quite a lot of code executed (preparation, etc.) for only printing the helpLe Van TruongLe Van Truonghttps://gitlab.telecom-paris.fr/mbe-tools/TTool/-/issues/321Use of "min" and "max" expressions in action states, in activity diagrams2022-03-09T16:38:45ZBastien SultanUse of "min" and "max" expressions in action states, in activity diagramsHello,
In Diplodocus modeling, the syntax analyzer does not raise exceptions when the expressions "min" and "max" are used in an action state in activity diagrams, even if they are not defined. However, the code generation fails (see "M...Hello,
In Diplodocus modeling, the syntax analyzer does not raise exceptions when the expressions "min" and "max" are used in an action state in activity diagrams, even if they are not defined. However, the code generation fails (see "Mapping" tab in the model in attachment, then click on "Syntax analysis" and "Generate code for simulation").
Furthermore, if :
**(1)** these "min" and "max" expressions are used in an action state inside a loop
**and**
**(2)** at least one of their arguments is the variable modified by the action state (e.g., "n = max(2,n)" or "n = min(4,n+1)"),
the code generation is performed (see "Mapping_withLoop" tab in the model in attachment, then click on "Syntax analysis" and "Generate code for simulation"). According to the "Task variables" tab in the simulator, these "min" and "max" expressions behave as expected, respectively returning the minimum and maximum values between their arguments.
Cheers,
Bastien
[bugMinMax.xml](/uploads/0f0c45ff7d022bc92cf3a58b2a3a533f/bugMinMax.xml)https://gitlab.telecom-paris.fr/mbe-tools/TTool/-/issues/317Improving the integrated help of the DIPLODOCUS simulator2021-06-16T11:06:49ZLudovic ApvrilleImproving the integrated help of the DIPLODOCUS simulatorWhen the simulator is started with the -help" option, it displays the various options, but valid messages of the "-server" mode are not listed, so one had to start the GUI of TTool, simulation window, to get the help on the messages, whi...When the simulator is started with the -help" option, it displays the various options, but valid messages of the "-server" mode are not listed, so one had to start the GUI of TTool, simulation window, to get the help on the messages, which is a pity. I suggest to add a -helpserver which lists all commands of the server mode. Then maybe another -helpcommand <command number> that would give more detail on the command?Le Van TruongLe Van Truonghttps://gitlab.telecom-paris.fr/mbe-tools/TTool/-/issues/306FPGA: The clock divider variable is not used on FPGA.2021-04-13T14:13:36ZLe Van TruongFPGA: The clock divider variable is not used on FPGA.Right now in the Setting FPGA attributes user can see the "clock divider" field, but in fact there is no clock divider applied to FPGA.
How clock divider should be used in FPGA?Right now in the Setting FPGA attributes user can see the "clock divider" field, but in fact there is no clock divider applied to FPGA.
How clock divider should be used in FPGA?Le Van TruongLe Van Truonghttps://gitlab.telecom-paris.fr/mbe-tools/TTool/-/issues/294"__" Should be a reserved pragma in identifier2021-02-25T14:49:56ZLudovic Apvrille"__" Should be a reserved pragma in identifierAdding a warning or even an error, in the GUI or CLI would be betterAdding a warning or even an error, in the GUI or CLI would be betterhttps://gitlab.telecom-paris.fr/mbe-tools/TTool/-/issues/288Cross-CPU scheduling2021-04-02T15:17:17ZLudovic ApvrilleCross-CPU scheduling# Summary
Cross-CPU scheduling in multi-core architectures should not occur as it is currently.
# Steps to reproduce
- Open the attached file
[BugTraceDisplaying.xml](/uploads/759e4379b0bf463045c1230548b86399/BugTraceDisplaying.xml)
-...# Summary
Cross-CPU scheduling in multi-core architectures should not occur as it is currently.
# Steps to reproduce
- Open the attached file
[BugTraceDisplaying.xml](/uploads/759e4379b0bf463045c1230548b86399/BugTraceDisplaying.xml)
- Simulate
- Open the simulation trace with the timeline view.
![Screen_Shot_2021-01-20_at_14.43.15](/uploads/05c23b18ad3a57c4cfe47740a42de8ba/Screen_Shot_2021-01-20_at_14.43.15.png)
This view shows that cross-scheduling core is performed when it should not.
# What is the expected correct behavior?
The two tasks should not change of core.Le Van TruongLe Van Truonghttps://gitlab.telecom-paris.fr/mbe-tools/TTool/-/issues/262Server continues to execute in server mode even if socket binding cannot occur2020-06-05T15:34:34ZLudovic ApvrilleServer continues to execute in server mode even if socket binding cannot occurHow to reproduce the bug:
- start run.x -server
- start another run.x -server
The second server can do nothing yet it continues to run. I guess it should simply terminate?How to reproduce the bug:
- start run.x -server
- start another run.x -server
The second server can do nothing yet it continues to run. I guess it should simply terminate?Le Van TruongLe Van Truonghttps://gitlab.telecom-paris.fr/mbe-tools/TTool/-/issues/255Bug on daemon task: the simulation should last much longer2020-03-24T09:49:56ZLudovic ApvrilleBug on daemon task: the simulation should last much longerSimulation stops much earlier than expected with enclosed model.
[testDaemon.xml](/uploads/fd8f347f25d6ab0b56b9846bb2d3fecb/testDaemon.xml)Simulation stops much earlier than expected with enclosed model.
[testDaemon.xml](/uploads/fd8f347f25d6ab0b56b9846bb2d3fecb/testDaemon.xml)Le Van TruongLe Van Truong