sasa issueshttps://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/-/issues2021-09-08T10:18:16+02:00https://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/23Sasa does not stop execution on the first legitimate state on unison2021-08-04T11:35:34+02:00Gwennan EliezerSasa does not stop execution on the first legitimate state on unisonI would expect Sasa to stop at the first legitimate state as it does with Dijkstra ring. However, even on the `make test`, it doesn't. As you can see, the second step is already legitimate, but the execution went through the whole 5 step...I would expect Sasa to stop at the first legitimate state as it does with Dijkstra ring. However, even on the `make test`, it doesn't. As you can see, the second step is already legitimate, but the execution went through the whole 5 steps is had as timeout threshold. Maybe sasa should return an error when no legitimate state is encountered instead of exiting with 0 (except with an option maybe, otherwise the test2 would be unreproducible without an error).
```sh
$ make test1
sasa -l 5 fig41.dot -sd -rif
[sasa] The sasa random engine seed is set to 876107293
====> The Graph Diameter is 3
#inputs
#outputs "p1_c":int "p2_c":int "p3_c":int "p4_c":int "p5_c":int "p6_c":int "p7_c":int "p8_c":int "Enab_p1_g":bool "Enab_p2_g":bool "Enab_p3_g":bool "Enab_p4_g":bool "Enab_p5_g":bool "Enab_p6_g":bool "Enab_p7_g":bool "Enab_p8_g":bool "p1_g":bool "p2_g":bool "p3_g":bool "p4_g":bool "p5_g":bool "p6_g":bool "p7_g":bool "p8_g":bool
#seed 876107293
1 2 1 6 3 2 4 1 t f t t t f t t t f t t t f t t
2 2 2 2 2 2 2 2 t t t t t t t t t t t t t t t t
3 3 3 3 3 3 3 3 t t t t t t t t t t t t t t t t
4 4 4 4 4 4 4 4 t t t t t t t t t t t t t t t t
5 5 5 5 5 5 5 5 t t t t t t t t t t t t t t t t
6 6 6 6 6 6 6 6 t t t t t t t t t t t t t t t t
#q
```https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/-/issues/22Sasa can stack overflow in the toy example sum2021-08-02T09:53:23+02:00Gwennan EliezerSasa can stack overflow in the toy example sumGiven the following dot file, sasa has a stack overflow when launching:
```dot
graph test {
graph [min_deg=1
mean_deg=1.5
max_deg=2
is_connected=true
is_cyclic=false
is_tree=true
links_number=3
is_rooted=false]
root [algo="p.ml...Given the following dot file, sasa has a stack overflow when launching:
```dot
graph test {
graph [min_deg=1
mean_deg=1.5
max_deg=2
is_connected=true
is_cyclic=false
is_tree=true
links_number=3
is_rooted=false]
root [algo="p.ml" init="{pid=root ; input=12}"]
p1 [algo="p.ml" init="{pid=p1 ; input=5}"]
p2 [algo="p.ml" init="{pid=p2 ; input=10}"]
p3 [algo="p.ml" init="{pid=p3 ; input=3}"]
p1 -- p2
p1 -- root
p2 -- p3
}
```
After deleting everything that wasn't tracked in `sasa/test/toy-example-sum` on master, here is my execution:
```
$ make test.cmxs
sasa -reg test.dot
[sasa] The sasa random engine seed is set to 933869547
[sasa] The file test.ml has been generated
[sasa] Warning: state.ml already exist.
[sasa] Warning: config.ml already exist.
[sasa] Hint: you may wish to generate test.cmxs out of test.ml with:
[sasa] ocamlfind ocamlopt -package algo -shared state.ml p.ml config.ml test.ml -o test.cmxs
[sasa] The sasa random engine seed is set to 472782834
ocamlfind ocamlopt -bin-annot -package algo -shared state.ml p.ml config.ml test.ml -o test.cmxs
$ sasa test.dot
[sasa] The sasa random engine seed is set to 704438567
# Automatically generated by /home/neogalaxy/.opam/ocaml-base-compiler.4.12.0/bin/sasa version "4.6.0-34-g9a7813d" ("9a7813d")
# on neogalaxy-FeelPad-MK02 the 2/8/2021 at 9:49:13
#sasa test.dot
#seed 704438567
#inputs
#outputs "root_input":int "root_sub":int "root_res":int "p1_input":int "p1_sub":int "p1_res":int "p2_input":int "p2_sub":int "p2_res":int "p3_input":int "p3_sub":int "p3_res":int "Enab_root_S":bool "Enab_root_Rr":bool "Enab_root_Rp":bool "Enab_p1_S":bool "Enab_p1_Rr":bool "Enab_p1_Rp":bool "Enab_p2_S":bool "Enab_p2_Rr":bool "Enab_p2_Rp":bool "Enab_p3_S":bool "Enab_p3_Rr":bool "Enab_p3_Rp":bool "root_S":bool "root_Rr":bool "root_Rp":bool "p1_S":bool "p1_Rr":bool "p1_Rp":bool "p2_S":bool "p2_Rr":bool "p2_Rp":bool "p3_S":bool "p3_Rr":bool "p3_Rp":bool potential:real
Stack overflow
q
#quit
%!
```
I have no idea on how to debug this.https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/-/issues/21Sasa does not check if trigger is enabled2021-07-30T16:25:36+02:00Gwennan EliezerSasa does not check if trigger is enabledSasa does not check if each trigger is in the list of the enables. Shouldn't we implement it (with maybe an option that disable this check for perfs)? If not, should we then implement it into the explorers to be sure that the explorers o...Sasa does not check if each trigger is in the list of the enables. Shouldn't we implement it (with maybe an option that disable this check for perfs)? If not, should we then implement it into the explorers to be sure that the explorers outputs valid executions?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/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/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/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/14Change the graph created by "gg BA" on the m0 first nodes.2019-07-12T09:37:59+02:00Gwennan EliezerChange the graph created by "gg BA" on the m0 first nodes.In the [Barabási-Albert model](https://en.wikipedia.org/wiki/Barab%C3%A1si%E2%80%93Albert_model), we need a arbitrary graph of m0 nodes, to start with, and the only constraint is that each node has an edge (i.e. link to a neighbor). For ...In the [Barabási-Albert model](https://en.wikipedia.org/wiki/Barab%C3%A1si%E2%80%93Albert_model), we need a arbitrary graph of m0 nodes, to start with, and the only constraint is that each node has an edge (i.e. link to a neighbor). For the moment, in the graph generated by using `gg BA ...`, the base graph is a star of m+1 nodes.
The goal is to change this base graph, allowing the user to choose the graph they want, and to set the base graph to a clique by default.
Stephan Devismes suggested to use the following syntax to allow the user to choose the graph they want :
`m0:(a1,a2);(b1,b2);(c1,c2)...`
with `m0` being the number of nodes, and `(a1,a2)` meaning there's a link between the node of index `a1` and the one of index `a2`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/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/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 Rebiscoulhttps://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/-/issues/10Generate oracle skeletons from the dot2019-06-25T13:23:28+02:00erwanerwan.jahier@univ-grenoble-alpes.frGenerate oracle skeletons from the dotSuch skeletons could contains
- a node computing the silence (`silent`)
- a node `after_n`
- some useful constants (card, degree, diameter)
- a node that gathers variables into arrays
```lustre
const card=7;
const degree=3;
const diamet...Such skeletons could contains
- a node computing the silence (`silent`)
- a node `after_n`
- some useful constants (card, degree, diameter)
- a node that gathers variables into arrays
```lustre
const card=7;
const degree=3;
const diameter=7;
node after_n(n:int; x:bool) returns (res:bool);
var cpt:int;
let
cpt = 0 -> pre cpt + 1;
res = cpt <= n or x;
tel
node silent(Enab_a, act: bool^card) returns (ok:bool);
let
ok = after_n(42, boolred<<0,0,card>>(Enab_a));
tel
node oracle(Enab_p1_a, Enab_p2_a, Enab_p3_a, Enab_p4_a, Enab_p5_a,
Enab_p6_a, Enab_p7_a, p1_a, p2_a, p3_a, p4_a, p5_a, p6_a,
p7_a:bool) returns (ok:bool);
var
Enab_a,a: bool^card;
let
Enab_a = [Enab_p1_a,Enab_p2_a,Enab_p3_a,Enab_p4_a,Enab_p5_a,Enab_p6_a,Enab_p7_a];
act = [p1_a, p2_a, p3_a, p4_a, p5_a, p6_a, p7_a];
ok = true;
tel
```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/8Add weights to graphs2019-07-12T09:37:20+02:00erwanerwan.jahier@univ-grenoble-alpes.frAdd weights to graphsRequire to handle a weight attribute in the dot (in addition to the algo attribute)
This information can then be added a a field of Algo.neighbor.tRequire to handle a weight attribute in the dot (in addition to the algo attribute)
This information can then be added a a field of Algo.neighbor.terwanerwan.jahier@univ-grenoble-alpes.frerwanerwan.jahier@univ-grenoble-alpes.frhttps://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/-/issues/7Process should have acess to their identity2019-06-21T16:59:48+02:00erwanerwan.jahier@univ-grenoble-alpes.frProcess should have acess to their identityhttps://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/-/issues/6Add options to prevent algo to access to forbidden information2021-07-27T11:05:44+02:00erwanerwan.jahier@univ-grenoble-alpes.frAdd options to prevent algo to access to forbidden informationFor instance, some algo should work without being allowed to access to:
- the identity of the neighbor (cf the `pid` field of `Algo.neighbor` vars)
- the possibility for a neighbor to access to the channel number of a process (the `reply...For instance, some algo should work without being allowed to access to:
- the identity of the neighbor (cf the `pid` field of `Algo.neighbor` vars)
- the possibility for a neighbor to access to the channel number of a process (the `reply` field of `Algo.neighbor` vars)erwanerwan.jahier@univ-grenoble-alpes.frerwanerwan.jahier@univ-grenoble-alpes.frhttps://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/-/issues/5Allow the simulation to have inputs2019-07-03T11:38:09+02:00erwanerwan.jahier@univ-grenoble-alpes.frAllow the simulation to have inputsRequire to add a(n optional) `Algo.reg_inputs` function which would be similar `reg_vars`.
Then of course one could use Lutin to provide sasa such inputsRequire to add a(n optional) `Algo.reg_inputs` function which would be similar `reg_vars`.
Then of course one could use Lutin to provide sasa such inputs