Developing a Consensus Algorithm Using Stepwise Refinement

  • Jeremy W. Bryans
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6991)


Consensus problems arise in any area of computing where distributed processes must come to a joint decision. Although solutions to consensus problems have similar aims, they vary according to the processor faults and network properties that must be taken into account, and modifying these assumptions will lead to different algorithms. Reasoning about consensus protocols is subtle, and correctness proofs are often informal. This paper gives a fully formal development and proof of a known consensus algorithm using the stepwise refinement method Event-B. This allows us to manage the complexity of the proof process by factoring the proof of correctness into a number of refinement steps, and to carry out the proof task concurrently with the development. During the development the processor faults and network properties on which the development steps rely are identified. The research outlined here is motivated by the observation that making different choices at these points may lead to alternative algorithms and proofs, leading to a refinement tree of algorithms with partially shared proofs.


Consensus Algorithms Stepwise Refinement Verification Event-B 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abrial, J.-R.: Modeling in Event-B: System and Software Engineering. Cambridge University Press, Cambridge (2010)CrossRefzbMATHGoogle Scholar
  2. 2.
    Abrial, J.-R., Butler, M., Hallerstede, S., Voisin, L.: An Open Extensible Tool Environment for Event-B. In: Liu, Z., Kleinberg, R.D. (eds.) ICFEM 2006. LNCS, vol. 4260, pp. 588–605. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  3. 3.
    Abrial, J.-R., Cansell, D., Méry, D.: A Mechanically Proved and Incremental Development of IEEE 1394 Tree Identify Protocol. Formal Asp. Comput. 14(3), 215–227 (2003)CrossRefzbMATHGoogle Scholar
  4. 4.
    Cansell, D., Méry, D.: Formal and incremental construction of distributed algorithms: On the distributed reference counting algorithm. Theoretical Computer Science 364(3), 318–337 (2006); Applied SemanticsMathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Charron-Bost, B., Merz, S.: Formal Verification of a Consensus Algorithm in the Heard-Of Model. Int. J. Software and Informatics 3(2-3), 273–303 (2009)Google Scholar
  6. 6.
    Charron-Bost, B., Schiper, A.: The Heard-Of model: computing in distributed systems with benign faults. Distributed Computing 22, 49–71 (2009)CrossRefzbMATHGoogle Scholar
  7. 7.
    Hoang, T.S., Kuruma, H., Basin, D.A., Abrial, J.-R.: Developing Topology Discovery in Event-B. In: Leuschel, M., Wehrheim, H. (eds.) IFM 2009. LNCS, vol. 5423, pp. 1–19. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  8. 8.
    Krenický, R., Ulbrich, M.: Deductive verification of a byzantine agreement protocol. Technical report, Karlsruhe Institute of Technology (April 2010)Google Scholar
  9. 9.
    Lamport, L.: The part-time parliament. ACM Trans. Comput. Syst. 16(2), 133–169 (1998)CrossRefGoogle Scholar
  10. 10.
    Lamport, L., Shostak, R., Pease, M.: The byzantine generals problem. ACM Trans. Program. Lang. Syst. 4(3), 382–401 (1982)CrossRefzbMATHGoogle Scholar
  11. 11.
    Leuschel, M., Butler, M.: ProB: A Model Checker for B. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol. 2805, pp. 855–874. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  12. 12.
    Lynch, N.A.: Distributed Algorithms, 1st edn. Morgan Kaufmann, San Francisco (1997)Google Scholar
  13. 13.
    Sprenger, C., Basin, D.: Developing security protocols by refinement. In: 17th ACM Conference on Computer and Communications Security, CCS 2010 (2010)Google Scholar
  14. 14.
    Truong, N.-T., Trinh, T.-B., Nguyen, V.-H.: Coordinated consensus analysis of multi-agent systems using Event-B. In: Seventh IEEE International Conference on Software Engineering and Formal Methods, pp. 201–209 (2009)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Jeremy W. Bryans
    • 1
  1. 1.School of Computing ScienceNewcastle UniversityUnited Kingdom

Personalised recommendations