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].
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
M. Abadi and L. Lamport. The existence of refinement mappings. Theoretical Comput. Sci., 82:253–284, 1991. previously: SRC Research Report 27, April 1988.
B. Alpern and F. B. Schneider. Defining liveness. Inf. Process. Lett., 21:181–185, Oct. 1985.
L. Castellano, G. D. Michelis, and L. Pomello. Concurrency vs interleaving: an instructive example. EATCS Bulletin, 31:12–15, 1987.
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.
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.
T. Elrad and N. Francez. Decomposition of distributed programs into communication-closed layers. Science of Computer Programming, 2(3):155–173, 1982.
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.
D. Gries. An exercise in proving parallel programs correct. Communication of the ACM, 20(12):921–930, 1977.
W. H. Hesselink. The incremental design of a distributed spanning tree algorithm. Formal Aspects of Computing, 11(E):(electronic archive), 1999.
W. Janssen. Layered Design of Parallel Systems. PhD thesis, University Twente, Enschede, 1994.
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.
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.
E. Kindler and H. Völzer. Algebraic nets with flexible arcs. Theoretical Computer Science, 262(1-2):285–310, 2001.
E. Kindler and M. Weber. The petri net kernel. In K. H. Mortensen, editor, Tool Demonstrations, ICAPTN 99, pages 71–75, 1999.
S. Peuker. Phased decomposition of distributed algorithms. Informatik-Bericht 120, Humboldt-Universität zu Berlin, 1999.
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.
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.
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.
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
W. Reisig. Petri Nets and Algebraic Specifications. Theoretical Computer Science, 80:1–34, May 1991.
F. A. Stomp. Design and Verification of Distributed Network Algorithms: Foundations and Applications. PhD thesis, Technische Universiteit Eindhoven, 1989.
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.
F. A. Stomp and W. P. de Roever. Principles for sequential reasoning about distributed algorithms. Formal Aspects of Computing, 6E:1–70, 1994.
J. L. Welch. Topics in Distributed Computing. PhD thesis, MIT/LCS/TM-361, 1988.
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.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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