Synchronous languages provide a solution to the following problem:
"What is the highest level of specification possible for real-time embedded systems?"
Previous studies had demonstrated that, at such a high level, the notion of time should not be quantitative, e.g., no mention should be made that an action lasted 1.5 μ sec. This is because real-time embedded systems are, in general, too complicated to also specify the time needed by their components; mentioning quantitative time would lead to loss of the overall picture.
Independently, 4 teams (3 French ones and 1 Israeli one) found solutions to this problem in 1980-1985, leading to the synchronous languages Lustre, Esterel, Signal, and the semi-synchronous visual language StateCharts, supported by the tool StateMate.
Their underlying design assumption is that internal (re)actions take no time to execute, in comparison with the external stimuli requesting them ("Berry's synchrony hypothesis"). Although this is in its pure form unimplementable, it may very well be the case that internal (re)actions always take less time to execute than passes between two successive external stimuli; this must be proved for each particular application.
Also, these languages execute concurrent actions synchronously in multi-steps, and have the possibility to test for the absence of an internal action. Simple as these design decisions may seem, they have led to languages with enough expressive power to specify the control of jet engines, nuclear reactors and on-board software. Also, due to their simplicity, their compilers could be proved correct. As a result, the compiled code only contains errors due to wrongly expressed specifications at the source level.
In case of embedded software for the line of aircraft produced by AIRBUS, and control software for nuclear power stations (produced by Schneider Inc.), the utilization of synchronous languages led to a decrease of more than 95 % of errors per 10.000 lines of code.
With their design criteria and implementation techniques now firmly grounded in theory, two main problems remain:
- How to combine asynchronous (re)actions with the synchronous approach into a unified framework? For, obviously, e.g., in software for airplanes, asynchronous delay is only natural.
- How can synchronous languages be adapted to the description of hardware, i.e., synchronous circuits. For, due to the fact that the amount of tested runs in modern VSLI chips approaches rapidly zero, when compared with their overall capabilities, new languages and tools, with much faster execution speeds, are needed to raise the possibility of testing Pentium-class VLSI chips to acceptable levels. As the use of Esterel as hardware-description language has demonstrated, it is feasable to do this using the synchronous-languages approach.
Apart from presenting results on these two main issues, the seminar focussed as third issue on visual methods for specifying synchronous languages, an approach pioneered by the StateMate system designed by David Harel, and now incorporated also in the two mainstream French visual specification tools, based on synchronous languages: Scade (combining Lustre with elements of State-Charts), and Esterel-Studio (based on a visual representation of Esterel, called Synch-Charts).
This series of seminars constitutes the only yearly meeting place for the researchers in this exciting field. The workshops on Synchronous Languages started in 1993 at Schloss Dagstuhl. Since then seven such workshops have been organized, in total: 2 in Germany, 1 in Spain, and 4 in France, with an attendance varying between 40 and 60 persons.
- Raul Acosta-Bermejo (ENS des Mines de Paris, FR)
- Gérard Berry (Esterel Technologies - Villeneuve, FR) [dblp]
- Christian Brunette (ENS des Mines de Paris, FR)
- Reinhard Budde (Fraunhofer IAIS - St. Augustin, DE)
- Willem-Paul de Roever (Universität Kiel, DE) [dblp]
- Robert de Simone (INRIA Sophia Antipolis - Méditerranée, FR) [dblp]
- Stephen A. Edwards (Columbia University - New York, US) [dblp]
- David Garriou (Ecole Centrale de Nantes, FR)
- Fabien Gaucher (VERIMAG - Grenoble, FR)
- Nicolas Halbwachs (VERIMAG - Grenoble, FR) [dblp]
- Leszek Holenderski (Philips Research Europe - Eindhoven, NL)
- Klaus Höppner (Universität Kiel, DE)
- Frank Huch (Universität Kiel, DE)
- Ralf Huuck (NICTA - Sydney, AU) [dblp]
- Bertrand Jeannet (INRIA - Rennes, FR)
- Bengt Jonsson (Uppsala University, SE) [dblp]
- Mike Kishinevsky (Intel - Hillsboro, US)
- Marcel Kyas (Universität Kiel, DE)
- Ben Lukoschus (Universität Kiel, DE)
- Florence Maraninchi (VERIMAG - Grenoble, FR) [dblp]
- Christophe Mauras (University of Nantes, FR)
- Sabine Moisan (INRIA Sophia Antipolis - Méditerranée, FR)
- Lionel Morel (VERIMAG - Grenoble, FR)
- Simin Nadjm-Tehrani (Linköping University, SE) [dblp]
- Mirabelle Nebut (INRIA - Rennes, FR)
- Gordon Pace (University of Malta, MT) [dblp]
- Fabrice Peix (INRIA Sophia Antipolis - Méditerranée, FR)
- Marc Perrault (Esterel Technologies - Villeneuve, FR)
- Dimitri Petoukhov (ENS des Mines de Paris, FR)
- John Plaice (UNSW - Sydney, AU) [dblp]
- Axel Poigné (Fraunhofer IAIS - St. Augustin, DE)
- Dumitru Potop-Butucaru (University of Rennes, FR) [dblp]
- Pascal Raymond (VERIMAG - Grenoble, FR) [dblp]
- Annie Ressouche (INRIA Sophia Antipolis - Méditerranée, FR)
- Martin Richard (Ecole des Mines de Nantes, FR)
- Jan-Willem Roorda (Chalmers UT - Göteborg, SE)
- Yvan Roux (VERIMAG - Grenoble, FR)
- Klaus Schneider (KIT - Karlsruher Institut für Technologie, DE) [dblp]
- Marc Segelken (OFFIS - Oldenburg, DE)
- Ellen M. Sentovich (Cadence Labs - Berkeley, US)
- Ramesh Sethu (Indian Institute of Technology - Mumbai, IN) [dblp]
- Mary Sheeran (Chalmers UT - Göteborg, SE) [dblp]
- Rudrapatna K. Shyamasundar (TIFR Mumbai, IN)
- Jean-Ferdinand Susini (ENS des Mines de Paris, FR)
- Jean-Pierre Talpin (CAPS entreprise - Rennes, FR)
- Olivier Tardieu (INRIA Sophia Antipolis - Méditerranée, FR)
- Shmuel Tyszberowicz (Tel Aviv University, IL) [dblp]
- Klaus Winkelmann (Infineon Technologies - München, DE)
- 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 04491: Synchronous Programming - SYNCHRON'04 (2004-11-28 - 2004-12-03) (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)