IMITATOR

Download IMITATOR

Standalone binaries for Linux

IMITATOR relies on several libraries, including the Parma Polyhedra Library, that can be cumbersome to install; hence, unless you want to modify IMITATOR or install it in very specific environments or use its distributed capabilities, we strongly recommend you download one of the standalone binaries. If you prefer to install the source, please read the installation instructions below.

Binaries have been compiled using a recent version of Ubuntu, and should be usable on all Linux-like systems.

Note that, if you are not equipped with a Linux system, you can install one very easily in VirtualBox. We also provide a Docker version (see below).

In case you want to use the graphical output facilities, don’t forget to install dot (from the Graphviz package) and graph (from the plotutils package). This is true even if you download the standalone binaries. Without these utilities, IMITATOR will work normally, but the graphics output may not work.

Version Version name Build Git hash Release date Sources Binary (32 bits) Binary (64 bits) User Manual
IMITATOR 3.3-dev (development version) - - - [GitHub] not available anymore
IMITATOR 3.3 (latest stable version) Cheese Caramel au beurre salé 105408a 2022/07/21 [v3.3.0.tar.gz] not available anymore [imitator-v3.3.0-amd64] [PDF]
see former versions

Then IMITATOR can be executed by running the required command, for example:

./imitator model.imi property.imiprop

See the user manual for more information on how to use IMITATOR.

See here for former versions of IMITATOR.

Docker version for Linux / Mac / Windows

Note that the Windows installation is not perfect (there might be compiling issues)

Installation steps:

  1. Install docker
  2. Download the imitator image from the docker hub:
    docker pull imitator/imitator
    And you are done!

Il you want to perform your own modifications, or compile another branch (e.g., the develop branch), move to the directory that contains the Dockerfile file, and type:

docker build --rm -t imitator

See some additional documentation:

Installing IMITATOR from sources

Why installing IMITATOR from its sources?

We give here the installation instructions for Linux.

Fully automated version

Simply do:

./.github/scripts/build.sh

…and everything should be installed automatically, including dependencies and libraries.

(Old) Quick version

  1. Install the following packages
    sudo apt-get install python-is-python3 make g++ m4 ocaml libextlib-ocaml libextlib-ocaml-dev libfileutils-ocaml-dev ocaml-findlib libgmp-dev libgmp-ocaml libgmp-ocaml-dev libppl-dev openmpi-bin openmpi-common libopenmpi-dev mpich git oasis graphviz plotutils
    (Installing these libraries might entail additional dependencies.)
  2. Download the PPL source from here
  3. Compile the PPL binding for OCaml
    cd ppl-1.2
    ./configure --prefix=/usr
    cd interfaces/OCaml/
    make
    sudo make install
    
  4. Download the IMITATOR source
    git clone https://github.com/imitator-model-checker/imitator.git
  5. Copy the METAS file for PPL
    cd imitator
    sudo cp METAS/META.ppl /usr/lib/ocaml/METAS/
    
  6. Compile IMITATOR
    sh build.sh
    Note that you can use --no-distclean to fasten the compilation, especially if you already compiled IMITATOR recently:
    sh build.sh --no-distclean
  7. Enjoy!

Step-by-step installation

IMITATOR depends on various libraries, including:

We now give full step-by-step instructions in order to compile IMITATOR from sources.

  1. Install Python
    sudo apt-get install python-is-python3
  2. Install Make
    sudo apt-get install make
  3. Install the C++ compiler (the version of C++ to develop IMITATOR is: g++ 4.8.4)
    sudo apt-get install g++
  4. Install m4 (the version of m4 to develop IMITATOR is: 1.4.17)
    sudo apt-get install m4
  5. Install OCaml (the version of OCaml to develop IMITATOR is: 4.08.1)
    sudo apt-get install ocaml
  6. Install OCaml extlib
    sudo apt-get install libextlib-ocaml libextlib-ocaml-dev
  7. Install the OCaml package for MLGMP
    sudo apt-get install libgmp-dev libgmp-ocaml libgmp-ocaml-dev
  8. Install the fileutils package for OCaml
    sudo apt-get install libfileutils-ocaml-dev
  9. Install the oasis package (that allows to build OCaml applications easily)
    sudo apt-get install oasis ocaml-findlib
  10. [Only if you want to use the distributed IMITATOR] Install the MPI packages
    sudo apt-get install openmpi-bin openmpi-common libopenmpi-dev mpich
  11. [Only if you want to use the distributed IMITATOR] Install the OCamlMPI bindings
    git clone https://github.com/xavierleroy/ocamlmpi
    Edit the Makefile by setting your paths
    make
    make opt
    sudo make install
  12. Install the PPL package (the version of PPL to develop IMITATOR is: 1.2)
    sudo apt-get install libppl-dev
    But since this package does not come with the OCaml bindings, we will need to compile them manually at the next step.
  13. Download the PPL source from here, and unzip it
  14. Compile the PPL binding for OCaml
    cd ppl-1.2
    ./configure --prefix=/usr
    cd interfaces/OCaml/
    make
    sudo make install
    
  15. Download the IMITATOR source, either manually (by downloading the archive given on top of this page) or using the latest version on GitHub, in which case run the following command:
    sudo apt-get install git
    git clone https://github.com/imitator-model-checker/imitator.git
  16. Copy the METAS file for PPL
    cd imitator
    sudo cp METAS/META.ppl /usr/lib/ocaml/METAS/
    
  17. [Only if you want to use the distributed IMITATOR] Copy the METAS files for MPI
    sudo cp METAS/META.camlmpi METAS/META.mpi /usr/lib/ocaml/METAS/
    
  18. Install the packages for the graphical outputs
    sudo apt-get install graphviz plotutils
  19. Compile IMITATOR
    sh build.sh
  20. [Only if you want to use the distributed IMITATOR] Compile IMITATOR in distributed mode
    sh build-patator.sh
  21. Enjoy!

Using IMITATOR

Read the user manual for more information.

Older versions of IMITATOR

See the former versions for former binaries and sources.

Contact

In case you meet any problem while installing or using IMITATOR, please contact us.