Advertisement

Designing distributed algorithms by means of formal sequentially phased reasoning

extended abstract
  • F. A. Stomp
  • W. P. de Roever
Conference paper
Part of the Lecture Notes in Computer Science book series (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.

Keywords

Design Principle Proof System Full Paper Correctness Proof Verification Condition 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [AFR80]
    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. [B26]
    Boruvka O., O jistém problému minimálním, Práca Moravské Prírodovedecké Spolecnosti (1926) (in Czech.).Google Scholar
  3. [BS89]
    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. [CG88]
    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. [CL85]
    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. [CM88]
    Chandy K.M. and Misra J., Parallel program design: a foundation, Addison-Wesley Publishing Company, Inc. (1988).Google Scholar
  7. [DS80]
    Dijkstra E.W. and Scholten C.S., Termination detecting for diffusing computations, Letters 1–4 (1980).Google Scholar
  8. [Ev79]
    Even S., Graph algorithms, Computer Science Press, Inc.(USA), (1979).Google Scholar
  9. [EF82]
    Elrad T. and Francez N., Decomposition of distributed programs into communication closed layers, Science of Computer programming, 2 (1982).Google Scholar
  10. [F80]
    Francez N., Distributed termination, ACM-TOPLAS, 2-1 (1980).Google Scholar
  11. [FF89]
    Fix L. and Francez N., Semantics-driven decompositions for the verification of distributed programs, manuscript (1989).Google Scholar
  12. [GHS83]
    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. [GS86]
    Gerth R.T. and Shrira L., On proving closedness of distributed layers, LNCS-241 (1986).Google Scholar
  14. [Hu83]
    Humblet P.A., A distributed algorithm for minimum-weight directed spanning trees, IEEE Trans. on Comm., 31-6 (1983).Google Scholar
  15. [KP87]
    Katz S. and Peled D., Interleaving set temporal logic, Proc. of the ACM Symp. on Principles of Distr. Comp. (1987).Google Scholar
  16. [KP88]
    Katz S. and Peled D., An efficient verification method for parallel and distributed programs, Proc. of the REX-workshop (1988).Google Scholar
  17. [L85]
    Lamport L., Paradigms for distributed programs: computing global states. LNCS-190 (1985).Google Scholar
  18. [MP83]
    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. [MS79]
    Merlin P.M. and Segall A., A failsafe distributed routing protocol, IEEE Trans. on Comm., 27-9 (1979).Google Scholar
  20. [Pa88]
    Pandya P.K., Compositional verification of distributed programs, Ph.D. thesis, Tata institute of fundamental research, Bombay, India (1988).Google Scholar
  21. [Se82]
    Segall A., Decentralized maximum-flow algorithms, Networks 12 (1982).Google Scholar
  22. [Se83]
    Segall A., Distributed network protocols, IEEE Trans. on Inf. Theory. IT29-1 (1983).Google Scholar
  23. [SR87a]
    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. [SR87b]
    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. [SR88]
    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. [SR89]
    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. [SS84]
    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. [WLL88]
    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. [ZS80]
    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

Copyright information

© Springer-Verlag Berlin Heidelberg 1989

Authors and Affiliations

  • F. A. Stomp
    • 1
  • W. P. de Roever
    • 2
  1. 1.Department of Computer Science ToernooiveldUniversity of NijmegenNijmegenThe Netherlands
  2. 2.Department of Mathematics and Computing ScienceEindhoven University of TechnologyEindhovenThe Netherlands

Personalised recommendations