Table of contents
About this book
This book is about synchronous programming for the design of, safety critical, embedded systems, such as automotive systems, avionics, nuclear power plants and telecommunication systems. The techniques presented promote the use of formal concepts, i.e. those having a mathematically sound basis. Such concepts enable non ambiguous and rigorous reasoning about the critical properties of addressed systems in order to ensure their reliability. The synchronous programming language, SIGNAL, is used to demonstrate the pragmatic design of embedded systems. This is an invaluable tutorial/reference for scientists, practitioners and students.
- Presents the best pedagogical illustration of embedded system design with a synchronous dataflow programming language;
- Offers a complete overview of a language and its associated analysis techniques for the design of multi-clocked embedded systems;
- Describes a formal specification language that provides users with design and analysis tools to guarantee the reliability of safety-critical, embedded systems;
- Enables "correct-by-construction" designs for modern embedded systems, built on distributed architectures.
Among synchronous programming paradigms, Polychrony stands out for its ability to specify dataflow relationally, its freedom from single clock driven semantics, and its clock calculus that allows one to infer when single clock driven sequential software implementation is implied by the specification, and when refinements are required for such implementation. The SIGNAL language embodies Polychrony. There has been a void in the literature for a good single source which researchers can refer to, for learning the SIGNAL language, its semantics, and its usage.
Abdoulaye Gamatié has successfully used the SIGNAL language and the Polychrony toolset to implement realistic designs in the past. I believe that his book on the SIGNAL language will certainly be a very valuable resource for anyone interested in learning the SIGNAL language and its multi-clock semantics, and how to use it to specify and implement embedded software in a refinement methodology supported by extensive theory and tools developed at INRIA, Rennes.
----- Sandeep Shukla, Virginia Polytechnic and State University