Syncroteam

All theory about Team Automata can be found in their web site.

Project in sourceforge.net

Contact:

Download

There is no package ready to download yet, but CVS can be used to download the sorce files.

>cvs -z3 -d:pserver:anonymous@synchroteam.cvs.sourceforge.net:/cvsroot/synchroteam co -P synchroteam

Compile

The comand "make" will build all layers into lib/ and all executables into bin/

synchroteam/src> make
...
synchroteam/lib> ls
libautomata.a libcomposer.a libinput.a liboutput.a
synchroteam/bin> ls
auto2dot synchroteam

Execution

synchroteam

synchroteam synchronize a team of automatas.

synopsis:

synchroteam input-automatas [input-automatas ... ] input-synchronization-types

preconditions:

postconditions:

Example:

>synchroteam automata synctype
>ls
A_B.out
A_B.dot

auto2dot

converts the format from automata to finite_state_machine of dot tool.

synopsis:

auto2dot input-automatas

Example:

>auto2dot automata
>ls
A.dot

dot

converts a .dot file into a graphical representation

see "man dot"

Example:

>dot FILENAME.dot -Tpng -oFILENAME.png

Example

A complete example is shown, with comands and graphs generated by synchroteam.

Inputs

First automata:

c_st_a
.model c_st_a
.inputs tick token_i req_i
.outputs grant_i
.state graph
s0 tick s0
s0 token_i s1
s1 tick s0
s1 req_i s2
s2 grant_i s3
s3 tick s0
.marking {s0}
.end
>bin/auto2dot c_st_a
>dot c_st_a.dot -Tpng -o c_st_a.png
c_st_a.png
c_st_a image

Second automata:

c_st_b
.model c_st_b
.inputs tick token_i
.outputs token_ii
.state graph
s0 tick s0
s0 token_i s1
s1 tick s2
s2 token_ii s0
.marking {s0}
.end
>bin/auto2dot c_st_b
>dot c_st_b.dot -Tpng -o c_st_b.png
c_st_b.png
c_st_b image

Synchronization types:

synctype_cst_ab
token_i:ai
tick:ai
token_ii:ai
req_i:ai
grant_i:ai

Syncroteam

synchroteam synchronize both automatas using the synctype rules and generates .out file ( can be used for other synchronizations) and .dot file ( for graphical representation )

>bin/synchroteam c_st_a c_st_b synctype_cst_ab
>ls
c_st_a_c_st_b.out c_st_a_c_st_b.dot

dot can generate outputs in many formats as png, svg, gif, png, ps, ... see "man dot"

c_st_a_c_st_b.out
.model c_st_a_c_st_b
.inputs req_i tick token_i
.outputs grant_i token_ii
.state graph
s0_s0 tick s0_s0
s0_s0 token_i s1_s1
s0_s2 token_ii s0_s0
s1_s1 req_i s2_s1
s1_s1 tick s0_s2
s2_s1 grant_i s3_s1
s3_s1 tick s0_s2
.marking {s0_s0}
.end
>dot c_st_a_c_st_b.dot -Tpng -oc_st_a_c_st_b.png
c_st_a_c_st_b.png
c_st_a_c_st_b image
W3C XHTML 1.0
W3C CSS