Dagstuhl Seminar 04491
Synchronous Programming – SYNCHRON'04
( Nov 28 – Dec 03, 2004 )
Permalink
Organizers
- 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)
Contact
Sponsors
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.
- Joaquin Aguado (Universität Bamberg, DE) [dblp]
- Albert Benveniste (INRIA - Rennes, FR) [dblp]
- Gérard Berry (Esterel Technologies - Villeneuve, FR) [dblp]
- Reinhard Budde (Fraunhofer IAIS - St. Augustin, DE)
- Zbigniew Chamski (Philips Research Europe - Eindhoven, NL)
- Jean-Louis Colaco (Esterel Technologies - Toulouse, FR)
- Willem-Paul de Roever (Universität Kiel, DE) [dblp]
- Robert de Simone (INRIA Sophia Antipolis - Méditerranée, FR) [dblp]
- Gwenaël Delaval (INRIA - Grenoble, FR) [dblp]
- Stephen A. Edwards (Columbia University - New York, US) [dblp]
- Harald Fecher (Universität Kiel, DE)
- Abdoulaye Gamatié (University of Rennes, FR)
- Peter Gammie (Chalmers UT - Göteborg, SE)
- Alain Girault (INRIA - Grenoble, FR) [dblp]
- Gregor Goessler (INRIA Grenoble Rhône-Alpes, FR)
- Claude Helmstetter (VERIMAG - Grenoble, FR)
- Matthias Hoffmann (Daimler Research - Berlin, DE)
- Leszek Holenderski (Philips Research Europe - Eindhoven, NL)
- Ralf Huuck (NICTA - Sydney, AU) [dblp]
- Erwan Jahier (VERIMAG - Grenoble, FR)
- Bertrand Jeannet (INRIA - Rennes, FR)
- Chiheb Kossentini (VERIMAG - Grenoble, FR)
- Marcel Kyas (Universität Kiel, DE)
- Ouassila Labbani (University of Lille I, FR)
- Xin Li (Universität Kiel, DE)
- Jan Lukoschus (Universität Kiel, DE)
- Gerald Lüttgen (University of York, GB) [dblp]
- Louis Mandel (Université Paris VI, FR) [dblp]
- Florence Maraninchi (VERIMAG - Grenoble, FR) [dblp]
- Christophe Mauras (University of Nantes, FR)
- Michael Mendler (Universität Bamberg, DE) [dblp]
- Jan Mikac (VERIMAG - Grenoble, FR)
- Matthieu Moy (VERIMAG - Grenoble, FR)
- Barry Norton (University of Sheffield, GB)
- Gordon Pace (University of Malta, MT) [dblp]
- Mihaly Petreczky (CWI - Amsterdam, NL)
- Dumitru Potop-Butucaru (University of Rennes, FR) [dblp]
- Marc Pouzet (Université Paris VI, FR) [dblp]
- Steffen H. Prochnow (Universität Kiel, DE)
- Pascal Raymond (VERIMAG - Grenoble, FR) [dblp]
- Martin Richard (Ecole des Mines de Nantes, FR)
- Jan Romberg (TU München, DE)
- Eric Rutten (INRIA - Grenoble, FR) [dblp]
- Norman R. Scaife (VERIMAG - Grenoble, FR)
- Klaus Schneider (TU Kaiserslautern, DE) [dblp]
- Stefan-Alexander Schneider (BMW AG - München, DE)
- Satnam Singh (Xilinx - Seattle, US) [dblp]
- Cristian Soviani (Columbia University - New York, US)
- Thomas Stauner (BMW Car IT - München, DE) [dblp]
- Walid Taha (Rice University - Houston, US) [dblp]
- Jean-Pierre Talpin (CAPS entreprise - Rennes, FR)
- Olivier Tardieu (INRIA Sophia Antipolis - Méditerranée, FR)
- Stephan Thesing (Universität des Saarlandes, DE)
- Jan H. van Schuppen (CWI - Amsterdam, NL) [dblp]
- Christine Vella (University of Malta, MT)
- Reinhard von Hanxleden (Universität Kiel, DE) [dblp]
- David White (University of York, GB) [dblp]
- Reinhard Wilhelm (Universität des Saarlandes, DE) [dblp]
Related Seminars
- Dagstuhl Seminar 9448: Synchronous Languages (1994-11-28 - 1994-12-02) (Details)
- Dagstuhl Seminar 9650: Synchronous Languages (1996-12-09 - 1996-12-13) (Details)
- Dagstuhl Seminar 01491: Synchronous Languages (2001-12-02 - 2001-12-07) (Details)
- Dagstuhl Seminar 09481: SYNCHRON 2009 (2009-11-22 - 2009-11-27) (Details)
- Dagstuhl Seminar 13471: Synchronous Programming (2013-11-17 - 2013-11-22) (Details)