These functionalities are proposed in interactive compiling mode and for the definition of a scenario compilation. Note that these functionalities are also available in batch mode compiling using options (given in parenthesis).
Transformations
- Retiming ( -dr ): performs an UPWARD normalization of delayed signals. It rewrites synchronous function f such that Y := f(X1 $ m1 init V1,...,Xn $ mn init Vm) into Y := y' $ j init f(V1',...,Vm') and y' := f(X1 $ m1' init V1",...., Xm $ mn' init Vm").
- Booleans to events (-crew): performs an event normalization of boolean clock expressions (example: when (a and b) -> when a when b).
- Signal unifications ( -su ): performs a signal syntactic equivalence reduction. For example, for (| x:=E | y :=E |) x is replaced by y.
- Clock calculus ( -poly ): performs the resolution of the clock systems using a triangularization technique. The result is a forest of clock trees (hierarchy with several roots).
- Endochronisation ( -endo ): reduces the hierarchy with several roots (polychronous model) to one root (endochronous model).
- Events to booleans ( -bool ) : produces an endochronous model without "events".
- Sequential clustering ( -clu ) : performs a code separation with respect to input predecessors equivalence.
- Abstraction ( -spec ): computes the abstraction of the program (I/O data dependences, I/O clock relations, the "black Box" or the "grey Box" abstraction representation).
- Sequentializing ( -seq ): produces a SIGNAL sequential code (reinforcing of the dependencies)
- Flattening ( -flat ): produces the SIGNAL code in which the hierarchy of clocks is reduced (flattened) to one level.
Export tools
- Sigali: Generates code (.z3z files) for Sigali tool, used to prove dynamical properties.
- Lustre: Generates lustre code (.lus file).
- Syndex: Generates code (.sdx file) for SynDEx tool, used for code distribution.
Code generators
- C ANSI: Generates C code (.c and .h files), with clusters if the Sequential clustering ha been applied.
- C++: Generates C++ code (.cpp and .h files), with clusters if the Sequential clustering has been applied.
- Java: Generates Java code (.java) with clusters if the Sequential clustering has been applied.
Export Signal
- Signal Textual: produces the textual Signal file for a SSME model.
- Signal Model (SSME): produces the SSME form for a textual Signal file.
- Signal Textual (LIS): produces a Signal file containing the pretty printed definition.
- Signal Textual (TRA): produces a Signal file containing the result of the applied transformations.
- Signal Abstraction: produces a Signal file containing the abstraction of the compiled model (I/O clock relations, I/O dependences, ...).
- Profiling: produces a morphism of the compiled program for profiling. The path of the morphism table must be in the SIGNAL_LIBRARY_PATH shell variable.