Section: New Software and Platforms


We want to produce results concretely usable by third parties, either in cooperative projects, or by free diffusion of tools. One perspective is to build tool boxes for the design of continuous control solutions for computing systems: it will be explored in the future. A readily available result concerns discrete control and programming.

Functional Description

Heptagon is an experimental language for the implementation of embedded real-time reactive systems. It is developed inside the Synchronics large-scale initiative, in collaboration with Inria Rhones-Alpes. It is essentially a subset of Lucid Synchrone, without type inference, type polymorphism and higher-order. It is thus a Lustre-like language extended with hierchical automata in a form very close to SCADE 6. The intention for making this new language and compiler is to develop new aggressive optimization techniques for sequential C code and compilation methods for generating parallel code for different platforms. This explains much of the simplifications we have made in order to ease the development of compilation techniques.

  • Participants: Adrien Guatto, Marc Pouzet, Cédric Pasteur, Léonard Gérard, Brice Gelineau, Gwenaël Delaval and Eric Rutten

  • Contact: Gwenaël Delaval

  • URL: http://bzr.inria.fr

Heptagon has been used to build BZR (http://bzr.inria.fr ), which is an extension of the former with contracts constructs. These contracts allow to express dynamic temporal properties on the inputs and outputs of Heptagon node. These properties are then enforced, within the compilation of a BZR program, by discrete controller synthesis, using the Sigali tool (http://www.irisa.fr/vertecs/Logiciels/sigali.html ). The synthesized controller is itself generated in Heptagon , allowing its analysis and compilation towards different target languages (C, Java, VHDL).

Heptagon/BZR has been recently integrated with the ReaX verification and controller synthesis tool. The ReaX tool allows the handling of numerico-boolean programs by using abstract interpretation for controller synthesis.

Prospects about Heptagon/BZR lie in developping methodological and programming tools for : precise diagnosis in case of controller synthesis failure ; identification of relevant domain of abstractions, in relation with the use of the ReaX tool ; integration in various execution platforms (Fractal, reconfigurable FPGA, etc.)