TOPAZ : a tool kit for the assembly of transaction managers for non-standard applications
Rainer Unland
"Advanced database applications", such as CAD/CAM, CASE, large AI applications or image and voice processing, place demands on transaction management which differ substantially from those in traditional database applications. In particular, there is a need to support "enriched" data models (which include, for example, complex objects or version and configuration management), "synergistic" cooperative work, and application- or user-supported consistency. Unfortunately, the demands are not only sophisticated but also diversified, which means that different application areas might even place contradictory demands on transaction management. This paper deals with these problems and offers a solution by introducing a flexible and adaptable tool kit approach for transaction management. This tool kit enables a database implementor or applications designer to assemble application-specific transaction managers. Each such transaction manager is meant to provide a number of individualized, application-specific transaction types. Such transaction types can be constructed by selecting a meaningful subset from a "starter set" of basic constituents. Among the basic components provided by the starter set are those for concurrency control, recovery, and transaction processing control. In a first step these basic components are assembled and adapted to each other to form a kind of (nonexecutable) "skeleton" transaction. Skeleton transactions can be customized to make them a more meaningful basis for the construction of executable transaction type. Finally, executable transaction types can be constructed by equipping appropriate skeleton transaction with the specific semantics of the transaction model of choice. To be able to emulate each kind of application environment the different transaction types must be executable in any order within a nested transaction hierarchy. For this reason we propose a kind of "meta" (transaction) model. It specifies the constraints and rules which need to be obeyed by each transaction type. Particular emphasis is placed on the integration of flexible and powerful concepts for a comprehensive support of cooperative work.