Skip to main content

An automata-theoretic approach to linear temporal logic

  • Chapter
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((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.

Part of this work was done at the IBM Almaden Research Center.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 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. J.A. Brzozowski and E. Leiss. Finite automata, and sequential networks. Theoretical Computer Science, 10:19–35, 1980.

    Article  Google Scholar 

  4. 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. Y. Choueka. Theories of automata on ω-tapes: A simplified approach. J. Computer and System Sciences, 8:117–141, 1974.

    Google Scholar 

  6. A. Church. Logic, arithmetics, and automata. In Proc. International Congress of Mathematicians, 1962, pages 23–35. institut Mittag-Leffler, 1963.

    Google Scholar 

  7. 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. T.H. Cormen, C.E. Leiserson, and R.L. Rivest. Introduction to Algorithms. MIT Press, 1990.

    Google Scholar 

  9. 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.

    Article  Google Scholar 

  10. D.L. Dill. Trace theory for automatic hierarchical verification of speed independent circuits. MIT Press, 1989.

    Google Scholar 

  11. E.A. Emerson and E.M. Clarke. Using branching time logic to synthesize synchronization skeletons. Science of Computer Programming, 2:241–266, 1982.

    Article  Google Scholar 

  12. 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.

    Article  Google Scholar 

  13. 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. 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. 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. 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. 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. 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. 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. D. Gale and F. M. Stewart. Infinite games of perfect information. Ann. Math. Studies, 28:245–266, 1953.

    Google Scholar 

  21. 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. 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. J.E. Hopcroft and J.D. Ullman. Introduction to Automata Theory, Languages and Computation. Addison-Wesley, New York, 1979.

    Google Scholar 

  24. N.D. Jones. Space-bounded reducibility among combinatorial problems. Journal of Computer and System Sciences, 11:68–75, 1975.

    Google Scholar 

  25. 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. Leiss. Succinctrepresentation of regular languages by boolean automata. Theoretical Computer Science, 13:323–330, 1981.

    Google Scholar 

  27. M.T. Liu. Protocol engineering. Advances in Computing, 29:79–195, 1989.

    Google Scholar 

  28. 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. 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. R. McNaughton. Testing and generating infinite sequences by a finite automaton. Information and Control, 9:521–530, 1966.

    Google Scholar 

  31. 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. S. Miyano and T. Hayashi. Alternating finite automata on ω-words. Theoretical Computer Science, 32:321–330, 1984.

    Article  Google Scholar 

  33. M. Michel. Complementation is more difficult with automata on infinite words. CNET, Paris, 1988.

    Google Scholar 

  34. Y.N. Moschovakis. Descriptive Set Theory. North Holland, 1980.

    Google Scholar 

  35. Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, Berlin, January 1992.

    Google Scholar 

  36. 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. D.E. Muller and P.E. Schupp. Alternating automata on infinite trees. Theoretical Computer Science, 54,:267–276, 1987.

    Article  Google Scholar 

  38. 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. 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. S. Owicki and L. Lamport. Proving liveness properties of concurrent programs. ACM Transactions on Programming Languages and Systems, 4(3):455–495, July 1982.

    Article  Google Scholar 

  41. R. Peikert. ω-regular languages and propositional temporal logic. Technical Report 85-01, ETH, 1985.

    Google Scholar 

  42. A. Pnueli. The temporal logic of programs. In Proc. 18th IEEE Symposium on Foundation of Computer Science, pages 46–57, 1977.

    Google Scholar 

  43. 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. M.O. Rabin. Decidability of second order theories and automata on infinite trees. Transaction of the AMS, 141:1–35, 1969.

    Google Scholar 

  45. 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. 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. H. Rudin. Network protocols and tools to help produce them. Annual Review of Computer Science, 2:291–316, 1987.

    Article  Google Scholar 

  48. 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. W.J. Savitch. Relationship between nondeterministic and deterministic tape complexities. J. on Computer and System Sciences, 4:177–192, 1970.

    Google Scholar 

  50. A.P. Sistla and E.M. Clarke. The complexity of propositional linear temporal logic. J. ACM, 32:733–749, 1985.

    Article  Google Scholar 

  51. A.P. Sistla. Theoretical issues in the design and analysis of distributed systems. PhD thesis, Harvard University, 1983.

    Google Scholar 

  52. 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.

    Article  Google Scholar 

  53. 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.

    Article  Google Scholar 

  54. W. Thomas. Automata on infinite objects. Handbook of theoretical computer science, pages 165–191, 1990.

    Google Scholar 

  55. 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. 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. 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. M.Y. Vardi and P. Wolper. Reasoning about infinite computations. Information and Computation, 115(1):1–37, November 1994.

    Article  Google Scholar 

  59. P. Wolper. Synthesis of Communicating Processes from Temporal Logic Specifications. PhD thesis, Stanford University, 1982.

    Google Scholar 

  60. 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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Faron Moller Graham Birtwistle

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Vardi, M.Y. (1996). An automata-theoretic approach to linear temporal logic. In: Moller, F., Birtwistle, G. (eds) Logics for Concurrency. Lecture Notes in Computer Science, vol 1043. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60915-6_6

Download citation

  • DOI: https://doi.org/10.1007/3-540-60915-6_6

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60915-5

  • Online ISBN: 978-3-540-49675-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics