Communicating sequential processes
Communicating sequential processes
Programming in Occam
SIGCOMM '87 Proceedings of the ACM workshop on Frontiers in computer communications technology
Parallel program design: a foundation
Parallel program design: a foundation
Specification case studies
Communication and Concurrency
Computer Networks
Compositional verification of a communication protocol for a remotely operated aircraft
Science of Computer Programming
Hi-index | 0.00 |
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.