• Jan 2014, 13th to 17th.
  • ENS Lyon, France.
  • For the Computer Science Department students.
  • 24 hours of courses in a week !

Programming embedded systems with synchronous languages

This research school aims at introducing the synchronous paradigm, from its first definition in the early 80's to its last developments. Historically, the first synchronous languages were the first attempt in introducing time into the development of (reactive) embedded systems, that is, systems that interact with their environment.

Typically, a reactive system (a fight control system of an airplane for example) gets some stimuli from its sensors, and according to these values compute the new orders to its activators, and repeat this infinitely. Under some hypothesis, (real) time can be abstracted away and the programmer can only program the computation itself (the inner code of the infinite loop). Synchronous languages provide the notion of this logical time and primitives to program reative systems.

The school will explore numerous aspects of synchronous programming, from language to verification, including high-level specification and verification, sequential and parallel/distributed code generation, hardware low-level description, and real-time programming. The data-flow language Lustre, as well as other implementations such as Esterel, Prelude, will be described.

During the week, the different speakers will demonstrate that far from being an "old" paradigm, synchronous programming has shown its applicability and is still accurate for numerous applications, from low-level hardware description and verification to high level real-time system development. Moreover there are still a lot of research directions, mainly in introducing some of the synchronous ideas in more "traditional" languages.