Polychrony/SME


Welcome to the Polychrony/SME public web site

Polychrony: a Toolset for Signal
Signal: a polychronous data-flow language
SME: Signal Meta under Eclipse

The Signal language, the Polychrony toolset and the SME environment have been designed at IRISA.
They are developed as support for research activities of the ESPRESSO (french, english) project and academic or industrial partners.

The Polychrony Toolset

Polychrony is an integrated development environment and technology demonstrator. It provides a unified model-driven environment to perform embedded system 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.

The Polychrony toolset, based on Signal, provides a formal framework:

The principle application areas for the Signal language are that of embedded, real-time, critical systems. Typical domains include:

It constitutes a development environment for critical systems, from abstract specification until deployment on distributed systems. It relies on the application of formal methods, allowed by the representation of a system, at the different steps of its development, in the Signal polychronous semantic model.

Based on the same polychronous principles, there is a commercial tool, RT-Builder, provided by the Geensoft company (Dassault Systèmes).

Polychrony is a set of tools composed of:


The Signal language

Signal is based on synchronized data-flow (flows + synchronization): a process is a set of equations on elementary flows describing both data and control.

The Signal formal model provides the capability to describe systems with several clocks (polychronous systems) as relational specifications. Relations are useful as partial specifications and as specifications of non-deterministic devices (for instance a non-deterministic bus) or external processes (for instance an unsafe car driver).

Using Signal allows to specify an application, to design an architecture, to refine detailed components downto RTOS or hardware description. The Signal model supports a design methodology which goes from specification to implementation, from abstraction to concretization, from synchrony to asynchrony.

A short introduction to Signal can be found here.


The SME environment

The SME environment is a front-end of Polychrony in the Eclipse environment based on Model-Driven Engineering (MDE) technologies. It consists of a set of Eclipse plug-ins which rely on the Eclipse Modeling Framework (EMF). The environment is built around SME, a metamodel of the Signal language extended with mode automata concepts.

SME environment screenshot

The SME environment is composed of several plug-ins which correspond to: