Executing a transaction as an atomic unit may not satisfy the performance requirements of some database applications. It could be desirable for such applications to break a transaction into steps and execute each of these steps as an atomic unit. This paper formalizes a decomposition process and identifies desirable properties. It introduces the notion of semantic histories to formulate and prove the necessary properties, and the notion of successor sets to efficiently describe the correct interleavings of steps. It also describes a two-phase locking mechanism to generate stepwise conflict-serializable histories.
The paper is a valuable contribution to transaction processing in database systems. Although it is theoretical, understanding is enhanced by a motivating example that illustrates the ideas. The authors also discuss how well the proposed transaction model scales up to real-world applications. The related work section that summarizes various extensions to the classical transaction model enhances the usefulness of the paper. The reader should be familiar with the Z specification language, because model-based specifications are expressed in Z.