Specifying Transaction Control to Serialize Concurrent Program Executions

We define a programming language independent transaction controller and an operator which when applied to concurrent programs with shared locations turns their behavior with respect to some abstract termination criterion into a transactional behavior. We prove the correctness property that concurrent runs under the transaction controller are serialisable. We specify the transaction controller TaCtl and the operator TA in terms of Abstract State Machines. This makes TaCtl applicable to a wide range of programs and in particular provides the possibility to use it as a plug-in when specifying concurrent system components in terms of Abstract State Machines.

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

[2]  Roozbeh Farahbod,et al.  Executable formal specifications of complex distributed systems with CoreASM , 2014, Sci. Comput. Program..

[3]  Gregory H. Harris,et al.  Review of "Abstract state machines: a method for high-level system design and analysis" by Egon Börger and Robert Stärk. Springer-Verlag 2003. , 2004, SOEN.

[4]  Uwe Glässer,et al.  Rigorous Methods for Software Construction and Analysis, Essays Dedicated to Egon Börger on the Occasion of His 60th Birthday , 2009, Rigorous Methods for Software Construction and Analysis.

[5]  Paolo Arcaini,et al.  A model‐driven process for engineering a toolset for a formal method , 2011, Softw. Pract. Exp..

[6]  Leslie Lamport,et al.  How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs , 2016, IEEE Transactions on Computers.

[7]  Elvinia Riccobene,et al.  Integration of Tools for Rigorous Software Construction and Analysis (Dagstuhl Seminar 13372) , 2013, Dagstuhl Reports.

[8]  Klaus-Dieter Schewe,et al.  Hybrid Concurrency Control and Recovery for Multi-Level Transactions , 2000, Acta Cybern..

[9]  Martin Odersky,et al.  Abstract State Machines - Theory and Applications , 2002, Lecture Notes in Computer Science.

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

[11]  Roozbeh Farahbod,et al.  CoreASM: An Extensible ASM Execution Engine , 2007, Fundam. Informaticae.

[12]  J. R. Abrial,et al.  The B-Book: Mathematics , 1996 .

[13]  Klaus-Dieter Schewe,et al.  Using Abstract State Machines for the Design of Multi-level Transaction Schedulers , 2009, Rigorous Methods for Software Construction and Analysis.

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

[15]  Angelo Gargantini,et al.  A Metamodel-based Language and a Simulation Engine for Abstract State Machines , 2008, J. Univers. Comput. Sci..

[16]  Frank Waters,et al.  The B Book , 1971 .

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

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

[19]  Angelo Gargantini,et al.  Encoding Abstract State Machines in PVS , 2000, Abstract State Machines.

[20]  J. R. Abrial,et al.  The B-Book: Programming , 1996 .

[21]  Jean-Raymond Abrial Modeling in Event-B: A simple file transfer protocol , 2010 .