Marc Pouzet

Abstract - Zelus, a synchronous language with Ordinary Differential Equations.

Zelus is a new programming language for modeling systems that mix discrete logical time and continuous time behaviors. From a user's perspective, its main originality is to extend an existing Lustre-like synchronous language with Ordinary Differential Equations (ODEs). The extension is conservative: any synchronous program expressed as data-flow equations and hierarchical automata can be composed arbitrarily with ODEs in the same source code. A dedicated type system and causality analysis ensure that all discrete changes are aligned with zero-crossing events so that no side effects or discontinuities occur during integration. Programs are statically scheduled and translated into sequential code by a sequence of source-to-source transformations and the final code is paired with an off-the-shelf numeric solver. During the talk, I will focus on a recent work showing some scheduling issues in the Simulink compiler and present a Lustre inspired type-based causality analysis to detect instantaneous loops. This is joint work with Albert Benveniste, Benoit Caillaud, Timothy Bourke and Bruno Pagano.

Short bio

Marc Pouzet is professor in computer science at Ecole normale superieure in Paris and leader of the INRIA Team PARKAS. His research concerns the design, semantics and implementation of programming languages for real-time systems. He has been the main developer of Lucid Synchrone, an extension of the synchronous language Lustre. Several original features (programming constructs, compilation and compile-time static analysis) are now integrated to the SCADE 6 tool developed at Esterel-Technologies and used for programming safety critical control software. Currently, he is interested in the semantics and implementation of hybrid modelers (e.g., Simulink, Modelica), the design and implementation of a synchronous language with mixed (discrete/continuous) signals, and the formal certification of a Lustre compiler.