lus2atg, oc2atg - automata visualisation

- NAME
- SYNOPSIS
- DESCRIPTION
- OPTIONS
  - Miscellaneous
  - Labels style
  - Partial labels
- SEE ALSO

# 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

# SEE ALSO

lustre, lus2ec, ecexe, luciole, simec, lus2oc, ec2oc, ocmin, lus2atg, oc2atg, ec2c, poc, lux, lesar, ecverif, xlesar

lus2atg, oc2atg - automata visualisation