Skip to main content

Specification and verification of concurrent programs by ∀-automata

  • Collected Papers
  • Conference paper
  • First Online:
Temporal Logic in Specification

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 398))

Abstract

∀-automata are non-deterministic finite-state automata over infinite sequences. They differ from conventional automata in that a sequence is accepted if all runs of the automaton over the sequence are accepting. These automata are suggested as a formalism for the specification and verification of temporal properties of concurrent programs. It is shown that they are as expressive as extended temporal logic (ETL), and, in some cases, provide a more compact representation of properties than temporal logic. A structured diagram notation is suggested for the graphical representation of these automata. A single sound and complete proof rule is presented for proving that all computations of a program have the property specified by a ∀-automaton.

An abbreviated version of this paper appeared in the Proceedings of the 14th Symp. on Principles of Programming Languages (January 1987).

This research was supported by the National Science Foundation under Grant DCR-84-13230 and by the Defense Advanced Research Projects Agency under Contract N00039-84-C-0211.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. K. Apt, G.D. Plotkin — Countable Nondeterminism and Random Assignment, JACM 33,4 (1986), 724–767.

    Google Scholar 

  2. B. Alpern, F.B. Schneider — Verifying Temporal Properties without using Temporal Logic, to appear in TOPLAS.

    Google Scholar 

  3. E.M. Clarke, E.A. Emerson, A.P. Sistla — Automatic Verification of Finite-State Concurrent Systems using Temporal Logic Specifications, TOPLAS 8,2 (April 1986), 244–263.

    Google Scholar 

  4. E.W. Dijkstra — A Discipline of Programming, Prentice Hall (1976).

    Google Scholar 

  5. E.A. Emerson, C.L. Lei — Modalities for Model Checking: Branching Time Strikes Back, 12th Symp. on Principles of Programming Languages (1985), 84–96.

    Google Scholar 

  6. R.W. Floyd — Assigning Meanings to Programs, in Mathematical Aspects of Computer Science, 19th Symp. of Appl. Math., American Mathematical Society, Providence (1967), 19–32.

    Google Scholar 

  7. N. Francez — Fairness, Springer-Verlag (1986).

    Google Scholar 

  8. O. Grumberg, N. Francez, J.A. Makowsky, W.P. deRoever — A Proof Rule for Fair Termination of Guarded Commands, Information and Control 66 (1985), 83–102.

    Google Scholar 

  9. D. Harel — Statecharts: A Visual Formalism for Complex Systems, Technical Report, Weizmann Institute (1984).

    Google Scholar 

  10. D. Harel — Effective Transformations on Infinite Trees, with Applications to High Undecidability, Dominoes, and Fairness, JACM 33,1 (1986), 224–248.

    Google Scholar 

  11. C.A.R. Hoare — An Axiomatic Approach to Computer Programming, CACM 12 (1969), 576–583.

    Google Scholar 

  12. O. Lichtenstein, A. Pnueli — Checking that Finite-State Concurrent Programs Satisfy their Linear Specifications, 12th Symp. on Principles of Programming Languages (1985), 97–107.

    Google Scholar 

  13. D. Lehmann, A. Pnueli, J. Stavi — Impartiality, Justice and Fairness: The Ethics of Concurrent Termination, LNCS 115, Springer-Verlag (1981).

    Google Scholar 

  14. Z. Manna, A. Pnueli — Verification of Concurrent Programs: The Temporal Framework, in The Correctness Problem in Computer Science (R.S. Boyer, J.S. Moore, eds.), Academic Press (1981), 215–274.

    Google Scholar 

  15. Z. Manna, A. Pnueli — Adequate Proof Principles for Invariance and Liveness Properties of Concurrent Programs, Science of Computer Programming 4 (1984), 257–289.

    Google Scholar 

  16. S. Owicki, L. Lamport — Proving Liveness Properties of Concurrent Programs, TOPLAS 4,3 (1982), 455–495.

    Google Scholar 

  17. G.L. Peterson — Myths about the Mutual-Exclusion Problem, Information Processing Letters 12,3 (1981), 115–116.

    Google Scholar 

  18. F.A. Stomp, W.P. deRoever, R.T. Gerth — The μ-Calculus as an Assertion Language for Fairness Arguments, Technical Report 84–12, Utrecht (1984).

    Google Scholar 

  19. M.Y. Vardi — Verification of Concurrent Programs: The Automata-Theoretic Framework, 2nd Symp. on Logic in Computer Science, Ithaca (1987), 167–176.

    Google Scholar 

  20. M.Y. Vardi, P. Wolper — An Automata-Theoretic Approach to Automatic Program Verification, IEEE Symp. on Logic in Computer Science, Cambridge (1986), 332–344.

    Google Scholar 

  21. P. Wolper — Temporal Logic can be More Expressive, 22nd Symp. on Foundations of Computer Science (1981), 340–348.

    Google Scholar 

  22. P. Wolper, M.Y. Vardi, A.P. Sistla — Reasoning about Infinite Computation Paths, 24th Symp. on Foundations of Computer Science, Tucson (1983), 185–194.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

B. Banieqbal H. Barringer A. Pnueli

Rights and permissions

Reprints and permissions

Copyright information

© 1989 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Manna, Z., Pnueli, A. (1989). Specification and verification of concurrent programs by ∀-automata. In: Banieqbal, B., Barringer, H., Pnueli, A. (eds) Temporal Logic in Specification. Lecture Notes in Computer Science, vol 398. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-51803-7_24

Download citation

  • DOI: https://doi.org/10.1007/3-540-51803-7_24

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-51803-7

  • Online ISBN: 978-3-540-46811-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics