Advertisement

Verification Techniques for Distributed Algorithms

  • Anna Philippou
  • George Michael
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4305)

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.

Keywords

Output Action Clockwise Direction Parallel Composition Input Action Asynchronous Communication 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Boudol, G.: Asynchrony and the π-calculus. Technical Report RR-1702, INRIA-Sophia Antipolis (1992)Google Scholar
  2. 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. 3.
    Hirschberg, D.S., Sinclair, J.B.: Decentralized extrema-finding in circular configurations. Communications of the ACM 23(11), 627–628 (1980)MATHCrossRefMathSciNetGoogle Scholar
  4. 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)CrossRefGoogle Scholar
  5. 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. 6.
    Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann, San Francisco (1997)Google Scholar
  7. 7.
    Lynch, N.A., Tuttle, M.R.: An introduction to Input/Output Automata. CWI-Quarterly 2(3), 219–246 (1989)MATHMathSciNetGoogle Scholar
  8. 8.
    Milner, R.: A Calculus of Communicating Systems. Springer, Heidelberg (1980)MATHGoogle Scholar
  9. 9.
    Milner, R.: Communication and Concurrency. Prentice-Hall, Englewood Cliffs (1989)MATHGoogle Scholar
  10. 10.
    Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, parts 1 and 2. Information and Computation 100, 1–77 (1992)MATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Nestmann, U.: On Determinacy and Non-determinacy in Concurrent Programming. PhD thesis, University of Erlangen (1996)Google Scholar
  12. 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)CrossRefGoogle Scholar
  13. 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. 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. 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. 16.
    Sanderson, M.: Proof Techniques for CCS. PhD thesis, University of Edinburgh (1982)Google Scholar
  17. 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. 18.
    Tofts, C.: Proof Methods and Pragmatics for Parallel Programming. PhD thesis, University of Edinburgh (1990)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Anna Philippou
    • 1
  • George Michael
    • 1
  1. 1.Department of Computer ScienceUniversity of CyprusNicosiaCyprus

Personalised recommendations