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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
K. Apt, G.D. Plotkin — Countable Nondeterminism and Random Assignment, JACM 33,4 (1986), 724–767.
B. Alpern, F.B. Schneider — Verifying Temporal Properties without using Temporal Logic, to appear in TOPLAS.
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.
E.W. Dijkstra — A Discipline of Programming, Prentice Hall (1976).
E.A. Emerson, C.L. Lei — Modalities for Model Checking: Branching Time Strikes Back, 12th Symp. on Principles of Programming Languages (1985), 84–96.
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.
N. Francez — Fairness, Springer-Verlag (1986).
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.
D. Harel — Statecharts: A Visual Formalism for Complex Systems, Technical Report, Weizmann Institute (1984).
D. Harel — Effective Transformations on Infinite Trees, with Applications to High Undecidability, Dominoes, and Fairness, JACM 33,1 (1986), 224–248.
C.A.R. Hoare — An Axiomatic Approach to Computer Programming, CACM 12 (1969), 576–583.
O. Lichtenstein, A. Pnueli — Checking that Finite-State Concurrent Programs Satisfy their Linear Specifications, 12th Symp. on Principles of Programming Languages (1985), 97–107.
D. Lehmann, A. Pnueli, J. Stavi — Impartiality, Justice and Fairness: The Ethics of Concurrent Termination, LNCS 115, Springer-Verlag (1981).
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.
Z. Manna, A. Pnueli — Adequate Proof Principles for Invariance and Liveness Properties of Concurrent Programs, Science of Computer Programming 4 (1984), 257–289.
S. Owicki, L. Lamport — Proving Liveness Properties of Concurrent Programs, TOPLAS 4,3 (1982), 455–495.
G.L. Peterson — Myths about the Mutual-Exclusion Problem, Information Processing Letters 12,3 (1981), 115–116.
F.A. Stomp, W.P. deRoever, R.T. Gerth — The μ-Calculus as an Assertion Language for Fairness Arguments, Technical Report 84–12, Utrecht (1984).
M.Y. Vardi — Verification of Concurrent Programs: The Automata-Theoretic Framework, 2nd Symp. on Logic in Computer Science, Ithaca (1987), 167–176.
M.Y. Vardi, P. Wolper — An Automata-Theoretic Approach to Automatic Program Verification, IEEE Symp. on Logic in Computer Science, Cambridge (1986), 332–344.
P. Wolper — Temporal Logic can be More Expressive, 22nd Symp. on Foundations of Computer Science (1981), 340–348.
P. Wolper, M.Y. Vardi, A.P. Sistla — Reasoning about Infinite Computation Paths, 24th Symp. on Foundations of Computer Science, Tucson (1983), 185–194.
Author information
Authors and Affiliations
Editor information
Rights 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