A compositional proof system for asynchronously communicating processes

  • F. S. de Boer
  • M. van Hulst
Contributed Lectures
Part of the Lecture Notes in Computer Science book series (LNCS, volume 947)


We present a Hoare logic for distributed systems composed of processes which communicate asynchronously via (unbounded) FIFO buffers. The calculus is based on an assertion language which allows the specification of the communication interface of a process at a high level of abstraction. As such our formalism serves well as a basis for refinement and top-down development of distributed systems composed of asynchronously communicating processes. Moreover, we show that the first-order logic underlying the interface-specification language is decidable, which makes (semi-) automated verification more feasible.


Proof System Successor Function Program Variable Local History Communication Interface 
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. [AdB94]
    P.H.M. America and F.S. de Boer. Reasoning about dynamically evolving process structures. Formal Aspects of Computing, 6:269–316, 1994.Google Scholar
  2. [AFdR80]
    K.R. Apt, N. Francez, and W.-P. de Roever. A proof system for communicating sequential processes. ACM-TOPLAS, 2(3):359–385, 1980.Google Scholar
  3. [And91]
    Gregory R. Andrews. Concurrent Programming, Principles and Practice. The Benjamin/Cummings Publishing Company, Inc., 1991.Google Scholar
  4. [Bac80]
    R.J.R. Back. Correctness Preserving Program Refinements: Proof Theory and Applications. Number 131 in Mathematical Centre Tracts. Mathematical Centre, Amsterdam, 1980.Google Scholar
  5. [dBvH94]
    F.S. de Boer and M. van Hulst. A proof system for asynchronously communicating deterministic processes. In B. Rovan I. Prívara and P. Ružička, editors, Proc. MFCS '94, volume 841 of Lecture Notes in Computer Science, pages 256–265. Springer-Verlag, 1994.Google Scholar
  6. [Fra92]
    N. Francez. Program Verification. Addison Wesley, 1992.Google Scholar
  7. [Gri87]
    David Gries. The Science of Programming. Texts and Monographs in Computer Science. Springer, 4th print edition, 1987.Google Scholar
  8. [HdR86]
    J. Hooman and W.-P. de Roever. The quest goes on: a survey of proof systems for partial correctness of CSP. In Current trends in concurrency, volume 24 of Lecture Notes in Computer Science, pages 343–395. Springer-Verlag, 1986.Google Scholar
  9. [Jon89]
    B. Jonsson. A fully abstract trace model for dataflow networks. In Proc. POPL '89, 1989.Google Scholar
  10. [Jos92]
    M.B. Josephs. Receptive process theory. Acta Informatica, 29, 1992.Google Scholar
  11. [OG76]
    S. Owicki and D. Gries. An axiomatic proof technique for parallel programs I. Acta Informatica, 6:319–340, 1976.Google Scholar
  12. [Pan88]
    P.K. Pandya. Compositional Verification of Distributed Programs. PhD thesis, Tata Institute of Fundamental Research, Homi Bhabha Road, Bombay 400 005, INDIA, 1988.Google Scholar
  13. [SOS92]
    J. Rushby S. Owre and N. Shankar. PVS: A prototype verification system. In 11th Conference on Automated Deduction, volume 607 of Lecture Notes in Artificial Intelligence, pages 748–752. Springer-Verlag, 1992.Google Scholar
  14. [Zwi88]
    J. Zwiers. Compositionality, Concurrency and Partial Correctness. PhD thesis, Technical University Eindhoven, 1988.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • F. S. de Boer
    • 1
  • M. van Hulst
    • 1
  1. 1.Dept. of Comp. Sc.Utrecht UniversityTB UtrechtThe Netherlands

Personalised recommendations