Terminierung in aktiven DBMS Friedrich-Schiller-Universität Jena Institut für Informatik Seminar: Aktive Datenbanken (Siegmundsburg) Leitung: Prof. Dr.

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmentheorie 08 – Dynamische Programmierung (1)
Advertisements

Prof. Dr. S. Albers Prof.Dr.Th Ottmann
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Grenzen endlicher Automaten
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten KMP, BM.
Default Logiken Zhao Li
Seminar Internetdienste Web 2.0 und Rich Internet Applications (RIA) JavaFX Rainer Scholz.
Christian A. Kopf Institut für Informatik FU Berlin Episode Recognizer Framework - Rahmenwerk zur Episodenerkennung.
Verifizieren versus Berechnen
Terminierung und Deadlocks Enkhbat Daginaa Betreuerin Prof. Heike Wehrheim Totale Korrektheit.
Systeme 1 Kapitel 7 Deadlocks WS 2009/10.
Java: Objektorientierte Programmierung
Algorithmentheorie 04 –Hashing
Suche in Texten: Suffix-Bäume
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Dynamische Programmierung (2) Matrixkettenprodukt
Algorithmentheorie 02 – Polynomprodukt und Fast Fourier Transformation
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Prof. Dr. S. Albers Prof. Dr. Th. Ottmann
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
WS 06/07 Algorithmentheorie 01 - Einleitung Prof. Dr. Th. Ottmann Tobias Lauer.
Algorithmentheorie 12 – Spannende Bäume minimalen Gewichts
Union-Find-Strukturen
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten Suffix - Bäume.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
Geometrisches Divide and Conquer
Erweiterte Datenmodelle Referentin: Lena Becker HS: Datenbanken vs. Markup Datum:
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Übung Datenbanksysteme WS 2003/ Übung Datenbanksysteme Hierarchische DBMS
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
Christian Schindelhauer
Christian Schindelhauer
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Grundschutztools
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
Tino Reindanz - FSU Jena Seminar Aktive Datenbanken – SS 2007 Folie 1 Seminar Aktive Datenbanken Rule Development Rule Development for Active Database.
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.
Effiziente Algorithmen
Diskrete Mathematik II
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Polynome und schnelle Fourier-Transformation
Auslegung eines Vorschubantriebes
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut.
WS 2013/14 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Formale Sprachen Reguläre Sprachen Rudolf FREUND, Marian KOGLER.
Algorithmen und Datenstrukturen Übungsmodul 8
Zustandsübergangsdiagramme (1)
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Christian Schindelhauer Wintersemester 2006/07 2. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Landkarten Landkarten sind Tesselationen mit folgenden Eigenschaften:
Analyse der Laufzeit von Algorithmen
Inhalt Einordnung und Funktion der lexikalische Analyse Grundlagen
Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.
Konvexe Hüllen (Convex Hulls)
Vortrag: OSCAR und die Regelsprache ORCA Seminar: „Aktive Datenbanken“ FSU Jena Lehrstuhl für Datenbanken und Informationssysteme Betreuer:
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
 Präsentation transkript:

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

2 Gliederung 1Einleitung 2Definition Terminierung 3 Grundlegende Ansätze zur Problemlösung 4Statistische Analyse 4.1 Erste Stufe der Analyse 4.2 Zweite Stufe der Analyse 4.3 Umgang mit verbleibenden Zyklen 5Maßnahmen zur Laufzeit 6Fazit

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)

4 2 Definition Terminierung Beispiel: E: AFTER UPDATE TO Angestellte.Gehalt C: TRUE A: SET Gehalt := NEW.Gehalt – (NEW.Gehalt – OLD.Gehalt) * 0,1

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

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

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

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

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

10 4 Statische Analyse unterteilt in zwei Stufen: 1.Stufe: Erzeugung Triggerungsgraph 2.Stufe: Untersuchung der Zyklen

Erste Stufe der Analyse Triggerungsgraph: Sei R={r 1,..r n } die menge der definierten Regeln. Der Triggerungsgraph für R ist ein gerichteter Graph T R =(V R,E R ) und hat als Ecken die Menge der Regeln aus R, d.h. V R =R. Er enthält die Kante Aktion kann r j triggern.

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

Erste Stufe der Analyse Triggerungsgraph für das Beispiel: Gehaltsanpassung

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

Erste Stufe der Analyse Triggerung einer Regel Wenn 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

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

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) und DML-Befehl Objekte berührt (e.C und e.S) DML-Befehl Attribute aus e.A berührt

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...;

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

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´

Erste Stufe der Analyse DML-Kommando o kann ein atomares Ereignis e triggern, wenn für mindestens eines der aus o erzeugten Aktions-Events ae i und e gilt: 1. 2.ae i.C und e.C sind nicht disjunkt und 3. Ø und 4. disjunkte Objektmengen von ae i.S und e.S

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;

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

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);

25 manuelle Verifikation der ausgegebenen Zyklen Änderung des Regeldesigns keine Änderung zur Laufzeit interaktives Debugging 4.3 Umgang mit verbleibenden Zyklen

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

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

28 Vielen Dank für die Aufmerksamkeit