Newer
Older
- [Dot files](#org6667d72)
- [Algorithms](#org32323ab)
- [Simulation](#org0285ecd)
- [Installation (not yet working)](#orge431269)
Basically, one needs to provide
1. a dot file
2. the algorithms mentionned in the dot file
1. follow the [graphviz/dot format](https://en.wikipedia.org/wiki/DOT_(graph_description_language)).
2. contain nodes labelled by the `algo` field
```dot
graph ring {
p1 [algo="some_algo.cmxs"]
p2 [algo="some_algo.cmxs"]
p3 [algo="some_algo.cmxs"]
p4 [algo="some_algo.cmxs"]
p5 [algo="some_algo.cmxs"]
p6 [algo="some_algo.cmxs"]
p7 [algo="some_algo.cmxs"]
p1 -- p2 -- p3 -- p4 -- p5 -- p6 -- p7 -- p1
}
```
# Algorithms
Those algorithms must provide:
1. a set of variables (registers)
2. an `enable` fonction that says which actions are enabled (i.e., that can be activated)
3. a `step` function that executes enabled actions
More precisely, each algorithm should provide 3 functions that must be registred with:
Algorithms must then be compiled with `ocamlopt -shared` to produce the cmxs files mentionned in the dot.
```sh
```
Some examples can be found in the <./test/> directory.
<a id="org0285ecd"></a>
# Simulation
```sh
sasa some_topo.dot
sasa --help
```
<a id="orge431269"></a>
# Installation (not yet working)
```sh
# optional
opam repo add verimag-sync-repo "http://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE/opam-repository"
opam update -y
opam depext -y sasa
opam install -y sasa
```
Once is is done, upgrading to the last version of the tools is as simple as:
```yaml
opam update
opam upgrade
```