Extending the Object-Oriented Database Management System VODAK with Active Capabilities

Author
W. Obermair
Master Thesis
MT9501 (January, 1995)
Supervised by
o. Univ.-Prof. Dr. Michael Schrefl
Instructed by
Dr. Wolfgang Klas
Univ.-Ass. Dipl.-Ing. Brigitte Röck
Accomplished at
University Linz, Institute of Business Informatics - Data & Knowledge Engineering
Resources
Copy

Abstract (English)

The development of object-oriented database systems means an advance in narrowing the semantic gap between the real-world representation and the database representation of objects. But, object-oriented database systems are passive, they contain objects that do not act autonomously on predefined situations. This weakness of passive object-oriented database systems becomes apparent in situations, where database states have to be monitored. Active database systems provide the ability to monitor database states and to react to predefined situations without explicit user action or program request.

The distributed object-oriented database management system VODAK, developed at GMD-IPSI (Gesellschaft fuer Mathematik und Datenverarbeitung - Integrated Publication and Information Systems Institute), has been designed as a passive system: The objects contained in a VODAK database perform only operations initiated on them. Within the thesis, VODAK is extended with active capabilities adopting the concept of Event-Condition-Action Rules (ECA Rules). Besides questions of integrating rules into the VODAK data model, diverse aspects of rule execution are considered and architectural issues are discussed in the thesis:

In ActiveVODAK, rules and rule components (events, conditions, and actions) are treated as first-class objects; they represent a homogenous extension of the VODAK data model. Besides conventional application classes and metaclasses, an ActiveVODAK database schema defines events that have to be detected, conditions that have to be evaluated, and actions that have to be executed. The event language of ActiveVODAK supports the definition of both primitive events (method events, time events and abstract events) and complex events (conjunctions, sequences, and negations). The temporal and transactional relationships between event instantiation and condition evaluation (action execution) can be specified by means of coupling modes. Event detection and rule execution obey transaction semantics.

Abstract (German)

Die Entwicklung objektorientierter Datenbanksysteme traegt wesentlich dazu bei, die semantische Luecke zwischen der Repraesentation von Objekten in der realen Welt und der Repraesentation derselben Objekte in Datenbanken zu schlieszen. Objektorientierte Datenbanksysteme sind passiv, d.h., sie verwalten Objekte, die nicht von sich aus auf bestimmte Situationen reagieren. Diese Schwachstelle passiver objektorientierter Datenbanksysteme wird vor allem in Situationen deutlich, in denen Datenbankzustaende ueberwacht werden muessen. Aktive Datenbanksysteme unterstuetzen die Ueberwachung von Datenbankzustaenden und die automatische Reaktion auf vordefinierte Situationen.

Das am GMD-IPSI (Gesellschaft fuer Mathematik und Datenverarbeitung - Institut fuer Integrierte Publikations- und Informationssystem) entwickelte verteilte objektorientierte Datenbanksystem VODAK repraesentiert ein passives System: Die in einer VODAK-Datenbank verwalteten Objekte reagieren nur auf Nachrichten, die von auszen an sie geschickt werden. Im Rahmen der Diplomarbeit wird VODAK um aktive Funktionalitaet erweitert. ECA-Regeln, bestehend aus einer Ereigniskomponente (E=Event), einer Bedingungskomponente (C=Condition) und einer Aktionskomponente (A=Action) werden eingesetzt, um Ueberwachungssituationen zu modellieren. Neben Fragen der Integration von Regeln in das VODAK Datenmodell werden in der Diplomarbeit verschiedene Aspekte der Regelausfuehrung betrachtet und Fragen der Architektur diskutiert:

Regeln und Regel-Komponenten (Ereignisse, Bedingungen und Aktionen) werden in ActiveVODAK als Objekte modelliert; sie stellen eine homogene Erweiterung des VODAK Datenmodells dar. Neben konventionellen Anwendungsklassen und Metaklassen definiert ein ActiveVODAK-Datenbankschema Regeln. Diese Regeln spezifizieren Ereignisse, die erkannt, Bedingungen, die ueberprueft, und Aktionen, die gegebenenfalls ausgefuehrt werden muessen. Die Ereignissprache von ActiveVODAK umfaszt primitive Ereignisse (Methodenereignisse, Zeitereignisse und abstrakte Ereignisse) und komplex strukturierte Ereignisse (Konjunktion/Sequenz von Ereignissen und Negation). Durch Kopplungsmodi kann spezifiziert werden, in welchem zeitlichen Bezug und in welchem Transaktionsbezug Ereigniseintritt, Bedingungsueberpruefung und Aktionsausfuehrung stehen sollen. Ereigniserkennung und Regelausfuehrung gewaehrleisten die ACID-Eigenschaften von ActiveVODAK Transaktionen.