Abstract
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.
Preview
Unable to display preview. Download preview PDF.
References
K.A. Bartlett, R.A. Scantlebury, and P.T. Wilkinson. A note on reliable full-duplex transmission over half-duplex links. Communications of the ACM, 12(5): 260–261, 1969.
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.
K. Mani Chandy and Jayadev Misra. Parallel Program Design: A Foundation. Addison-Wesley, Amsterdam, 1988.
Edsger W. Dijkstra. A Personal Summary of the Gries-Owicki Theory. In Selected Writings on Computing: A Personal Perspective. Springer-Verlag, New York, 1982.
Edsger W. Dijkstra and Carel S. Scholten. Predicate Calculus and Program Semantics. Springer-Verlag, New York, 1990.
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.
C.A.R. Hoare. An Axiomatic Basis for Computer Programming. Communications of the ACM, 12(10): 576–580 and 583, October 1969.
C.A.R. Hoare. Communicating Sequential Processes. Communications of the ACM, 21(8): 666–677, 1978.
A.J. Martin. An Axiomatic Definition of Synchronization Primitives. Acta Informatica, 16: 219–235, 1981.
A.J. Martin. The probe: an addition to communication primitives. Information Processing Letters, 20: 125–130 and 21: 107, 1985.
Robin Milner. Communication and Concurrency. Prentice-Hall International, UK, 1989.
Perry D. Moerland. Exercises in Multiprogramming. Computing Science Notes 93/07, Department of Computing Science, Eindhoven University of Technology, 1993.
S. Owicki and D. Gries. An Axiomatic Proof Technique for Parallel Programs I. Acta Informatica, 6: 319–340, 1976.
F.B. Schneider. On Concurrent Programming. Graduate Texts in Computer Science. Springer, 1997.
F.W. van der Sommen. Multiprogram Derivations. Master's Thesis, Department of Computing Science, Eindhoven University of Technology, 1994.
Jan L.A. van de Snepscheut. The Sliding-Window Protocol Revisited. Formal Aspects of Computing, 7: 3–17, 1995.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Feijen, W.H.J., van Gasteren, A.J.M., Schieder, B. (1998). An elementary derivation of the alternating bit protocol. In: Jeuring, J. (eds) Mathematics of Program Construction. MPC 1998. Lecture Notes in Computer Science, vol 1422. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0054290
Download citation
DOI: https://doi.org/10.1007/BFb0054290
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-64591-7
Online ISBN: 978-3-540-69345-1
eBook Packages: Springer Book Archive