MASSACHUSETTS INST OF TECH CAMBRIDGE LAB FOR COMPUTER SCIENCE
We give a clear yet rigorous correctness proof for Mosss algorithm for managing data in a nested transaction system. The algorithm, which is the basis of concurrency control and recovery in the Argus system, uses read- and write-locks and a stack of versions of each object to ensure the serializability and recoverability of transactions accessing the data. Our proof extends earlier work on exclusive locking to prove that Mosss algorithm generates serially correct executions in the presence of concurrency and transaction aborts. The key contribution is the identification of a simple property of read operations, called transparency, that permits shared locks to be used for read operations. Keywords Database management Nested transactions, Atomic actions, Concurrency control, Recovery, Databases, Serializability, Readlocks, Write-locks.