Skip to main content

Verification Techniques for Distributed Algorithms

  • Conference paper
Principles of Distributed Systems (OPODIS 2006)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4305))

Included in the following conference series:

Abstract

A value-passing, asynchronous process calculus and its associated theory of confluence are considered as a basis for establishing the correctness of distributed algorithms. In particular, we present an asynchronous version of value-passing CCS and we develop its theory of confluence. We show techniques for demonstrating confluence of complex processes in a compositional manner and we study properties of confluent systems that can prove useful for their verification. These results give rise to a methodology for system verification which we illustrate by proving the correctness of two distributed leader-election algorithms.

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. Boudol, G.: Asynchrony and the π-calculus. Technical Report RR-1702, INRIA-Sophia Antipolis (1992)

    Google Scholar 

  2. Groote, J.F., Sellink, M.P.A.: Confluence for process verification. In: Lee, I., Smolka, S.A. (eds.) CONCUR 1995. LNCS, vol. 962, pp. 204–218. Springer, Heidelberg (1995)

    Google Scholar 

  3. Hirschberg, D.S., Sinclair, J.B.: Decentralized extrema-finding in circular configurations. Communications of the ACM 23(11), 627–628 (1980)

    Article  MATH  MathSciNet  Google Scholar 

  4. Honda, K., Tokoro, M.: An object calculus for asynchronous communication. In: America, P. (ed.) ECOOP 1991. LNCS, vol. 512, pp. 133–147. Springer, Heidelberg (1991)

    Chapter  Google Scholar 

  5. Liu, X., Walker, D.: Confluence of processes and systems of objects. In: Mosses, P.D., Schwartzbach, M.I., Nielsen, M. (eds.) CAAP 1995, FASE 1995, and TAPSOFT 1995. LNCS, vol. 915, pp. 217–231. Springer, Heidelberg (1995)

    Google Scholar 

  6. Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann, San Francisco (1997)

    Google Scholar 

  7. Lynch, N.A., Tuttle, M.R.: An introduction to Input/Output Automata. CWI-Quarterly 2(3), 219–246 (1989)

    MATH  MathSciNet  Google Scholar 

  8. Milner, R.: A Calculus of Communicating Systems. Springer, Heidelberg (1980)

    MATH  Google Scholar 

  9. Milner, R.: Communication and Concurrency. Prentice-Hall, Englewood Cliffs (1989)

    MATH  Google Scholar 

  10. Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, parts 1 and 2. Information and Computation 100, 1–77 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  11. Nestmann, U.: On Determinacy and Non-determinacy in Concurrent Programming. PhD thesis, University of Erlangen (1996)

    Google Scholar 

  12. Park, D.: Concurrency and automata on infinite sequences. In: Deussen, P. (ed.) GI-TCS 1981. LNCS, vol. 104, pp. 167–183. Springer, Heidelberg (1981)

    Chapter  Google Scholar 

  13. Philippou, A., Walker, D.: On transformations of concurrent object programs. In: Sassone, V., Montanari, U. (eds.) CONCUR 1996. LNCS, vol. 1119, pp. 131–146. Springer, Heidelberg (1996)

    Google Scholar 

  14. Philippou, A., Walker, D.: On confluence in the π-calculus. In: Degano, P., Gorrieri, R., Marchetti-Spaccamela, A. (eds.) ICALP 1997. LNCS, vol. 1256, pp. 314–324. Springer, Heidelberg (1997)

    Google Scholar 

  15. Pierce, B.C., Turner, D.N.: Pict: A programming language based on the pi-calculus. In: Proof, Language and Interaction: Essays in Honour of Robin Milner, pp. 455–494. MIT Press, Cambridge (2000)

    Google Scholar 

  16. Sanderson, M.: Proof Techniques for CCS. PhD thesis, University of Edinburgh (1982)

    Google Scholar 

  17. Sangiorgi, D.: A theory of bisimulation for the π-calculus. In: Best, E. (ed.) CONCUR 1993. LNCS, vol. 715, pp. 127–142. Springer, Heidelberg (1993)

    Google Scholar 

  18. Tofts, C.: Proof Methods and Pragmatics for Parallel Programming. PhD thesis, University of Edinburgh (1990)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Philippou, A., Michael, G. (2006). Verification Techniques for Distributed Algorithms. In: Shvartsman, M.M.A.A. (eds) Principles of Distributed Systems. OPODIS 2006. Lecture Notes in Computer Science, vol 4305. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11945529_13

Download citation

  • DOI: https://doi.org/10.1007/11945529_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-49990-9

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

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics