Construction of Network Protocols by Stepwise Refinement

We present a heuristic to derive specifications of distributed systems by stepwise refinement. The heuristic is based upon a conditional refinement relation between specifications. It is applied to construct four sliding window protocols that provide reliable data transfer over unreliable communication channels. The protocols use modulo-N sequence numbers. They are less restrictive and easier to implement than sliding window protocols previously studied in the protocol verification literature.

[1]  Leslie Lamport,et al.  On-the-fly garbage collection: an exercise in cooperation , 1975, CACM.

[2]  Ralph-Johan Back,et al.  Decentralization of Process Nets with Centralized Control , 1983, PODC.

[3]  Donald E. Knuth Verification of link-level protocols , 1981, BIT Comput. Sci. Sect..

[4]  A. Udaya Shankar,et al.  Protocol Verification via Projections , 1984, IEEE Transactions on Software Engineering.

[5]  A. J. M. van Gasteren,et al.  Derivation of a Termination Detection Algorithm for Distributed Computations , 1983, Inf. Process. Lett..

[6]  Edsger W. Dijkstra The distributed snapshot of K.M. Chandy and L. Lamport , 1986 .

[7]  Simon S. Lam,et al.  Time-Dependent Communication Protocols , 1984 .

[8]  A. Udaya Shankar,et al.  Refinement and Projection of Relational Specifications , 1990, REX Workshop.

[9]  K. Mani Chandy,et al.  An example of stepwise refinement of distributed programs: quiescence detection , 1986, TOPL.

[10]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[11]  A. Udaya Shankar,et al.  Verified data transfer protocols with variable flow control , 1989, TOCS.

[12]  Edsger W. Dijkstra,et al.  Termination Detection for Diffusing Computations , 1980, Inf. Process. Lett..

[13]  A. Udaya Shankar,et al.  A Relational Notation for State Transition Systems , 1990, IEEE Trans. Software Eng..

[14]  A. U. Shankar A verified sliding window protocol with variable flow control , 1986, SIGCOMM '86.

[15]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[16]  Kaisa Sere Stepwise Removal of Virtual Channels in Distributed Algorithms , 1987, WDAG.

[17]  Vic Stenning,et al.  A Data Transfer Protocol , 1976, Comput. Networks.