2013-01-24 23:55:35 +01:00
|
|
|
#################################################
|
|
|
|
# #
|
|
|
|
# Heptagon/BZR : compilation and installation #
|
|
|
|
# #
|
|
|
|
#################################################
|
|
|
|
|
|
|
|
|
|
|
|
Required tools
|
|
|
|
--------------
|
|
|
|
|
|
|
|
The use of the Heptagon compiler by itself does not require any
|
|
|
|
additional tools. However, the usual use involves a compiler for the
|
|
|
|
generated code (e.g., gcc for C generated code, or javac for Java).
|
|
|
|
|
|
|
|
The tools below are optional or are related to some subparts of
|
|
|
|
Heptagon:
|
|
|
|
- The graphical display tool sim2chro can be obtained from Verimag
|
|
|
|
[1]. It can be used together with the graphical simulator hepts.
|
2013-10-28 12:19:59 +01:00
|
|
|
|
|
|
|
- Alternatively to sim2chro, the GTKWave [2] wave/chronograms viewer
|
|
|
|
can be used with hepts.
|
|
|
|
|
|
|
|
- The Sigali tool [3] for model-checking and discrete controller
|
2013-01-24 23:55:35 +01:00
|
|
|
synthesis is mandatory for the use of contracts. Sigali can be
|
|
|
|
downloaded on the BZR website : http://bzr.inria.fr.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Compilation and installation
|
|
|
|
----------------------------
|
|
|
|
|
|
|
|
* Required libraries and tools for the compilation
|
|
|
|
|
|
|
|
The compilation of the Heptagon compiler requires:
|
2013-10-28 12:19:59 +01:00
|
|
|
- OCaml [4] (version >= 3.11), and the ocamlbuild and ocamlfind tools
|
|
|
|
- the Menhir [5] parser generator
|
|
|
|
- the ocamlgraph [6] library.
|
2013-01-24 23:55:35 +01:00
|
|
|
|
|
|
|
The compilation of the Heptagon simulator (optional) requires the
|
2013-10-28 12:19:59 +01:00
|
|
|
LablGTK2 [7] library.
|
2013-01-24 23:55:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
* Compilation
|
|
|
|
|
|
|
|
Once the compiler is downloaded and untarred, go into the heptagon/
|
|
|
|
directory and type :
|
|
|
|
|
|
|
|
$ ./configure && make
|
|
|
|
|
|
|
|
This command will build the compiler, optionally the simulator (if the
|
|
|
|
LablGTK2 library is found), and the standard library.
|
|
|
|
|
|
|
|
|
|
|
|
* Installation
|
|
|
|
|
|
|
|
After the compilation, or the download and untar of the binary
|
|
|
|
distribution, go into the heptagon/ directory and type :
|
|
|
|
|
|
|
|
$ make install
|
|
|
|
|
|
|
|
By default, this will install the binaries (heptc and hepts) into
|
|
|
|
/usr/local/bin and the standard library into
|
|
|
|
/usr/local/lib. Consider the configure script options
|
|
|
|
(./configure --help) for other specific needs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
URLs
|
|
|
|
----
|
|
|
|
|
2013-10-28 12:19:59 +01:00
|
|
|
[1] sim2chro : http://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE/lustre-v4/distrib/
|
|
|
|
[2] GTKWave : http://gtkwave.sourceforge.net
|
|
|
|
[3] Sigali : http://www.irisa.fr/vertecs/Logiciels/sigali.html
|
|
|
|
[4] OCaml : http://caml.inria.fr
|
|
|
|
[5] Menhir : http://gallium.inria.fr/~fpottier/menhir/
|
|
|
|
[6] ocamlgraph : http://ocamlgraph.lri.fr
|
|
|
|
[7] LablGTK2 : http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/lablgtk.html
|