Synopses & Reviews
This book presents a synthesis of recent works concerning reactive system design. The term `reactive system' has been introduced in order to avoid ambiguities often involved with the term `real-time system' which, while being best-known and suggestive, has been assigned so many different meanings that it is almost inevitably misunderstood. Industrial Process control system, transportation control and supervision systems, signal processing systems, etc. are examples of the systems we have in mind. Four programming languages are presented, which share the same underlying synchronous model: based on Robin Milner's pioneering works about synchronous process algebras, this model consists in considering that a program instantaneously reacts to events, or that the machine execution time is negligible with respect to the response delays of its environment. Using this abstract point of view, the time behavior of a system can be formalized in a very simple and elegant way. The languages presented are ESTEREL, a textual imperative language; ARGOS, a graphical language inspired by STATECHARTS; and LUSTRE and SIGNAL, two declarative languages. After a tutorial description of the languages, illustrated by various examples, a set of related tools is presented: compilers to sequential and distributed code, silicon compilers, verification tools.
Review
` ... The material in the book is well-organized, the style is clear, concise and readable. This book can be recommended as serious, although enjoyable, reading for everybody who is interested in real-time, embedded systems (reactive systems). ' Engineering Applications Artificial Intelligence, 7:3 (1994) 'This book can be recommended as serious, although enjoyable, reading for everybody who is interested in real-time, embedded systems.' Eng. App. of Artificial Intelligence 7:3 1994
Review
` ... The material in the book is well-organized, the style is clear, concise and readable. This book can be recommended as serious, although enjoyable, reading for everybody who is interested in real-time, embedded systems (reactive systems). '
Engineering Applications Artificial Intelligence, 7:3 (1994)
'This book can be recommended as serious, although enjoyable, reading for everybody who is interested in real-time, embedded systems.' Eng. App. of Artificial Intelligence 7:3 1994
Synopsis
This book will attempt to give a first synthesis of recent works con- cerning reactive system design. The term "reactive system" has been introduced in order to at'oid the ambiguities often associated with by the term "real-time system," which, although best known and more sugges- tive, has been given so many different meanings that it is almost in- evitably misunderstood. Industrial process control systems, transporta- tion control and supervision systems, signal-processing systems, are ex- amples of the systems we have in mind. Although these systems are more and more computerized, it is sur- prising to notice that the problem of time in computer science has been studied only recently by "pure" computer scientists. Until the early 1980s, time problems were regarded as the concern of performance evalu- ation, or of some (unjustly scorned) "industrial computer engineering," or, at best, of operating systems. A second surprising fact, in contrast, is the growth of research con- cerning timed systems during the last decade. The handling of time has suddenly become a fundamental goal for most models of concurrency. In particular, Robin Alilner 's pioneering works about synchronous process algebras gave rise to a school of thought adopting the following abstract point of view: As soon as one admits that a system can instantaneously react to events, i. e.
Table of Contents
List of Figures. List of Tables. Foreword.
1. Introduction.
I: Four Synchronous Languages. 2. The Imperative Language ESTEREL.
3. Graphic Formalisms: The Language ARGOS.
4. Declarative Languages: LUSTRE and SIGNAL.
II: Compilation. 5. Static Verifications.
6. Sequential Code Generation.
7. Distributed Code Generation.
8. Circuit Generation from Synchronous Programs.
III: Program Verification. 9. LUSTRE Program Verification: The Tool Lesar.
10. Using Auto for ESTEREL Program Verification.
11. Conclusion. Bibliography. Index.