Rigorous Design of Fault-Tolerant Transactions for Replicated Database Systems Using Event B

  • Divakar Yadav
  • Michael Butler
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4157)


System availability is improved by the replication of data objects in a distributed database system. However, during updates, the complexity of keeping replicas identical arises due to failures of sites and race conditions among conflicting transactions. Fault tolerance and reliability are key issues to be addressed in the design and architecture of these systems. Event B is a formal technique which provides a framework for developing mathematical models of distributed systems by rigorous description of the problem, gradually introducing solutions in refinement steps, and verification of solutions by discharge of proof obligations. In this paper, we present a formal development of a distributed system using Event B that ensures atomic commitment of distributed transactions consisting of communicating transaction components at participating sites. This formal approach carries the development of the system from an initial abstract specification of transactional updates on a one copy database to a detailed design containing replicated databases in refinement. Through refinement we verify that the design of the replicated database confirms to the one copy database abstraction.


Abstract Model Coordinator Site Proof Obligation Race Condition Active Transaction 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abrial, J.R.: The B Book: Assigning Programs to Meaning. Cambridge University Press, Cambridge (1996)CrossRefGoogle Scholar
  2. 2.
    Abrial, J.R.: Extending B without changing it. (For Distributed System). In: Proc. of 1st Conf. on B Method, pp. 169–191 (1996)Google Scholar
  3. 3.
    Abrial, J.R., Cansell, D., Mery, D.: A Mechanically Proved and Incremetal development of IEEE1394 Tree Identify Protocol. Formal Aspect of Computing 14, 215–227 (2003)CrossRefGoogle Scholar
  4. 4.
    Abrial, J.R., Cansell, D.: Click’n’Prove - Interactive Proofs within Set Theory (2003)Google Scholar
  5. 5.
    Agrawal, D., Alonso, G., Stanoi, I.: Exploiting Atomic Broadcast in Replicated Database. In: Proc. of Europar 1997 (1997)Google Scholar
  6. 6.
    Babaoglu, O., Bartoli, A., Dini, G.: Replicated file management in large scale distributed system. In: Tel, G., Vitányi, P.M.B. (eds.) WDAG 1994. LNCS, vol. 857, pp. 1–16. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  7. 7.
    Bernstein, P.A., Hadzilacos, V., Goodman, N.: Concurrency Control and Recovery in Database System. Addison-Wesley, Reading (1987)Google Scholar
  8. 8.
    Birman, K.P., Schiper, A., Stephenson, P.: Lighweight causal and atomic group multicast. ACM Transaction on Computer System 9(3), 272–314 (1991)CrossRefGoogle Scholar
  9. 9.
    Butler, M.: On the use of Data Refinement in the Development of Secure Communications Systems. Formal Aspects of Computing 14, 2–34 (2002)MATHCrossRefGoogle Scholar
  10. 10.
    Butler, M.: An Approach to Design of Distributed Systems with B AMN. In: Till, D., Bowen, J.P., Hinchey, M.G. (eds.) ZUM 1997. LNCS, vol. 1212, pp. 223–241. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  11. 11.
    Butler, M., Walden, M.: Distributed System Development in B. In: Proc. of Ist Conf. in B Method, Nantes, pp. 155–168 (1996)Google Scholar
  12. 12.
    Cansell, D., Mery, D.: Foundations of B Method. Computing and Informatics 22, 1–31 (2003)MathSciNetGoogle Scholar
  13. 13.
    B Core UK Ltd. B-Toolkit Manuals (1999)Google Scholar
  14. 14.
    Ekwall, R., Schiper, A.: Replication: Understanding the advantage of atomic broadcast over quorum systems. Journal of Universal Computer Science 11(5), 703–711 (2005)Google Scholar
  15. 15.
    Fekete, A., Frans Kaashoek, M., Lynch, N.: Implementing Sequentially Consistent Shared Objects using Broadcast and Point-To-Point Communication. Journal of the ACM 45(1), 35–69 (1998)MATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Gray, J., Reuter, A.: Transaction Processing: Concepts and Technique. Morgan Kaufmann, San Francisco (1993)Google Scholar
  17. 17.
    Holliday, J.: Replicated Database Recovery using Multicast Communication. In: IEEE Intl. Symposium on Network Computing and Application, NCA 2001, pp. 104–107 (2001)Google Scholar
  18. 18.
    Kemme, B., Alonso, G.: A New Approach to developing and implementing eager database replication protocols. ACM Transaction on Database System 25(3), 333–379 (2000)CrossRefGoogle Scholar
  19. 19.
    Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann, San Francisco (1996)MATHGoogle Scholar
  20. 20.
    Melliar, P., Amir, Y., Moser, L., Agrawala, V.: Broadcast protocols for Distributed Systems. IEEE Transactions on Parallel and Distributed System 1(1), 17–25 (1990)CrossRefGoogle Scholar
  21. 21.
    Metayer, C., Abrial, J.R., Voisin, L.: Event-B Language, RODIN Deliverables 3.2 (2005),
  22. 22.
    Moser, L., Mellier, P., Agrawal, D., Budhia, R., Papadopoulos, C.: TOTEM: A fault tolerant multicast group communication. Communication of ACM 39(4), 54–63 (1996)CrossRefGoogle Scholar
  23. 23.
    Ozsu, M.T., Valduriez, P.: Principles of Distribted Database Systems. Prentice-Hall, Englewood Cliffs (1999)Google Scholar
  24. 24.
    Rezazadeh, A., Butler, M.: Some Guidelines for Formal Development of Web-Based Applications in B-Method. In: Treharne, H., King, S., Henson, M.C., Schneider, S. (eds.) ZB 2005. LNCS, vol. 3455, pp. 472–492. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  25. 25.
    Patino-Martinez, M., Jimenez-Peris, R., Kemme, B., Alonso, G.: Consistent Database Replication at the Middleware Level. ACM Transactions on Computer Systems (TOCS) 23(4), 375–423 (2005)CrossRefGoogle Scholar
  26. 26.
    Silaghi, B., Keleher, P., Bhattacharjee, B.: Multi-Dimensional Quorum Sets for Red-Few Write-Many Replica Control Protocols. In: Proc. of the 4th CCGRID/GP2PC, Chicago, IL (April 2004)Google Scholar
  27. 27.
    Schneider, S.: The B-Method. Palgrave Publications (2001)Google Scholar
  28. 28.
    Silberschatz, A., Korth, H., Sudarshan, S.: Database System Concepts. McGraw-Hill, New York (2001)Google Scholar
  29. 29.
    Stanoi, I., Agrawal, D., El Abbadi, A.: Using Broadbast Primitives in Replicated Data. In: Proceddings of 18th IEEE Intl. Conf. on Distributed Computing System, ICDCS 1998, pp. 148–155 (1998)Google Scholar
  30. 30.
    Steria- Atelier-B User and Reference Manuals (1997)Google Scholar
  31. 31.
    Yadav, D., Butler, M.: Application of Event B to Global Causal Ordering for Fault Tolerant Transactions. In: Proc. of REFT 2005, Newcastle upon Tyne, pp. 93–103 (2005),

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Divakar Yadav
    • 1
  • Michael Butler
    • 1
  1. 1.School of Electronics and Computer ScienceUniversity of SouthamptonSouthamptonU.K.

Personalised recommendations