A synthesizer from open Promela specifications. It:
- translates open Promela to linear temporal logic (LTL)
- compiles the LTL formula to an implementation using the GR(1) game solver
omega.games.gr1
- dumps a transition relation that implements the open Promela specification.
The language and implementation are documented in:
Filippidis I., Murray R.M., Holzmann G.J.
A multi-paradigm language for reactive synthesis
4th Workshop on Synthesis (SYNT) 2015
Electronic Proceedings in Theoretical Computer Science (EPTCS)
vol.202, pp.73-97, 2016
Filippidis I., Murray R.M., Holzmann G.J.
Synthesis from multi-paradigm specifications
California Institute of Technology, Pasadena, CA, 2015
CDSTR:2015.003
The package can be used both as a library and from the command line. A script named ospin
is created as entry point. It is placed where setuptools
installs new executables, e.g., whre python
itself resides. To learn how to use the script, invoke it with:
ospin --help
Use pip
for openpromela
itself:
pip install openpromela
Pure Python dependencies suffice, unless you have a demanding problem.
In that case, build dd.cudd
to interface to CUDD.
BSD-3, see LICENSE
file.