Section: Software

The Polychrony toolset

Participants : Loïc Besnard, Thierry Gautier, Paul Le Guernic.

The Polychrony toolset is an Open Source development environment for critical/embedded systems. It is based on Signal, a real-time polychronous data-flow language. It provides a unified model-driven environment to perform design exploration by using top-down and bottom-up design methodologies formally supported by design model transformations from specification to implementation and from synchrony to asynchrony. It can be included in heterogeneous design systems with various input formalisms and output languages.

The Polychrony toolset provides a formal framework:

  • to validate a design at different levels, by the way of formal verification and/or simulation,

  • to refine descriptions in a top-down approach,

  • to abstract properties needed for black-box composition,

  • to assemble heterogeneous predefined components (bottom-up with COTS),

  • to generate executable code for various architectures.

The Polychrony toolset contains three main components and an experimental interface to GNU Compiler Collection (GCC):

  • The Signal toolbox, a batch compiler for the Signal language, and a structured API that provides a set of program transformations. The Signal toolbox can be installed without the other components. The Signal toolbox is distributed under GPL V2 license.

  • The Signal GUI, a Graphical User Interface to the Signal toolbox (editor + interactive access to compiling functionalities). The Signal GUI is distributed under GPL V2 license.

  • The SME platform, a front-end to the Signal toolbox in the Eclipse environment. The SME platform is distributed under EPL license.

  • GCCst, a back-end to GCC that generates Signal programs (not yet available for download).

The Polychrony toolset also provides:

  • libraries of Signal programs,

  • a set of Signal program examples,

  • user oriented and implementation documentations,

  • facilities to generate new versions.

The Polychrony toolset can be freely downloaded on the following web sites:

  • The Polychrony toolset public web site: http://www.irisa.fr/espresso/Polychrony . This site, intended for users and for developers, contains downloadable executable and source versions of the software for differents platforms, user documentation, examples, libraries, scientific publications and implementation documentation. In particular, this is the site for the new open-source distribution of Polychrony.

  • The INRIAGForge: https://gforge.inria.fr . This site, intended for internal developers, contains the whole sources of the environment and their documentation.

  • The TOPCASED distribution site: http://www.topcased.org . This site provides the current reference version of the SME platform, including the executable of the Signal toolbox.

The Polychrony toolset currently runs on Linux, MacOS and Windows systems.

The Geensoft company, now part of Dassault Systèmes, supplies a commercial implementation of Polychrony, called RT-Builder, used for industrial scale projects (see www.geensoft.com ).