Advertisement

Alternating automata: Unifying truth and validity checking for temporal logics

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

Abstract

We describe an automata-theoretic approach to the automated checking of truth and validity for temporal logics. The basic idea underlying this approach is that for any formula we can construct an alternating automaton that accepts precisely the models of the formula. For linear temporal logics the automaton runs on infinite words while for branching temporal logics the automaton runs on infinite trees. The simple combinatorial structures that emerge from the automata-theoretic approach decouple the logical and algorithmic components of truth and validity checking and yield clean and essentially optimal algorithms for both problems.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [BL80]
    J.A. Brzozowski and E. Leiss. Finite automata, and sequential networks. Theoretical Computer Science, 10:19–35, 1980.CrossRefGoogle Scholar
  2. [BVW94]
    O. Bernholtz, M.Y. Vardi, and P. Wolper. An automata-theoretic approach to branching-time model checking. In D.L. Dill, editor, Computer Aided Verification, Proc. 6th Int. Conference, volume 818 of Lecture Notes in Computer Science, pages 142–155, Stanford, California, 1994. Springer-Verlag, Berlin. full version available from authors.Google Scholar
  3. [CES86]
    E.M. Clarke, E.A. Emerson, and A.P. Sistla. Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Transactions on Programming Languages and Systems, 8(2):244–263, 1986.CrossRefGoogle Scholar
  4. [CG87]
    E.M. Clarke and O. Grumberg. Avoiding the state explosion problem in temporal logic model-checking algorithms. In Proc. 6th ACM Symposium on Principles of Distributed Computing, pages 294–303, Vancouver, British Columbia, August 1987.Google Scholar
  5. [CGL93]
    E.M. Clarke, O. Grumberg, and D. Long. Verification tools for finite-state concurrent systems. In A Decade of Concurrency — Reflections and Perspectives (Proc. REX School/Symposium), volume 803 of Lecture Notes in Computer Science, pages 124–175. Springer-Verlag, Berlin, 1993.Google Scholar
  6. [Cho74]
    Y. Choueka. Theories of automata on ω-tapes: A simplified approach. J. Computer and System Sciences, 8:117–141, 1974.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, 1981.Google Scholar
  8. [Cle93]
    R. Cleaveland. A linear-time model-checking algorithm for the alternation-free modal μ-calculus. Formal Methods in System Design, 2:121–147, 1993.CrossRefGoogle 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. [EH85]
    E.A. Emerson and J.Y. Halpern. Decision procedures and expressiveness in the temporal logic of branching time. Journal of Computer and System Sciences, 30:1–24, 1985.CrossRefGoogle Scholar
  11. [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, pages 328–337, White Plains, October 1988.Google Scholar
  12. [EJ91]
    E.A. Emerson and C. Jutla. Tree automata, mu-calculus and determinacy. In Proceedings of the 32nd IEEE Symposium on Foundations of Computer Science, pages 368–377, San Juan, October 1991.Google Scholar
  13. [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
  14. [EL85b]
    E.A. Emerson and C.-L. Lei. Temporal model checking under generalized fairness constraints. In Proc. 18th Hawaii International Conference on System Sciences, pages 277–288, Hawaii, 1985.Google Scholar
  15. [Eme85]
    E.A. Emerson. Automata, tableaux, and temporal logics. In Logic of Programs, volume 193 of Lecture Notes in Computer Science, pages 79–87. Springer-Verlag, Berlin, 1985.Google Scholar
  16. [Eme90a]
    E.A. Emerson. Temporal and modal logic. Handbook of Theoretical Computer Science, B:997–1072, 1990.Google Scholar
  17. [Eme90b]
    E.A. Emerson. Temporal and modal logic. Handbook of theoretical computer science, pages 997–1072, 1990.Google Scholar
  18. [ES84]
    E.A. Emerson and A. P. Sistla. Deciding branching time logic. In Proceedings of the 16th ACM Symposium on Theory of Computing, pages 14–24, Washington, April 1984.Google Scholar
  19. [FL79]
    M.J. Fischer and R.E. Ladner. Propositional dynamic logic of regular programs. J. of Computer and Systems Sciences, 18:194–211, 1979.Google Scholar
  20. [GL94]
    O. Grumberg and D.E. Long. Model checking and modular verification. ACM Trans. on Programming Languages and Systems, 16(3):843–871, 1994.Google Scholar
  21. [HV91]
    J. Y. Halpern and M. Y. Vardi. Model checking vs. theorem proving: a manifesto. In V. Lifschitz, editor, Artificial Intelligence and Mathematical Theory of Computation (Papers in Honor of John McCarthy), pages 151–176. Academic Press, San Diego, Calif., 1991.Google Scholar
  22. [KV97]
    Orna Kupferman and M. Y. Vardi. Weak alternating automata are not so weak. In Proc. 5th Israeli Symp. on Theory of Computing and Systems, 1997.Google Scholar
  23. [Lam80]
    L. Lamport. Sometimes is sometimes “not never” — on the temporal logic of programs. In Proceedings of the 7th ACM Symposium on Principles of Programming Languages, pages 174–185, January 1980.Google Scholar
  24. [Liu89]
    M.T. Liu. Protocol engineering. Advances in Computing, 29:79–195, 1989.Google Scholar
  25. [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
  26. [LPZ85]
    O. Lichtenstein, A. Pnueli, and L. Zuck. The glory of the past. In Logics of Programs, volume 193 of Lecture Notes in Computer Science, pages 196–218, Brooklyn, 1985. Springer-Verlag, Berlin.Google Scholar
  27. [MH84]
    S. Miyano and T. Hayashi. Alternating finite automata on ω-words. Theoretical Computer Science, 32:321–330, 1984.CrossRefGoogle Scholar
  28. [Mic88]
    M. Michel. Complementation is more difficult with automata on infinite words. CNET, Paris, 1988.Google Scholar
  29. [MP92]
    Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, Berlin, 1992.Google Scholar
  30. [MS87]
    D.E. Muller and P.E. Schupp. Alternating automata on infinite trees. Theoretical Computer Science, 54:267–276, 1987.CrossRefGoogle Scholar
  31. [MS95]
    D.E. Muller and P.E. Schupp. Simulating alternating tree automata by nondeterministic automata: New results and new proofs of the theorems by Rabin, McNaughton and Safra. Theoretical Computer Science, 141(1–2):69–108, April 1995.Google Scholar
  32. [MSS86]
    D.E. Muller, A. Saoudi, and P.E. Schupp. Alternating automata, the weak monadic theory of the tree and its complexity. In L. Kott, editor, Automata, Languages and Programming, Proc. 13th Int. Colloquium (ICALP '86), volume 226 of Lecture Notes in Computer Science, pages 275–283. Springer-Verlag, Berlin, 1986.Google Scholar
  33. [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 time. In Proceedings 3rd IEEE Symposium on Logic in Computer Science, pages 422–427, Edinburgh, July 1988.Google Scholar
  34. [Pei85]
    R. Peikert. ω-regular languages and propositional temporal logic. Technical Report 85-01, ETH, 1985.Google Scholar
  35. [Pnu77]
    A. Pnueli. The temporal logic of programs. In Proc. 18th IEEE Symposium on Foundation of Computer Science, pages 46–57, 1977.Google Scholar
  36. [QS81]
    J.P. Queille and J. Sifakis. Specification and verification of concurrent systems in Cesar. In Int. Symp. on programming, Proc. 5th Int. Symposium, volume 137 of Lecture Notes in Computer Science, pages 337–351. Springer-Verlag, Berlin, 1981.Google Scholar
  37. [Rab70]
    M.O. Rabin. Weakly definable relations and special automata. In Y. Bar-Hilel, editor, Proc. Symp. Math. Logic and Foundations of Set Theory, pages 1–23. North Holland, 1970.Google Scholar
  38. [Rud87]
    H. Rudin. Network protocols and tools to help produce them. Annual Review of Computer Science, 2:291–316, 1987.CrossRefGoogle Scholar
  39. [Saf88]
    S. Safra. On the complexity of omega-automata. In Proceedings of the 29th IEEE Symposium on Foundations of Computer Science, pages 319–327, White Plains, October 1988.Google Scholar
  40. [SC85]
    A.P. Sistla and E.M. Clarke. The complexity of propositional linear temporal logic. Journal of the Association for Computing Machinery, 32:733–749, 1985.Google Scholar
  41. [SE84]
    R. S. Streett and E. A. Emerson. The propositional mu-calculus is elementary. In J. Paredaens, editor, Automata, Languages and Programming, Proc. 11th Int. Colloquium (ICALP '84), volume 172 of Lecture Notes in Computer Science, pages 465–472. Springer-Verlag, Berlin, 1984.Google Scholar
  42. [Sis83]
    A.P. Sistla. Theoretical issues in the design and analysis of distributed systems. PhD thesis, Harvard University, 1983.Google Scholar
  43. [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
  44. [Var82]
    M.Y. Vardi. The complexity of relational query languages. In Proc. 14th ACM Symp. on Theory of Computing, pages 137–146, San Francisco, 1982.Google Scholar
  45. [Var94]
    M.Y. Vardi. Nontraditional applications of automata theory. In Theoretical Aspects of Computer Software, Proc. Int. Symposium (TACS'94), Volume 789 of Lecture Notes in Computer Science, pages 575–597. Springer-Verlag, Berlin, 1994.Google Scholar
  46. [Var96]
    M.Y. Vardi. Alternating automata and program verification. In Computer Science Today-Recent Trends and Developments, Lecture Notes in Computer Science 1000, pages 471–485. Springer-Verlag, 1996.Google Scholar
  47. [VW86a]
    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
  48. [VW86b]
    M.Y. Vardi and P. Wolper. Automata-theoretic techniques for modal logics of programs. Journal of Computer and System Science, 32(2): 182–21, April 1986.Google Scholar
  49. [VW94]
    M.Y. Vardi and P. Wolper. Reasoning about infinite computations. Information and Computation, 115(1):1–37, 1994.CrossRefGoogle Scholar
  50. [Wol89]
    P. Wolper. On the relation of programs and computations to models of temporal logic. In Temporal Logic in Specification, Proc., Volume 398 of Lecture Notes in Computer Science, pages 75–123. Springer-Verlag, Berlin, 1989.Google Scholar
  51. [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 1997

Authors and Affiliations

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

Personalised recommendations