An application framework for building dynamically configurable transaction systems

Atomic transactions are needed to preserve the consistency in the presence of failures and/or concurrency in distributed systems. In this paper we describe an atomic transaction framework which includes class hierarchies for several transaction semantics. The transaction framework has been carefully designed to include the common patterns of transactions. The framework addresses dynamic configurability of the different transaction semantics in order to cope with the user, system and data requirements. This transaction framework has been implemented in Smalltalk.

[1]  Miron Livny,et al.  Concurrency control performance modeling: alternatives and implications , 1987, TODS.

[2]  Edgar Knapp,et al.  Deadlock detection in distributed databases , 1987, CSUR.

[3]  Gerald W. Both,et al.  Object-oriented analysis and design with applications , 1994 .

[4]  Irving L. Traiger,et al.  Granularity of Locks and Degrees of Consistency in a Shared Data Base , 1998, IFIP Working Conference on Modelling in Data Base Management Systems.

[5]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[6]  ReuterAndreas,et al.  Principles of transaction-oriented database recovery , 1983 .

[7]  Ajoy Kumar Datta,et al.  Distributed Deadlock Detection Algorithms , 1992, Parallel Process. Lett..

[8]  Rachid Guerraoui Atomic Object Composition , 1994, ECOOP.

[9]  Ralph E. Johnson,et al.  Documenting frameworks using patterns , 1992, OOPSLA '92.

[10]  Divyakant Agrawal,et al.  Transaction Management in Database Systems , 1992, Database Transaction Models for Advanced Applications.

[11]  Christos H. Papadimitriou,et al.  The Theory of Database Concurrency Control , 1986 .

[12]  Irving L. Traiger,et al.  Transactions and consistency in distributed database systems , 1982, TODS.

[13]  B. Adelson,et al.  The Role of Domain Expenence in Software Design , 1985, IEEE Transactions on Software Engineering.

[14]  Wolfgang Pree,et al.  Meta Patterns - A Means For Capturing the Essentials of Reusable Object-Oriented Design , 1994, ECOOP.

[15]  Guillermo Arango,et al.  Domain Analysis and Software Systems Modeling , 1991 .

[16]  Philip A. Bernstein,et al.  Concurrency Control in Distributed Database Systems , 1986, CSUR.

[17]  Jacques Ferber,et al.  Computational reflection in class based object-oriented languages , 1989, OOPSLA '89.

[18]  Vassos Hadzilacos,et al.  A theory of reliability in database systems , 1988, JACM.

[19]  Roy H. Campbell,et al.  Principles of Object-Oriented Operating System Design , 1989 .

[20]  Ron Obermarck,et al.  Distributed deadlock detection algorithm , 1982, TODS.

[21]  Ralph E. Johnson,et al.  Patterns Generate Architectures , 1994, ECOOP.

[22]  Henry Lieberman,et al.  Using prototypical objects to implement shared behavior in object-oriented systems , 1986, OOPLSA '86.

[23]  Erich Gamma,et al.  ET++—an object oriented application framework in C++ , 1988, OOPSLA 1988.

[24]  Hector Garcia-Molina,et al.  Using semantic knowledge for transaction processing in a distributed database , 1983, TODS.

[25]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[26]  Rebecca Wirfs-Brock,et al.  Designing object-oriented software , 1990 .

[27]  Michael Stonebraker,et al.  The Performance of Concurrency Control Algorithms for Database Management Systems , 1984, VLDB.

[28]  Peter Coad,et al.  Object-oriented patterns , 1992, CACM.

[29]  L. P. Deutsch,et al.  Design reuse and frameworks in the smalltalk-80 system , 1989 .

[30]  A. Fleischmann Distributed Systems , 1994, Springer Berlin Heidelberg.

[31]  J. Davenport Editor , 1960 .

[32]  Nancy A. Lynch,et al.  Multilevel atomicity—a new correctness criterion for database concurrency control , 1983, TODS.

[33]  J CareyMichael,et al.  Concurrency control performance modeling: alternatives and implications , 1987 .

[34]  Bharat Bhargava Concurrency control and reliability in distributed systems , 1986 .

[35]  William E. Weihl Linguistic support for atomic data types , 1990, TOPL.

[36]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[37]  Bedir Tekinerdogan,et al.  Designing Software Architectures As a Composition of Specializations of Knowledge Domains , 1995 .

[38]  Robert J. Stroud,et al.  The design and implementation of a distributed transaction system based on atomic data types , 1995, Distributed Syst. Eng..

[39]  William E. Weihl The impact of recovery on concurrency control , 1989, PODS '89.

[40]  Jim Gray,et al.  The Transaction Concept: Virtues and Limitations (Invited Paper) , 1981, VLDB.

[41]  J. T. Robinson,et al.  On optimistic methods for concurrency control , 1979, TODS.