Update instructions for divine-ltsmin installation

* tests/ltsmin/README: Here.
* THANKS: Reported by Jiraphapa Jiravaraphan.
This commit is contained in:
Alexandre Duret-Lutz 2019-06-04 11:49:29 +02:00
parent 7d6bfe545f
commit 57e6208e1e
2 changed files with 28 additions and 17 deletions

1
THANKS
View file

@ -23,6 +23,7 @@ Jan Strejček
Jean-Michel Couvreur Jean-Michel Couvreur
Jean-Michel Ilié Jean-Michel Ilié
Jeroen Meijer Jeroen Meijer
Jiraphapa Jiravaraphan
Joachim Klein Joachim Klein
Juan Tzintzun Juan Tzintzun
Juraj Major Juraj Major

View file

@ -1,20 +1,24 @@
The DiVinE model checker [http://anna.fi.muni.cz/divine/] has a The DiVinE 2 model checker
specification language called DVE that makes it easy to model [http://web.archive.org/web/20120723095042/http://divine.fi.muni.cz/index.html]
used to have a specification language called DVE, for modelling
processes synchonizing through channels processes synchonizing through channels
[http://anna.fi.muni.cz/divine/language.html]. [http://web.archive.org/web/20120723095115/http://divine.fi.muni.cz/language.html].
A lot of models can be found in the BEEM database at A lot of models can be found in the BEEM database at
http://anna.fi.muni.cz/models/ http://paradise.fi.muni.cz/beem/
The LTSmin group [http://fmt.cs.utwente.nl/tools/ltsmin/] patched The LTSmin group [https://ltsmin.utwente.nl/] patched
DiVinE and SpinJa to compile models as dynamic libraries. This dynamic DiVinE and to compile models as dynamic libraries. This dynamic
library provides a very simple C interface (no C++) and extra library provides a very simple C interface (no C++) and extra
information about state variables (name, type, possible values). We information about state variables (name, type, possible values).
use this interface so you will need to install their version of these They also distribute SpinS, a compiler for PROMELA models generating
tools to use Spot with DVE or PROMELA models. dynamic libraries with the same interface.
The source code for our interface is in spot/ltsmin/ and generate a Spot uses this interface so you will need to install their version of
separate library, libspotltsmin.so, that has to be loaded in addition these tools to use Spot with DVE or PROMELA models.
The source code for our interface is in spot/ltsmin/ and generates a
separate library, libspotltsmin.so, that has to be linked in addition
to libspot.so. The current directory contains some testing code based to libspot.so. The current directory contains some testing code based
on a toy modelchecker built upon the above interface: using it require on a toy modelchecker built upon the above interface: using it require
an installation of DiVinE or SpinS (preferably both for testing an installation of DiVinE or SpinS (preferably both for testing
@ -27,8 +31,8 @@ Installation of DiVinE
Use the following commands to compile and install the patched version Use the following commands to compile and install the patched version
of DiVinE. of DiVinE.
git clone http://fmt.cs.utwente.nl/tools/scm/divine2.git git clone https://gitlab.lrde.epita.fr/spot/divine-ltsmin-deb
cd divine2 cd divine-ltsmin-deb
mkdir _build && cd _build mkdir _build && cd _build
cmake .. -DMURPHI=OFF -DHOARD=OFF -DGUI=OFF -DRX_PATH= -DCMAKE_INSTALL_PREFIX=$HOME/usr cmake .. -DMURPHI=OFF -DHOARD=OFF -DGUI=OFF -DRX_PATH= -DCMAKE_INSTALL_PREFIX=$HOME/usr
make make
@ -45,6 +49,13 @@ DiVinE 2 only compiles with the GNU std C++ library; as a consequence,
you must provide the option -DCMAKE_CXX_FLAGS="-stdlib=libstdc++" to you must provide the option -DCMAKE_CXX_FLAGS="-stdlib=libstdc++" to
the cmake command line. the cmake command line.
The above git repository is our own copy of the LTSmin fork of Divine,
that we patched to generate Debian packages for amd64. If you use
our Debian repository [https://spot.lrde.epita.fr/install.html#Debian]
you can actually install this version of divine with just:
apt-get install divine-ltsmin
After installation, you can check that compilation works by running After installation, you can check that compilation works by running
the following command on any DVE model. It should create a file the following command on any DVE model. It should create a file
model.dve2C (which is a dynamic library). model.dve2C (which is a dynamic library).
@ -56,10 +67,9 @@ Installation of SpinS
====================== ======================
The extended version of SpinJa is called SpinS and should be included The extended version of SpinJa is called SpinS and should be included
with LTSmin. with LTSmin. You can download LTSmin from their website
You can download LTSmin from their website: [http://ltsmin.utwente.nl/] and install it following the INSTALL
[http://fmt.cs.utwente.nl/tools/ltsmin/] and install it following the instructions.
INSTALL instructions.
To compile a promela model, simply run the following command: To compile a promela model, simply run the following command:
spins model.pm spins model.pm