terminierung in aktiven dbms friedrich-schiller-universität jena institut für informatik seminar:...
TRANSCRIPT
![Page 1: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/1.jpg)
Terminierung in aktiven DBMS
Friedrich-Schiller-Universität Jena
Institut für Informatik
Seminar: Aktive Datenbanken (Siegmundsburg)
Leitung: Prof. Dr. K. Küspert
Referent: Mike Erler
SoSe 2007
![Page 2: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/2.jpg)
2
Gliederung
1 Einleitung2 Definition Terminierung 3 Grundlegende Ansätze zur Problemlösung 4 Statistische Analyse
4.1 Erste Stufe der Analyse4.2 Zweite Stufe der Analyse4.3 Umgang mit verbleibenden Zyklen
5 Maßnahmen zur Laufzeit6 Fazit
![Page 3: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/3.jpg)
3
2 Definition Terminierung
terminare (lat.) beenden
Ausführung der Aktion einer Regel kann zur Folge haben, dass wiederum eine Situation eintritt, die neue Regeln triggert, dies kann eventuell zu einer endlosen zyklischen Ausführung von Regeln führen keine Terminierung (Nichtterminerung)
![Page 4: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/4.jpg)
4
2 Definition Terminierung
Beispiel:
E: AFTER UPDATE TO Angestellte.Gehalt C: TRUE A: SET Gehalt := NEW.Gehalt – (NEW.Gehalt –
OLD.Gehalt) * 0,1
![Page 5: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/5.jpg)
5
3 Grundlegende Ansätze zur Problemlösung
1. Verantwortung beim Regeldesigner
keine Definition von Regeln, die zur Nichtterminierung führen
unbefriedigender Ansatz, große Anzahl von Regeln nicht überschaubar sind
![Page 6: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/6.jpg)
6
3 Grundlegende Ansätze zur Problemlösung
2. Eingeschränkte Mächtigkeit der Regelsprache
Problem der Nichtterminierung tritt nicht auf Regelsprache verliert Mächtigkeit Definition
von Regeln begrenzt viele Anwendungsbereiche/Probleme können
nicht mehr bearbeitet werden
![Page 7: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/7.jpg)
7
3 Grundlegende Ansätze zur Problemlösung
3. Abbruch von Zyklen zur Laufzeit Definition von nichtterminierenden
Regelmengen wird zugelassen Bestimmung einer Anzahl von Durchläufen Abbruch der Zyklen während der Laufzeit unbefriedigender Ansatz: System unnötig
belastet oder Fixpunkte können nicht erreichen werden
![Page 8: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/8.jpg)
8
3 Grundlegende Ansätze zur Problemlösung
4. Regel-Debugging Definition von nichtterminierenden
Regelmengen wird zugelassen Regel-Debugger für den Benutzer Simulation von Regelausführungen Verdachtsmoment beim Nutzer / Überblick
![Page 9: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/9.jpg)
9
3 Grundlegende Ansätze zur Problemlösung
5. Statische Analyse Analyse der Regelmenge zur Definitionszeit un- und problematische Regelmengen erkannt keine Ausgabe Terminierung der definierten
Regeln für alle möglichen Fälle garantiert
![Page 10: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/10.jpg)
10
4 Statische Analyse
unterteilt in zwei Stufen:
1.Stufe: Erzeugung Triggerungsgraph
2.Stufe: Untersuchung der Zyklen
![Page 11: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/11.jpg)
11
4.1 Erste Stufe der Analyse
Triggerungsgraph:
Sei R={r1,..rn} die menge der definierten Regeln. Der Triggerungsgraph für R ist ein gerichteter Graph TR=(VR,ER) und hat als Ecken die Menge der Regeln aus R, d.h. VR=R. Er enthält die Kante Aktion kann rj triggern.
srEeiRij':
![Page 12: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/12.jpg)
12
4.1 Erste Stufe der Analyse
Beispiel: Gehaltsanpassung
CREATE RULE Gehaltsanpassung IMMEDIATE
ON UPDATE TO Angestellter.Gehalt
THEN DO UPDATE Gehaltsanpassung_NEWUPD
SET Gehalt := Gehalt-(NEW:Gehalt – OLD:Gehalt)*0,1
![Page 13: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/13.jpg)
13
4.1 Erste Stufe der Analyse
Triggerungsgraph für das Beispiel:
Gehaltsanpassung
![Page 14: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/14.jpg)
14
4.1 Erste Stufe der Analyse
Beispiel: Gehaltsanpassung terminierend
CREATE RULE Gehaltsanpassung IMMEDIATE
ON UPDATE TO Angestellter.Gehalt
THEN DO UPDATE Gehaltsanpassung_NEWUPD
SET Gehalt := Gehalt-(NEW:Gehalt – OLD:Gehalt)*0,1
INCREASE
![Page 15: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/15.jpg)
15
4.1 Erste Stufe der Analyse
Triggerung einer RegelWenn der endliche Automat, welcher die
Regel assoziiert, in einen akzeptierenden Endzustand gelangt
Komplexes Ereignis(E1 AND THEN E2 AND THEN E3 OR E4) AND E5 OR E6
Triggerung nur möglich, wenn atomare Ereignisse E5 oder E6 auftretten
![Page 16: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/16.jpg)
16
4.1 Erste Stufe der Analyse
Triggerung eines atomaren Ereignisses e = (O,C,A,S) :
O ist eine Operation
C nicht leerer Ausdruck mit Namen bereits definierter Klassen
A Menge von Attributnamen
S Selektionsausdruck
INCREASE TO Angestellte.Gehalt
WHERE Alter >40
O = INCREASE
C = Angestellte
A = {Gehalt}
S = Alter>40
![Page 17: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/17.jpg)
17
4.1 Erste Stufe der Analyse
Triggerung eines atomaren Ereignisses e = (O,C,A,S) wird durch DML-Befehl
getriggert, wenn:e auf die durch den DML-Befehl
ausgeführte Operation wartet (e.O) undDML-Befehl Objekte berührt (e.C und e.S)DML-Befehl Attribute aus e.A berührt
![Page 18: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/18.jpg)
18
4.1 Erste Stufe der Analyse
Triggerung eines atomaren Ereignisses:
UPDATE Angestellte WHERE Alter >45
AND Gehalt = 7000
SET...;
CREATE RULE r1 AS
ON UPDATE TO Angestellte
WHERE ALTER < 47
THEN DO ...;
![Page 19: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/19.jpg)
19
4.1 Erste Stufe der Analyse
Aktions-Event:ae eines DML-Befehls o ist ein 4-Tupel
ae=(O,C,A,S) O: Menge von Operationen C: einem Klassenausdruck mit definierten
Klassen und Mengenoperationen A: Menge von Attributnamen S: einem Ausdruck
![Page 20: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/20.jpg)
20
4.1 Erste Stufe der Analyse
Beispiel:UPDATE Angestellte WHERE Gehalt <5000
AND Alter >45
SET Gehalt := Gehalt * 1,05;
O = ´Update`
C = Angestellte
A = {Gehalt}
S = ´Gehalt >5000 AND Alter > 45´
![Page 21: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/21.jpg)
21
4.1 Erste Stufe der Analyse
DML-Kommando o kann ein atomares Ereignis e triggern, wenn für mindestens eines der aus o erzeugten Aktions-Events aei und e gilt:
1.
2.aei.C und e.C sind nicht disjunkt und
3. Ø und
4. disjunkte Objektmengen von aei.S und e.S
undDECREASE
INCREASEOaeUPDATEOeOeOaeii
}....)
,{.''.(..
AeAaeAei
...
![Page 22: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/22.jpg)
22
Eingabe: Menge von Regeln R
Ausgabe: Menge von starken Zusammenhangskomponenten von TR
VAR TR: TUPLE OF (V:SET OF Regeln; E: SET OF Kanten : TUPLE OF (von :Regel; nach: Regel;));
ri,rj: Regel;
ev: SET OF atomare Ereignisse;
q: Integer;
dml: DML-Befehl;
BEGIN
TR.V = R;
TR.E = {};
FOR ALL ri IN R DO
FOR ALL rj IN R DO
FOR ALL ev IN rj.Ev
WHERE EXISTS q in Qj: deltaj(q,ev)=Fj DO
FOR ALL dml IN ri.AK DO
IF triggers(dml,ev) THEN TR.E UNION(ri,rj);
RETURN (Starke_Zusammenhangskomponenten(TR));
END;
![Page 23: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/23.jpg)
23
4.2 Zweite Stufe der Analyse
Überprüfung des Graphen, ob Streichen einer Kante möglich
jede Kante wird in einem Algorithmus geprüft Streichung einer Kante Berechnung starke
Zusammenhangskomponente Ausgabe: Quellen möglicher Nichtterminierung
![Page 24: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/24.jpg)
24
4.2 Zweite Stufe der Analyse
Beispiel:
CREATE RULE Weniger_Hobbies IMMEDIATE
ON DECREASE TO Angestellte.Hobbies
THEN DO UPDATE Weniger_Hobbies_NEWUPD
Set Gehalt := Gehalt-50;
CREATE RULE Weniger_Gehalt IMMEDIATE
ON DECREASE TO Angestellte.Gehalt
THEN DO UPDATE Weniger_Gehalt_NEWUPD
SET Hobbies := Hobbies-LAST(Hobbies);
![Page 25: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/25.jpg)
25
manuelle Verifikation der ausgegebenen Zyklen Änderung des Regeldesigns keine Änderung zur Laufzeit interaktives
Debugging
4.3 Umgang mit verbleibenden Zyklen
![Page 26: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/26.jpg)
26
keine Überwachung maximal erlaubte Anzahl von
Zyklusdurchläufen Warnung an DBA bei Erreichen einer Grenze
von maximal erlaubten Zyklusdurchläufen Rückgabe einer Warnung an die Applikationen,
die Regeln ausgelöst haben, die am Zyklus beteiligt sind
Überwachung von Änderungen nach jedem Durchlauf des Zyklus
5 Maßnahmen zur Laufzeit
![Page 27: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/27.jpg)
27
Problem der Terminierung Beachtung schenken
meist nicht überschaubar für Regeldesigner
Tool nutzen Betrachtung der auftretenden Zyklen zur
Definitionszeit und zur Laufzeit
5 Fazit
![Page 28: Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr](https://reader036.vdocuments.net/reader036/viewer/2022062622/55204d6949795902118bf0ff/html5/thumbnails/28.jpg)
28
Vielen Dank für dieAufmerksamkeit