Skip to main content

A modular proof of correctness for a network synchronizer

  • Conference paper
  • First Online:
Distributed Algorithms (WDAG 1987)

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

Included in the following conference series:

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

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

6 Bibliography

  1. Awerbuch, B., ‘Complexity of Network Synchronization,’ JACM, 32, 4, 804–823 (1985).

    Article  Google Scholar 

  2. Awerbuch, B., ‘Reducing Complexities of Distributed Maximum Flow and Breadth-First Search Algorithms by means of Network Synchronization,’ Networks, 15, 425–437 (1985).

    Google Scholar 

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

    Google Scholar 

  4. Goldman, K., and Lynch, N., ‘Nested Transactions and Quorum Consensus,’ Proceedings of 6th ACM Symposium on Principles of Distributed Computation, 1987.

    Google Scholar 

  5. Herlihy, M., Lynch, N., Merritt, M., and Weihl, W., ‘Correctness of Orphan Elimination Algorithms,’ Proceedings of 17th IEEE Symposium on Fault-Tolerant Computing, 1987.

    Google Scholar 

  6. Hailpern, B., and Owicki, S., ‘Verifying Network Protocols Using Temporal Logic,’ Proceedings of IEEE Conference on Trends and Applications: 1980, Computer Network Protocols.

    Google Scholar 

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

    Google Scholar 

  8. Lynch, N., and Tuttle, M., ‘Hierarchical Correctness Proofs for Distributed Algorithms,’ Proceedings of 6th ACM Symposium on Principles of Distributed Computation, 1987.

    Google Scholar 

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

    Google Scholar 

  10. Owicki, S., and Gries, D., ‘An Axiomatic Proof Technique for Parallel Programs I,’ Acta Informatica 6, 4, 319–340 (1976).

    Article  Google Scholar 

  11. Welch, J., 'synthesis of Efficient Mutual Exclusion Algorithms,’ manuscript

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. van Leeuwen

Rights and permissions

Reprints 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

Publish with us

Policies and ethics