oc2atg - automata visualisation


NAME

lus2atg, oc2atg - automata visualisation


SYNOPSIS

lus2atg file.lus node [options]

oc2atg file.oc [options]


DESCRIPTION

oc2atg extracts basic information about the underlying automaton in the source file, and outputs this information in the atg format, suitable for the tool autograph;

Most of the information is lost: the atg file only contains the skeleton of the program. This skeleton consists of a set of states and transitions labelled by "input/output" presence conditions.

It is quite hard to compile a lustre program in such a way that the resulting oc program produces a meaningful atg automaton, so it is recommended to use the script lus2atg. Using this script, the Boolean part of the source program will be exactly reflected in the resulting automaton.


OPTIONS

Miscellaneous

-v set the verbose mode.
-help print available options.
-o file define the output file (default is module-name.atg)

Labels style

Labels are representing the input/output presence on a transition. Note that this information is relevant only if the oc program uses pure signals (see ec2oc). The lus2atg script automatically produces such a program. There are actually two styles for the labels: reactive machine style, and Boolean function style.

default (reactive machine style)

For the inputs, the default is to write +inname if the input is present, -inname if it is absent and ~inname for it is don't care.

For the output, only presence is represented by writing !outname (which means that the output is emited during the transition).

Exemple: +x+y-z~t/!a!b means that, for the transition to be taken, inputs x and y have to be true (i.e. present), z has to be false (i.e. absent), t and any other input (if it exist) can either true or false (don't care); as a consequence outputs a and b are true (emited), and any other output is false.

-bf (Boolean function style)

The label is made of the list of the input values (0 or 1) and the list of the corresponding outpt values, separated by a /. For instance, if the program has 2 inputs x, y and 1 output s, 10/1 means that the transition is taken when x is true, y is false, and that the output s is true.

Partial labels

Parts of the labels can be hiden.

-ht hides the don't care inputs
-hp hides the true inputs
-hm hides the false inputs
-hi hides all the input part
-ho hides all the output part
-h hides the / separator between inputs and outputs
 oc2atg - automata visualisation