Skip to main content

A derivation of a broadcasting protocol using sequentially phased reasoning

  • Technical Contributions
  • Conference paper
  • First Online:

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

Abstract

Abstract: In [SR89a, SR89b, SR89c] a principle has been formulated for designing, hence verifying, distributed algorithms from a particular class. This class consists of algorithms in which processes in a network perform a certain task which can be decomposed into a number of subtasks as if they are performed sequentially from a logical point of view, although from an operational point of view they are performed concurrently (cf. [GHS83, Hu83, MS79, Se82, Se83, ZS80]).

Till now the above-mentioned principle has been applied as a verification principle in [SR89b] to a correctness proof of a broadcasting protocol, the PIF-protocol, due to Segall [Se83], and in [SR89c] to a correctness proof of the distributed minimum-weight spanning tree algorithms of Gallager, Humblet, Spira [GHS83]. As shown in the present paper this principle can also be applied for deriving distributed algorithms. In particular, this is demonstrated by deriving a broadcasting protocol, essentially Segall's PIF-protocol. We remark that a similar derivation also applies for deriving other more complex distributed algorithms, such as those described in [Hu83, MS79, Se82, Se83, ZS80] as well as the distributed minimum-weight spanning tree algorithm of Gallager, Humblet, and Spira [GHS83].

The derivation presented in this paper shows that invariants can be generated during the development of programs, and illustrates a generalization of Back's refinement calculus [B88].

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. Back R.J.R., A calculus of refinements for program derivations, Acta Informatica, 25 (1988).

    Google Scholar 

  2. Back R.J.R. and Sere K., Stepwise refinement of action systems, Proc. of Math. of Program Construction (LNCS 375), (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).

    Google Scholar 

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

    Google Scholar 

  5. Dijkstra E.W., A discipline of programming. Englewood Cliffs: Prentice Hall (1976)

    Google Scholar 

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

    Google Scholar 

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

    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. Hoare C.A.R., Sequential Communication Processes, Comm. ACM, 21–8 (1978).

    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. Katz S. and Peled D., Interleaving set temporal logic, Proc. of the ACM Symp. on Principles of Distr. Comp. (1987).

    Google Scholar 

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

    Google Scholar 

  13. Lee S., de Roever W.P., and Gerhart S.L., The evolution of list copying algorithms and the need for structured program verification, Proc. of the ACM Symp. on Princ. of Prog. Lang. (1979).

    Google Scholar 

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

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  19. Stomp F.A. and de Roever W.P., Designing distributed algorithms by means of formal sequentially phased reasoning (extended abstract), Proc. of the 3rd International Workshop on Distributed algorithms (LNCS 392) (1989)

    Google Scholar 

  20. Stomp F.A. and de Roever W.P., Designing distributed algorithms by means of formal sequentially phased reasoning (full paper), submitted for publication in Distributed Computing.

    Google Scholar 

  21. Stomp F.A. and de Roever W.P., A detailed analysis of Gallager, Humblet, and Spira's distributed minimum-weight spanning tree algorithm — An example of sequentially phased reasoning—, submitted for publication.

    Google Scholar 

  22. Stomp F.A., Design an verification of distributed network algorithms, Ph. D. thesis, Eindhoven University of Eindhoven (1989).

    Google Scholar 

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

    Google Scholar 

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

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

Stomp, F.A. (1990). A derivation of a broadcasting protocol using sequentially phased reasoning. 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_84

Download citation

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

  • 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