Causing Communication Closure: Safe Program Composition with Reliable Non-FIFO Channels
<|reference_start|>Causing Communication Closure: Safe Program Composition with Reliable Non-FIFO Channels: A semantic framework for analyzing safe composition of distributed programs is presented. Its applicability is illustrated by a study of program composition when communication is reliable but not necessarily FIFO\@. In this model, special care must be taken to ensure that messages do not accidentally overtake one another in the composed program. We show that barriers do not exist in this model. Indeed, no program that sends or receives messages can automatically be composed with arbitrary programs without jeopardizing their intended behavior. Safety of composition becomes context-sensitive and new tools are needed for ensuring it. A notion of \emph{sealing} is defined, where if a program $P$ is immediately followed by a program $Q$ that seals $P$ then $P$ will be communication-closed--it will execute as if it runs in isolation. The investigation of sealing in this model reveals a novel connection between Lamport causality and safe composition. A characterization of sealable programs is given, as well as efficient algorithms for testing if $Q$ seals $P$ and for constructing a seal for a significant class of programs. It is shown that every sealable program that is open to interference on $O(n^2)$ channels can be sealed using O(n) messages.<|reference_end|>
@article{engelhardt2007causing,
    title={Causing Communication Closure: Safe Program Composition with Reliable
  Non-FIFO Channels},
    author={Kai Engelhardt and Yoram Moses},
    journal={arXiv preprint arXiv:cs/0701064},
    year={2007},
    archivePrefix={arXiv},
    eprint={cs/0701064},
    primaryClass={cs.DC}
}