Asynchronous/Synchronous Interface Generator

(version v2.0, July 4th, 2002)

Table of contents


The purpose of asig is to ease the process of testing, debugging, and executing synchronous programs. Asig automatically creates a graphical user interface (GUI) for your program, allowing you to run it easily. The asig tool works with any synchronous program compiled into a finite state automaton (OC common format) or into a synchronous circuit (SC common format).

Description of the asig tool

Asig takes advantage of the existing common format OC for synchronous languages. Indeed, OC and SC code can be obtained from Lustre, Esterel and Argos compilers. Without going into details, an OC program is a finite state automaton with a finite memory for the computations; and an SC program is a Boolean synchronous circuit with a finite memory for the computations. Asig takes as input:

Both commands

  asig foo.oc

each produce three output files:

If your source file foo.oc or makes external references (e.g., functions, constants, and so on), then you need to provide a corresponding file foo.h. Beware, external types are not handled! Next, the command

  make -f

first compiles foo.oc or into foo.c, and then compiles foo.main.c into the executable program foo. This executable includes both the automaton and the GUI. Before executing, make sure that the environment variables TCL_LIB, TK_LIB, and X11_LIB are correctly set.

The graphical user interface

When run, the executable foo opens a window that looks like:

Here the foo program has one input a and one output b, both integers. At each tick, it increments b by the value of a. The GUI window has four parts:


The following options are available:

-h Print the help message.
-version Display the version number of asig.
-info Display all informations about asig.
-bg <col> Change the background color of the GUI to <col>. The default color is grey.
-font <size> Change the font size of the GUI to <size>. The default size is 12 points.
-dist <dir> Indicates that the source OC or SC program is a distributed program (obtained with ocrep or with screp) and that the file distinet.c that creates the distributed execution environment (i.e., the sockets) is located in the directory <dir>.

Downloading asig

The asig tool is available for Unix architectures: