Skip to main content

Designing distributed algorithms by means of formal sequentially phased reasoning

extended abstract

  • Conference paper
  • First Online:

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

Abstract

Designers of network algorithms give elegant informal descriptions of the intuition behind their algorithms (see [GHS83, Hu83, MS79, Se82, Se83, ZS80]). Usually, these descriptions are structured as if tasks or subtasks are performed sequentially. From an operational point of view, however, they are performed concurrently. Here, we present a design principle that formally describes how to develop algorithms according to such sequentially phased explanations. The design principle is formulated using Manna and Pnueli's linear time temporal logic [MP83]. This principle, together with Chandy and Misra's technique [CM88] or Back and Sere's technique [BS89] for designing parallel algorithms, is applicable to large classes of algorithms, such as those for minimum-path, connectivity, network flow, and minimum-weight spanning trees. In particular, the distributed minimum-weight spanning tree algorithm of Gallager, Humblet, and Spira [GHS83] is structured according to our principle.

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. Apt K.R., Francez N., and de Roever W.P., A proof system for communicating sequential processes, ACM TOPLAS, 2–3 (1980).

    Google Scholar 

  2. Boruvka O., O jistém problému minimálním, Práca Moravské Prírodovedecké Spolecnosti (1926) (in Czech.).

    Google Scholar 

  3. Back R.J.R. and Sere K., Stepwise refinement of action systems, Proc. of the international conference of mathematics and program construction (1989).

    Google Scholar 

  4. Chou C.T. and Gafni E., Understanding and verifying distributed algorithms using stratified decomposition, Proc. of the ACM Symp. on Principles of Distr. Comp. (1988).

    Google Scholar 

  5. Chandy K.M and Lamport L., Distributed snapshots: determining global states of distributed systems, ACM Trans. on Comp. Syst. 3-1 (1985).

    Google Scholar 

  6. Chandy K.M. and Misra J., Parallel program design: a foundation, Addison-Wesley Publishing Company, Inc. (1988).

    Google Scholar 

  7. Dijkstra E.W. and Scholten C.S., Termination detecting for diffusing computations, Letters 1–4 (1980).

    Google Scholar 

  8. Even S., Graph algorithms, Computer Science Press, Inc.(USA), (1979).

    Google Scholar 

  9. Elrad T. and Francez N., Decomposition of distributed programs into communication closed layers, Science of Computer programming, 2 (1982).

    Google Scholar 

  10. Francez N., Distributed termination, ACM-TOPLAS, 2-1 (1980).

    Google Scholar 

  11. Fix L. and Francez N., Semantics-driven decompositions for the verification of distributed programs, manuscript (1989).

    Google Scholar 

  12. Gallager R.T., Humblet P.A., and Spira P.M., A distributed algorithm for minimum-weight spanning trees, ACM TOPLAS, 5-1 (1983).

    Google Scholar 

  13. Gerth R.T. and Shrira L., On proving closedness of distributed layers, LNCS-241 (1986).

    Google Scholar 

  14. Humblet P.A., A distributed algorithm for minimum-weight directed spanning trees, IEEE Trans. on Comm., 31-6 (1983).

    Google Scholar 

  15. Katz S. and Peled D., Interleaving set temporal logic, Proc. of the ACM Symp. on Principles of Distr. Comp. (1987).

    Google Scholar 

  16. Katz S. and Peled D., An efficient verification method for parallel and distributed programs, Proc. of the REX-workshop (1988).

    Google Scholar 

  17. Lamport L., Paradigms for distributed programs: computing global states. LNCS-190 (1985).

    Google Scholar 

  18. Manna Z. and Pnueli A., Verification of concurrent programs: A temporal proof system, Foundations of computer science IV, part 2, MC-tracts 159 (1983).

    Google Scholar 

  19. Merlin P.M. and Segall A., A failsafe distributed routing protocol, IEEE Trans. on Comm., 27-9 (1979).

    Google Scholar 

  20. Pandya P.K., Compositional verification of distributed programs, Ph.D. thesis, Tata institute of fundamental research, Bombay, India (1988).

    Google Scholar 

  21. Segall A., Decentralized maximum-flow algorithms, Networks 12 (1982).

    Google Scholar 

  22. Segall A., Distributed network protocols, IEEE Trans. on Inf. Theory. IT29-1 (1983).

    Google Scholar 

  23. Stomp F.A. and de Roever W.P., A correctness proof of a distributed minimum-weight spanning tree algorithm (extended abstract), Proc. of the 7th ICDCS (1987).

    Google Scholar 

  24. Stomp F.A. and de Roever W.P., A fully worked out correctness proof of Gallager, Humblet, and Spira's minimum-weight spanning tree algorithm, Internal Report 87-4, University of Nijmegen (1987).

    Google Scholar 

  25. Stomp F.A. and de Roever W.P., A formalization of sequentially phased intuition in network protocols, Internal Report 88-15, University of Nijmegen (1988).

    Google Scholar 

  26. Stomp F.A. and de Roever W.P., Designing distributed algorithms by means of sequentially phased reasoning (full paper), Internal Report 89-8, University of Nijmegen (1989).

    Google Scholar 

  27. Schlichting R.D. and Schneider F.B., Using message passing for distributed programming, Proof rules and disciplines, ACM TOPLAS 6-3 (1984).

    Google Scholar 

  28. Welch J.L., Lamport L., and Lynch N.A., A lattice-structured proof of a minimum spanning tree algorithm, Proc. of the ACM Symp. on Principles of Distr. Comp. (1988).

    Google Scholar 

  29. Zerbib F.B.M. and Segall A., A distributed shortest path protocol, Internal Report EE-395, Technion-Israel Institute of Technology, Haifa, Israel (1980).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jean-Claude Bermond Michel Raynal

Rights and permissions

Reprints and permissions

Copyright information

© 1989 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Stomp, F.A., de Roever, W.P. (1989). Designing distributed algorithms by means of formal sequentially phased reasoning. In: Bermond, JC., Raynal, M. (eds) Distributed Algorithms. WDAG 1989. Lecture Notes in Computer Science, vol 392. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-51687-5_47

Download citation

  • DOI: https://doi.org/10.1007/3-540-51687-5_47

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-51687-3

  • Online ISBN: 978-3-540-46750-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics