Section: New Results

An integrated environment for Esterel/Quartz and Polychrony/Signal

Participants : Jens Brandt, Ke Sun, Jean-Pierre Talpin.

The design of modern embedded software architectures relies on models and programs built and reused from engineering teams with specific skills and know-how. Each of these skills and backgrounds correspond to specific tools and processes that help implement the viewpoint under consideration with mathematically grounded foundations.

It is not uncommon, for instance, that the design of the only functional views of a system may require the use of tools as heterogeneous and exotic as Catia, Scade, Matlab or Rhapsody. The same holds for design objectives that may range from that of mapping the functional design on specific hardware architectures to that of virtual prototyping for simulation or performance or energy usage evaluation.

Co-modeling itself encompasses the variety of engineering activities that cross the border between the functional and physical views of system design. It is typically the system architects, who will put together functional components and explore different metrics for an effective and efficient mapping on target systems.

We wish to further and scale the framework and experiments developed within the CESAR and OPEES projects in that respect, by thinking a new, domain-specific language, built from synchronous modules designed with Quartz, an imperative synchronous programming language, and connected by data-flow networks described in Signal, the polychronous data-flow language at the core of Polychrony. The combination of viewpoints or paradigms offered by these two design environments provides powerful abstractions and easy to use concepts in order to address two design challenges of utmost importance:

  • To provide a natural and dependable specification of elementary synchronous functionalities, most of them algorithmic and control-intensive, in the imperative framework offered by Quartz.

  • To synthesize the scheduling of computations and communications among these functionalities starting from the multi-clocked synchronous abstractions offered by the Signal data-flow language.

The remaining long-term goal will then be homogenize this programming framework by further extending it with the capability to control polychromous networks, seen as modes of execution, with a Quartz module, which would control mode changes.