Skip to main content

Transition Refinement for Deriving a Distributed Minimum Weight Spanning Tree Algorithm

  • Conference paper
  • First Online:
Application and Theory of Petri Nets 2002 (ICATPN 2002)

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

Included in the following conference series:

Abstract

The algorithm of Gallager, Humblet, and Spira computes the minimum spanning tree of a weighted graph in a distributed fashion. Though based on a simple mathematical idea, this algorithm is hard to understand because of the complex communication between the distributed agents.

There are several attempts to prove the correctness of this algorithm but most of the proofs are either incomplete or extremely long and technical and, therefore, difficult to comprehend.

This paper reports on a new model and a new correctness proof for the algorithm. Model and proof are given in a sequence of 12 property preserving refinement steps, starting with a simple non-distributed algorithm. All algorithms are modelled by Algebraic Petri nets. We justify 8 of the refinement steps using well-known refinement methods for distributed algorithms. The other four steps can not be justified using traditional refinement methods. Their correctness is proved by using the new concept of transition refinement which we introduced in [16].

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Abadi and L. Lamport. The existence of refinement mappings. Theoretical Comput. Sci., 82:253–284, 1991. previously: SRC Research Report 27, April 1988.

    Article  MATH  MathSciNet  Google Scholar 

  2. B. Alpern and F. B. Schneider. Defining liveness. Inf. Process. Lett., 21:181–185, Oct. 1985.

    Google Scholar 

  3. L. Castellano, G. D. Michelis, and L. Pomello. Concurrency vs interleaving: an instructive example. EATCS Bulletin, 31:12–15, 1987.

    MATH  Google Scholar 

  4. C.-T. Chou and E. Gafni. Understanding and verifying distributed algorithms using stratified decomposition (extended abstract). In Proceedings of the 7th Annual Symposium on Principles of Distributed Computing, pages 44–65. ACM, 1988.

    Google Scholar 

  5. W.-P. de Roever and K. Engelhardt. Data Refinement: Model-Oriented Proof Methods and their Comparison, volume 47 of Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 1998.

    Google Scholar 

  6. T. Elrad and N. Francez. Decomposition of distributed programs into communication-closed layers. Science of Computer Programming, 2(3):155–173, 1982.

    Article  MATH  Google Scholar 

  7. R. G. Gallager, P. A. Humblet, and P. M. Spira. A distributed algorithm for minimum-weight spanning trees. ACM Transactions on Programming Languages and Systems, 5(1):66–77, Jan. 1983.

    Google Scholar 

  8. D. Gries. An exercise in proving parallel programs correct. Communication of the ACM, 20(12):921–930, 1977.

    Article  MATH  MathSciNet  Google Scholar 

  9. W. H. Hesselink. The incremental design of a distributed spanning tree algorithm. Formal Aspects of Computing, 11(E):(electronic archive), 1999.

    Google Scholar 

  10. W. Janssen. Layered Design of Parallel Systems. PhD thesis, University Twente, Enschede, 1994.

    Google Scholar 

  11. W. Janssen, M. Poel, and J. Zwiers. Action systems and action refinement in the development of parallel systems. In J. C. M. Baeten and J. F. Groote, editors, CONCUR’ 91, volume 527 of LNCS, pages 298–316, 1991.

    Google Scholar 

  12. W. Janssen and J. Zwiers. From sequential layers to distributed processes, deriving a distributed minimum weight spanning tree algorithm (extended abstract). In Proceedings of the 11th Annual Symposium on Principles of Distributed Computing, pages 215–227. ACM, 1992.

    Google Scholar 

  13. E. Kindler and H. Völzer. Algebraic nets with flexible arcs. Theoretical Computer Science, 262(1-2):285–310, 2001.

    Article  MATH  MathSciNet  Google Scholar 

  14. E. Kindler and M. Weber. The petri net kernel. In K. H. Mortensen, editor, Tool Demonstrations, ICAPTN 99, pages 71–75, 1999.

    Google Scholar 

  15. S. Peuker. Phased decomposition of distributed algorithms. Informatik-Bericht 120, Humboldt-Universität zu Berlin, 1999.

    Google Scholar 

  16. S. Peuker. Property preserving transition refinement with concurrent runs: An example. In International Conference on Application of Concurrency to System Design, pages 77–86. IEEE Computer Society, 2001.

    Google Scholar 

  17. S. Peuker. Concurrency based transition refinement for the verification of distributed algorithms. In H. Ehrig, W. Reisig, G. Rozenberg, and H. Weber, editors, Petri Net Technology for Communication Based Systems, LNCS. Springer, 2002. To appear.

    Google Scholar 

  18. S. Peuker. Deriving a distributed minimum weight spanning tree algorithm with transition refinement for Algebraic Petri nets. Technical Report 02-10, Software Verification Research Centre, The University of Queensland, March 2002.

    Google Scholar 

  19. S. Peuker. Halbordnungsbasierte Verfeinerung zur Verifikation verteilter Algorithmen. PhD thesis, Humboldt-Universität zu Berlin, available via http://dochost.rz.hu-berlin.de/abstract.php3/dissertationen/peuker-sibylle-2001-07-03

  20. W. Reisig. Petri Nets and Algebraic Specifications. Theoretical Computer Science, 80:1–34, May 1991.

    Google Scholar 

  21. F. A. Stomp. Design and Verification of Distributed Network Algorithms: Foundations and Applications. PhD thesis, Technische Universiteit Eindhoven, 1989.

    Google Scholar 

  22. F. A. Stomp and W. P. de Roever. A correctness proof of a distributed minimum-weight spanning tree algorithm (extended abstract). In Proceedings of the 7th International Conference on Distributed Computing Systems, pages 440–447. ACM, 1987.

    Google Scholar 

  23. F. A. Stomp and W. P. de Roever. Principles for sequential reasoning about distributed algorithms. Formal Aspects of Computing, 6E:1–70, 1994.

    Google Scholar 

  24. J. L. Welch. Topics in Distributed Computing. PhD thesis, MIT/LCS/TM-361, 1988.

    Google Scholar 

  25. J. L. Welch, L. Lamport, and N. Lynch. A lattice-structured proof technique applied to a minimum spanning tree algorithm (extended abstract). In Proceedings of the 7th Annual Symposium on Principles of Distributed Computing, pages 28–43. ACM, 1988.

    Google Scholar 

  26. J. Zwiers. Compositional transformational design for concurrent systems. In W.-P. de Roever, H. Langmaack, and A. Pnueli, editors, Compositionality: The Significant Difference, Proc. of COMPOS’ 97, volume 1536 of LNCS, pages 609–631. Springer-Verlag, 1998.

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Peuker, S. (2002). Transition Refinement for Deriving a Distributed Minimum Weight Spanning Tree Algorithm. In: Esparza, J., Lakos, C. (eds) Application and Theory of Petri Nets 2002. ICATPN 2002. Lecture Notes in Computer Science, vol 2360. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48068-4_22

Download citation

  • DOI: https://doi.org/10.1007/3-540-48068-4_22

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-43787-1

  • Online ISBN: 978-3-540-48068-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics