Using Message Passing for Distributed Programming: Proof Rules, Disciplines
Abstract
Inference rules are derived for proving partial correctness of concurrent programs that use message passing.These rules extend the notion of a satisfaction proof, first proposed for proving correctness of programs that use synchronous message-passing, to asynchronous message-passing, rendezvous, and remote procedures.Two types of asynchronous message-passing are considered: unreliable datagrams and reliable virtual circuits.The proof rules show how interference can arise and be controlled.