Skip to main content
Log in

A Principle for Sequential Reasoning about Distributed Algorithms

  • Formal Aspects of Computing
  • Published:
Formal Aspects of Computing

Abstract

Designers of network algorithms often give elegant informal descriptions of the intuition behind their algorithms (see [GHS83, Hum83, MeS79, Seg82, Seg83, ZeS80]). Usually these descriptions are structured as if subtasks are performed one after the other. Although these subtasks are performed sequentially from a logical point of view, they are performed concurrently from an operational point of view. The current paper presents a principle for formally designing and verifying these kinds of algorithms. It is formulated in Manna and Pnueli’s linear time temporal logic [MaP83, MaP92]. This principle is applicable to large classes of algorithms, such as those for computing minimum-paths, connectivity, network flow, and minimum-weight spanning trees.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Apt K.R., Francez N., and de Roever W.R.: A proof system for communicating sequential processes, ACM TOPLAS, 2–3 (1980).

    Google Scholar 

  2. 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 

  3. 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). ai][ChM88] Chandy K.M. and Misra J.: Parallel program design: a foundation, Addison-Wesley Publishing Company, Inc. (1988).

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  7. Fix L., Francez N., and Grumberg O.: Semantics-driven decompositions for the verification of distributed programs, in Proc. of the IFIP working group 2.2/2.3 working conference on Programming Concepts and Methods, Sea of Galilea, Israel (1990).

    Google Scholar 

  8. 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 

  9. Gerth R.T. and Shrira L.: On proving communication closedness of distributed layers, LNCS 241 (1986).

    Google Scholar 

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

    Google Scholar 

  11. Janssen W., Poel M., and Zwiers J.: Action systems and action refinement in the development of parallel systems, an algebraic approach, LNCS 527, Baeten J.C.M. and Groote J.F. (Editors) (1991).

  12. Janssen W. and Zwiers J.: From sequential layers to distributed processes —Deriving a distributed minimum weight spanning tree algorithm, in Proc. of the ACM Symp. on Principles of Distr. Comp. (1992).

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  15. Katz S. and Peled D.: Defining conditional independence using collapses, to appear in TCS. (1991).

    Google Scholar 

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

    Google Scholar 

  17. 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 

  18. Manna Z. and Pnueli A.: The Temporal Logic of Reactive and Concurrent Systems, Springer-Verlag, New York (1992).

    Book  Google Scholar 

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

    Google Scholar 

  20. Owicki S.S. and Gries D.: An axiomatic proof technique for parallel programs I, Acta Informatica 6 (1976).

    Google Scholar 

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

    Google Scholar 

  22. Raynal M. and Helary J.-P.: Synchronization and control of distributed systems and programs, Wiley (1990).

    MATH  Google Scholar 

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

    Google Scholar 

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

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

    Google Scholar 

  26. Stomp F.A. and de Roever W.R.: 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 

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

    Google Scholar 

  28. Stomp F.A. and de Roever W.R.: Designing distributed algorithms by means of formal sequentially phased reasoning (extended abstract), Proc. of the third International Workshop on Distributed Algorithms (LNCS 392) (1989).

    Google Scholar 

  29. Stomp F.A.: Design and verification of distributed network algorithms: Foundations and applications, Ph. D. thesis, Eindhoven University of Technology (1989).

    Google Scholar 

  30. Stomp F.A.: A derivation of a broadcasting protocol using sequentially phased reasoning (extended abstract), Protocol specification, testing, and verification, X. Logrippo L., Probert R.L., Ural H. (Editors) Elsevier Science Publishers B.V. (North Holland) (1990). The full version of this paper has appeared in Stepwise refinement of distributed systems: models, formalisms, correctness (LNCS 430), de Bakker J. W., de Roever W. P., Rozenberg G. (Editors) (1990).

    Google Scholar 

  31. This paper can be retrieved by downloading the (compressed PostScript) file FACj_6E_p1.ps.Z which can be found in the directory pub/fac of ftp.cs.man.ac.uk. Stomp F.A. and de Roever W. P.: Principles for Sequential Reasoning about Distributed Algorithms, Formal Aspects of Computing, 6(E), pp 1–70 (1994). An earlier version of which is available as Technical Report nr. 9215, Christian-Albrechts-Universitat, Department of Computer Science, Kiel, Germany (1992).

    Google Scholar 

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

    Google Scholar 

  33. 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 

  34. 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

Corresponding author

Correspondence to F. A. Stomp.

Additional information

This is a short version of [StR94].

Electronic supplementary material

Rights and permissions

Reprints and permissions

About this article

Cite this article

Stomp, F.A., de Roever, WR. A Principle for Sequential Reasoning about Distributed Algorithms. Form Asp Comp 6, 716–737 (1994). https://doi.org/10.1007/BF03259394

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF03259394

Navigation