verimag issueshttps://gricad-gitlab.univ-grenoble-alpes.fr/groups/verimag/-/issues2021-07-31T09:23:41+02:00https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/-/issues/19Sasa's greedy daemons doesn't work proprerly on dijkstra-ring2021-07-31T09:23:41+02:00Gwennan EliezerSasa's greedy daemons doesn't work proprerly on dijkstra-ringWhen testing on dijkstra ring, the greedy daemon doesn't work properly.
```sh
$ cd ../dijkstra-ring/
eliezerg@Laptop...When testing on dijkstra ring, the greedy daemon doesn't work properly.
```sh
$ cd ../dijkstra-ring/
eliezerg@Laptop:~/sasa/test/dijkstra-ring$ sasa diring4.dot -gd
[sasa] The sasa random engine seed is set to 580431516
# Automatically generated by /home/neogalaxy/.opam/ocaml-base-compiler.4.12.0/bin/sasa version "4.6.0-26-g25afed4" ("25afed4")
# on neogalaxy-FeelPad-MK02 the 26/7/2021 at 16:53:47
#sasa diring4.dot -gd
#seed 580431516
#inputs
#outputs "p0_c":int "p1_c":int "p2_c":int "p3_c":int "Enab_p0_T":bool "Enab_p1_T":bool "Enab_p2_T":bool "Enab_p3_T":bool "p0_T":bool "p1_T":bool "p2_T":bool "p3_T":bool potential:real
#step 0
#outs 0 0 1 2 t t t t f f t f 13.
#step 1
#outs 0 0 2 2 t t f t f t f f 6.
#step 2
#outs 0 2 2 2 f f f t f t f f 1.
#This algo reached a legitimate configuration after 2 moves, 2 steps, 0 round.
#quit
eliezerg@Laptop:~/sasa/test/dijkstra-ring$ sasa diring4.dot -gcd
[sasa] The sasa random engine seed is set to 629151512
# Automatically generated by /home/neogalaxy/.opam/ocaml-base-compiler.4.12.0/bin/sasa version "4.6.0-26-g25afed4" ("25afed4")
# on neogalaxy-FeelPad-MK02 the 26/7/2021 at 16:53:49
#sasa diring4.dot -gcd
#seed 629151512
#inputs
#outputs "p0_c":int "p1_c":int "p2_c":int "p3_c":int "Enab_p0_T":bool "Enab_p1_T":bool "Enab_p2_T":bool "Enab_p3_T":bool "p0_T":bool "p1_T":bool "p2_T":bool "p3_T":bool potential:real
#step 0
#outs 0 0 1 2 t t t t f t f f 13.
#step 1
#outs 0 1 1 2 f f t t f f t f 3.
#step 2
#outs 0 1 2 2 f t f t f f f t 2.
#step 3
#outs 0 1 2 0 f t t f f t f f 1.
#step 4
#outs 0 2 2 0 f f t f f t f f 0.
#This algo reached a legitimate configuration after 4 moves, 4 steps, 2 rounds.
#quit
eliezerg@Laptop:~/sasa/test/dijkstra-ring$ sasa diring4.dot -expd greedy
[sasa] The sasa random engine seed is set to 405980181
# Automatically generated by /home/neogalaxy/.opam/ocaml-base-compiler.4.12.0/bin/sasa version "4.6.0-26-g25afed4" ("25afed4")
# on neogalaxy-FeelPad-MK02 the 26/7/2021 at 16:53:58
#sasa diring4.dot -expd greedy
#seed 405980181
#inputs
#outputs "p0_c":int "p1_c":int "p2_c":int "p3_c":int "Enab_p0_T":bool "Enab_p1_T":bool "Enab_p2_T":bool "Enab_p3_T":bool "p0_T":bool "p1_T":bool "p2_T":bool "p3_T":bool potential:real
#step 0
#outs 0 0 1 2 t t t t t f f f 13.
#step 1
#outs 1 0 1 2 f t t t f t f f 12.
#step 2
#outs 1 1 1 2 t f t t f f t f 11.
#step 3
#outs 1 1 2 2 t t f t f f f t 10.
#step 4
#outs 1 1 2 1 t t t f t f f f 9.
#step 5
#outs 2 1 2 1 f t t t f t f f 8.
#step 6
#outs 2 2 2 1 t f t t f f t f 7.
#step 7
#outs 2 2 1 1 t t f t f f f t 6.
#step 8
#outs 2 2 1 2 t t t f t f f f 5.
#step 9
#outs 3 2 1 2 f t t t f t f f 4.
#step 10
#outs 3 1 1 2 f f t t f f t f 3.
#step 11
#outs 3 1 2 2 f t f t f t f f 2.
#step 12
#outs 3 2 2 2 f f f t f t f f 1.
#This algo reached a legitimate configuration after 12 moves, 12 steps, 4 rounds.
#quit
```https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/-/issues/15Make the diameter() return None when the graph is not connected2021-07-27T10:42:33+02:00Gwennan EliezerMake the diameter() return None when the graph is not connectedWhen a graph is not connected, its diameter doesn't make much sense. Although, when the diameter function is used on a non-connected graph, it returns a value. We should change `diameter ()` (in register.ml), so that it checks if the gra...When a graph is not connected, its diameter doesn't make much sense. Although, when the diameter function is used on a non-connected graph, it returns a value. We should change `diameter ()` (in register.ml), so that it checks if the graph is connected before using the diameter function. If the graph is not connected, it should return `None`, and if the graph is connected, it should return `Some d` (with d being the diameter).https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/-/issues/9Take into account the initialisation of local variables done the dot again2019-07-12T09:37:24+02:00erwanerwan.jahier@univ-grenoble-alpes.frTake into account the initialisation of local variables done the dot againIndeed, with the new polymorphic API, dot init directives are ignored.Indeed, with the new polymorphic API, dot init directives are ignored.erwanerwan.jahier@univ-grenoble-alpes.frerwanerwan.jahier@univ-grenoble-alpes.frhttps://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/-/issues/4Generate random graphs2019-07-15T09:55:02+02:00erwanerwan.jahier@univ-grenoble-alpes.frGenerate random graphshttps://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/-/issues/3Compute the graph degree, diameter, etc.2019-07-15T09:58:08+02:00erwanerwan.jahier@univ-grenoble-alpes.frCompute the graph degree, diameter, etc.Indeed, this info can be useful for some algo, and would avoid one to hard-code it
in the algo, which outgh to work on any graph.
For example, in the following example, the diameter is hard-coded :
https://gricad-gitlab.univ-grenoble-a...Indeed, this info can be useful for some algo, and would avoid one to hard-code it
in the algo, which outgh to work on any graph.
For example, in the following example, the diameter is hard-coded :
https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/blob/master/test/bfs-spanning-tree/p.mlhttps://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/lustre-v6/-/issues/9Error when Local variables have a parametric type2024-01-19T13:20:39+01:00EXT wang yongError when Local variables have a parametric type```
node reverse<<type t; const size: int>>(array: t ^ size) returns (res: t ^ size);
var tem: t ^ 1;
let
tem[0] = array[size - 1];
res = with (size = 1) then array else tem | reverse<<int, size - 1>>(array[0 .. size - 2]);
tel;
n...```
node reverse<<type t; const size: int>>(array: t ^ size) returns (res: t ^ size);
var tem: t ^ 1;
let
tem[0] = array[size - 1];
res = with (size = 1) then array else tem | reverse<<int, size - 1>>(array[0 .. size - 2]);
tel;
node reverse_int = reverse<<int, 5>>;
```
when I run the code above with command "**lv6 predefine.lus -n reverse_int -exec**", it raises an error "**Error: unknown type (t)**".
I think it is because Local variables cannot have a parametric type.Do I understand it correcly?https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/tempo/multidimensional_search/-/issues/8[GUI] Return the Boolean signal when running the evaluation2022-07-23T13:08:37+02:00EXT José Ignacio Requeno Jarabo[GUI] Return the Boolean signal when running the evaluationhttps://gricad-gitlab.univ-grenoble-alpes.fr/verimag/tempo/multidimensional_search/-/issues/4[GUI] Resize elements when maximizing window2022-07-22T14:05:49+02:00EXT José Ignacio Requeno Jarabo[GUI] Resize elements when maximizing windowhttps://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/-/issues/24Compare and Contrast Essay - An Ultimate Writing Guide - 2021 Guide2021-09-08T10:18:16+02:00Ghost UserCompare and Contrast Essay - An Ultimate Writing Guide - 2021 Guide[Compare_and_Contrast_Essay_-_An_Ultimate_Writing_Guide_-_2021_Guide.pdf](/uploads/8751f07af78af58f24d1e57f3d60e565/Compare_and_Contrast_Essay_-_An_Ultimate_Writing_Guide_-_2021_Guide.pdf)[Compare_and_Contrast_Essay_-_An_Ultimate_Writing_Guide_-_2021_Guide.pdf](/uploads/8751f07af78af58f24d1e57f3d60e565/Compare_and_Contrast_Essay_-_An_Ultimate_Writing_Guide_-_2021_Guide.pdf)https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/-/issues/20Coloring algo has a bad potential2021-07-27T13:06:58+02:00Gwennan EliezerColoring algo has a bad potentialThe coloring algorithm has a potential that doesn't work properly.
See #19 for more informationThe coloring algorithm has a potential that doesn't work properly.
See #19 for more informationhttps://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/-/issues/18Fonction `rev_cond_gen` manquante2021-07-27T10:32:35+02:00Gwennan EliezerFonction `rev_cond_gen` manquanteDans `sasa-rdbg-cmds.ml`, il semblerait qu'il manque la fonction `rev_cond_gen`. Cela empèche de lancer rdbg avec sasa. J'ai vu ce nom de fonction dans `tools/rdbg4sasa/gtkgui.ml` et `tools/rdbg4sasa/sasa-rdbg-cmds.ml`, et nulle part d'a...Dans `sasa-rdbg-cmds.ml`, il semblerait qu'il manque la fonction `rev_cond_gen`. Cela empèche de lancer rdbg avec sasa. J'ai vu ce nom de fonction dans `tools/rdbg4sasa/gtkgui.ml` et `tools/rdbg4sasa/sasa-rdbg-cmds.ml`, et nulle part d'autre. Aucun des deux fichiers n'a de déclaration de la fonction.
J'ai remarqué le bug dans cc029128, peut-être que le problème viens d'avant.
Voici un exemple d'exécution :
```sh
ledit rdbg -l 100000 0 --sasa --missing-vars-last -env "sasa ring2.dot --replay -custd"
Enter one of the following key (the first is the default one):
[] create a fresh session
[q] quit
[/q]:
Reading my-rdbg-tuning.ml..
nb: some messages are written to the rdbg.log file
--> type 'l' to obtain the list of Level 0 commands
or type 'h' to get a short manual
(rdbg)
Error 3: '
File "/home/username/.opam/ocaml-base-compiler.4.12.0/lib/sasa/sasa-rdbg-cmds.ml", line 169, characters 10-22:
169 | let e = rev_cond_gen e (fun ne -> ne.kind = e.kind && ne.name = e.name)
^^^^^^^^^^^^
Error: Unbound value rev_cond_gen
Hint: Did you mean next_cond_gen?
An error occured when reading the my-rdbg-tuning.ml file
cf "rdbg.log" for more messages
'
Bye
```https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/-/issues/17Sasa does not recognise ./ as current dir2021-07-27T10:14:37+02:00Gwennan EliezerSasa does not recognise ./ as current dirLet's launch sasa on `./grid10.dot`:
```sh
$ sasa ./grid10.dot
Fatal error: exception Sys_error("sasa-./grid10.dot.seed: No such file or directory")
$ sasa grid10.dot
[sasa] The sasa random engine seed is set to 1025277978
(and so on......Let's launch sasa on `./grid10.dot`:
```sh
$ sasa ./grid10.dot
Fatal error: exception Sys_error("sasa-./grid10.dot.seed: No such file or directory")
$ sasa grid10.dot
[sasa] The sasa random engine seed is set to 1025277978
(and so on... works fine)
```
As you can see, it doesn't work when the path starts with `./`.
Additionnaly, when running with `rdbg` :
```sh
$ ledit rdbg --sasa --missing-vars-last -env "sasa ./grid10.dot -custd"
Enter one of the following key (the first is the default one):
[] #use "rdbg-session.ml" (3/6/2021: rdbg --sasa --missing-vars-last -e[...])
[1] #use "rdbg-session1.ml" (3/6/2021: rdbg --sasa --missing-vars-last -e[...])
[c] create a fresh session
[q] quit
[/1/c/q]: c
Reading my-rdbg-tuning.ml..
Rdbg Version "1.195.0" ("opam")
OCaml version 4.12.0
(rdbg) - : unit = ()
Findlib has been successfully loaded. Additional directives:
#require "package";; to load a package
#list;; to list the available packages
#camlp4o;; to load camlp4 (standard syntax)
#camlp4r;; to load camlp4 (revised syntax)
#predicates "p,q,...";; to set these predicates
Topfind.reset();; to force that packages will be reloaded
#thread;; to enable threads
- : unit = ()
- : unit = ()
Error: /grid10.ml is missing!
```
I don't know if it's the same error, but is is of the same kind.https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/-/issues/16Drive rdbg tests in a more portable way2021-03-03T08:31:21+01:00Gabriel B. Sant'Annabaiocchi.gabriel@gmail.comDrive rdbg tests in a more portable wayTests using rdbg simulate user input by piping `echo` output to rdbg, eg. in `test/dijkstra-ring/Makefile`:
```make
rdbg_test: ring.ml
echo "\nnr\nsd\nq\n" | rdbg -o ring.rif -l 10000 -sut "$(sasa) -vl 1 ring.dot -dd"
```
But [this ...Tests using rdbg simulate user input by piping `echo` output to rdbg, eg. in `test/dijkstra-ring/Makefile`:
```make
rdbg_test: ring.ml
echo "\nnr\nsd\nq\n" | rdbg -o ring.rif -l 10000 -sut "$(sasa) -vl 1 ring.dot -dd"
```
But [this is not portable](https://pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html) as we are using escaped characters:
> It is not possible to use echo portably across all POSIX systems unless both -n (as the first argument) **and escape sequences** are omitted.
In fact, in my own machine the command above causes rdbg to interpret "\nnr\nsd\nq\n" as a single user input, yielding the error
```
invalid key (\nnr\nsd\nq\n), try again
```
Posix suggests using `printf` instead:
> New applications are encouraged to use printf instead of echo.Gabriel B. Sant'Annabaiocchi.gabriel@gmail.comGabriel B. Sant'Annabaiocchi.gabriel@gmail.comhttps://gricad-gitlab.univ-grenoble-alpes.fr/verimag/tempo/multidimensional_search/-/issues/1Cleaning code2022-07-20T09:08:19+02:00EXT José Ignacio Requeno JaraboCleaning code@mambakaa :
- [ 1 ] Please, could you remove local paths in source code? It could break automatic tests. Besides the ParetoLib code is public, so it should be as clean as possible. See [1](https://gricad-gitlab.univ-grenoble-alpes.fr/ver...@mambakaa :
- [ 1 ] Please, could you remove local paths in source code? It could break automatic tests. Besides the ParetoLib code is public, so it should be as clean as possible. See [1](https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/tempo/multidimensional_search/-/blob/akshayUpdateClean/ParetoLib/Oracle/OracleEpsSTLe.py#L100)
- [ 2 ] This is the 'print' format for python 2. Please, use 'print("blabla")' format, which is compatible both for python 2 and python 3.x. See [2](https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/tempo/multidimensional_search/-/blob/9c1f57863d3fe341950205517cbd7e988ccb74de/ParetoLib/Search/ParSearch.py#L132)
- [ 3 ] Please, add/fix tag annotations in new functions in a similar way to this format: See [3](https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/tempo/multidimensional_search/-/blob/9c1f57863d3fe341950205517cbd7e988ccb74de/ParetoLib/Search/ParSearch.py#L154). It helps for readability, type fixing within the IDE, and easy cythonization.
- [ 4 ] We should also discuss the structure of the 'example' folder. Too many examples/files over there. Maybe, should we move some of these files to 'Tests'?Akshay MambakamAkshay Mambakamhttps://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/lustre-v6/-/issues/8The difference of 2 enums is wrong when using the --expand-enums-as-bool option2019-09-04T15:56:42+02:00erwanerwan.jahier@univ-grenoble-alpes.frThe difference of 2 enums is wrong when using the --expand-enums-as-bool optionReported by Vincent Mussot.
The program
```lustre
type E = enum { A, B, C};
node bug(do : bool) returns (ok : E);
let
ok = if (false -> (pre(ok) <> A)) then C
else if (false -> do) then B
else A;
tel
```
ret...Reported by Vincent Mussot.
The program
```lustre
type E = enum { A, B, C};
node bug(do : bool) returns (ok : E);
let
ok = if (false -> (pre(ok) <> A)) then C
else if (false -> do) then B
else A;
tel
```
returns A B B instead of A B C when the input is "t t t"
nb: this option is in the -dev category, but it as used by the -ec one!https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/-/issues/13Use the functions of #3 in all the test/examples instead of the current hard-...2020-04-14T09:15:05+02:00erwanerwan.jahier@univ-grenoble-alpes.frUse the functions of #3 in all the test/examples instead of the current hard-coded valueshttps://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/lutin/-/issues/3Add n-ary `xor` (and `boolred`) to lutin2019-07-26T14:18:29+02:00erwanerwan.jahier@univ-grenoble-alpes.frAdd n-ary `xor` (and `boolred`) to lutinhttps://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/-/issues/12Add a get_graph_attributes function to the sasa API2019-07-03T10:40:26+02:00erwanerwan.jahier@univ-grenoble-alpes.frAdd a get_graph_attributes function to the sasa APIThe idea is be able to transmit parameters to algo. For that we
can take advantage of the graph attributes mechanism of dot.
For instance, one could write dot files that looks like:
```dot
graph g {
diameter=2
k=42
p1 [algo=p....The idea is be able to transmit parameters to algo. For that we
can take advantage of the graph attributes mechanism of dot.
For instance, one could write dot files that looks like:
```dot
graph g {
diameter=2
k=42
p1 [algo=p.ml]
p2 [algo=p.ml]
p1 -- p2
}
```
And then access to `k` and to the `diameter` as follows:
```ocaml
let (init_state: int -> 's) =
fun _ ->
let diameter = int_of_string (get_graph_attributes "diameter") in
let k = int_of_string (get_graph_attributes "k") in
diameter+ (Random.int k)
```https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/lutin/-/issues/2issue with free variables constrained in the type declaration2019-07-03T14:23:19+02:00erwanerwan.jahier@univ-grenoble-alpes.frissue with free variables constrained in the type declaration`ok` works fine, but not `ko`:
```lutin
node ko () returns (b: int [0; 0]; a: int) = a = b
node ok () returns (a: int [0; 0]; b: int) = a = b
````ok` works fine, but not `ko`:
```lutin
node ko () returns (b: int [0; 0]; a: int) = a = b
node ok () returns (a: int [0; 0]; b: int) = a = b
```https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/-/issues/11Add Lustre oracles to all examples of the test directory2019-07-08T16:46:49+02:00erwanerwan.jahier@univ-grenoble-alpes.frAdd Lustre oracles to all examples of the test directoryNathan RebiscoulNathan Rebiscoul