Organisers:
Jean-Pierre Talpin, INRIA Rennes-Bretagne-Atlantique, FR
Sandeep K Shukla, Virginia Tech, US and INRIA Rennes-Bretagne-Atlantique, FR
Speakers:
Stephen Edwards, Columbia University, US
Hiren Patel, University of California at Berkeley, US
Denis Laroudie, Geensys, FR
Sandeep Shukla, Virginia Tech, US and INRIA Rennes-Bretagne-Atlantique, FR
Jean-Pierre Talpin, INRIA Rennes-Bretagne-Atlantique, FR
Robert De Simone, INRIA Sophia Antipolis Mediterranee, FR
Embedded Systems are ubiquitous. In applications ranging from control systems in avionics, automotive, and industrial process to handheld PDAs, cell phones, and bio-medical prosthetic devices, you can find embedded computing devices. According to some, embedded computing has seen some of the most explosive growths among all the fields in computing today. Some of the applications running on such embedded computing platforms are also safety-critical, real-time, and require absolute guarantee of correctness, timeliness, and dependability. As a result, such applications must be designed with utmost care, verified for functionality, satisfy real-time constraints, and must be properly endowed with reliability/dependability properties. These requirements pose new challenges to system designers. Much work has been done over the last few decades towards achieving the goal of sound programming models, abstractions, and underlying system architecture supporting these models. In this tutorial we will introduce the audience with three major approaches to specification driven embedded software synthesis/construction: synchronous programming based approaches, models of computation based approaches, and an approach based on concurrent programming with a co-design focused language.
The synchronous programming approaches include Esterel, Lustre and SIGNAL and various other programming models based on synchrony assumption. These approaches provide a multi-step refinement based strategy from concurrent programming abstraction to concrete implementation while preserving correctness all the way. The model of computations (MoC) based approach is exemplified in the Ptolemy framework where heterogeneous embedded software specification is captured with interacting domains specialised for various kinds of computational and communication primitives. The other approach is exemplified in SHIM, a concurrent programming model with asynchronous communication primitives meant to capture specification of an embedded system to be implemented using a hardware/software co-design approach. While all the developments in these three approaches will be presented and compared to make the audience understand the benefits and applicability of these approaches, an industrial environment along with language and semantics for automotive electronics hardware/software system design will be presented finally to provide the audience with an idea on how these academic approaches are applied in the industry.
The intended audience includes industrial engineers, and researchers; as well as academic researchers interested in safety-critical embedded software design in a systematic way with reduced verification burden, and guarantees of correctness. Fundamental understanding on embedded systems and its challenges will be beneficial but are not prerequisite to understand this tutorial