Upload
john
View
37
Download
0
Embed Size (px)
DESCRIPTION
Seminar Aktive Datenbanken. REACH A Re al-Time Ac tive and H eterogeneous Mediator System Yvonne Utterodt Lehrstuhl für Datenbanken und Informationssysteme Prof. Dr. Küspert. REACH Gliederung. Einführung Architektur Regeldefinition REACH-Komponenten Administrationswerkzeuge Fazit - PowerPoint PPT Presentation
1
Seminar Aktive Datenbanken
REACH
A Real-Time Active and Heterogeneous Mediator System
Yvonne Utterodt
Lehrstuhl für Datenbanken und Informationssysteme
Prof. Dr. Küspert
2
REACHGliederung
• Einführung
• Architektur
• Regeldefinition
• REACH-Komponenten
• Administrationswerkzeuge
• Fazit
• Quellen
3
Einführung
• Was ist REACH?– 1992, TU Darmstadt
– Forschungsprototyp eines aktiven objektorientierten DBMS
– Plattform für die Entwicklung von Anwendungen
• Ziele – Robustes System mit vollständiger aktiver Funktionalität
– kommerzielles OODBMS nutzen
– alle Ereignisse, Kopplungsmodi und Werkzeugset
4
Übersicht
• Einführung
• Architektur
• Regeldefinition
• REACH Komponenten
• Administrationswerkzeuge
• Fazit
• Quellen
5
ArchitekturGrad der Integration
Welches Architekturprinzip?
• Schichtenarchitektur– Basiert auf passivem DBMS
– Darauf aufbauend gesamte Regelverwaltung als zusätzliche Schicht
– Zügige Implementierung
• Integrierte Architektur– Komponenten des DBMS sind auf aktive Funktionalität abgestimmt
– Varianten:• Vollständige Neuentwicklung
• Kooperation mit DBMS Hersteller
• Verwendung DBMS Forschungsprototyp
6
Architektur Lösung bei REACH
REACH mit OpenOODB und Exodus
Solaris
EXODUSStorage Manager
SunProC++
daVinci Tcl/Tk
OpenOODB
REACH
7
Architektur 2-Schichten Architektur von OpenOODB
Basismodule
Meta-Architektur
Persistenz-PM Transaktions-PM Anfragen-PM ...
Adress-management
Übersetzung Kommunikation DataDictionary
REACH
8
Architektur Bibliotheken und Datenbanken für REACH
REACHAnwendung
RegelnEreignisse
Anwendungsdaten
DBx
libO3DB
libsm_client
libREACHlibRules
REACH
OpenOODB
Exodus
9
Architektur Probleme für REACH
• Method-Wrapping
• Debugger
• Gekaufte Fremdbibliotheken
• Clusterfähigkeit
10
Architektur Was ist bei ObjectStore anders?
OpenOODB ObjectStore
Kommerziell nein ja
Code veränderbar ja nein
Datenbanken eine mehrere
Clustering nein ja
Präcompiler ja nein
Persistenzkonzept einfacher fehleranfälliger
11
Übersicht
• Einführung
• Architektur
• Regeldefinition
• REACH Komponenten
• Administrationswerkzeuge
• Fazit
• Quellen
12
RegeldefinitionEntwurfsmethode OMT+
R3
R1
R4
R5R2
PumpTurbine
TurbineX
Power Plant
updateWaterflowcheck
chec
kupdateOilTemp
Reduce RPM updatePressure
upda
tePr
essu
re
updateWaterflow
Every 4 weeks
13
RegeldefinitionRegelsprache REAL
# include „Reactor.hh“
rule /powerplant/reactor/r1 {
prio 5;
decl River* river;int x;Reactor* rtor named „BlockA“;
event after river->updateWaterLevel(x)
cond imm x < 3 && river->getTemp() > 24.5 && rtor->getHeatOutput() > 1000000;
action imm rtor->reducePlannedPower(0.05);
};
14
RegeldefinitionRegelsprache REAL
Kopplungsmodi:
REAL [BBKZ93]
imm immediate immediatedef deferred deferred
ind independent -dep dependent sequential causally dependentexc exclusive -
pind parallel independent detachedpdep parallel dependent parallel causally dependentpexc parallel exclusive exclusive causally dependent
15
Übersicht
• Einführung
• Architektur
• Regeldefinition
• REACH Komponenten
• Administrationswerkzeuge
• Fazit
• Quellen
16
REACH Komponenten
Trace Fehlerbehandlung
Transaktion
Regel
Triggern
Verwaltung
VisualisierungSchnittstellen
API Regelsprache Werkzeuge
Ereignis
Ereignis-parameter
Ereignis-historie
Ereignis-komposition
PrimitiveEreignisse
Zeit-ereignisse
Ereignis-basis
OpenOODB
17
REACH KomponentenRegelkomponente
• Speicherorganisation von Regeln
• Speicherung mit der Semantik der Regeln verbinden
• Lösung: hierarchische Namensräume
Regel i Regel j... ... ... ...
/
Turbinentriebwerk
ÖlkreislaufUmgebung
18
REACH KomponentenRegelkomponente
• Teilkomponente Regelauslösung:– Abarbeitung von ausgelösten Regeln
• Teilkomponente Regeladministration:– Regeln erzeugen, verändern und löschen
– Organisation der Regelverzeichnisse
– Ein- und Ausschalten von Regeln
19
REACH Komponenten – Ereigniskomponente- spezialisierte Detektoren und direktes Triggern
Klassenhierarchie der Ereignisse
EreignisPrimitives Ereignis komposites Ereignis
• Methodenereignis
• Transaktionsereignis
• Regelereignis
• Absolutes Zeitereignis
BOT EreignisEOT EreignisCommit EreignisAbort Ereignis
• Relatives Zeitereignis
• Periodisches Zeitereignis
RegelerzeugungRegelentfernungRegeländerungRegeladministration
20
Periodischer Zeit-Relativer Zeit-
REACH Komponenten – Ereigniskomponente- spezialisierte Detektoren und direktes Triggern
Prinzip des direkten Triggerns
BOT EOTPrimitives EreignisSignal
Primitiver Ereignis- detektor
Regel
triggern
triggernkompositer Ereignis- detektor
komponieren
21
• Primitive Ereignisse:
– gemeinsame Funktionalität aller primitiven Ereignisse
– Methodenereignisse after river->updateWaterLevel(x)
– Transaktionsereignisse
BOT(TA-Name), EOT(TA-Name)COMMIT(TA-Name), ABORT(TA-Name)
– Persistenzereignisse
– Abstrakte Ereignisse
– Regeladministrationsereignisse
REACH Komponenten – Ereigniskomponente- Teilkomponenten
22
REACH Komponenten – Ereigniskomponente- Teilkomponenten
• Zeitereignisse
– Absolute Zeitereignisse
at 2000/03/13/12/00/00
– Relative Zeitereignisse
30 minutes after <<event>>
– Periodische Zeitereignissestart{stop} 2000/03/13/12/00/00, every 30 minutes
23
REACH Komponenten – Ereigniskomponente- Teilkomponente Ereigniskomposition
PE PE
PEPE
Ereigniskomposition
Programm 1Transaktion
Programm 2Transaktion
24
REACH Komponenten – Ereigniskomponente- Teilkomponente Ereigniskomposition
Operationen der Ereignisalgebra
Sequenz E1 then E2
Konjunktion E1 and E2
Disjunktion E1 or E2
Negation not E2 in E1, E3
Hülle all E2 in E1, E3
Vielfachereignis n times E2 in E1,E3
Beispielafter river->updateWaterLevel(x) then reactor->updateTemp(t)
25
REACH Komponenten – Ereigniskomponente- Teilkomponente Ereigniskomposition
• Kopplungsmodus– immediate nicht möglich
– deferred nur wenn die auslösenden Ereignisse aus der gleichen Transaktion kommen
• Garbage Collection– Löschen von angefangenen Kompositionen
– Sequenz, Konjunktion und Disjunktion spätestens beim Commit/Abort (bei same trans)
26
Übersicht
• Einführung
• Architektur
• Regeldefinition
• REACH Komponenten
• Administrationswerkzeuge
• Fazit
• Quellen
27
AdministrationswerkzeugeKommandozeile
• Zur Regelmanipulation– Anlegen, Löschen von Regelverzeichnissen
– Löschen, umbenennen, verschieben von Regeln
– Zugriffsrechte setzen ...
• Regelinspektion– Auflisten von Regeln und Verzeichnissen
– Inhalt einer Regel ausgeben
• Organisation der Ereignisse– History anschauen
– Löschen von Ereignissen
28
AdministrationswerkzeugeRegelbrowser
29
AdministrationswerkzeugeRegelbrowser
30
AdministrationswerkzeugeEreignisbrowser
History
31
AdministrationswerkzeugeBrowser für Triggergraphen
32
AdministrationswerkzeugeTracemodus
33
Übersicht
• Einführung
• Architektur
• Regeldefinition
• REACH Komponenten
• Administrationswerkzeuge
• Fazit
• Quellen
34
Fazit
• Prototyp mit Demonstrationsanwendung Kraftwerk– REACH als Prototyp nicht vollständig
• Bei Schichtenarchitektur Probleme mit Recovery
• Handhabung von Ereignissen bei verteilten Datenbankclients nicht vollständig untersucht
• REAL stark an C++ angelehnt, daher prozedural, besser wäre deklarative Regelsprache
• Noch keine kommerziellen Systeme mit kommerziellen Anwendungen
35
Quellen
Jürgen Zimmermann: Konzeption und Realisierung eines aktiven
Datenbanksystems: Architektur, Schnittstellen und Werkzeuge, 2001
Jürgen Zimmermann, Alejandro P. Buchmann, Active Rules in Database
Systems, REACH, 1999
Alejandro P. Buchmann, Architecture of Active Database Systems, 1998