Compiler

Zélus is a synchronous language extended with Ordinary Differential Equations (ODEs) to program hybrid systems that mix discrete-time and continuous-time models. An example is a (discrete-time) model of a control software paired with a (continuous-time) model of the plant. The language shares the basic principles of the synchronous languages Lustre with modularity features from Lucid Synchrone (type inference, hierarchical automata, and higher-order functions). It is conservatively extended to write continuous-time models expressed by ODEs and zero-crossing events. The compiler is written in OCaml and is structured as a series of source-to-source and traceable transformations that ultimately yield statically scheduled sequential code. Continuous-time models are simulated using an off-the-shelf numerical solver (here Sundials CVODE and, for the moment, the two built-in solvers ode23 and ode45).

Get version 2.1 (source code) on GitHub» Read the manual »

If you want an access to the up-to-date development repository on INRIA GitLab (https://gitlab.inria.fr/parkas/zelus), send us a mail.

Research

Zélus is used for experimenting new ways to design and implement hybrid systems modeling languages and tools a la Simulink/Stateflow and Modelica. It reuses the principles and compilation techniques developed for synchronous languages, extending them to deal with models that mix discrete and continuous-time. The language provides three dedicated inference type systems that ensure important safety properties: (1) it rejects wrong combinations of discrete and continuous-time systems by ensuring that all discontinuities are aligned with zero-crossing or time events; (2) fix-point equations with instantaneous causality loops are statically rejected; (3) programs in which signals may depend on uninitialized values are statically rejected.

The language is experimental and it evolves continuously. The current active version is v2.

View publications »

Examples

The compiler distribution includes runnable examples demons-trating different aspects of the language. The source code for several of the examples can be viewed online.

View examples »

People

Zélus is developed within the PARKAS Team which is a joint research project supported by ENS, Inria and CNRS.

See people »

The original street image is copyright 2013, Google. The original clouds image is by NASA Godard Photo and Video. The icons are from Glyphicons.