Tool support for learning Büchi automata and linear temporal logic

We introduce a graphical interactive tool, named GOAL, that can assist the user in understanding Büchi automata, linear temporal logic, and their relation. Büchi automata and linear temporal logic are closely related and have long served as fundamental building blocks of linear-time model checking. Understanding their relation is instrumental in discovering algorithmic solutions to model checking problems or simply in using those solutions, e.g., specifying a temporal property directly by an automaton rather than a temporal formula so that the property can be verified by an algorithm that operates on automata. One main function of the GOAL tool is translation of a temporal formula into an equivalent Büchi automaton that can be further manipulated visually. The user may edit the resulting automaton, attempting to optimize it, or simply run the automaton on some inputs to get a basic understanding of how it operates. GOAL includes a large number of translation algorithms, most of which support past temporal operators. With the option of viewing the intermediate steps of a translation, the user can quickly grasp how a translation algorithm works. The tool also provides various standard operations and tests on Büchi automata, in particular the equivalence test which is essential for checking if a hand-drawn automaton is correct in the sense that it is equivalent to some intended temporal formula or reference automaton. Several use cases are elaborated to show how these GOAL functions may be combined to facilitate the learning and teaching of Büchi automata and linear temporal logic.

[1]  Aravinda Prasad Sistla,et al.  Theoretical issues in the design and verification of distributed systems , 1983 .

[2]  Robert P. Kurshan,et al.  Complementing Deterministic Büchi Automata in Polynomial Time , 1987, J. Comput. Syst. Sci..

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

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

[5]  Yih-Kuen Tsay,et al.  GOAL Extended: Towards a Research Tool for Omega Automata and Temporal Logic , 2008, TACAS.

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

[7]  Zohar Manna,et al.  Temporal Verification of Reactive Systems , 1995, Springer New York.

[8]  Roberto Sebastiani,et al.  "More Deterministic" vs. "Smaller" Büchi Automata for Efficient LTL Model Checking , 2003, CHARME.

[9]  Nir Piterman,et al.  From Nondeterministic Buchi and Streett Automata to Deterministic Parity Automata , 2006, 21st Annual IEEE Symposium on Logic in Computer Science (LICS'06).

[10]  Paul Gastin,et al.  LTL with Past and Two-Way Very-Weak Alternating Automata , 2003, MFCS.

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

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

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

[14]  Yih-Kuen Tsay Compositional Verification in Linear-Time Temporal Logic , 2000, FoSSaCS.

[15]  H. Amjad,et al.  Combining model checking and theorem proving , 2004 .

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

[17]  Thomas Wilke,et al.  Automata Logics, and Infinite Games , 2002, Lecture Notes in Computer Science.

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

[19]  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..

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

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

[22]  Amir Pnueli,et al.  Complete Proof System for QPTL , 2002, J. Log. Comput..

[23]  Kedar S. Namjoshi,et al.  On the completeness of compositional reasoning , 2000 .

[24]  Wolfgang Thomas Complementation of Büchi Automata Revised , 1999, Jewels are Forever.

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

[26]  Yih-Kuen Tsay,et al.  GOAL: A Graphical Tool for Manipulating Büchi Automata and Temporal Formulae , 2007, TACAS.

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

[28]  Amir Pnueli,et al.  Verification by Augmented Finitary Abstraction , 2000, Inf. Comput..

[29]  Natarajan Shankar,et al.  Combining Theorem Proving and Model Checking through Symbolic Analysis , 2000, CONCUR.

[30]  S. Safra,et al.  On the complexity of omega -automata , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.

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

[32]  S. Safra On The Complexity of w-Automata , 1988 .

[33]  Zohar Manna,et al.  A Decision Algorithm for Full Propositional Temporal Logic , 1993, CAV.

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

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

[36]  Nils Klarlund,et al.  Progress measures for complementation omega -automata with applications to temporal logic , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

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

[38]  Orna Kupferman,et al.  Büchi Complementation Made Tighter , 2006, Int. J. Found. Comput. Sci..

[39]  R. McNaughton Review: J. Richard Buchi, Weak Second-Order Arithmetic and Finite Automata; J. Richard Buchi, On a Decision Method in Restricted second Order Arithmetic , 1963, Journal of Symbolic Logic.

[40]  Zohar Manna,et al.  A hierarchy of temporal properties (invited paper, 1989) , 1990, PODC '90.

[41]  Kedar S. Namjoshi,et al.  On the Competeness of Compositional Reasoning , 2000, CAV.

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