An incremental specification of the sliding-window protocol

  • Authors:
  • K. Paliwoda;J. W. Sanders

  • Affiliations:
  • Oxford University Computing Laboratory, Programming Research Group, 8-11 Keble Road, Oxford, OX1 3QD, UK;Oxford University Computing Laboratory, Programming Research Group, 8-11 Keble Road, Oxford, OX1 3QD, UK

  • Venue:
  • Distributed Computing
  • Year:
  • 1991

Quantified Score

Hi-index 0.00

Visualization

Abstract

The sliding-window protocol is specified using the notation of Communicating Sequential Processes and its partial correctness is proved using the trace semantics. First the stop-and-wait protocol is defined; its correctness, that it forms a 1-place buffer, is almost evident. Next the alternating-bit protocol is defined and described in terms of the stop-and-wait protocol, and its correctness deduced from that of the stop-and-wait protocol. Finally the sliding-window protocol is described in terms of the alternating-bit protocol and its correctness deduced accordingly. The paper has two thrusts: that modularity of a specification helps to structure proofs about it (in this case, proofs that the protocols implement buffers); and that refinement in CSP leads to structured, correct implementations in occam. In support of the latter point the appendix contains a refinement and implementation of the protocols in oc-cam 2.