of Future Robotics
President of the euRobotics AISB
Chief Technology Officer at KUKA Robotics
Synchronous Programming and its fit with Modeling
Professor at College de France
Abstract: The family of Synchronous programming languages was born in the 1980’s in three different French labs that gathered researchers in Computer Science and Control Theory. The three first languages were Esterel, dedicated to control-dominated problems in embedded systems, telecom protocols and later digital circuit design, Lustre, dedicated to continuous control, and Signal, oriented towards signal processing. They share a common perfect synchrony principle that expresses that the reaction to an input should be viewed as conceptually instantaneous. This simple principle is well-adapted to the targeted applications and greatly simplifies programming by reconciling parallelism and determinism. It also leads to well-defined mathematical semantics that directly ground their formal compiling, simulation and verification environments. Synchronous programming rapidly became used in Industry for safety-critical production systems in avionics (Dassault Aviation, Airbus, etc.), railways, etc., as well as in robotics and circuit design. In the 2000’s, Esterel and Lustre have been unified in two new languages industrialized by Esterel Technologies (now part of Ansys): SCADE 6 for safety critical software and Esterel v7 for hardware design, both also incorporating ideas from Harel’s reactive graphical formalism Statecharts.
The talk will explain the practical and mathematical concepts of synchronous programming and stress its advantages over asynchronous concurrent programming for the considered applications. It will also explore the links between synchronous programming and modeling / simulation. In one direction, synchronous languages are ideal targets to generate embedded code from executable parts of simulation models. In the other direction, embedding synchrony into conventional modelers may be necessary to solve the current tricky issues due to the coupling of discrete and continuous computations in modelers, in particular for the currently mishandled case where external or internal events provoke cascades of discrete reactions. Pouzet and Bourkes’s new Zelus language is a step in this direction.
Bio: Former student of the Ecole polytechnique, Member of the Academy of sciences, of the Academy of technology and the Academia Europaea, CNRS Gold medal 2014, Gérard Berry was a researcher at the Ecole des mines of Paris and INRIA from 1973 to 2000, Chief Scientist of the company Esterel Technologies from 2001 to 2009, then Research Director at INRIA and President of the Evaluation Committee of this Institute from 2009 to 2012. He holds the Chair Algorithms, Machines and Languages at the Collège de France from 2012, after having held two annual chairs in 2007-2008 and 2009-2010.
His scientific contribution concerns four main topics: the formal treatment of programming languages and their relations with mathematical logic, reactive and real-time programming for embedded systems, integrated circuit computer-aided design, and formal verification of programs and circuits. He is the creator of the Esterel programming language.