Semantics-based transaction processing: satisfying conflicting objectives

The traditional correctness criteria of serializability forces database designers to make design trade-offs. For example, in multidatabases, the designer balances the objectives of local design and execution autonomy, decentralized management of global transactions, maintenance of global integrity constraints, and execution-history correctness. The last objective is typically assessed with respect to some variant of conflict serializability. Switching to a semantics-based perspective of correctness can greatly reduce the conflict between the remaining objectives. In the case of multidatabases, the conflict can be entirely avoided for certain applications. We describe the success of the semantics-based perspective in three distinct application areas: multidatabases, secure multilevel databases, and long-duration transactions. Others have developed a fault tolerance approach with a closely related formal basis. Moreover, the method holds promise for such areas as database recovery and survivability. The cost of the semantics-based approach is additional off-line transaction analysis early in the system's life cycle, but this up-front cost is amortized over the numerous transaction invocations during the system's lifetime. We describe such off-line analysis and discuss progress in its automation.