Logic of Programs 1985: Logics of Programs pp 237-254 | Cite as

Behavior: a temporal appreach to process modeling

  • Van Nguyen
  • Alan Demers
  • David Gries
  • Susan Owicki
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 193)


This paper describes an approach to modeling processes and networks of processes that communicate exclusively through message passing. A process is defined by its set of possible behaviors, where each behavior is an abstraction of some infinite execution sequence of the process. The resulting model of processes is simple and modular and facilitates information hiding. It can describe either synchronous or asynchronous networks. It supports recursively-defined networks and can characterize liveness properties such as progress of inputs and outputs, termination and deadlock. A sound and complete temporal proof system for processes is presented. It is compositional — a specification of a network is formed naturally from specifications of its component processes. A nontrivial example, comprising a specification and correctness proof for a recursive network, is given to demonstrate the usefulness of our techniques.


Temporal Logic Output Port Proof System Communication Behavior Information Hiding 
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. [A]
    Apt, K.R., Ten years of Hoare's logic: a survey — Part 1, ACM TOPLAS, vol. 3, no. 4, Oct 1981, 431–483.Google Scholar
  2. [BKP]
    Barringer, H., Kuiper, R. and Pnueli, A., Now you may compose temporal logic specifications, 16th ACM Symposium on the Theory of Computing, May 1984.Google Scholar
  3. [BA]
    Brock, J.D. and Ackerman, W.B., Scenarios: a model of non-determinate computation, International Colloquium on Formalization of Programming Concepts, April 1981.Google Scholar
  4. [Br]
    Brookes, S.D., A semantics and proof system for communicating processes, Lecture Notes in Computer Science, vol. 164, 1984, 68–85.Google Scholar
  5. [Ha]
    Harel, D., First-order dynamic logic, Lecture Notes in Computer Science, vol. 68, 1979.Google Scholar
  6. [HKP]
    Harel, D., Kozen, D. and Parikh, R., Process logic: expressiveness, decidability and completeness, JCSS vol. 25(1982), 144–170.Google Scholar
  7. [HB]
    Hewitt, C. and Baker, H.G., Laws for communicating parallel processes, IFIP 77, 1977, 987–992.Google Scholar
  8. [Ho78]
    Hoare, C.A.R., Communicating sequential processes, Communications of the ACM, vol. 21, no. 8, Aug 1978, 666–677.Google Scholar
  9. [Ho83]
    Hoare, C.A.R., Notes on communicating sequential processes, Technical Monograph PRG-33, Programming Research Group, Oxford University Computing Laboratory, Aug 1983.Google Scholar
  10. [KM]
    Kahn, G. and MacQueen, D.B., Coroutines and networks of parallel processes, IFIP 77, 1977, 993–998.Google Scholar
  11. [L]
    Lamport, L., What good is temporal logic? Proceedings IFIP 1983, 657–668.Google Scholar
  12. [MP81]
    Manna, Z. and Pnueli, A., Verification of concurrent programs, Part 1: The temporal framework, Technical report STAN-CS-81-836, Stanford University, June 1981.Google Scholar
  13. [MP83]
    Manna, Z. and Pnueli, A., How to cook a temporal proof system for your pet language, 10th Annual ACM Symposium on Principles of Programming Languages, Jan 1983, 141–154.Google Scholar
  14. [Mi]
    Milner, R., A calculus of communicating systems, Lecture Notes in Computer Science, vol. 92, 1980.Google Scholar
  15. [Ng]
    Nguyen, V., A theory of processes, Ph.D. Thesis, Department of Computer Science, Cornell University (in preparation).Google Scholar
  16. [NGO]
    Nguyen, V., Gries, D. and Owicki, S., A model and temporal proof system for networks of processes, 12th ACM Symposium on Principles of Programming Languages, Jan 1985, 121–131.Google Scholar
  17. [P]
    Pratt, V., On the composition of processes, 9th ACM Symposium on Principles of Programming Languages, Jan 1982, 213–223.Google Scholar
  18. [ST]
    Shapiro, E. and Takeuchi, A., Object-oriented programming in Concurrent Prolog, Journal of new generation computing, vol. 1, no. 1, 1983, 25–48.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1985

Authors and Affiliations

  • Van Nguyen
    • 1
  • Alan Demers
    • 1
  • David Gries
    • 1
  • Susan Owicki
    • 2
  1. 1.Deptartment of Computer ScienceCornell UniversityIthaca
  2. 2.Computer Systems LaboratoryStanford UniversityStanford

Personalised recommendations