Synopses & Reviews
The name "temporal logic" may sound complex and daunting; but while they describe potentially complex scenarios, temporal logics are often based on a few simple, and fundamental, concepts - highlighted in this book.
An Introduction to Practical Formal Methods Using Temporal Logic provides an introduction to formal methods based on temporal logic, for developing and testing complex computational systems. These methods are supported by many well-developed tools, techniques and results that can be applied to a wide range of systems.
Fisher begins with a full introduction to the subject, covering the basics of temporal logic and using a variety of examples, exercises and pointers to more advanced work to help clarify and illustrate the topics discussed. He goes on to describe how this logic can be used to specify a variety of computational systems, looking at issues of linking specifications, concurrency, communication and composition ability. He then analyses temporal specification techniques such as deductive verification, algorithmic verification, and direct execution to develop and verify computational systems. The final chapter on case studies analyses the potential problems that can occur in a range of engineering applications in the areas of robotics, railway signalling, hardware design, ubiquitous computing, intelligent agents, and information security, and explains how temporal logic can improve their accuracy and reliability.
- Models temporal notions and uses them to analyze computational systems
- Provides a broad approach to temporal logic across many formal methods - including specification, verification and implementation
- Introduces and explains freely available tools based on temporal logics and shows how these can be applied
- Presents exercises and pointers to further study in each chapter, as well as an accompanying website providing links to additional systems based upon temporal logic as well as additional material related to the book.
Review
"I highly recommend this book, both for formal methods in general and for temporal logic in particular. It will remain within my easy reach for a long time." (Computing Reviews, 1 December 2011)
Review
“The strength of the book is the nice mixture of a pleasant to read and gentle presentation of the underlying concepts together with detailed tool descriptions (focused on a user's point of view). This book is perfectly suited for a course at senior undergraduate or beginning graduate level.” (Zentralblatt MATH, 1 December 2012)"I highly recommend this book, both for formal methods in general and for temporal logic in particular. It will remain within my easy reach for a long time." (Computing Reviews, 1 December 2011)
Synopsis
This book provides an introduction to formal methods based on temporal logic, describing techniques for testing and developing complex computational systems. It starts with a full introduction to the subject and then goes into more detail, covering the basics of temporal logics in order to give the reader a firm basis on which to progress further. A variety of examples, exercises and pointers to more advanced work in this area help to clarify and illustrate topics discussed. The following chapter shows how this logic can be used to specify a variety of computational systems. Chapters 4, 5 and 6 analyse techniques using temporal specifications to verify and develop computational systems, namely deductive verification, algorithmic verification, and direct execution. A final chapter on case studies analyses the potential problems that can occur in a range of engineering applications, and explains how temporal logic can improve their accuracy and reliability. Fisher also gives pointer to where the reader can find full descriptions of these computations earlier in the book. An appendix provides an introduction to classical logic, and an accompanying website contains links to additional material related to the book, and to a range of systems based on temporal logic.
Synopsis
An Introduction to Practical Formal Methods Using Temporal LogicMichael Fisher
Department of Computer Science, University of Liverpool, UK
Table of Contents
Preface.1 Introduction.
1.1 Aims of the book.
1.2 Why temporal logic?
1.3 What is temporal logic?
1.4 Structure of the book.
2 Temporal logic.
2.1 Intuition.
2.2 Syntactic aspects.
2.3 Semantics.
2.4 Reactive system properties.
2.5 What is temporal logic?
2.6 Normal form.
2.7 Büchi automata and temporal logic.
2.8 Advanced topics.
2.9 Final exercises.
3 Specification.
3.1 Describing simple behaviours.
3.2 A semantics of imperative programs.
3.3 Linking specifications.
3.4 Advanced topics.
3.5 Final exercises.
3.6 Where to next?
4 Deduction.
4.1 Temporal proof.
4.2 Clausal temporal resolution.
4.3 The TSPASS system.
4.4 Advanced topics.
4.5 Final exercises.
5 Model checking.
5.1 Algorithmic verification.
5.2 Automata-theoretic model checking.
5.3 The Spin system.
5.4 Advanced topics.
5.5 Final exercises.
6 Execution.
6.1 From specifications to programs.
6.2 MetateM: executing temporal formulae.
6.3 The Concurrent MetateM system.
6.4 Advanced topics.
7 Selected applications.
7.1 Model checking programs.
7.2 Security protocol analysis.
7.3 Recognizing temporal patterns.
7.4 Parameterized systems.
7.5 Reasoning with intervals.
7.6 Planning.
8 Summary.
A Review of classical logic.
A.1 Introduction.
A.2 Propositional logic.
A.3 Normal forms.
A.4 Propositional resolution.
A.5 Horn clauses.
A.6 First-order logic.
B Solutions to exercises.
References.
Index.