termite2 / Termite

The Termite driver synthesis tool
30 stars 7 forks source link

The Termite driver synthesis tool

http://www.termite2.org

Termite must be built on a Linux system. The build process has been tested on 64 bit versions of Ubuntu and Arch Linux. A working Haskell installation is required. You will need to install ghc version 7.8 or greater and cabal-install version 1.20 or greater using your system's package manager.

You will need to install several other dependencies. On Ubuntu, the following packages are needed:

libglib2.0-dev libcairo2-dev libpangocairo-1.0 libgtk2.0-dev libpango1.0-dev libgtksourceview2.0-dev graphviz

Finally, you will need to build from sources and install Z3 SMT solver from Microsoft Research, available at https://z3.codeplex.com. Note that Z3 is free for non-commercial academic purposes only.

To clone the needed git subrepos and setup a cabal sandbox: $ ./setup.sh

To build: $ ./build.sh

Copy the language definition to a place where GTKSourceView can find it: $ sudo cp lib/tsl/tools/tsl.lang /usr/share/gtksourceview-2.0/language-specs/

To run: $ source ./envs.sh $ cd documentation/GPIO $ ../../bin/termite -i main.tsl -s

Or, if you prefer to build CUDD separately:

To build CUDD: $ pushd lib/cudd $ cp Makefile.64bit Makefile # or Makefile.32bit if you are on a 32 bit system $ make libso $ popd

To build Termite: $ export LD_LIBRARY_PATH=pwd/lib/cudd/libso $ cabal update $ cabal install termite --extra-include-dirs=pwd/lib/cudd/include --extra-lib-dirs=pwd/lib/cudd/libso --bindir=pwd/bin