Retrenchment and the Atomicity Pattern

The issues surrounding the question of atomicity, both in the past and nowadays, are briefly reviewed, and a picture of an ACID (atomic, consistent, isolated, durable) transaction as a refinement problem is presented. An example of a simple air traffic control system is introduced, and the discrepancies that can arise when read-only operations examine the state at atomic and finegrained levels are handled by retrenchment. Non-ACID timing aspects of the ATC example are also handled by retrenchment, and the treatment is generalised as the retrenchment Atomicity Pattern. The utility of the pattern is confirmed against a different case study, the Mondex Electronic Purse.

[1]  Ramez Elmasri,et al.  Fundamentals of Database Systems , 1989 .

[2]  S. Stepney,et al.  Derivation of Z refinement proof rules: Forwards and backwards rules incorporating input/output refi , 2002 .

[3]  Richard Banach,et al.  Composition mechanisms for retrenchment , 2008, J. Log. Algebraic Methods Program..

[4]  Kevin Loney,et al.  Oracle Database 10g The Complete Reference , 2004 .

[5]  Jim Woodcock,et al.  An Electronic Purse: Specification, Refinement and Proof , 2000 .

[6]  H. Vos Trade and Industry , 1946 .

[7]  Jim Woodcock,et al.  First Steps in the Verified Software Grand Challenge , 2006, Computer.

[8]  Richard Banach,et al.  Retrenching partial requirements into system definitions: a simple feature interaction case study , 2003, Requirements Engineering.

[9]  Wolfgang Reif,et al.  The Mondex Challenge: Machine Checked Proofs for an Electronic Purse , 2006, FM.

[10]  Jean-Raymond Abrial Event Based Sequential Program Development: Application to Constructing a Pointer Program , 2003, FME.

[11]  George Baklarz,et al.  The Official Guide to DB2 Version 8 , 2003 .

[12]  Sushil Jajodia,et al.  Advanced Transaction Models and Architectures , 2012, Springer US.

[13]  Richard Banach,et al.  Fragmented retrenchment, concurrency and fairness , 2000, ICFEM 2000. Third IEEE International Conference on Formal Engineering Methods.

[14]  Seif Haridi,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[15]  Ralph-Johan Back,et al.  Decentralization of Process Nets with Centralized Control , 1983, PODC.

[16]  George Coulouris,et al.  Distributed systems - concepts and design , 1988 .

[17]  Susan Stepney,et al.  Retrenching the Purse: Finite Sequence Numbers, and the Tower Pattern , 2005, FM.

[18]  Gerhard Schellhorn Verification of ASM Refinements Using Generalized Forward Simulation , 2001, J. Univers. Comput. Sci..

[19]  R. Banacha,et al.  Retrenchment : An Engineering Variation on Refinement , 2022 .

[20]  Czeslaw Tadeusz Jeske,et al.  Algebraic Integration of Retrenchment and Refinement , 2006 .

[21]  Dominique Cansell,et al.  Refinement and Reachability in EventB , 2005, ZB.

[22]  Gerhard Schellhorn,et al.  ASM refinement and generalizations of forward simulation in data refinement: a comparison , 2005, Theor. Comput. Sci..

[23]  Michel Raynal,et al.  Distributed algorithms and protocols , 1988 .

[24]  Jennifer Widom,et al.  Database Systems: The Complete Book , 2001 .

[25]  Egon Börger,et al.  The ASM Refinement Method , 2003, Formal Aspects of Computing.

[26]  Carolyn Begg Thomas Connolly,et al.  Database Systems: A Practical Approach To Design, , 2004 .

[27]  R. Stärk,et al.  Abstract State Machines , 2003, Springer Berlin Heidelberg.

[28]  Egon Börger,et al.  Abstract State Machines , 2003 .

[29]  Mordechai Ben-Ari,et al.  Principles of concurrent programming , 1982 .

[30]  Butler W. Lampson,et al.  Atomic Transactions , 1980, Advanced Course: Distributed Systems.

[31]  Richard Banach,et al.  Retrenchment: Extending Refinement for Continuous and Control Systems , 2000, IWFM.

[32]  Egon Börger,et al.  Abstract State Machines. A Method for High-Level System Design and Analysis , 2003 .

[33]  Anthony Hall Using Formal Methods to Develop an ATC Information System , 1996, IEEE Softw..

[34]  Ira R. Forman,et al.  Superimposition for Interacting Processes , 1990, CONCUR.

[35]  Richard Banach,et al.  Structuring Retrenchments in B by Decomposition , 2003, FME.

[36]  Shmuel Katz,et al.  A superimposition control construct for distributed systems , 1993, TOPL.

[37]  Jean Bacon,et al.  Operating Systems - Concurrent and Distributed Software Design , 2003, International computer science series.

[38]  Wolfgang Reif,et al.  A Systematic Verification Approach for Mondex Electronic Purses Using ASMs , 2009, Rigorous Methods for Software Construction and Analysis.

[39]  Susan Stepney,et al.  Retrenching the Purse: The Balance Enquiry Quandary, and Generalised and (1, 1) Forward Refinements , 2007, Fundam. Informaticae.

[40]  Abraham Silberschatz,et al.  Operating System Concepts , 1983 .