Abstract
In this paper we offer a formal, rigorous proof of the correctness of Awerbuch's algorithm for network synchronization. We specify both the algorithm and the correctness condition using the I/O automaton model, which has previously been used to describe and verify algorithms for concurrency control and resource allocation. We show that the model is also a powerful tool for reasoning about distributed graph algorithms. Our proof of correctness follows closely the intuitive arguments made by the designer of the algorithm by exploiting the model's natural support for such important design techniques as stepwise refinement and modularity. In particular, since the algorithm uses simpler algorithms for synchronization within and between ‘clusters’ of nodes, our proof can import as lemmas the correctness of these simpler algorithms.
Research Summary
The work of the second author was supported in part by the Office of Naval Research under Contract N00014-85-K-0168, by the Office of Army Research under contract DAAG29-84-K-0058, by the National Science Foundation under Grants MCS-8306854, DCR-83-02391, and CCR-8611442, and by the Defense Advanced Research Projects Agency (DARPA) under Contract N00014-83-K-0125. The work of the third author was supported by an H.T.I. fellowship
Preview
Unable to display preview. Download preview PDF.
6 Bibliography
Awerbuch, B., ‘Complexity of Network Synchronization,’ JACM, 32, 4, 804–823 (1985).
Awerbuch, B., ‘Reducing Complexities of Distributed Maximum Flow and Breadth-First Search Algorithms by means of Network Synchronization,’ Networks, 15, 425–437 (1985).
Fekete, A., Lynch, N., Merritt, M., and Weihl, W., ‘Nested Transactions and Read/Write Locking,’ Proceedings of 6th ACM Symposium on Principles of Database Systems, 1987.
Goldman, K., and Lynch, N., ‘Nested Transactions and Quorum Consensus,’ Proceedings of 6th ACM Symposium on Principles of Distributed Computation, 1987.
Herlihy, M., Lynch, N., Merritt, M., and Weihl, W., ‘Correctness of Orphan Elimination Algorithms,’ Proceedings of 17th IEEE Symposium on Fault-Tolerant Computing, 1987.
Hailpern, B., and Owicki, S., ‘Verifying Network Protocols Using Temporal Logic,’ Proceedings of IEEE Conference on Trends and Applications: 1980, Computer Network Protocols.
Lynch, N., and Merritt, M., ‘Introduction to the Theory of Nested Transactions,’ Technical Report MIT/LCS/TR-367, MIT Laboratory for Computer Science, Cambridge, MA., July 1986.
Lynch, N., and Tuttle, M., ‘Hierarchical Correctness Proofs for Distributed Algorithms,’ Proceedings of 6th ACM Symposium on Principles of Distributed Computation, 1987.
Manna, Z., and Pnueli, A., ‘Verification of Concurrent Programs: the Temporal framework,’ In The Correctness Problem in Computer Science, R. Boyer and J. Moore, eds, Academic Press, 1981.
Owicki, S., and Gries, D., ‘An Axiomatic Proof Technique for Parallel Programs I,’ Acta Informatica 6, 4, 319–340 (1976).
Welch, J., 'synthesis of Efficient Mutual Exclusion Algorithms,’ manuscript
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1988 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Fekete, A., Lynch, N., Shrira, L. (1988). A modular proof of correctness for a network synchronizer. In: van Leeuwen, J. (eds) Distributed Algorithms. WDAG 1987. Lecture Notes in Computer Science, vol 312. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0019807
Download citation
DOI: https://doi.org/10.1007/BFb0019807
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-19366-1
Online ISBN: 978-3-540-39239-2
eBook Packages: Springer Book Archive