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

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

  • Affiliations:
  • National Taiwan University, Department of Information Management, No. 1, Sec. 4, Roosevelt Rd., 106, Taipei, Taiwan;National Taiwan University, Department of Information Management, No. 1, Sec. 4, Roosevelt Rd., 106, Taipei, Taiwan;National Taiwan University, Department of Information Management, No. 1, Sec. 4, Roosevelt Rd., 106, Taipei, Taiwan;National Taiwan University, Department of Information Management, No. 1, Sec. 4, Roosevelt Rd., 106, Taipei, Taiwan;National Taiwan University, Department of Information Management, No. 1, Sec. 4, Roosevelt Rd., 106, Taipei, Taiwan;National Taiwan University, Department of Information Management, No. 1, Sec. 4, Roosevelt Rd., 106, Taipei, Taiwan;National Taiwan University, Department of Information Management, No. 1, Sec. 4, Roosevelt Rd., 106, Taipei, Taiwan

  • Venue:
  • Formal Aspects of Computing
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

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.