November 28 – December 3 , 2004, Dagstuhl Seminar 04491

Synchronous Programming - SYNCHRON'04


Stephen A. Edwards (Columbia University – New York, US)
Nicolas Halbwachs (VERIMAG – Grenoble, FR)
Thomas Stauner (BMW Car IT – München, DE)
Reinhard von Hanxleden (Universität Kiel, DE)

The Dagstuhl Foundation gratefully acknowledges the donation from:

  • BMW Car IT

For support, please contact

Dagstuhl Service Team


Dagstuhl Seminar Proceedings DROPS
List of Participants


Advisory Organizers:

Leszek Holenderski (Philips Research, NL), Michael Mendler (Universität Bamberg, DE), Willem-Paul de Roever (Universität Kiel, DE), Jan van Schuppen (CWI - Amsterdam, NL), Robert de Simone (INRIA - Sophia Antipolis, FR)

The goal of the seminar was to bring together researchers and practitioners of synchronous programming, and furthermore to reach out to relevant related areas and industrial users. With a record participation in this year's SYNCHRON workshop and a broad range of topics discussed, the aims seem to have been well-met. The program of the seminar was composed of around thirty presentations, all of which included extensive technical discussions. The fields covered included synchronous semantics, modeling languages, verification, heterogeneous and distributed systems, hardware/software integration, reactive processing, timing analyses, application experience reports, and industrial requirements.

Particularly successful this year were presentations from the automotive industry. Stefan-Alexander Schneider and Thomas Stauner both discussed issues with real-time software development at BMW. Matthias Hoffmann represented DaimlerChrysler.

Synchronous Languages

Historically, the first synchronous language is Esterel [4, 5], developped at the Centre de Mathématiques Appliquées (CMA) of Ecole des Mines de Paris, in Sophia-Antipolis, France, and later joined by people from INRIA. It is an imperative language that was originally inspired by CCS and SCCS. Esterel introduces constructs like preemption and communication by synchronous broadcast. It is devoted to the programming of discrete event systems. Esterel Technologies now markets an industrial version of the Esterel compiler. There exists several other synchronous languages. This is just a selection, presented in chronological order:

  • Lustre [6] is a data-flow declarative functional language also inspired by Lucid. The Scade tool, initially developed by Verilog and Aerospatiale is based on Lustre. Scade is now marketed by Esterel Technologies.
  • Signal [10] is also a data-flow declarative language, but it is relational instead of functional like Lustre. In this sense, it is more general than Lustre. Polychrony is the public domain Signal compiler, while Sildex is the commercial tool developed by TNI-Valiosys.
  • Argos [11] is a purely synchronous version of the well known Statecharts formalism [8], which yields a number of advantages. In particular, Argos has a compositional semantics. SyncCharts [1] and Mode Automata are both inspired from Argos.
  • Polis [2] is a graphical tool for implementing Codesign Finite State Machines (CFSM). The model of computation behind CFSMs is a set of synchronous FSMs communicating asynchronously; It is therefore known as Globally Asynchronous Locally Synchronous (GALS). The Cierto VCC tool developed by Cadence is based on Polis.
  • SL, the Synchronous Language, is a variant of Esterel where hypotheses about signal presence or absence are not allowed. Whether a given signal is present or absent can only be decided at the end of a synchronous instant, hence reaction to a signal is delayed until the next instant. The main advantage is that causality problems are avoided. SL was the starting point of many other synchronous languages such as Sugar Cubes and Junior

While Esterel, Argos, and SL are more suited to discrete event systems, Lustre, Signal and Polis are very close to the specification formalisms used by automatic control engineers: block diagrams, differential equations, data flow networks, automata, and so on.

Industrial Impact

Synchronous languages have recently seen a tremendous interest from leading companies developing automatic control software for critical applications, such as Schneider, Dassault, Aerospatiale, Snecma, Cadence, Texas, and Thomson. For instance, Lustre is used to develop the control software for nuclear plants and Airbus planes. Esterel is used to develop DSP chips for mobile phones, to design and verify DVD chips, and to program the ight control software of Rafale fighters. And Signal is used to develop digital controllers for airplane engines. The key advantage pointed by these companies is that the synchronous approach has a rigorous mathematical semantics which allows the programmers to develop critical software faster and better.

In summary, synchronous programming is an interesting approach for designing and programming automatic control software. Synchronous languages have a well-founded mathematical semantics that allow ideal temporal constructs as well as formal verification of the programs and automatic code generation. We believe they are ideally suited to programming automatic control software because they are close to the classic specification formalisms used by control engineers, and also because they offer code generation tools that avoid the tedious and error-prone task of implementing the control algorithm after having specified it. These nice features have been confirmed by their recent successes in the automatic control industry.

Dagstuhl Seminar Series


In the series Dagstuhl Reports each Dagstuhl Seminar and Dagstuhl Perspectives Workshop is documented. The seminar organizers, in cooperation with the collector, prepare a report that includes contributions from the participants' talks together with a summary of the seminar.


Download overview leaflet (PDF).

Dagstuhl's Impact

Please inform us when a publication was published as a result from your seminar. These publications are listed in the category Dagstuhl's Impact and are presented on a special shelf on the ground floor of the library.


Furthermore, a comprehensive peer-reviewed collection of research papers can be published in the series Dagstuhl Follow-Ups.