An elementary derivation of the alternating bit protocol
The famous alternating bit protocol is an algorithm for transmitting a sequence of data through a so-called faulty channel, i.e. a channel that can lose or duplicate injected data. The established literature provides a wealth of treatments and plenty of a-posteriori correctness proofs of the protocol; derivations of the algorithm, however, are very rare. The prime purpose of this note is to provide such a derivation from first principles, using the theory of Owicki and Gries as the only tool for reasoning about parallel programs.
KeywordsProgram derivation multiprogramming the theory of Owicki and Gries multibounds faulty channels the alternating bit protocol
Unable to display preview. Download preview PDF.
- [Bro92]M. Broy. Functional Specification of Time Sensitive Communicating Systems. In Manfred Broy, editor, Proceedings of the NATO Advanced Study Institute on Programming and Mathematical Method, held at Marktoberdorf 1990, pages 325–367. Springer, Berlin Heidelberg, 1992.Google Scholar
- [CM88]K. Mani Chandy and Jayadev Misra. Parallel Program Design: A Foundation. Addison-Wesley, Amsterdam, 1988.Google Scholar
- [Dij82]Edsger W. Dijkstra. A Personal Summary of the Gries-Owicki Theory. In Selected Writings on Computing: A Personal Perspective. Springer-Verlag, New York, 1982.Google Scholar
- [DS90]Edsger W. Dijkstra and Carel S. Scholten. Predicate Calculus and Program Semantics. Springer-Verlag, New York, 1990.Google Scholar
- [FG97]W.H.J. Feijen and A.J.M. van Gasteren. On a Method for the Formal Design of Multiprograms. In Manfred Broy and Birgit Schieder, editors, Proceedings of the NATO Advanced Study Institute on Mathematical Methods in Program Development, held at Marktoberdorf 1996, pages 53–82. Springer-Verlag, Berlin Heidelberg, 1997.Google Scholar
- [Mil89]Robin Milner. Communication and Concurrency. Prentice-Hall International, UK, 1989.Google Scholar
- [Moe93]Perry D. Moerland. Exercises in Multiprogramming. Computing Science Notes 93/07, Department of Computing Science, Eindhoven University of Technology, 1993.Google Scholar
- [Schn97]F.B. Schneider. On Concurrent Programming. Graduate Texts in Computer Science. Springer, 1997.Google Scholar
- [vdSom94]F.W. van der Sommen. Multiprogram Derivations. Master's Thesis, Department of Computing Science, Eindhoven University of Technology, 1994.Google Scholar