Ebook: Synchronous Programming of Reactive Systems
Author: Nicolas Halbwachs (auth.)
- Tags: Special Purpose and Application-Based Systems, Programming Languages Compilers Interpreters, Operating Systems, Theory of Computation
- Series: The Springer International Series in Engineering and Computer Science 215
- Year: 1993
- Publisher: Springer US
- Edition: 1
- Language: English
- pdf
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.
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.
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.
Content:
Front Matter....Pages i-xiii
Introduction....Pages 1-8
Front Matter....Pages 9-9
The imperative language Esterel....Pages 11-37
Graphic formalisms: the language Argos....Pages 39-52
Declarative languages: Lustre and Signal....Pages 53-72
Front Matter....Pages 73-73
Static verifications....Pages 75-83
Sequential code generation....Pages 85-102
Distributed code generation....Pages 103-115
Circuit generation from synchronous programs....Pages 117-136
Front Matter....Pages 137-137
Lustre program verification: the tool Lesar....Pages 139-147
Using Auto for Esterel program verification....Pages 149-155
Conclusion....Pages 157-159
Back Matter....Pages 161-174
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.
Content:
Front Matter....Pages i-xiii
Introduction....Pages 1-8
Front Matter....Pages 9-9
The imperative language Esterel....Pages 11-37
Graphic formalisms: the language Argos....Pages 39-52
Declarative languages: Lustre and Signal....Pages 53-72
Front Matter....Pages 73-73
Static verifications....Pages 75-83
Sequential code generation....Pages 85-102
Distributed code generation....Pages 103-115
Circuit generation from synchronous programs....Pages 117-136
Front Matter....Pages 137-137
Lustre program verification: the tool Lesar....Pages 139-147
Using Auto for Esterel program verification....Pages 149-155
Conclusion....Pages 157-159
Back Matter....Pages 161-174
....