Springer, 2010. — 263 p.
This book has been written to present the design of embedded systems in safetycritical domains such as automotive vehicles, avionics, and nuclear power plants, by using the SIGNAL programming language. SIGNAL is part of the synchronous language family, which advocates design techniques that strongly promote the use of formal concepts, i.e., those having a mathematically sound basis. This book is the first attempt to provide a wide public (scientists, practitioners, and students) with a pedagogical presentation of the necessary rudiments for a successful and pragmatic usage of SIGNAL.
Lots of papers have been published on different aspects of the synchronous language SIGNAL. However, today, an extended pedagogical document presenting the basic material and the main technical concepts of SIGNAL and its associated programming style is lacking. Such a document would strongly facilitate the adoption of the language by scientists, practitioners, and students for the design of embedded systems. The challenge of this book is to fill this demand.
The content of this book was originally and freely inspired by the real-time programming teaching notes (at master’s level) of Bernard Houssais, formerly an associate professor at Université de Rennes 1 in France, who retired in 2004.
As an important complement, the reader could also refer to the works of the Environnement de Spécification de Programmes Reactifs Synchrones (ESPRESSO) team project, which develops the SIGNAL language. The reference manual for SIGNAL written by some members of ESPRESSO (L. Besnard, T. Gautier, and P. Le Guernic) is the most complete technical document on the language. In author's opinion, it is a good companion to this book for those who want to learn more about SIGNAL. It is available at the same Web site as the teaching notes mentioned previously.
Real-Time and Synchronous ProgrammingGeneralities on Real-Time Programming
Synchronous Programming: Overview
Elementary Concepts and Notations of SIGNALBasics: Signals and Relations
Programming Units: Processes
Extended Constructs
Designing POLYCHRONY: First Steps
Formal Properties of SIGNAL ProgramsFormal Semantics
Formal Model for Program Analysis
Compilation of Programs
Advanced Design in SIGNALAdvanced Design Concepts
GALS System Design
Design Patterns
A Synchronization Example Design with POLYCHRONY
A Main Commands of the Compiler.
B The Grammar of SIGNAL