Skip to main content

Design and synthesis of synchronization skeletons using branching time temporal logic

  • Conference paper
  • First Online:
Logics of Programs (Logic of Programs 1981)

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

Included in the following conference series:

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.

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.

8. Bibliography

  1. Ben-Ari, M., personal communication, 1981.

    Google Scholar 

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

    Google Scholar 

  3. Ben-Ari, M., Manna, Z., and Pnueli, A., The Temporal Logic of Branching Time. 8th Annual ACM Symp. on Principles of Programming Languages, 1981.

    Google Scholar 

  4. Clarke, E.M., Program Invariants as Fixpoints. 18th Annual Symp. on Foundations of Computer Science, 1977.

    Google Scholar 

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

    Google Scholar 

  6. Emerson, E.A., and Halpern, J., A New Decision Procedure for the Temporal Logic of Branching Time, unpublished manuscript, Harvard Univ., 1981.

    Google Scholar 

  7. Flon, L., and Suzuki, N., The Total Correctness of Parallel Programs. SIAM J. Comp., to appear, 1981.

    Google Scholar 

  8. Gabbay, D., Pnueli, A., et al., The Temporal Analysis of Fairness. 7th Annual ACM Symp. on Principles of Programming Languages, 1980.

    Google Scholar 

  9. Hughes, G., and Cresswell, M., An Introduction to Modal Logic. Methuen, London, 1968.

    Google Scholar 

  10. Lamport, L., "Sometime" is Sometimes "Not Never." 7th Annual ACM Symp. on Principles of Prgramming Languages, 1980.

    Google Scholar 

  11. Laventhal, M., Synthesis of Synchronization Code for Data Abstractions, Ph.D. Thesis, M.I.T., June 1978.

    Google Scholar 

  12. Park, D., Fixpoint Induction and Proofs of Program Properties, in Machine Intelligence 5 (D. Mitchie, ed.), Edinburgh University Press, 1970.

    Google Scholar 

  13. Pratt, V., A Practical Decision Method for Propositional Dynamic Logic. 10th ACM Symp. on Theory of Computing, 1977.

    Google Scholar 

  14. Ramamritham, K., and Keller, R., Specification and Synthesis of Synchronizers. 9th International Conference on Parallel Processing, 1980.

    Google Scholar 

  15. Smullyan, R.M., First Order Logic. Springer-Verlag, Berlin, 1968.

    Google Scholar 

  16. Tarski, A., A Lattice-Theoretical Fixpoint Theorem and Its Applications. Pacific J. Math., 5, pp. 285–309 (1955).

    Google Scholar 

  17. Tarjan, R., Depth First Search and Linear Graph Algorithms. SIAM J. Comp. 1:2, pp. 146–160, 1972.

    Article  Google Scholar 

  18. Wolper, P. Synthesis of Communicating Processes From Temporal Logic Specifications, unpublished manuscript, Stanford Univ., 1981.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Dexter Kozen

Rights and permissions

Reprints 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

Publish with us

Policies and ethics