A Transaction Manager Component Supporting Extended
Transaction Models
Copyright © 1996 by George T. Heineman
Database management systems (DBMSs) have increasingly been used for advanced application domains, such as software development environments (SDEs), network management, workflow management systems (WFMSs), and computer-aided design and manufacturing (CAD/CAM). Traditional database applications, such as banking and airline reservation systems, rely on the DBMS to guarantee the consistency of the data. Towards this end, most DBMSs provide a correctness model based on conflict serializability (serializability for short) that assumes no specialized knowledge of the transactions it processes. Many researchers have argued that serializability, as a concurrency control policy, is too restrictive; advanced database applications have semantic information that should be employed when maintaining the consistency of the data. The term semantic information refers to any pertinent knowledge about a transaction, its operations, or its relationships with other transactions. For this reason, many extended transaction models (ETMs) have been developed. There is no consensus, however, as to which ETM is appropriate for advanced database applications; most likely, there never will be. A DBMS, therefore, cannot expect to implement an ETM that all database applications will use.
This dissertation aims to solve two problems: How does one specify an
extended transaction model? How to implement (or support) the ETM?
Since we want to avoid any solution that requires a full implementation
from scratch for each application, we seek a means to provide
extensible concurrency control. One of the drawbacks of most
descriptions of ETMs is that they are abstractly rendered and not usually
implemented. As part of our research, we have designed and implemented a
transaction manager component, called PERN, that employs a Concurrency Control
Language (CCL) interpreter to provide extensible concurrency control.
CORD is a declarative CCL used to
specify a coordination model that determines how to extend a
transaction manager's concurrency control policy. CORD is practical since it assumes that the
transaction manager already provides Serializability as a correctness
criterion, and extended transaction models are described by their
extensions to Serializability. In this dissertation, we show the power
and flexibility of CORD as we model
many popular extended transaction models from the literature. For
existing DBMSs, we show how to modify transaction managers to incorporate
the CORD run-time interpreter, thus
allowing them to provide extensible concurrency control.
This dissertation presents an External Concurrency Control (ECC)
architecture which is realized by the PERN component. This reference architecture
captures the essence of advanced database applications and shows how a
transaction manager can employ semantic information from the Task
Management Layer (TML) of these applications. The mediator-based
architecture presented in this dissertation allows for flexible
integration of a transaction manager component and advanced database
applications. This mediator architecture allows semantic information to
be extracted from an application in a generic manner.