You are previewing An Introduction to Practical Formal Methods using Temporal Logic.
O'Reilly logo
An Introduction to Practical Formal Methods using Temporal Logic

Book Description

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.

Table of Contents

  1. Cover
  2. Title Page
  3. Copyright
  4. Preface
  5. Chapter 1: Introduction
    1. 1.1 Aims of the Book
    2. 1.2 Why Temporal Logic?
    3. 1.3 What is Temporal Logic?
    4. 1.4 Structure of the Book
  6. Chapter 2: Temporal Logic
    1. 2.1 Intuition
    2. 2.2 Syntactic Aspects
    3. 2.3 Semantics
    4. 2.4 Reactive System Properties
    5. 2.5 What is Temporal Logic?
    6. 2.6 Normal Form
    7. 2.7 B├╝chi Automata and Temporal Logic
    8. 2.8 Advanced Topics
    9. 2.9 Final Exercises
  7. Chapter 3: Specification
    1. 3.1 Describing Simple Behaviours
    2. 3.2 A Semantics of Imperative Programs
    3. 3.3 Linking Specifications
    4. 3.4 Advanced Topics
    5. 3.5 Final Exercises
    6. 3.6 Where to Next?
  8. Chapter 4: Deduction
    1. 4.1 Temporal Proof
    2. 4.2 Clausal Temporal Resolution
    3. 4.3 The TSPASS System
    4. 4.4 Advanced topics
    5. 4.5 Final Exercises
  9. Chapter 5: Model Checking
    1. 5.1 Algorithmic Verification
    2. 5.2 Automata-Theoretic Model Checking
    3. 5.3 The Spin System
    4. 5.4 Advanced Topics
    5. 5.5 Final Exercises
  10. Chapter 6: Execution
    1. 6.1 From Specifications to Programs
    2. 6.2 METATEM: Executing Temporal Formulae
    3. 6.3 The Concurrent MetateM system
    4. 6.4 Advanced Topics
  11. Chapter 7: Selected Applications
    1. 7.1 Model Checking Programs
    2. 7.2 Security Protocol Analysis
    3. 7.3 Recognizing Temporal Patterns
    4. 7.4 Parameterized Systems
    5. 7.5 Reasoning with Intervals
    6. 7.6 Planning
  12. Chapter 8: Summary
  13. Appendix A: Review of Classical Logic
    1. A.1 Introduction
    2. A.2 Propositional Logic
    3. A.3 Normal Forms
    4. A.4 Propositional Resolution
    5. A.5 Horn Clauses
    6. A.6 First-Order Logic
  14. Appendix B: Solutions to Exercises
    1. B.1 Solutions: Chapter 2
    2. Solutions: Chapter 3
    3. Solutions: Chapter 4
    4. Solutions: Chapter 5
    5. Solutions: Chapter 6
    6. Solutions: Appendix A
  15. References
  16. Index