Skip to main content
Log in

A model and temporal proof system for networks of processes

  • Published:
Distributed Computing Aims and scope Submit manuscript

Abstract

An approach is presented for modeling networks of processes that communicate exclusively through message passing. A process (or a network) is defined by its set of possible behaviors, where each behavior is an abstraction of an infinite execution sequence of the process. The resulting model is simple and modular and facilitates information hiding. It can describe both synchronous and 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 based on the model is presented. It is compositional — a specification of a network is formed naturally from specifications of its components.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Apt KR (1981) Ten years of Hoare's logic: a survey — Part 1. ACM TOPLAS 3:431–483

    Google Scholar 

  2. Barringer H, Kuiper R, Pnueli A (1984) Now you may compose temporal logic specifications. Proc 16th ACM Symp. Theor Comput

  3. Brock JD, Ackerman WB (1981) Scenarios: a model of nondeterminate computation. International Colloquium on Formalization of Programming Concepts

  4. Brookes SD (1984) A semantics and proof system for communicating processes. Lect Notes Comput Sci 164:68–85

    Google Scholar 

  5. Chen ZC, Hoare CAR (1981) Partial correctness of communicating processes and protocols. Technical monograph PRG-20, Programming Research Group, Oxford University Computing Laboratory

  6. Hewitt C, Baker HG (1977) Laws for communicating parallel processes. Proc IFIP 77:987–992

    Google Scholar 

  7. Hoare CAR (1983) Notes on communicating sequential processes. Technical Monograph PRG-33, Programming Research Group, Oxford University Computing Laboratory

  8. Kahn G (1974) The semantics of a simple language for parallel programming. Inf Process pp 471–475

  9. Kahn G, MacQueen DB (1977) Coroutines and networks of parallel processes. Proc IFIP 77:993–998

    Google Scholar 

  10. Lamport L (1983) What good is temporal logic? Proc IFIP 83:657–668

    Google Scholar 

  11. Levin GM, Gries D (1981) A proof technique for communicating sequential processes. Acta Inf 15:281–302

    Google Scholar 

  12. Manna Z. Pnueli A (1981a) Verification of concurrent programs, Part 1: The temporal framework. Tech Rep STAN-CS-81-836, Stanford University. June 1981

  13. Manna Z. Pnueli A (1981 b) Verification of concurrent programs, Part 2: Temporal proof principles. Tech Rep STAN-CS-81-843, Stanford University. Sept 1981

  14. Manna Z, Pnueli A (1983) How to cook a temporal proof system for your pet language. Proc. 10th ACM Sym Prince of Prog Lang. Jan 1983, pp 141–154

  15. Milner R (1980) A calculus of communicating systems. Lect Notes Comput Sci 92

  16. Misra J, Chandy KM (1981) Proofs of networks of processes. IEEE Trans Soft Eng SE-7, 4

    Google Scholar 

  17. Misra J, Chandy KM, Smith T (1982) Proving safety and liveness of communicating processes with examples. Proc SIGACT-SIGOPS Symp Princ of Distributed Computing, Aug 1982, pp 201–208

  18. Nguyen V (1985a) A theory of processes. Ph. D. Thesis, Department of Computer Science, Cornell University

  19. Nguyen V (1985b) The incompleteness of Misra and Chandy's proof systems. Inf Proc Lett (to appear)

  20. Nguyen V, Demers A, Gries D, Owicki S (1985) Behavior: a temporal approach to process modeling. IBM Workshop on Logics of Programs. June 1985

  21. Nguyen V, Gries D, Owicki S (1985) A model and temporal proof system for networks of processes. Proc 12th ACM Symp Princ of Prog Lang. Jan 1985, pp 121–131

  22. Pratt V (1982) On the composition of processes. Proc 9th ACM Symp Princ of Prog Lang. Jan 1982, pp 213–223

  23. Shapiro E, Takeuchi A (1983) Object-oriented programming in Concurrent Prolog. J New Generation Comput 1:25–48

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

Van Nguyen received a B.S. degree from Monash University in 1982, an M.S. degree from Cornell University in 1983 and a Ph.D. degree from Cornell University in 1985. He has accepted a research position at the IBM Thomas J. Watson Research Center. His research interests include logics and semantics of programs, programming languages, program synthesis and distributed computing.

David Gries received a Ph.D. (actually, a Dr. rer. nat.) from the Munich Institute of Technology (Germany) in 1966. He was an assistant professor at Stanford from 1966 to 1969 and has been on the faculty of Computer Science at Cornell since 1969, where he is presently chairman of the department. He is known for his research in compilers (he is a co-author of the Alcor-Illinois 7090 Algol compiler, finished in 1964), for his research in programming methodology, and for his texts “Compiler Construction for Digital Computers” (1971) and “Science of Programming” (1981). He was a Guggenheim Fellow in 1984–85.

Susan Owicki received the B.S. degree in mathematics from Michigan State University in 1968. She then attended Cornell University as an NSF Fellow, receiving the M.S. and Ph.D. degrees in computer science in 1970 and 1975, respectively. From 1975 to 1976 she was an Assistant Professor in the Department of Computer Science at Cornell University. Since then she has been a member of the Department of Electrical Engineering at Stanford University, where she is currently an Associate Professor.

Dr. Owicki's research in the area of concurrent programming has included work in program verification, programming languages and methodology, and design of algorithms for concurrent systems. She has been particularly interested in problems in computer networks and distributed systems.

This work was supported by the NSF under grants MCS-81-03605, DCR-83-202-74, and DCR-83-123-19; by NASA under contract NAGW419; and by the third author's Guggenheim Fellowship

This paper is based on part of the first author's Ph.D. thesis

Rights and permissions

Reprints and permissions

About this article

Cite this article

Nguyen, V., Demers, A., Gries, D. et al. A model and temporal proof system for networks of processes. Distrib Comput 1, 7–25 (1986). https://doi.org/10.1007/BF01843567

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01843567

Keywords

Navigation