Specification and Verification using Temporal Logics

This chapter illustrates two aspects of automata theory related to linear-time temporal logic LTL used for the verification of computer systems. First, we present a translation from LTL formulae to Buchi automata. The aim is to design an elementary translation which is reasonably efficient and produces small automata so that it can be easily taught and used by hand on real examples. Our translation is in the spirit of the classical tableau constructions but is optimized in several ways. Secondly, we recall how temporal operators can be defined from regular languages and we explain why adding even a single operator definable by a context-free language can lead to undecidability.

[1]  E. Allen Emerson,et al.  The complexity of tree automata and logics of programs , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.

[2]  Bernhard Beckert,et al.  Dynamic Logic , 2007, The KeY Approach.

[3]  Howard Straubing Finite Automata, Formal Logic, and Circuit Complexity , 1994, Progress in Theoretical Computer Science.

[4]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[5]  Peter Øhrstrøm,et al.  Temporal Logic , 1994, Lecture Notes in Computer Science.

[6]  Sérgio Vale Aguiar Campos,et al.  Symbolic Model Checking , 1993, CAV.

[7]  Paul Gastin,et al.  First-order definable languages , 2008, Logic and Automata.

[8]  Dimitra Giannakopoulou,et al.  From States to Transitions: Improving Translation of LTL Formulae to Büchi Automata , 2002, FORTE.

[9]  Pierre Wolper Temporal Logic Can Be More Expressive , 1983, Inf. Control..

[10]  Pierre Wolper,et al.  The tableau method for temporal logic: an overview , 1985 .

[11]  Paul Gastin,et al.  Fast LTL to Büchi Automata Translation , 2001, CAV.

[12]  Fabio Somenzi,et al.  Efficient Büchi Automata from LTL Formulae , 2000, CAV.

[13]  A. Prasad Sistla,et al.  Automatic verification of finite state concurrent system using temporal logic specifications: a practical approach , 1983, POPL '83.

[14]  Joseph Y. Halpern,et al.  “Sometimes” and “not never” revisited: on branching versus linear time temporal logic , 1986, JACM.

[15]  Pierre Wolper,et al.  Memory-efficient algorithms for the verification of temporal properties , 1990, Formal Methods Syst. Des..

[16]  S. Sieber On a decision method in restricted second-order arithmetic , 1960 .

[17]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching Time Temporal Logic , 2008, 25 Years of Model Checking.

[18]  Kousha Etessami,et al.  Fair Simulation Relations, Parity Games, and State Space Reduction for Büchi Automata , 2001, ICALP.

[19]  D. Holdstock Past, present--and future? , 2005, Medicine, conflict, and survival.

[20]  Edmund M. Clarke,et al.  Another Look at LTL Model Checking , 1994, Formal Methods Syst. Des..

[21]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[22]  Pierre Wolper,et al.  Constructing Automata from Temporal Logic Formulas: A Tutorial , 2002, European Educational Forum: School on Formal Methods and Performance Analysis.

[23]  Dominique Perrin,et al.  Finite Automata , 1958, Philosophy.

[24]  Heikki Tauriainen,et al.  Automata and linear temporal logic : translations with transition-based acceptance , 2006 .

[25]  Alasdair Urquhart,et al.  Temporal Logic , 1971 .

[26]  D. Harel Recurring dominoes: making the highly undecidable highly understandable , 1985 .

[27]  Joseph Sifakis,et al.  Specification and verification of concurrent systems in CESAR , 1982, Symposium on Programming.

[28]  Pierre Wolper,et al.  Simple on-the-fly automatic verification of linear temporal logic , 1995, PSTV.

[29]  Pierre Wolper,et al.  Reasoning about infinite computation paths , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[30]  Dexter Kozen,et al.  Automata and Computability , 1997, Undergraduate Texts in Computer Science.

[31]  Rajeev Alur,et al.  Visibly pushdown languages , 2004, STOC '04.

[32]  A. Pnueli The Temporal Semantics of Concurrent Programs , 1979, Theor. Comput. Sci..

[33]  Wolfgang Thomas,et al.  Automata on Infinite Objects , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[34]  Fausto Giunchiglia,et al.  Improved Automata Generation for Linear Temporal Logic , 1999, CAV.

[35]  Wolfgang Thomas,et al.  Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics , 1990 .

[36]  Dana Fisman,et al.  A Practical Introduction to PSL , 2006, Series on Integrated Circuits and Systems.

[37]  Larry J. Stockmeyer,et al.  Improved upper and lower bounds for modal logics of programs , 1985, STOC '85.

[38]  Stefan Schwendimann,et al.  A New One-Pass Tableau Calculus for PLTL , 1998, TABLEAUX.

[39]  Larry Joseph Stockmeyer,et al.  The complexity of decision problems in automata theory and logic , 1974 .

[40]  Christof Löding,et al.  Propositional dynamic logic with recursive programs , 2006, J. Log. Algebraic Methods Program..

[41]  Jean-Michel Couvreur,et al.  On-the-Fly Verification of Linear Temporal Logic , 1999, World Congress on Formal Methods.

[42]  Richard Spencer-Smith,et al.  Modal Logic , 2007 .

[43]  Pierre Wolper,et al.  Reasoning About Infinite Computations , 1994, Inf. Comput..

[44]  David Harel,et al.  On the Complexity of Verifying Concurrent Transition Systems , 1997, Inf. Comput..

[45]  Moshe Y. Vardi Nontraditional Applications of Automata Theory , 1994, TACS.

[46]  David Harel,et al.  More on Nonregular PDL: Finite Models and Fibonacci-Like Programs , 1996, Inf. Comput..

[47]  Moshe Y. Vardi A temporal fixpoint calculus , 1988, POPL '88.

[48]  A. Prasad Sistla,et al.  The complexity of propositional linear temporal logics , 1982, STOC '82.

[49]  Philippe Schnoebelen,et al.  The Complexity of Temporal Logic Model Checking , 2002, Advances in Modal Logic.

[50]  July , 1890, The Hospital.

[51]  Stephan Merz,et al.  Model Checking , 2000 .

[52]  Zohar Manna,et al.  The Modal Logic of Programs , 1979, ICALP.

[53]  Denis Poitrenaud,et al.  On-the-Fly Emptiness Checks for Generalized Büchi Automata , 2005, SPIN.

[54]  Kousha Etessami,et al.  Optimizing Büchi Automata , 2000, CONCUR.

[55]  Salil P. Vadhan,et al.  Computational Complexity , 2005, Encyclopedia of Cryptography and Security.

[56]  Johan Anthory Willem Kamp,et al.  Tense logic and the theory of linear order , 1968 .

[57]  Saharon Shelah,et al.  On the temporal analysis of fairness , 1980, POPL '80.