Abstract - Zelus, a synchronous language with Ordinary
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.
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.