Skip to main content

Construction of network protocols by stepwise refinement

  • Technical Contributions
  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 430))

Abstract

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.

The work of A. Udaya Shankar was supported by National Science Foundation under grant no. ECS-8502113 and grant no. NCR-8904590. The work of Simon S. Lam was supported by National Science Foundation under grant no. NCR-8613338 and by a grant from the Texas Advanced Research Program. This paper is an abbreviated version of [18].

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. R.J.R. Back and R. Kurki-Suonio, “Decentralization of process nets with a centralized control,” Second ACM SIGACT-SIGCOPS Symp. on Prin. of Distr. Comput., Montreal, Aug. 1983, pp. 131–142.

    Google Scholar 

  2. R.J.R. Back and R. Kurki-Suonio, “A case study in constructing distributed algorithms: Distributed exchange sort,” Proc. of Winter School on Theoretical Computer Science, Lammi, Finland, Jan. 1984, Finnish Soc. of Inf. Proc. Sc., pp. 1–33.

    Google Scholar 

  3. K.M. Chandy and J. Misra, “An example of stepwise refinement of distributed programs: Quiescence detection,” ACM Trans. on Prog. Lang. and Syst., Vol. 8, No. 3, July 1986, pp. 326–343.

    Google Scholar 

  4. K.M. Chandy and J. Misra, Parallel Program Design: A Foundation, Addison-Wesley, Reading, MA, 1988.

    Google Scholar 

  5. E.W. Dijkstra, A Discipline of Programming, Prentice-Hall, Englewood Cliffs, N.J., 1976.

    Google Scholar 

  6. E.W. Dijkstra, L. Lamport, A.J. Martin, C.S. Scholten, “On-the-fly garbage collection: An exercise in cooperation,” Commun. ACM, Vol. 21, No. 11, November 1978, pp. 966–975.

    Google Scholar 

  7. E.W. Dijkstra, C.S. Scholten, “Termination detection for diffusing computations,” Inform. Proc. Letters, Vol. 11, No. 1, August 1980, pp. 1–4.

    Google Scholar 

  8. E.W. Dijkstra, “Derivation of a termination detection algorithm for distributed computations,” Tech. Report, EWD-840.

    Google Scholar 

  9. E.W. Dijkstra, “The distributed snapshot of K.M. Chandy and L. Lamport,” Tech. Report, EWD-864, November 1983.

    Google Scholar 

  10. Transmission Control Protocol, DDN Protocol Handbook: DoD Military Standard Protocols, DDN Network Information Center, SRI, MILSTD 1778, Aug 1983.

    Google Scholar 

  11. D.E. Knuth, “Verification of link-level protocols,” BIT, Vol. 21, pp. 31–36, 1981.

    Google Scholar 

  12. S.S. Lam and A.U. Shankar, “Protocol verification via projections,” IEEE Trans. on Software Engineering, Vol. SE-10, No. 4, July 1984, pp. 325–342.

    Google Scholar 

  13. S.S. Lam and A.U. Shankar, “Specifying implementations to satisfy interfaces: A state transition system approach,” presented at the 26th Annual Lake Arrowhead Workshop on How will we specify concurrent systems in the year 2000?, September 1987; full version available as Technical Report TR-88-30, Department of Computer Sciences, University of Texas at Austin, August 1988 (revised June 1989).

    Google Scholar 

  14. S.S. Lam and A.U. Shankar, “A relational notation for state transition systems,” Technical Report TR-88-21, Department of Computer Sciences, University of Texas at Austin, May 1988 (revised August 1989); an abbreviated version appears in these proceedings of the REX Workshop on Refinement of Distributed Systems under the title “Refinement and projection of relational specifications.”

    Google Scholar 

  15. K. Sere, “Stepwise removal of virtual channels in distributed algorithms,” Second Int. Workshop on Dist. Alg., Amsterdam, 1987.

    Google Scholar 

  16. A.U. Shankar and S.S. Lam, “Time-dependent communication protocols,” Tutorial: Principles of Communication and Networking Protocols, S. S. Lam (ed.), IEEE Computer Society, 1984.

    Google Scholar 

  17. A.U. Shankar and S.S. Lam, “Time-dependent distributed systems: proving safety, liveness and real-time properties,” Distributed Computing, Vol. 2, No. 2, pp. 61–79, 1987.

    Google Scholar 

  18. A.U. Shankar and S.S. Lam, “A stepwise refinement heuristic for protocol construction,” Technical Report CS-TR-1812, Department of Computer Science, University of Maryland, March 1987 (revised March 1989).

    Google Scholar 

  19. A.U. Shankar, “Verified data transfer protocols with variable flow control,” ACM Transactions on Computer Systems, Vol. 7, No. 3, August 1989; an abbreviated version appears in Proc. ACM SIGCOMM '86 Symposium, Aug 1986, under the title “A verified sliding window protocol with variable flow control.”

    Google Scholar 

  20. N.V. Stenning, “A data transfer protocol,” Computer Networks, Vol. 1, pp. 99–110, September 1976.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. W. de Bakker W. -P. de Roever G. Rozenberg

Rights and permissions

Reprints and permissions

Copyright information

© 1990 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Shankar, A.U., Lam, S.S. (1990). Construction of network protocols by stepwise refinement. In: de Bakker, J.W., de Roever, W.P., Rozenberg, G. (eds) Stepwise Refinement of Distributed Systems Models, Formalisms, Correctness. REX 1989. Lecture Notes in Computer Science, vol 430. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-52559-9_83

Download citation

  • DOI: https://doi.org/10.1007/3-540-52559-9_83

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-52559-2

  • Online ISBN: 978-3-540-47035-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics