Advertisement

An automata-theoretic approach to linear temporal logic

  • Moshe Y. Vardi
Chapter
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1043)

Abstract

The automata-theoretic approach to linear temporal logic uses the theory of automata as a unifying paradigm for program specification, verification, and synthesis. Both programs and specifications are in essence descriptions of computations. These computations can be viewed as words over some alphabet. Thus, programs and specifications can be viewed as descriptions of languages over some alphabet. The automata-theoretic perspective considers the relationships between programs and their specifications as relationships between languages. By translating programs and specifications to automata, questions about programs and their specifications can be reduced to questions about automata. More specifically, questions such as satisfiability of specifications and correctness of programs with respect to their specifications can be reduced to questions such as nonemptiness and containment of automata.

Unlike classical automata theory, which focused on automata on finite words, the applications to program specification, verification, and synthesis, use automata on infinite words, since the computations in which we are interested are typically infinite. This paper provides an introduction to the theory of automata on infinite words and demonstrates its applications to program specification, verification, and synthesis.

Keywords

Temporal Logic Linear Temporal Logic Input Word Graph Reachability Verification Problem 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [ALW89]
    M. Abadi, L. Lamport, and P. Wolper. Realizable and unrealizable concurrent program specifications. In Proc. 16th Int. Colloquium on Automata, Languages and Programming, volume 372, pages 1–17. Lecture Notes in Computer Science, Springer-Verlag, July 1989.Google Scholar
  2. [BL69]
    J.R. Büchi and L.H.G. Landweber. Solving sequential conditions by finite-state strategies. Trans. AMS, 138:295–311, 1969.Google Scholar
  3. [BL80]
    J.A. Brzozowski and E. Leiss. Finite automata, and sequential networks. Theoretical Computer Science, 10:19–35, 1980.CrossRefGoogle Scholar
  4. [Büc62]
    J.R. Büchi. On a decision method in restricted second order arithmetic. In Proc. Internat. Congr. Logic, Method and Philos. Sci. 1960, pages 1–12, Stanford, 1962. Stanford University Press.Google Scholar
  5. [Cho74]
    Y. Choueka. Theories of automata on ω-tapes: A simplified approach. J. Computer and System Sciences, 8:117–141, 1974.Google Scholar
  6. [Chu63]
    A. Church. Logic, arithmetics, and automata. In Proc. International Congress of Mathematicians, 1962, pages 23–35. institut Mittag-Leffler, 1963.Google Scholar
  7. [CKS81]
    A.K. Chandra, D.C. Kozen, and L.J. Stockmeyer. Alternation. Journal of the Association for Computing Machinery, 28(1):114–133, January 1981.Google Scholar
  8. [CLR90]
    T.H. Cormen, C.E. Leiserson, and R.L. Rivest. Introduction to Algorithms. MIT Press, 1990.Google Scholar
  9. [CVWY92]
    C. Courcoubetis, M.Y. Vardi, P. Wolper, and M. Yannakakis. Memory efficient algorithms for the verification of temporal properties. Formal Methods in System Design, 1:275–288, 1992.CrossRefGoogle Scholar
  10. [Dil89]
    D.L. Dill. Trace theory for automatic hierarchical verification of speed independent circuits. MIT Press, 1989.Google Scholar
  11. [EC82]
    E.A. Emerson and E.M. Clarke. Using branching time logic to synthesize synchronization skeletons. Science of Computer Programming, 2:241–266, 1982.CrossRefGoogle Scholar
  12. [EH86]
    E.A. Emerson and J.Y. Halpern. Sometimes and not never revisited: On branching versus linear time. Journal of the ACM, 33(1):151–178, 1986.CrossRefGoogle Scholar
  13. [EJ88]
    E.A. Emerson and C. Jutla. The complexity of tree automata and logics of programs. In Proceedings of the 29th IEEE Symposium on Foundations of Computer Science, White Plains, October 1988.Google Scholar
  14. [EJ89]
    E.A. Emerson and C. Jutla. On simultaneously determinizing and complementing ω-automata. In Proceedings of the 4th IEEE Symposium on Logic in Computer Science, pages 333–342, 1989.Google Scholar
  15. [EL85a]
    E.A. Emerson and C.-L. Lei. Modalities for model checking: Branching time logic strikes back. In Proceedings of the Twelfth ACM Symposium on Principles of Programming Languages, pages 84–96, New Orleans, January 1985.Google Scholar
  16. [EL85b]
    E.A. Emerson and C.-L. Lei. Temporal model checking under generalized fairness constraints. In Proc. 18th Hawaii International Conference on System Sciences, Hawaii, 1985.Google Scholar
  17. [Eme85]
    E.A. Emerson. Automata, tableaux, and temporal logics. In Proc. Workshop on Logic of Programs, volume 193 of Lecture Notes in Computer Science, pages 79–87. Springer-Verlag, 1985.Google Scholar
  18. [GJ79]
    M. Garey and D. S. Johnson. Computers and Intractability: A Guide to the Theory of NP-completeness. W. Freeman and Co., San Francisco, 1979.Google Scholar
  19. [GPSS80]
    D. Gabbay, A. Pnueli, S. Shelah, and J. Stavi. On the temporal analysis of fairness. In Proceedings of the 7th ACM Symposium on Principles of Programming Languages, pages 163–173, January 1980.Google Scholar
  20. [GS53]
    D. Gale and F. M. Stewart. Infinite games of perfect information. Ann. Math. Studies, 28:245–266, 1953.Google Scholar
  21. [HP85]
    D. Harel and A. Pnueli. On the development of reactive systems. In K. Apt, editor, Logics and Models of Concurrent Systems, volume F-13 of NATO Advanced Summer Institutes, pages 477–498. Springer-Verlag, 1985.Google Scholar
  22. [HR72]
    R. Hossley and C.W. Rackoff. The emptiness problem for automata on infinite trees. In Proc. 13th IEEE Symp. on Switching and Automata Theory, pages 121–124, 1972.Google Scholar
  23. [HU79]
    J.E. Hopcroft and J.D. Ullman. Introduction to Automata Theory, Languages and Computation. Addison-Wesley, New York, 1979.Google Scholar
  24. [Jon75]
    N.D. Jones. Space-bounded reducibility among combinatorial problems. Journal of Computer and System Sciences, 11:68–75, 1975.Google Scholar
  25. [Lam80]
    L. Lamport. Sometimes is sometimes “not never” — on the temporallogic of programs. In Proceedings of the 7th ACM Symposiumon Principles of Programming Languages, pages 174–185, January 1980.Google Scholar
  26. [Lei81]
    Leiss. Succinctrepresentation of regular languages by boolean automata. Theoretical Computer Science, 13:323–330, 1981.Google Scholar
  27. [Liu89]
    M.T. Liu. Protocol engineering. Advances in Computing, 29:79–195, 1989.Google Scholar
  28. [LP85]
    O. Lichtenstein and A. Pnueli. Checking that finite state concurrent programs satisfy their linear specification. In Proceedings of the Twelfth ACM Symposium on Principles of Programming Languages, pages 97–107, New Orleans, January 1985.Google Scholar
  29. [LPZ85]
    O. Lichtenstein, A. Pnueli, and L. Zuck. The glory of the past. In Logics of Programs, volume 193, pages 196–218, Brooklyn, June 1985. Lecture Notes in Computer Science, Springer-Verlag.Google Scholar
  30. [McN66]
    R. McNaughton. Testing and generating infinite sequences by a finite automaton. Information and Control, 9:521–530, 1966.Google Scholar
  31. [MF71]
    A.R. Meyer and M.J. Fischer. Economy of description by automata, grammars, and formal systems. In Proc. 12th IEEE Symp. on Switching and Automata Theory, pages 188–191, 1971.Google Scholar
  32. [MH84]
    S. Miyano and T. Hayashi. Alternating finite automata on ω-words. Theoretical Computer Science, 32:321–330, 1984.CrossRefGoogle Scholar
  33. [Mic88]
    M. Michel. Complementation is more difficult with automata on infinite words. CNET, Paris, 1988.Google Scholar
  34. [Mos80]
    Y.N. Moschovakis. Descriptive Set Theory. North Holland, 1980.Google Scholar
  35. [MP92]
    Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, Berlin, January 1992.Google Scholar
  36. [MS72]
    A.R. Meyer and L.J. Stockmeyer. The equivalence problem for regular expressions with squaring requires exponential time. In Proc. 13th IEEE Symp. on Switching and Automata Theory, pages 125–129, 1972.Google Scholar
  37. [MS87]
    D.E. Muller and P.E. Schupp. Alternating automata on infinite trees. Theoretical Computer Science, 54,:267–276, 1987.CrossRefGoogle Scholar
  38. [MSS88]
    D. E. Muller, A. Saoudi, and P. E. Schupp. Weak alternating automata give a simple explanation of why most temporal and dynamic logics are decidable in exponential tune. In Proceedings 3rd IEEE Symposium on Logic in Computer Science, pages 422–427, Edinburgh, July 1988.Google Scholar
  39. [MW84]
    Z. Manna and P. Wolper. Synthesis of communicating processes from temporal logic specifications. ACM Transactions on Programming Languages and Systems, 6(1):68–93, January 1984.Google Scholar
  40. [OL82]
    S. Owicki and L. Lamport. Proving liveness properties of concurrent programs. ACM Transactions on Programming Languages and Systems, 4(3):455–495, July 1982.CrossRefGoogle Scholar
  41. [Pei85]
    R. Peikert. ω-regular languages and propositional temporal logic. Technical Report 85-01, ETH, 1985.Google Scholar
  42. [Pnu77]
    A. Pnueli. The temporal logic of programs. In Proc. 18th IEEE Symposium on Foundation of Computer Science, pages 46–57, 1977.Google Scholar
  43. [PR89]
    A. Pnueli and R. Rosner. On the synthesis of a reactive module. In Proceedings of the Sixteenth ACM Symposium on Principles of Programming Languages, Austin, Januery 1989.Google Scholar
  44. [Rab69]
    M.O. Rabin. Decidability of second order theories and automata on infinite trees. Transaction of the AMS, 141:1–35, 1969.Google Scholar
  45. [Rab72]
    M.O. Rabin. Automata on infinite objects and Church's problem. In Regional Conf. Ser. Math., 13, Providence, Rhode Island, 1972. AMS.Google Scholar
  46. [RS59]
    M.O. Rabin and D. Scott. Finite automata and their decision problems. IBM J. of Research and Development, 3:115–125, 1959.Google Scholar
  47. [Rud87]
    H. Rudin. Network protocols and tools to help produce them. Annual Review of Computer Science, 2:291–316, 1987.CrossRefGoogle Scholar
  48. [Saf88]
    S. Safra. On the complexity of omega-automata. In Proceedings of the 29th IEEE Symposium on Foundations of Computer Science, White Plains, October 1988.Google Scholar
  49. [Sav70]
    W.J. Savitch. Relationship between nondeterministic and deterministic tape complexities. J. on Computer and System Sciences, 4:177–192, 1970.Google Scholar
  50. [SC85]
    A.P. Sistla and E.M. Clarke. The complexity of propositional linear temporal logic. J. ACM, 32:733–749, 1985.CrossRefGoogle Scholar
  51. [Sis83]
    A.P. Sistla. Theoretical issues in the design and analysis of distributed systems. PhD thesis, Harvard University, 1983.Google Scholar
  52. [SPH84]
    R. Sherman, A. Pnueli, and D. Harel. Is the interesting part of process logic uninteresting: a translation from PL to PDL. SIAM J. on Computing, 13(4):825–839, 1984.CrossRefGoogle Scholar
  53. [SVW87]
    A.P. Sistla, M.Y. Vardi, and P. Wolper. The complementation problem for Büchi automata with applications to temporal logic. Theoretical Computer Science, 49:217–237, 1987.CrossRefGoogle Scholar
  54. [Tho90]
    W. Thomas. Automata on infinite objects. Handbook of theoretical computer science, pages 165–191, 1990.Google Scholar
  55. [Var94]
    M.Y. Vardi. Nontraditional applications of automata theory. In Proc. Int'l Symp. on Theoretical Aspects of Computer Software, volume 789, pages 575–597. Lecture Notes in Computer Science, Springer-Verlag, 1994.Google Scholar
  56. [VS85]
    M.Y. Vardi and L. Stockmeyer. Improved upper and lower bounds for modal logics of programs. In Proc 17th ACM Symp. on Theory of Computing, pages 240–251, 1985.Google Scholar
  57. [VW86]
    M.Y. Vardi and P. Wolper. An automata-theoretic approach to automatic program verification. In Proceedings of the First Symposium on Logic in Computer Science, pages 322–331, Cambridge, June 1986.Google Scholar
  58. [VW94]
    M.Y. Vardi and P. Wolper. Reasoning about infinite computations. Information and Computation, 115(1):1–37, November 1994.CrossRefGoogle Scholar
  59. [Wol82]
    P. Wolper. Synthesis of Communicating Processes from Temporal Logic Specifications. PhD thesis, Stanford University, 1982.Google Scholar
  60. [WVS83]
    P. Wolper, M.Y. Vardi, and A.P. Sistla. Reasoning about infinite computation paths. In Proc. 24th IEEE Symposium on Foundations of Computer Science, pages 185–194, Tucson, 1983.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • Moshe Y. Vardi
    • 1
  1. 1.Department of Computer ScienceRice UniversityHoustonUSA

Personalised recommendations