Formal Development of a Total Order Broadcast for Distributed Transactions Using Event-B

In a replicated database system, copies of the database are kept across several sites for fault-tolerance and availability. Data access in such systems is usually done within a transactional framework. A read-only transaction accesses data locally and an update transaction modifies the database at all sites. Total order broadcast primitives have been proposed to support transactions and allow fault-tolerant cooperation between the sites in a distributed system. In this paper, we identify and analyze the problem of formation of deadlocks among conflicting update transactions due to race conditions and outline how a system of total order broadcast prevents deadlocks and transaction failures. Later we outline how a refinement based approach with Event-B can be used for formal development of the models of total order broadcast. In this approach we begin with the abstract model of a total order broadcast and verify that the required ordering properties are preserved by the system. Subsequently, in a series of refinement steps we outline how an abstract total order can correctly be implemented by using a notion of sequence number. This technique requires us to discharge proof obligations due to consistency and refinement checking. To discharge the proof obligations we are required to discover invariants that describes the relationship between the abstract total order and the underlying mechanism.

[1]  Nancy A. Lynch,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[2]  Gerard Florin,et al.  A formal method to prove ordering properties of multicast systems , 1999, OPSR.

[3]  Gustavo Alonso,et al.  Using Optimistic Atomic Broadcast in Transaction Processing Systems , 2003, IEEE Trans. Knowl. Data Eng..

[4]  Nancy A. Lynch,et al.  Distributed Computing: Models and Methods , 1990, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[5]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[6]  Michael J. Butler,et al.  An Approach to the Design of Distributed Systems with B AMN , 1997, ZUM.

[7]  Michael Butler,et al.  Rigorous Development of Complex Fault-Tolerant Systems , 2006 .

[8]  Ajitha Rajan,et al.  Requirements Coverage as an Adequacy Measure for Conformance Testing , 2008, ICFEM.

[9]  Patrick Valduriez,et al.  Principles of Distributed Database Systems , 1990 .

[10]  Dominique Cansell,et al.  Click'n Prove: Interactive Proofs within Set Theory , 2003, TPHOLs.

[11]  Johan Lilius,et al.  Formal Service-Oriented Development of Fault Tolerant Communicating Systems , 2006, RODIN Book.

[12]  Rachid Guerraoui,et al.  The Database State Machine Approach , 2003, Distributed and Parallel Databases.

[13]  Michael J. Butler,et al.  Stepwise Refinement of Communicating Systems , 1996, Sci. Comput. Program..

[14]  Michael J. Butler,et al.  Rigorous Design of Fault-Tolerant Transactions for Replicated Database Systems Using Event B , 2006, RODIN Book.

[15]  Michael J. Butler,et al.  An Open Extensible Tool Environment for Event-B , 2006, ICFEM.

[16]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[17]  Patrick Valduriez,et al.  Principles of distributed database systems (2nd ed.) , 1999 .

[18]  Mark Bickford,et al.  Protocol switching: exploiting meta-properties , 2001, Proceedings 21st International Conference on Distributed Computing Systems Workshops.

[19]  Patrick Valduriez,et al.  Principles of Distributed Database Systems, Second Edition , 1999 .

[20]  Divyakant Agrawal,et al.  Using broadcast primitives in replicated databases , 1998, Proceedings. 18th International Conference on Distributed Computing Systems (Cat. No.98CB36183).

[21]  Sam Toueg,et al.  A Modular Approach to Fault-Tolerant Broadcasts and Related Problems , 1994 .

[22]  Michael J. Butler On the Use of Data Refinement in the Development of Secure Communications Systems , 2002, Formal Aspects of Computing.

[23]  David Aspinall,et al.  Formalising Java's Data Race Free Guarantee , 2007, TPHOLs.

[24]  Michael J. Butler,et al.  An incremental development of the Mondex system in Event-B , 2007, Formal Aspects of Computing.

[25]  André Schiper,et al.  Lightweight causal and atomic group multicast , 1991, TOCS.

[26]  Nancy A. Lynch,et al.  Implementing sequentially consistent shared objects using broadcast and point-to-point communication , 1995, Proceedings of 15th International Conference on Distributed Computing Systems.

[27]  Robbert van Renesse,et al.  The Amoeba distributed operating system - A status report , 1991, Comput. Commun..

[28]  Gianluca Dini,et al.  Replicated File Management in Large-Scale Distributed Systems , 1994, WDAG.

[29]  Louise E. Moser,et al.  Totem: a fault-tolerant multicast group communication system , 1996, CACM.

[30]  André Schiper,et al.  From group communication to transactions in distributed systems , 1996, CACM.

[31]  Gustavo Alonso,et al.  A suite of database replication protocols based on group communication primitives , 1998, Proceedings. 18th International Conference on Distributed Computing Systems (Cat. No.98CB36183).

[32]  Gustavo Alonso,et al.  Exploiting Atomic Broadcast in Replicated Databases (Extended Abstract) , 1997, Euro-Par.

[33]  Nigel P. Topham,et al.  A Limitation Study into Access Decoupling , 1997, Euro-Par.

[34]  Elena Troubitsyna,et al.  Rigorous Development of Fault-Tolerant Agent Systems , 2006, RODIN Book.

[35]  Nancy A. Lynch,et al.  Specifying and using a partitionable group communication service , 2001, TOCS.

[36]  Yair Amir,et al.  Membership Algorithms for Multicast Communication Groups , 1992, WDAG.

[37]  Nancy A. Lynch,et al.  A dynamic view-oriented group communication service , 1998, PODC '98.

[38]  Louise E. Moser,et al.  Broadcast Protocols for Distributed Systems , 1990, IEEE Trans. Parallel Distributed Syst..

[39]  Gustavo Alonso,et al.  MIDDLE-R: Consistent database replication at the middleware level , 2005, TOCS.

[40]  Jonathan P. Bowen,et al.  ZUM '97: The Z Formal Specification Notation , 1997, Lecture Notes in Computer Science.

[41]  Dominique Cansell,et al.  A Mechanically Proved and Incremental Development of IEEE 1394 Tree Identify Protocol , 2003, Formal Aspects of Computing.

[42]  Jean-Raymond Abrial Train Systems , 2006, RODIN Book.

[43]  Cliff B. Jones,et al.  Rigorous Development of Complex Fault-Tolerant Systems [FP6 IST-511599 RODIN project] , 2006, RODIN Book.