Skip to main content
Warning: You are using the test version of PyPI. This is a pre-production deployment of Warehouse. Changes made here affect the production instance of TestPyPI (
Help us improve Python packaging - Donate today!

Generalized reactive(1) synthesis from Promela specifications.

Project Description

[![Build Status][build_img]][travis] [![Coverage Status][coverage]][coveralls]


A synthesizer from open Promela specifications. It:

  • translates open Promela to linear temporal logic
  • encodes bounded linear arithmetic in bitvector logic
  • calls the slugs synthesizer to check if the resulting formula is realizable and construct a transducer realizing a winning strategy
  • return the winning strategy as a Mealy machine

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‘15), Electronic Proceedings in Theoretical Computer Science (EPTCS), San Francisco, CA, USA, July 2015

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 `


The Python dependencies can be installed using pip >= 6.1.1:

` pip install -r requirements.txt `

When these dependencies stabilize, they will be made available on PyPI. After the dependencies are installed, then the openpromela package can be installed with:

` python install `

The only non-Python dependency is the synthesizer [slugs]( It can be installed by either running, or following its installation instructions.

Release History

This version
History Node


Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting