International Open Workshop on Synchronous Programming (Synchron’07)Report
Synchronous languages have been introduced in the 80s to program embedded systems. Such systems are characterized by their continuous reaction to their environment, at a speed determined by the latter. Synchronous languages have recently seen a tremendous interest from leading companies developing automatic control software for critical applications. For instance, Schneider Electric uses a Lustre-based tool, named Scade, to develop the control software for nuclear plants. Aerospatiale also uses this tool to develop the flight control of the new Airbus planes. Dassault Aviation uses Esterel Studio to program the flight control software of the Rafale fighter. Snecma uses Sildex, a Signal-based tool to develop airplane engines. ST Microelectronics, Texas nstrument, Motorola, Intel, are also interested in the Esterel technology for chip design. 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.
Indeed, the semantics of the languages is used as a formal model upon which all the programming environments are defined. The compilation involves the construction of these formal models, and their analysis for static properties, their optimization, the synthesis of executable sequential implementations, the automated distribution of programs. It can also build a model of the dynamical behaviors, in the form of a transition system, upon which are based the analysis of dynamical properties, e.g., through model-checking based verification, or discrete controller synthesis. Hence, synchronous programming is at the cross-roads of many approaches in compilation, formal analysis and verification techniques, and software or hardware implementations generation. The approach is related to formal methods for reactive systems like Statecharts, StateFlow, UML StateCharts.
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. 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.
Synchron’07 was the 14th in a series of annual international workshops on the synchronous programming paradigm. This series of workshops is devoted to all aspects of synchronous programming: languages, compiling techniques, formal methods, programming environments, execution platforms, semantics issues, code generation. It started in 1993 at Schloss Dagstuhl. Since then these Synchron workshops have established themselves as the annual meeting event for synchronization and communication between academics and practitioners, teachers and students in the synchronous programming community. Up to now there have been 7 workshops organized in France, 5 in Germany, 1 in Spain, and 1 in Malta. Synchron’07 has been the first time that the workshop took place in Germany in a location other than Dagstuhl. Synchron 2007 was held in the Aula of the University of Bamberg, a former Dominican Church (early 15th century) from 26th to 30th November 2007, organised by the Faculty of Information Systems and Applied Computer Sciences. This year was also the first time that the workshop featured invited speakers, who were:
Dr. Hugo Heusinger
EADS Deutschland GmbH, EF 2000 Flight Joint Team, OPEA6
Prof. S. Ramesh
General Motors GM R&D Centre, India Science Lab, Bangalore
Dr. Frédéric Boussinot
INRIA EMP-CMA/MIMOSA, Sophia Antipolis
Synchron’07 attracted participants from academia and industry, mainly from the French and German sides, but also from England,India, Italy, Netherlands, New Zealand and Portugal. Among them were 11 postgraduate research students supported by grants from our sponsors.
The objective of the workshop was, as it has been in previous editions, to bring together researchers and practitioners of the synchronous programming arena to interchange their results, ideas and problems in an informal and open environment. Furthermore, it also has been a goal of the workshop to propitiate critical discussions that foster the sharing and development of new knowledge, technologies and tools. With a workshop’s programme of 24 presentations with a broad range of topics covered (all of which with copious technical debate) and a number of (pre-programmed) events in which the participants had the opportunity to exchange their views, the aims have been well achieved by providing a state-of-the-art overview of the field.
The presentations covered a variety of topics of synchronous programming,
ranging from the foundations to case studies and industrial reports, reflecting a wide spectrum of current activities. They included formal semantics of synchronous languages, novel reactive processors, compilation techniques for certifiability, tag-modelling of (synchronous) data-flow specifications, graphical environments for synchronous visual formalisms, and updates on commercial tools such as Esterel Studio.
Presentations at Synchron 2007 continued to cover new ground in taking up a promising research agenda, which has emerged over the past decade and is stretching out the limits of the pure synchronous paradigm to a wider range of application domains. The invited talk by Frédéric Boussinot presented the novel multicore-ready synchronous programming language FunLoft, which constitutes an intriguing step towards a general-purpose synchronous language applicable also outside of the traditional embedded domains. Likewise, the programming language ReactiveML is a recent innovation reconciling synchrony and functional programming. The research presented at Synchron’07 included model-based engineering approaches taking account of non-functional requirements such as energy consumption and other shared resources, and it explored extensions for asynchrony obtained by relaxing the synchronous conditions through more flexible notions of clocks.
The invited lectures by Hugo Heusinger and S. Ramesh gave a comprehensive summary of the state-of-the-art in the software development at the German EADS aerospace-defence industry and the Indian GM automotive industry, respectively. They reported on the successful application of in-house methodologies and tools in the programming and verification of embedded systems, and highlighted the enormous range of design aspects which must be covered, posing many unsolved problems. Both talks made it clear that the application of model-based programming and analysis tools for design automation in the automotive and avionics industries still remains patchwork with the system complexity that we face today and that will continue to increase much further in future. It was felt that the synchronous programming paradigm, whose industrial impact has increased dramatically over the years, will have a lot to offer here.
The attendance of both senior researchers and research students was made possible thanks to the support of
for which we express our gratitude and with whom we would like to share the achievements and success of Synchron’07.
The Synchron 2007 Organising Team
Previous editions of Synchron were held in:
- L’Alpe d’Huez (France, 2006)
- Qwara (Malta, 2005)
- Dagstuhl (Germany, 2004)
- Luminy (France, 2003)
- La Londe les Maures (France, 2002)
- Dagstuhl (Germany, 2001)
- Saint-Nazaire (France, 2000)
- Hyères (France, 1999)
- Gandia (Spain, 1998)
- Roscoff (France, 1997)
- Dagstuhl (Germany, 1996)
- Luminy (France, 1995)
- Dagstuhl (Germany, 1994)