Design and synthesis of synchronization skeletons using branching time temporal logic

  • Edmund M. Clarke
  • E. Allen Emerson
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 131)


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.


Model Checker Temporal Logic Decision Procedure Successor State Critical Section 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

8. Bibliography

  1. [BA81]
    Ben-Ari, M., personal communication, 1981.Google Scholar
  2. [BH81]
    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. [BM81]
    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. [CL77]
    Clarke, E.M., Program Invariants as Fixpoints. 18th Annual Symp. on Foundations of Computer Science, 1977.Google Scholar
  5. [EC80]
    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. [EH81]
    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. [FS81]
    Flon, L., and Suzuki, N., The Total Correctness of Parallel Programs. SIAM J. Comp., to appear, 1981.Google Scholar
  8. [GP80]
    Gabbay, D., Pnueli, A., et al., The Temporal Analysis of Fairness. 7th Annual ACM Symp. on Principles of Programming Languages, 1980.Google Scholar
  9. [HC68]
    Hughes, G., and Cresswell, M., An Introduction to Modal Logic. Methuen, London, 1968.Google Scholar
  10. [LA80]
    Lamport, L., "Sometime" is Sometimes "Not Never." 7th Annual ACM Symp. on Principles of Prgramming Languages, 1980.Google Scholar
  11. [LA78]
    Laventhal, M., Synthesis of Synchronization Code for Data Abstractions, Ph.D. Thesis, M.I.T., June 1978.Google Scholar
  12. [PA69]
    Park, D., Fixpoint Induction and Proofs of Program Properties, in Machine Intelligence 5 (D. Mitchie, ed.), Edinburgh University Press, 1970.Google Scholar
  13. [PR77]
    Pratt, V., A Practical Decision Method for Propositional Dynamic Logic. 10th ACM Symp. on Theory of Computing, 1977.Google Scholar
  14. [RK80]
    Ramamritham, K., and Keller, R., Specification and Synthesis of Synchronizers. 9th International Conference on Parallel Processing, 1980.Google Scholar
  15. [SM68]
    Smullyan, R.M., First Order Logic. Springer-Verlag, Berlin, 1968.Google Scholar
  16. [TA55]
    Tarski, A., A Lattice-Theoretical Fixpoint Theorem and Its Applications. Pacific J. Math., 5, pp. 285–309 (1955).Google Scholar
  17. [TA72]
    Tarjan, R., Depth First Search and Linear Graph Algorithms. SIAM J. Comp. 1:2, pp. 146–160, 1972.CrossRefGoogle Scholar
  18. [WO81]
    Wolper, P. Synthesis of Communicating Processes From Temporal Logic Specifications, unpublished manuscript, Stanford Univ., 1981.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1982

Authors and Affiliations

  • Edmund M. Clarke
    • 1
  • E. Allen Emerson
    • 1
  1. 1.Aiken Computation LaboratoryHarvard UniversityCambridgeUSA

Personalised recommendations