Logic of Programs 1981: Logics of Programs pp 253-281 | Cite as

Synthesis of communicating processes from Temporal Logic specifications

  • Zohar Manna
  • Pierre Wolper
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 131)


In this paper, we apply Propositional Temporal Logic (PTL) to the specification and synthesis of the synchronization part of communicating processes. To specify a process, we give a PTL formula that describes its sequence of communications. The synthesis is done by constructing a model of the given specifications using a tableau-like satisfiability algorithm for PTL. This model can then be interpreted as a program.


Temporal Logic Critical Section Mutual Exclusion Atomic Proposition Concurrent Program 
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.


  1. [BMP81]
    M. Ben-Ari, Z. Manna, A. Pnueli, “The Logic of Nexttime”, Eighth ACM Symposium on Principles of Programming Languages, Williamsburg, VA, January 1981, pp. 164–176.Google Scholar
  2. [CE81]
    E. M. Clarke, E. A. Emerson, “Synthesis of Synchronization Skeletons from Branching Time Temporal Logic”, Proceedings of the Workshop on Logics of Programs, Yorktown-Heights, NY, Springer-Verlag Lecture Notes in Computer Science, 1981Google Scholar
  3. [GPSS80]
    D. Gabbay, A. Pnueli, S. Shelah and J. Stavi, “The Temporal Analysis of Fairness”, Seventh ACM Symposium on Principles of Programming Languages, Las Vegas, NV, January 1980, pp. 163–173.Google Scholar
  4. [Gr75]
    P. Griffiths, “SYNVER: A System for the Automatic Synthesis and Verification and Synthesis of Synchronization Processes”, Ph. D. Thesis, Harvard University, June 1975.Google Scholar
  5. [Ha75]
    A. N. Habermann, “Path Expressions”, Computer Science Report, Carnegie-Mellon University, 1975.Google Scholar
  6. [Ho78]
    C. A. R. Hoare, “Communicating Sequential Processes”, Communications of the ACM, Vol. 21, No 8 (August 1978), pp. 666–677.CrossRefGoogle Scholar
  7. [La78]
    M. Laventhal, “Synthesis of Synchronization Code for Data Abstractions”, Ph. D. Thesis, MIT, June 1978.Google Scholar
  8. [MP81]
    Z. Manna, A. Pnueli, “Verification of Concurrent Programs: the Temporal Framework”, The Correctness Problem in Computer Science (R. S. Boyer and J S. Moore, eds.), Internation Lecture Series in Computer Science, Academic Press, London, 1981.Google Scholar
  9. [Pn77]
    A. Pnueli, “The Temporal Logic of Programs”, Proceedings of the Eighteenth Symposium on Foundations of Computer Science, Providence, RI, November 1977, pp. 46–57.Google Scholar
  10. [Pr67]
    A. Prior, Past, Present and Future, Oxford University Press, 1967.Google Scholar
  11. [RU71]
    N. Rescher, A. Urquart, Temporal Logic, Springer-Verlag, 1971Google Scholar
  12. [RK81]
    K. Ramamritham, R. M. Keller, “Specification and Synthesis of Synchronizers”, Proceedings International Symposium on Parallel Processing, August 1980, pp. 311–321.Google Scholar
  13. [Sm68]
    R. M. Smullyan, First Order Logic, Springer-Verlag, Berlin, 1968.Google Scholar
  14. [Wo81]
    P. Wolper, “Temporal Logic Can Be More Expressive”, Proceedings of the Twenty-Second Symposium on Foundations of Computer Science, Nashville, TN, October 1981.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1982

Authors and Affiliations

  • Zohar Manna
    • 1
    • 2
  • Pierre Wolper
    • 1
  1. 1.Computer Science DepartmentStanford UniversityStanford
  2. 2.Applied Mathematics DepartmentThe Weizmann InstituteRehovotIsrael

Personalised recommendations