Research in the framework of VODAK focuses on an extensible data model and database programming language, an advanced transaction odel, object-oriented query language, and support for multimedia data.
The VODAK Data Model Language VML
Usually database models lack mechanisms for extending them with additional modeling primitives. This limitation does not allow the adaptation of the models for specific application needs, e.g. database integration, multimedia document handling, hypertext modeling, etc.
The VODAK Model Language VML homogeneously integrates the concept of metaclasses and the separation of types and classes with other object-oriented concepts such as properties, methods, inheritance, and object identity. Complex nested data structures can be defined using the set, array, tuple, and dictionary type constructors. VML supports its own programming language for implementing methods, specifying transactions and an ad hoc query language.
In VML classes are used to organize a set of objects corresponding to real world entities and relationships between them. Object types define the structure of objects and the operations defined on these structures. They are associated with classes in order to determine the structure and behavior of the class' instances. Metaclasses are first class objects whose instances are classes. Metaclasses are associated with three object types: an (optional) own-type extending their own behavior, an instance-type specifying the behavior of their instances (which are classes), and an instance-instance-type specifying the behavior of the instances of their instances. Metaclasses can be organized in an instantiation hierarchy of arbitrary depth.
This approach leads to an open, adaptable data model which provides for the specification of additional modeling primitives at a meta layer of the database schema. The concept of metaclasses and the separation of classes and types allow to determine the structure and behavior of objects and the individual inheritance behavior via semantic relationships between arbitrary objects already at the meta layer independently from the specifications given at the application layer for the application specific classes.
The VODAK Transaction Model
In VODAK, we focus on two specific problems of transaction management.
1. Operations to read and edit (hyper)documents are typically complex, interactive and of long duration. A high degree of concurrency is required to reduce the number and length of times a transaction is blocked.
2. A publication environment has to handle existing database systems for using and modifying remote information and documents. Transaction managers of existing systems, i.e. concurrency control and recovery, have to be integrated in a transparent way utilizing the functionality of existing managers.
Our transaction model is based on open nested transactions. Compared to conventional flat transactions, nested transactions allow more concurrency and are more flexible for recovery. A nested transaction is a tree-like structure, dynamically built up by the call of subtransactions until a bottom implementation level is encountered.
We extended the open nested model from a fixed calling hierarchy of operations in a layered system (multi-level transactions) to an arbitrary calling hierarchy of operations in an object-oriented system. Commutativity of operations is applied to system defined VODAK methods, and to methods of user defined object types. For the second type of operations, we developed a framework to specify commutativity and inverse operations in VML.
Query Processing
Although nearly all object-oriented data models proposed so far include behavioral aspects, most object-oriented query languages, algebras and query optimization strategies simply adapt relational concepts since they focus on the complex structures of objects and neglect the behavior. We claim that this approach is not sufficient since it does not reflect the much richer semantics methods can carry which have to be taken into account for really efficient query processing. The quite straightforward approach we consider is to integrate methods in an algebraic framework for query processing and to make there partial knowledge about methods available in the form of equivalences. We integrate algebraic set operators with methods defined in database schemas within an object-oriented data model. We investigate the impact on the architecture of the query processor when the algebra becomes an extendible component in query processing.
Multimedia Support
The V3 Video Server was built as a demonstration showing a multimedia application developed on top of the VODAK database management system. The V3 Video Server allows a user to interactively store, retrieve, manipulate, and present analog and short digital video clips. A video clip consists of a sequence of pictures and corresponding sound. Several attributes like author, title, and a set of keywords are annotated.
In the future, the VODAK DBMS will be enhanced with new built-in functionality for multimedia datatypes. Therefore, existing components of VODAK must be changed and new ones must be added to support time dependencies, high data volumes, and user interaction.
Query Processing
Although nearly all object-oriented data models proposed so far include behavioral aspects, most object-oriented query languages, algebras and query optimization strategies simply adapt relational concepts since they focus on the complex structures of objects and neglect the behavior. We claim that this approach is not sufficient since it does not reflect the much richer semantics methods can carry which have to be taken into account for really efficient query processing. The quite straightforward approach we consider is to integrate methods in an algebraic framework for query processing and to make there partial knowledge about methods available in the form of equivalences. We integrate algebraic set operators with methods defined in database schemas within an object-oriented data model. We investigate the impact on the architecture of the query processor when the algebra becomes an extendible component in query processing.
The VODAK Prototype
The system architecture consists of a central database environment and several external database environments to which the user wants to have integrated access. Each of these environments consists of an object manager, a message handler, a transaction manager, and a communication manager. In addition to these components an external database environment includes a database interface module which realizes the access to an external database system.
The DBMS components are currently built on top of DAMOKLES and will be in the near future on top of ObjectStore.
A first version of a C++ based prototype of VODAK is available for Sun Sparc Stations under certain conditions. It implements all the features specified in including e.g. metaclasses, transactions, and remote message execution.
References
P. Muth, T. Rakow, W. Klas, E. Neuhold: A Transaction Model for an Open Publication Environment. A. K. Elmagarmid (Ed.): Database Transaction Models for Advanced Applications. Morgan Kaufmann Publishers, San Mateo, Calif., 1992.
Wolfgang Klas, Karl Aberer, Erich Neuhold Object-Oriented Modeling for Hypermedia Systems using the VODAK Modeling Language (VML) to appear in: Object-Oriented Database Management Systems, NATO ASI Series, Springer Verlag Berlin Heidelberg, August 1993.
Karl Aberer, Gisela Fischer Object-Oriented Query Processing: The Impact of Methods on Language, Architecture and Optimization Arbeitspapiere der GMD No. 763, Sankt Augustin, July 1993.
T.C. Rakow, P. Muth The V3 Video Server: Managing Analog and Digital Video Clips, Sigmod 93, Washington, DC.
For further information contact
{aberer,muth,rakow,klas}@darmstadt.gmd.de
GMD-IPSI Dolivostr. 15 D-64293 Darmstadt GERMANY FAX: +49-6151-869 966
This document was translated by ms2html v1.8 on 04.06.96.