Automata-theoretic techniques for temporal reasoning

Publisher Summary This chapter describes an automata-theoretic approach to temporal reasoning. The basic idea underlying this approach is that for any temporal formula, one can construct a finite state automaton that accepts the computations that satisfy the formula. For linear temporal logics, the automaton runs on infinite words while for branching temporal logics the automaton runs on infinite trees. The simple combinatorial structures that emerge from the automata-theoretic approach decouple the logical and algorithmic components of temporal reasoning and yield clear and asymptotically optimal algorithms. Many modal and temporal logics can be viewed as fragments of monadic second-order logic over trees in a suitable signature, so there is a clear theoretical link between modal logic and automata theory. This link turns out to have practical repercussions for computational applications. Two types of temporal logics can be distinguished: linear and branching. By viewing temporal formulas as giving rise to “alternating automata”, a theoretically transparent and practical perspective on both validity and model checking can be gained, one of the most significant applications of contemporary modal logic.

[1]  Pierre Wolper,et al.  Automata theoretic techniques for modal logics of programs: (Extended abstract) , 1984, STOC '84.

[2]  E. Allen Emerson,et al.  Automata, Tableaux and Temporal Logics (Extended Abstract) , 1985, Logic of Programs.

[3]  Zohar Manna,et al.  Temporal Specification and Verification of Reactive Modules , 1992 .

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

[5]  E. Allen Emerson,et al.  The Complexity of Tree Automata and Logics of Programs , 1999, SIAM J. Comput..

[6]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

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

[8]  Robert S. Streett,et al.  Propositional Dynamic Logic of Looping and Converse Is Elementarily Decidable , 1982, Inf. Control..

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

[10]  E. Allen Emerson,et al.  Tree automata, mu-calculus and determinacy , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[11]  Pierre Wolper,et al.  Yet Another Process Logic (Preliminary Version) , 1983, Logic of Programs.

[12]  Howard Barringer,et al.  Practical CTL* model checking: Should SPIN be extended? , 2000, International Journal on Software Tools for Technology Transfer.

[13]  Gilles Dowek,et al.  Principles of programming languages , 1981, Prentice Hall International Series in Computer Science.

[14]  E. Allen Emerson,et al.  Temporal and Modal Logic , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[15]  Joseph Y. Halpern,et al.  Decision procedures and expressiveness in the temporal logic of branching time , 1982, STOC '82.

[16]  David E. Muller,et al.  Simulating Alternating Tree Automata by Nondeterministic Automata: New Results and New Proofs of the Theorems of Rabin, McNaughton and Safra , 1995, Theor. Comput. Sci..

[17]  David E. Muller,et al.  Alternating Automata on Infinite Trees , 1987, Theor. Comput. Sci..

[18]  Orna Kupferman,et al.  Resets vs. Aborts in Linear Temporal Logic , 2003, TACAS.

[19]  Pierre Wolper,et al.  An Automata-Theoretic Approach to Automatic Program Verification (Preliminary Report) , 1986, LICS.

[20]  James W. Thatcher,et al.  Generalized finite automata theory with an application to a decision problem of second-order logic , 1968, Mathematical systems theory.

[21]  John P. Burgess,et al.  Logic and time , 1979, Journal of Symbolic Logic.

[22]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .

[23]  Journal of the Association for Computing Machinery , 1961, Nature.

[24]  A. Prasad Sistla,et al.  Deciding branching time logic , 1984, STOC '84.

[25]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

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

[27]  Dov M. Gabbay Applications of Trees to Intermediate Logics , 1972, J. Symb. Log..

[28]  Ulrike Sattler,et al.  The Hybrid µ-Calculus , 2001, IJCAR.

[29]  Moshe Y. Vardi Reasoning about The Past with Two-Way Automata , 1998, ICALP.

[30]  Andrzej Wlodzimierz Mostowski,et al.  Regular expressions for infinite trees and a standard form of automata , 1984, Symposium on Computation Theory.

[31]  Harry Rudin Network Protocols and Tools to Help Produce Them , 1987 .

[32]  J. Büchi Weak Second‐Order Arithmetic and Finite Automata , 1960 .

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

[34]  David E. Muller,et al.  Weak alternating automata give a simple explanation of why most temporal and dynamic logics are decidable in exponential time , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[35]  Amir Pnueli,et al.  Linear and Branching Structures in the Semantics and Logics of Reactive Systems , 1985, ICALP.

[36]  Richard E. Ladner,et al.  Propositional Dynamic Logic of Regular Programs , 1979, J. Comput. Syst. Sci..

[37]  Pierre Wolper,et al.  The Complementation Problem for Büchi Automata with Appplications to Temporal Logic , 1987, Theor. Comput. Sci..

