Skip to content

Synthesis of discrete dynamical systems from multi-paradigm specifications

License

Notifications You must be signed in to change notification settings

johnyf/openpromela

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Coverage Status

About

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

Usage

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

Installation

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.

License

BSD-3, see LICENSE file.