Abstract
We have shown that it is possible to automatically synthesize the synchronization skeleton of a concurrent program from a Temporal Logic specification. We believe that this approach may in the long run turn out to be quite practical. Since synchronization skeletons are, in general, quite small, the potentially exponential behavior of our algorithm need not be an insurmountable obstacle. Much additional research will be needed, however, to make the approach feasible in practice.
We have also described a model checking algorithm which can be applied to mechanically verify that a finite state concurrent program meets a particular Temporal Logic specification. We believe that practical software tools based on this technique could be developed in the near future. Indeed, we have already programmed an experimental implementation of the model checker on the DEC 11/70 at Harvard.* Certain applications seem particularly suited to the model checker approach to verification: One example is the problem of verifying the correctness of existing network protocols many of which are coded as finite state machines. We encourage additional work in this area.
This work was partially supported by NSF Grant MCS-7908365.
Preview
Unable to display preview. Download preview PDF.
8. Bibliography
Ben-Ari, M., personal communication, 1981.
Ben-Ari, M., Halpern, J., and Pnueli, A., Finite Models for Deterministic Propositional Logic. Proceedings 8th Int. Colloquium on Automata, Languages, and Programming, to appear, 1981.
Ben-Ari, M., Manna, Z., and Pnueli, A., The Temporal Logic of Branching Time. 8th Annual ACM Symp. on Principles of Programming Languages, 1981.
Clarke, E.M., Program Invariants as Fixpoints. 18th Annual Symp. on Foundations of Computer Science, 1977.
Emerson, E.A., and Clarke, E.M., Characterizing Correctness Properties of Parallel Programs as Fixpoints. Proceedings 7th Int. Colloquium on Automata, Languages, and Programming, Lecture Notes in Computer Science #85, Springer-Verlag, 1981.
Emerson, E.A., and Halpern, J., A New Decision Procedure for the Temporal Logic of Branching Time, unpublished manuscript, Harvard Univ., 1981.
Flon, L., and Suzuki, N., The Total Correctness of Parallel Programs. SIAM J. Comp., to appear, 1981.
Gabbay, D., Pnueli, A., et al., The Temporal Analysis of Fairness. 7th Annual ACM Symp. on Principles of Programming Languages, 1980.
Hughes, G., and Cresswell, M., An Introduction to Modal Logic. Methuen, London, 1968.
Lamport, L., "Sometime" is Sometimes "Not Never." 7th Annual ACM Symp. on Principles of Prgramming Languages, 1980.
Laventhal, M., Synthesis of Synchronization Code for Data Abstractions, Ph.D. Thesis, M.I.T., June 1978.
Park, D., Fixpoint Induction and Proofs of Program Properties, in Machine Intelligence 5 (D. Mitchie, ed.), Edinburgh University Press, 1970.
Pratt, V., A Practical Decision Method for Propositional Dynamic Logic. 10th ACM Symp. on Theory of Computing, 1977.
Ramamritham, K., and Keller, R., Specification and Synthesis of Synchronizers. 9th International Conference on Parallel Processing, 1980.
Smullyan, R.M., First Order Logic. Springer-Verlag, Berlin, 1968.
Tarski, A., A Lattice-Theoretical Fixpoint Theorem and Its Applications. Pacific J. Math., 5, pp. 285–309 (1955).
Tarjan, R., Depth First Search and Linear Graph Algorithms. SIAM J. Comp. 1:2, pp. 146–160, 1972.
Wolper, P. Synthesis of Communicating Processes From Temporal Logic Specifications, unpublished manuscript, Stanford Univ., 1981.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1982 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Clarke, E.M., Emerson, E.A. (1982). Design and synthesis of synchronization skeletons using branching time temporal logic. In: Kozen, D. (eds) Logics of Programs. Logic of Programs 1981. Lecture Notes in Computer Science, vol 131. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0025774
Download citation
DOI: https://doi.org/10.1007/BFb0025774
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-11212-9
Online ISBN: 978-3-540-39047-3
eBook Packages: Springer Book Archive