Model of Concurrency in Object-Oriented Databases

Daniela Rosu


The most commonly used model for concurrency control in traditional database systems represents transactions as streams of partially ordered operations that are scheduled for execution by a central or distributed transaction manager. The various scheduling strategies are proved correct by using the serializability theory. This theory, in its classical form, operates successfully on systems with at (non-nested) transactions but is unable to represent conveniently complex (nested) computations, inherent to the object-oriented paradigm.

This report presents a more general model for transaction management which permits nested computations and a technique for proving the correctness of the schedules designed by the concurrency control mechanism. All objects in the database are assumed to have their own concurrency control mechanisms that schedule the operations local to the objects according to the order devised by the central transaction manager. The classical serializability theory is extended with an abstract model for computations allowing for arbitrary operations and nondeterministic programs.