Temporal logic has developed over the last 30 years into a powerful formal setting for the specification and verification of state-based systems. Based on university lectures given by the authors, this book is a comprehensive, concise, uniform, up-to-date presentation of the theory and applications of linear and branching time temporal logic; TLA (Temporal Logic of Actions); automata theoretical connections; model checking; and related theories. All theoretical details and numerous application examples are elaborated carefully and with full formal rigor, and the book will serve as a basic source and reference for lecturers, graduate students and researchers.
Reactive systems are computing systems which are interactive, such as real-time systems, operating systems, concurrent systems, control systems, etc. They are among the most difficult computing systems to program. Temporal logic is a formal tool/language which yields excellent results in specifying reactive systems. This volume, the first of two, subtitled Specification, has a self-contained introduction to temporal logic and, more important, an introduction to the computational model for reactive programs, developed by Zohar Manna and Amir Pnueli of Stanford University and the Weizmann Institute of Science, Israel, respectively.
Model checking is a computer-assisted method for the analysis of dynamical systems that can be modeled by state-transition systems. Drawing from research traditions in mathematical logic, programming languages, hardware design, and theoretical computer science, model checking is now widely used for the verification of hardware and software in industry. The editors and authors of this handbook are among the world's leading researchers in this domain, and the 32 contributed chapters present a thorough view of the origin, theory, and application of model checking. In particular, the editors classify the advances in this domain and the chapters of the handbook in terms of two recurrent themes that have driven much of the research agenda: the algorithmic challenge, that is, designing model-checking algorithms that scale to real-life problems; and the modeling challenge, that is, extending the formalism beyond Kripke structures and temporal logic. The book will be valuable for researchers and graduate students engaged with the development of formal methods and verification tools.
This volume contains the proceedings of the 1990 Spring School of Theoretical Computer Science, devoted to the semantics of concurrency. The papers are of two kinds: - surveys and tutorials introducing the subject to novices and students and giving updates of the state of the art, - research papers presenting recent achievements in the semantics of concurrency. The contributions explicate the connections, similarities and differences between various approaches to the semantics of concurrency, such as pomsets and metric semantics, event structures, synchronization trees, fixpoints and languages, traces, CCS and Petri nets, and categorical models. They also cover and compare the various notions of observation and bisimulation equivalences, logics for concurrency, and applications to dis- tributed systems.
This book is about the verification of reactive systems. A reactive system is a system that maintains an ongoing interaction with its environment, as opposed to computing some final value on termination. The family of reactive systems includes many classes of programs whose correct and reliable construction is con sidered to be particularly challenging, including concurrent programs, embedded and process control programs, and operating systems. Typical examples of such systems are an air traffic control system, programs controlling mechanical devices such as a train, or perpetually ongoing processes such as a nuclear reactor. With the expanding use of computers in safety-critical areas, where failure is potentially disastrous, correctness is crucial. This has led to the introduction of formal verification techniques, which give both users and designers of software and hardware systems greater confidence that the systems they build meet the desired specifications. Framework The approach promoted in this book is based on the use of temporal logic for specifying properties of reactive systems, and develops an extensive verification methodology for proving that a system meets its temporal specification. Reactive programs must be specified in terms of their ongoing behavior, and temporal logic provides an expressive and natural language for specifying this behavior. Our framework for specifying and verifying temporal properties of reactive systems is based on the following four components: 1. A computational model to describe the behavior of reactive systems. The model adopted in this book is that of a Fair Transition System (FTS).
This book constitutes the refereed proceedings of the 6th International Conference on Formal Modeling and Analysis of Timed Systems, FORMATS 2008, held in Saint Malo, France, September 2008. The 17 revised full papers presented together with 3 invited talks were carefully reviewed and selected from 37 submissions. The papers are organized in topical sections on extensions of timed automata and semantics; timed games and logic; case studies; model-checking of probabilistic systems; verification and test; timed petri nets.
This volume contains the proceedings of the conferenceonComputer Aided V- i?cation (CAV 2003) held in Boulder, Colorado, on July 8–12, 2003. CAV 2003 was the 15th in a series of conferences dedicated to the advancement of the t- ory and practice of computer-assisted formalanalysis methods for hardwareand softwaresystems. Theconferencecoversthe spectrum from theoreticalresultsto applications, with emphasis on practical veri?cation tools, including algorithms andtechniquesneededfortheirimplementation.Theconferencehastraditionally drawn contributions from researchers as well as practitioners in both academia and industry. The program of the conference consisted of 32 regular papers, selected from 87 submissions. In addition, the CAV programfeatured 9 tool presentationsand demonstrations selected from 15 submissions. Each submission receivedan av- age of 5 referee reviews. The largenumber of tool submissions and presentations testi?es to the liveliness of the ?eld and to its applied ?avor. The CAV 2003 program included a tutorial day with three invited tuto- als by Ken McMillan (Cadence) on SAT-Based Methods for Unbounded Model Checking, Doron Peled (Warwick) on Algorithmic Testing Methods, and Willem Visser (NASA) on Model Checking Programs with Java PathFinder. The c- ference also included two invited talks by Amitabh Srivastava (Microsoft) and Michael Gordon (Cambridge). Five workshops were associated with CAV 2003: – ACL2 2003: 4th International Workshop on the ACL2 Theorem Prover and Its Applications. – BMC 2003: 1st International Workshop on Bounded Model Checking. – PDMC2003:2ndInternationalWorkshoponParallelandDistributedModel Checking. – RV 2003: 3rd Workshop on Runtime Veri?cation. – SoftMC 2003: 2nd Workshop on Software Model Checking.
This volume contains the proceedings of a workshop held in Grenoble in June 1989. This was the first workshop entirely devoted to the verification of finite state systems. The workshop brought together researchers and practitioners interested in the development and use of methods, tools and theories for automatic verification of finite state systems. The goal at the workshop was to compare verification methods and tools to assist the applications designer. The papers in this volume review verification techniques for finite state systems and evaluate their relative advantages. The techniques considered cover various specification formalisms such as process algebras, automata and logics. Most of the papers focus on exploitation of existing results in three application areas: hardware design, communication protocols and real-time systems.
Model checking is a powerful approach for the formal verification of software. It automatically provides complete proofs of correctness, or explains, via counter-examples, why a system is not correct. Here, the author provides a well written and basic introduction to the new technique. The first part describes in simple terms the theoretical basis of model checking: transition systems as a formal model of systems, temporal logic as a formal language for behavioral properties, and model-checking algorithms. The second part explains how to write rich and structured temporal logic specifications in practice, while the third part surveys some of the major model checkers available.