[38]  Moshe Y. Vardi Linear vs. branching time: a complexity-theoretic perspective , 1998, Proceedings. Thirteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.98CB36226).

[39]  D. Kozen Results on the Propositional µ-Calculus , 1982 .

[40]  Mordechai Ben-Ari,et al.  The temporal logic of branching time , 1981, POPL '81.

[41]  Carsten Fritz,et al.  Concepts of Automata Construction from LTL , 2005, LPAR.

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

[43]  Leslie Lamport,et al.  "Sometime" is sometimes "not never": on the temporal logic of programs , 1980, POPL '80.

[44]  Edmund M. Clarke,et al.  Expressibility results for linear-time and branching-time logics , 1988, REX Workshop.

[45]  Avner Landver,et al.  The ForSpec Temporal Logic: A New Temporal Property-Specification Language , 2002, TACAS.

[46]  Ernst L. Leiss,et al.  On Equations for Regular Languages, Finite Automata, and Sequential Networks , 1980, Theor. Comput. Sci..

[47]  Orna Kupferman,et al.  Weak alternating automata are not that weak , 1997, Proceedings of the Fifth Israeli Symposium on Theory of Computing and Systems.

[48]  David E. Muller,et al.  Alternating Automata. The Weak Monadic Theory of the Tree, and its Complexity , 1986, ICALP.

[49]  Yaacov Choueka,et al.  Theories of Automata on omega-Tapes: A Simplified Approach , 1974, J. Comput. Syst. Sci..

[50]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

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

[52]  Chin-Laung Lei,et al.  Modalities for Model Checking: Branching Time Logic Strikes Back , 1987, Sci. Comput. Program..

[53]  Moshe Y. Vardi Sometimes and Not Never Re-revisited: On Branching Versus Linear Time , 1998, CONCUR.

[54]  Ulrike Sattler,et al.  The Complexity of the Graded µ-Calculus , 2002, CADE.

[55]  M. Rabin Weakly Definable Relations and Special Automata , 1970 .

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

[57]  E. A Emerson,et al.  Model Checking Under Generalized Fairness Constraints , 1984 .

[58]  Shin Nakajima,et al.  The SPIN Model Checker : Primer and Reference Manual , 2004 .

[59]  E. Emerson,et al.  Modalities for model checking (extended abstract): branching time strikes back , 1985, ACM-SIGACT Symposium on Principles of Programming Languages.

[60]  Amir Pnueli,et al.  Checking that finite state concurrent programs satisfy their linear specification , 1985, POPL.

[61]  Ming T. Liu Protocol Engineering , 1989, Adv. Comput..

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

[63]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[64]  Wolfgang Thomas,et al.  Computation Tree Logic CTL* and Path Quantifiers in the Monadic Theory of the Binary Tree , 1987, ICALP.

[65]  M. Rabin Decidability of second-order theories and automata on infinite trees , 1968 .

[66]  Amir Pnueli,et al.  The Glory of the Past , 1985, Logic of Programs.

[67]  Edmund M. Clarke,et al.  Characterizing Correctness Properties of Parallel Programs Using Fixpoints , 1980, ICALP.

[68]  Will Marrero,et al.  Using BDDs to Decide CTL , 2005, TACAS.

[69]  C. C. Elgot Decision problems of finite automata design and related arithmetics , 1961 .

[70]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

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

[72]  Carl A. Sunshine,et al.  Protocol Specification, Testing and Verification - Guest Editorial , 1982, Comput. Networks.

[73]  Moshe Y. Vardi Branching vs. Linear Time: Final Showdown , 2001, TACAS.

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

[75]  Moshe Y. Vardi Alternating Automata and Program Verification , 1995, Computer Science Today.

[76]  J. R. Büchi On a Decision Method in Restricted Second Order Arithmetic , 1990 .

[77]  Orna Grumberg,et al.  Regular Vacuity , 2005, CHARME.

[78]  E. Muller David,et al.  Alternating automata on infinite trees , 1987 .

[79]  Gerard J. Holzmann,et al.  An improved protocol reachability analysis technique , 1988, Softw. Pract. Exp..

[80]  Walter J. Savitch,et al.  Relationships Between Nondeterministic and Deterministic Tape Complexities , 1970, J. Comput. Syst. Sci..

[81]  Satoru Miyano,et al.  Alternating Finite Automata on omega-Words , 1984, CAAP.

[82]  Jaakko Hintikka,et al.  Time And Modality , 1958 .

[83]  Rance Cleaveland,et al.  A linear-time model-checking algorithm for the alternation-free modal mu-calculus , 1993, Formal Methods Syst. Des..

[84]  Robert S. Streett Propositional Dynamic Logic of looping and converse , 1981, STOC '81.

[85]  Pierre Wolper,et al.  An automata-theoretic approach to branching-time model checking , 2000, JACM.

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