Springer Nature is making SARS-CoV-2 and COVID-19 research free. View research | View latest news | Sign up for updates

A Principle for Sequential Reasoning about Distributed Algorithms

  • 28 Accesses

  • 18 Citations

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 to check access.

References

  1. [AFR80]

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

  2. [BaS89]

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

  3. [ChG88]

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

  4. [DiS80]

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

  5. [E1F82]

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

  6. [Fra80]

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

  7. [FFG90]

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

  8. [GHS83]

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

  9. [GeS86]

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

  10. [Hum83]

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

  11. [JPZ91]

    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. [JaZ92]

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

  13. [KaP87]

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

  14. [KaP88]

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

  15. [KaP91]

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

  16. [Lam85]

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

  17. [MaP83]

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

  18. [MaP92]

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

  19. [MeS79]

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

  20. [OwG76]

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

  21. [Pan88]

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

  22. [RaH90]

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

  23. [Seg82]

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

  24. [Seg83]

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

  25. [StR87a]

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

  26. [StR87b]

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

  27. [StR88]

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

  28. [StR89]

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

  29. [Sto89]

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

  30. [Sto90]

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

  31. [StR94]

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

  32. [ScS84]

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

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

  34. [ZeS80]

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

Download references

Author information

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, W. A Principle for Sequential Reasoning about Distributed Algorithms. Form Asp Comp 6, 716–737 (1994). https://doi.org/10.1007/BF03259394

Download citation

  • Phases in distributed algorithms
  • Modular design
  • Modular correctness proofs
  • Assertional reasoning
  • Temporal logic
  • Normal form reasoning
  • Layering of correctness proofs
  • Communication closed layers
  • True concurrency