Abstract
The possibility of partial failure occuring at any stage of computation complicates rigorous formal treatment of distributed algorithms. We propose a methodology for formalising and proving the correctness of distributed algorithms which alleviates this complexity. The methodology uses fault-tolerance bisimulation proof techniques to split the analysis into two phases, that is a failure-free phase and a failure phase, permitting separation of concerns. We design a minimal partial-failure calculus, develop a corresponding bisimulation theory for it and express a consensus algorithm in the calculus. We then use the consensus example and the calculus theory to demonstrate the benefits of our methodology.
Chapter PDF
Similar content being viewed by others
Keywords
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.
References
Berger, M., Honda, K.: The two-phase commitment protocol in an extended pi-calculus. Electr. Notes Theor. Comput. Sci. 39(1) (2000)
Chandra, T.D., Toueg, S.: Unreliable failure detectors for reliable distributed systems. Journal of the ACM 43(2), 225–267 (1996)
Deng, Y., Sangiorgi, D.: Ensuring termination by typability. In: IFIP TCS, pp. 619–632 (2004)
Fischer, M.J.: The consensus problem in unreliable distributed systems (a brief survey). In: Karpinski, M. (ed.) FCT 1983. LNCS, vol. 158, pp. 127–140. Springer, Heidelberg (1983)
Fournet, C., et al.: A calculus of mobile agents. In: Sassone, V., Montanari, U. (eds.) CONCUR 1996. LNCS, vol. 1119, pp. 406–421. Springer, Heidelberg (1996)
Francalanza, A., Hennessy, M.: A theory of system behaviour in the presence of node and link failures. In: Abadi, M., de Alfaro, L. (eds.) CONCUR 2005. LNCS, vol. 3653, pp. 368–382. Springer, Heidelberg (2005)
Francalanza, A., Hennessy, M.: A theory of system fault tolerance. In: Aceto, L., Ingólfsdóttir, A. (eds.) FOSSACS 2006 and ETAPS 2006. LNCS, vol. 3921, Springer, Heidelberg (2006)
Groote, J.F., Sellink, M.P.A.: Confluence for process verification. Theor. Comput. Sci. 170(1-2), 47–81 (1996)
Groote, J.F., van de Pol, J.: State space reduction using partial tau-confluence. In: Mathematical Foundations of Computer Science, pp. 383–393 (2000)
Honda, K., Yoshida, N.: On reduction-based process semantics. Theoretical Computer Science 152(2), 437–486 (1995)
Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann, San Francisco (1996)
Milner, R.: Communication and Concurrency. Prentice-Hall, Englewood Cliffs (1989)
Nestmann, U., Fuzzati, R.: Unreliable Failure Detectors via Operational Semantics. In: Saraswat, V.A. (ed.) ASIAN 2003. LNCS, vol. 2896, pp. 54–71. Springer, Heidelberg (2003)
Nestmann, U., Fuzzati, R., Merro, M.: Modeling consensus in a process calculus. In: Amadio, R.M., Lugiez, D. (eds.) CONCUR 2003. LNCS, vol. 2761, Springer, Heidelberg (2003)
Riely, J., Hennessy, M.: Distributed processes and location failures. Theoretical Computer Science 226, 693–735 (2001)
Tel, G.: Introduction to distributed algorithms. Cambridge University Press, New York (1994)
Yoshida, N., Berger, M., Honda, K.: Strong normalisation in the pi-calculus. Inf. Comput. 191(2), 145–202 (2004)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Francalanza, A., Hennessy, M. (2007). A Fault Tolerance Bisimulation Proof for Consensus (Extended Abstract). In: De Nicola, R. (eds) Programming Languages and Systems. ESOP 2007. Lecture Notes in Computer Science, vol 4421. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-71316-6_27
Download citation
DOI: https://doi.org/10.1007/978-3-540-71316-6_27
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-71314-2
Online ISBN: 978-3-540-71316-6
eBook Packages: Computer ScienceComputer Science (R0)