Programming critical real-time systems with PRELUDE

Programming critical real-time systems with PRELUDE

Jeudi 20 juin 2013 14H salle du conseil du LIP

Julien Forget, LIFL, équipe DaRt/émeraude, Université de Lille


An Embedded Control System consists of a multi-rate control loop, which indefinitely acquires the current state of the system through sensors and, based on these inputs, produces commands to apply to the actuators of the system. We are interested in critical embedded control systems, such as the flight control system of an airplane for instance. The implementation of such a system must be deterministic both functionally (always produce the same output values) and temporally (always produce outputs at the same time).

PRELUDE is a formal language designed for the specification of the software architecture of such systems. It belongs to the synchronous data-flow languages family and its main specificity is that it focuses on dealing with the functional and real-time aspects of multi-periodic systems conjointly. From a Prelude program the compiler generates a semantically equivalent C program consisting of a set of periodic communicating tasks (threads) executed concurrently.

This presentation will give an overview of the language, its formal semantics and its compilation.