johnyf / openpromela

Synthesis of discrete dynamical systems from multi-paradigm specifications

Home Page:https://pypi.org/project/openpromela

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Synthesis of discrete dynamical systems from multi-paradigm specifications

https://pypi.org/project/openpromela

License:Other


Languages

Language:Python 100.0%