A Hoare logic for dynamic networks of asychronously communicating deterministic processes

  • Authors:
  • F. S. deBoer

  • Affiliations:
  • Urecht Univ., Urecht, The Netherlands

  • Venue:
  • Theoretical Computer Science
  • Year:
  • 2002

Quantified Score

Hi-index 5.23

Visualization

Abstract

This paper introduces a compositional Hoare logic for reasoningabout the partial correctness and absence of deadlock of a certainclass of programs. Considered are programs that describe networkscomposed of a dynamically evolving collection of processes whichare all executing in parallel, and which know each other bymaintaining and passing around process-references via anasynchronous communication mechanism based on (unbounded) FIFObuffers. The Hoare logic formalizes reasoning about such dynamicnetworks on an abstraction level that is at least as high as thatof the programming language. This means that the only operations on`pointers' (that is, references to processes) are testing forequality and dereferencing. Moreover, in a given state of thesystem, it is only possible to mention the processes that exist inthat state. Processes that have not (yet) been created do not playa role. Soundness and completeness of the logic is proved withrespect to a compositional characterization of the initial/finalstate semantics of programs. This characterization generalizes thecompositional semantics of deterministic Kahn (data-flow) networks(where the number of processes and communication structure isfixed).