Advertisement

Formal Aspects of Computing

, Volume 21, Issue 3, pp 259–275 | Cite as

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

  • Yih-Kuen Tsay
  • Yu-Fang Chen
  • Ming-Hsien Tsai
  • Kang-Nien Wu
  • Wen-Chin Chan
  • Chi-Jian Luo
  • Jinn-Shu Chang
Original Article

Abstract

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.

Keywords

Büchi automata GOAL Linear temporal logic Model checking QPTL 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Büc62.
    Büchi JR (1962) On a decision method in restricted second-order arithmetic. In: Proceedings of the 1960 international congress on logic, methodology and philosophy of science, pp 1–11. Standford University PressGoogle Scholar
  2. CGP99.
    Clarke EM, Grumberg O, Peled DA (1999) Model checking. The MIT Press, CambridgeGoogle Scholar
  3. DGV99.
    Daniele M, Giunchiglia F, Vardi MY (1999) Improved automata generation for linear temporal logic. In: Proceedings of the 11th international conference on computer-aided verification (CAV 1999), LNCS 1633, pp 249–260. Springer, BerlinGoogle Scholar
  4. EH00.
    Etessami K, Holzmann G (2000) Optimizing Büchi automata. In: Proceedings of the 11th international conference on concurrency theory (CONCUR 2000), LNCS 1877, pp 153–167. Springer, BerlinGoogle Scholar
  5. FKV04.
    Friedgut E, Kupferman O, Vardi MY (2004) Büchi complementation made tighter. In: Proceedings of the 2nd international symposium on automated technology for verification and analysis (ATVA 2004), LNCS 3299, pp 64–78. Springer, BerlinGoogle Scholar
  6. GL02.
    Giannakopoulou D, Lerda F (2002) From states to transitions: improving translation of LTL formulae to Büchi automata. In: Proceedings of the 22nd IFIP WG 6.1 international conference on formal techniques for networked and distributed systems (FORTE 2002), LNCS 2529, pp 308–326. Springer, BerlinGoogle Scholar
  7. GO01.
    Gastin P, Oddoux D (2001) Fast LTL to Büchi automata translations. In: Proceedings of the 13th international conference on computer-aided verification (CAV 2001), LNCS 2102, pp 53–65. Springer, BerlinGoogle Scholar
  8. GO03.
    Gastin P, Oddoux D (2003) LTL with past and two-way very-weak alternating automata. In: Proceedings of the 28th international symposium on mathematical foundations of computer science (MFCS 2003), LNCS 2747, pp 439–448. Springer, BerlinGoogle Scholar
  9. GPVW95.
    Gerth R, Peled D, Vardi MY, Wolper P (1995) Simple on-the-fly automatic verification of linear temporal logic. In: Protocol specification, testing, and verification, pp 3–18. Chapman & Hall, LondonGoogle Scholar
  10. GTW02.
    Grädel E, Thomas W, Wilke T (2002) Automata, logics, and infinite games (LNCS 2500). Springer, BerlinCrossRefGoogle Scholar
  11. Hol03.
    Holzmann GJ (2003) The SPIN Model checker: primer and reference manual. Addison-Wesley, Reading, MA, USAGoogle Scholar
  12. Kla91.
    Klarlund N (1991) Progress measures for complementation of ω-automata with application to temporal logic. In: Proceedings of the 32nd annual IEEE symposium on foundations of computer science (FOCS 1991), pp 358–367. IEEE Computer SocietyGoogle Scholar
  13. KMMP93.
    Kesten Y, Manna Z, McGuire H, Pnueli A (1993) A decision algorithm for full propositional temporal logic. In: Proceedings of the 5th international conference on computer-aided verification (CAV 1993), LNCS 697, pp 97–109. Springer, BerlinGoogle Scholar
  14. KP00.
    Kesten Y, Pnueli A (2000) Verification by augmented finitary abstraction. Inf Comput 163: 203–243zbMATHCrossRefMathSciNetGoogle Scholar
  15. KP02.
    Kesten Y, Pnueli A (2002) Complete proof system for QPTL. J Logic Comput 12(5): 701–745zbMATHCrossRefMathSciNetGoogle Scholar
  16. Kur87.
    Kurshan RP (1987) Complementing deterministic Büchi automata in polynomial time. J Comput Syst Sci 35: 59–71zbMATHCrossRefMathSciNetGoogle Scholar
  17. KV01.
    Kupferman O, Vardi MY (2001) Weak alternating automata are not that weak. ACM Trans Comput Logic 2(3): 408–429CrossRefMathSciNetGoogle Scholar
  18. KVW00.
    Kupferman O, Vardi MY, Wolper P (2000) An automata-theoretic approach to branching-time model checking. J ACM 47(2): 312–360zbMATHCrossRefMathSciNetGoogle Scholar
  19. LPZ85.
    Lichtenstein O, Pnueli A, Zuck L (1985) The glory of the past. In: Proceedings of the workshop on logics of programs, LNCS 193, pp 196–218. Springer, BerlinGoogle Scholar
  20. Mic88.
    Michel M (1988) Complementation is more difficult with automata on infinite words. In: CNET, ParisGoogle Scholar
  21. MP90.
    Manna Z, Pnueli A (1990) A hierarchy of temporal properties. In: Proceedings of the 9th ACM symposium on principles of distributed computing (PODC 1990), pp 377–408. ACM, New YorkGoogle Scholar
  22. MP92.
    Manna Z, Pnueli A (1992) The temporal logic of reactive and concurrent systems: specification. Springer, BerlinGoogle Scholar
  23. MP95.
    Manna Z, Pnueli A (1995) Temporal verification of reactive systems: safety. Springer, BerlinGoogle Scholar
  24. MS95.
    Muller DE, Schupp PE (1995) Simulating alternating tree automata by nondeterministic automata: new results and new proofs of the theorems of Rabin, McNaughton, and Safra. Inf Comput 141(1–2): 69–107zbMATHMathSciNetGoogle Scholar
  25. NT00.
    Namjoshi KS, Trefler RJ (2000) On the completeness of compositional reasoning. In: Proceedings of the 12th international conference on computer-aided verification (CAV 2000), LNCS 1855, pp 139–153. Springer, BerlinGoogle Scholar
  26. Pit06.
    Piterman N (2006) From nondeterministic Büchi and Streett automata to deterministic parity automata. In: Proceedings of the 21st annual IEEE symposium on logic in computer science (LICS 2006), pp 255–264. IEEE Computer SocietyGoogle Scholar
  27. RF.
    Rodger S, Finley T (2008) JFLAP. http://www.jflap.org/
  28. Saf88.
    Safra S (1988) On the complexity of ω-automta. In: Proceedings of the 29th annual IEEE symposium on foundations of computer science (FOCS 1988), pp 319–327. IEEE Computer SocietyGoogle Scholar
  29. SB00.
    Somenzi F, Bloem R (2000) Efficient Büchi automata from LTL formulae. In: Proceedings of the 12th international conference on computer-aided verification (CAV 2000), LNCS 1855, pp 248–263. Springer, BerlinGoogle Scholar
  30. Sha00.
    Shankar N (2000) Combining model checking and theorem proving through symbolic analysis. In: Proceedings of the 11th international conference on concurrency theory (CONCUR 2000), LNCS 1877, pp 1–16. Springer, BerlinGoogle Scholar
  31. Sis83.
    Sistla AP (1983) Theoretical issues in the design and verification of distributed systems. PhD thesis, Harvard UniversityGoogle Scholar
  32. ST03.
    Sebastiani R, Tonetta S (2003) More deterministic vs. smaller Büchi automata for efficient LTL model checking. In: Proceedings of the 12th advanced research working conference on correct hardware design and verification methods (CHARME 2003), LNCS 2860, pp 126–140. Springer, BerlinGoogle Scholar
  33. SVW87.
    Sistla AP, Vardi MY, Wolper P (1987) The complementation problem for Büchi automata with applications to temporal logic. Theor Comput Sci 49: 217–237zbMATHCrossRefMathSciNetGoogle Scholar
  34. TCT+07.
    Tsay Y-K, Chen Y-F, Tsai M-H, Wu K-N, Chan W-C (2007) GOAL: a graphical tool for manipulating Büchi automata and temporal formulae. In: Proceedings of the 13th international conference on tools and algorithms for the construction and analysis of systems (TACAS 2007), LNCS 4424, pp 466–471. Springer, BerlinGoogle Scholar
  35. TCT+08.
    Tsay Y-K, Chen Y-F, Tsai M-H, Chan W-C, Luo C-J (2008) GOAL extended: towards a research tool for omega automata and temporal logic. In: Proceedings of the 14th international conference on tools and algorithms for the construction and analysis of systems (TACAS 2008), LNCS 4963, pp 346–350. Springer, BerlinGoogle Scholar
  36. TCTL07.
    Tsai M-H, Chan W-C, Tsay Y-K, Luo C-J (2007) Full PTL to Büchi automata translation for on-the-fly model checking. ManuscriptGoogle Scholar
  37. TCW06.
    Tsay Y-K, Chen Y-F, Wu K-N (2006) Tool support for learning Büchi automata and linear temporal logic. Presented at the Formal Methods in the Teaching Lab Workshop (affiliated with FM 2006)Google Scholar
  38. Tho99.
    Thomas W (1999) Complementation of Büchi automata revisited. In: Jewels are forever, contributions on theoretical computer science in honor of Arto Salomaa, pp 109–120. Springer, BerlinGoogle Scholar
  39. Tsa00.
    Tsay Y-K (2000) Compositional verification in linear-time temporal logic. In: Proceedings of the 3rd international conference on foundations of software science and computation structures (FOSSACS 2000), LNCS 1784, pp 344–358. Springer, BerlinGoogle Scholar
  40. VW86.
    Vardi MY, Wolper P (1986) An automata-theoretic approach to automatic program verification. In: Proceedings of the 1st annual IEEE symposium on logic in computer science (LICS 1986), pp 332–344. IEEE Computer SocietyGoogle Scholar
  41. Wol83.
    Wolper P (1983) Temporal logic can be more expressive. Inf Control 56: 72–99zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© British Computer Society 2008

Authors and Affiliations

  • Yih-Kuen Tsay
    • 1
  • Yu-Fang Chen
    • 1
  • Ming-Hsien Tsai
    • 1
  • Kang-Nien Wu
    • 1
  • Wen-Chin Chan
    • 1
  • Chi-Jian Luo
    • 1
  • Jinn-Shu Chang
    • 1
  1. 1.Department of Information ManagementNational Taiwan UniversityTaipeiTaiwan

Personalised recommendations