Rule Development for Active Database Systems

Download Report

Transcript Rule Development for Active Database Systems

Seminar Aktive Datenbanken Rule Development

Rule Development for Active Database Systems

Seminar Aktive Datenbanken

Tino Reindanz Folie 1 Tino Reindanz - FSU Jena

Seminar Aktive Datenbanken – SS 2007

Seminar Aktive Datenbanken Rule Development

Gliederung 1 Einführung • • 2 • • • • 3 ECA Regeln Rule Processing Rule Behavior Prozess der Regelentwicklung Rule Extraction Rule Specification Rule Verification and Validation Rule Maintenance 4 Werkzeuge Folie 2 Tino Reindanz - FSU Jena

Seminar Aktive Datenbanken – SS 2007

Seminar Aktive Datenbanken Rule Development

1. Einführung Warum sind aktive DBMS trotz ihrer Vorteile noch nicht verbreitet?

Probleme bei der Anwendungsentwicklung: Teil der Anwendungen direkt im DBMS als Regeln → schwer für Entwickler zu verstehen was eine Anwendung genau macht da der Controlflow zwischen Anwendung und Regeln hin und her springt → korrektes Rule Set erforderlich um zuverlässigen Ablauf der Anwendungen zu gewährleisten Folie 3 Tino Reindanz - FSU Jena

Seminar Aktive Datenbanken – SS 2007

Seminar Aktive Datenbanken Rule Development

2.1 Rule Processing Was passiert im aktiven DBMS zur Runtime?

Folie 4 Vorgang A: Signalling + Triggering While true do { } 1.

2.

Events erkennen Zugehörige Regeln auslösen Vorgang B: Selection + Execution Menge der aus While gelösten Regeln ≠ ø do { 1. Wähle eine Regel aus der Menge aus } 2. Werte ihren Zustand aus 3. Führe Aktion aus Tino Reindanz - FSU Jena

Seminar Aktive Datenbanken – SS 2007

Seminar Aktive Datenbanken Rule Development

2.1 Rule Processing • Regeln werden nach einem systemspezifischen Execution Model ausgewählt und ausgeführt • Execution Model: – Prioritäten für Regeln – Konfliktbehandlung von Regeln – Ausführungsgranularität Folie 5 Tino Reindanz - FSU Jena

Seminar Aktive Datenbanken – SS 2007

Seminar Aktive Datenbanken Rule Development

2.2 Rule Behavior Verhalten des Rule Sets bei Runtime • • • Besteht aus 3 Dimensionen: Intra Rule Controlflow Operationen die während der Ausführung einer einzelnen Regel bearbeitet werden Inter Rule Controlflow die Art und Weise wie der Kontrollfluss von einer Regel zur nächsten springt in Abhängigkeit vom Execution Model Rule Interactions Interaktionen die zwischen Regeln auftreten (A/E-, A/C-, A/A- und A/R Interaktionen) Folie 6 Tino Reindanz - FSU Jena

Seminar Aktive Datenbanken – SS 2007

Seminar Aktive Datenbanken Rule Development

3. Prozess der Regelentwicklung Miniworld Verification / Validation Rule Extraction → Requirements Rule Specification / Rule Implementation Rule Set Folie 7 Maintenance Tino Reindanz - FSU Jena

Seminar Aktive Datenbanken – SS 2007

Seminar Aktive Datenbanken Rule Development

3.1 Rule Extraction Was soll modelliert werden?

• Finden der Gegebenheiten die in Regeln abgebildet werden sollen Vorraussetzung: Regeln sind ein Teil der Miniwelt der möglicherweise häufigen Änderungen unterliegt und in allen Anwendungen gleich ist → Anforderungen an die Regeln in informaler Sprache Folie 8 Tino Reindanz - FSU Jena

Seminar Aktive Datenbanken – SS 2007

Seminar Aktive Datenbanken Rule Development

3.2 Rule Specification/Implementation Wie soll es modelliert werden?

• Rule Specification: Umsetzen der Anforderungen in die ECA Regelform • Rule Implementation: Übersetzung der spezifizierten Regeln in das DBMS abhängige Regelmodel (Rule language + execution model) Folie 9 Tino Reindanz - FSU Jena

Seminar Aktive Datenbanken – SS 2007

Seminar Aktive Datenbanken Rule Development

3.3 Rule Validation / Verification • Analyse und Testen der Regeln um sicher zu stellen das keine unbeabsichtigten Funktionen ausgeführt werden und das die beabsichtigten Funktionen korrekt ausgeführt werden • Rule Validation (Das richtige Problem lösen) → sucht nach Fehlern in den Regelanforderungen • Rule Verification (Das Problem richtig lösen) → überprüft ob die Regelimplementierung korrekt war Folie 10 Tino Reindanz - FSU Jena

Seminar Aktive Datenbanken – SS 2007

Seminar Aktive Datenbanken Rule Development

3.3 Rule Validation / Verification • Single Rule Korrektheit: jede Regel muss auf die richtige Situation reagieren und die richtige Reaktion ausführen (Intra Rule Cf.) ↓ • Rule Set Korrektheit: Das Rule Set als ganzes muss die gegebenen Anforderungen insgesamt richtig erfüllen → das heißt insbesondere unerwünschte Regelinteraktionen die zu nontermination oder nonconfluence führen müssen vermieden werden Folie 11 Tino Reindanz - FSU Jena

Seminar Aktive Datenbanken – SS 2007

Seminar Aktive Datenbanken Rule Development

3.3 Rule Validation / Verification • Vollständigkeit: alle Anforderungen an die Regeln werden erfüllt • Redundanz: keine Regeln doppelt Folie 12 Tino Reindanz - FSU Jena

Seminar Aktive Datenbanken – SS 2007

Seminar Aktive Datenbanken Rule Development

3.4 Rule Maintenance Regeln sind der Teil der Miniwelt der sich häufig ändert!

→ Regeln müssen gepflegt und aktualisiert werden d.h. wenn sich Anforderungen ändern müssen die entsprechenden Regeln geändert werden Folie 13 Tino Reindanz - FSU Jena

Seminar Aktive Datenbanken – SS 2007

Seminar Aktive Datenbanken Rule Development

4. Werkzeuge • Statische Werkzeuge – Browser Unterstützt Navigation durch die Rulebase – Editor graphische Oberfläsche zur Definition, Aktualisierung und Löschung von Regeln ist über einen Compiler mit dem Rulemanager des DBMS verbunden – Termination Analyzer Überprüft das auftreten von Zyklen Folie 14 Tino Reindanz - FSU Jena

Seminar Aktive Datenbanken – SS 2007

Seminar Aktive Datenbanken Rule Development

4. Werkzeuge Beispielgraph eines Termination Analyzer Folie 15 Tino Reindanz - FSU Jena

Seminar Aktive Datenbanken – SS 2007

Seminar Aktive Datenbanken Rule Development

4. Werkzeuge • Dynamische Werkzeuge – Testing Component Testet die Regeln durch Simulation von Events – Explanation Component Veranschaulicht das Rule Behavior während Regeln ausgeführt werden → es wird sichtbar wann welche Regeln getriggert werden und wo Rule Interactions bestehen Folie 16 Tino Reindanz - FSU Jena

Seminar Aktive Datenbanken – SS 2007

Seminar Aktive Datenbanken Rule Development

4. Werkzeuge Explanation Component Beispiel Folie 17 Tino Reindanz - FSU Jena

Seminar Aktive Datenbanken – SS 2007

Seminar Aktive Datenbanken Rule Development

Literatur • „Rule Development for Active Database Systems“, Anca Vaduva www.ifi.unizh.ch/archive/diss/Jahr_1999/thesis_

vaduva

.pdf • „Visual Rule Language for Active Database Modelling“, Mihhail Matskin, Danilo Montesi Folie 18 Tino Reindanz - FSU Jena

Seminar Aktive Datenbanken – SS 2007

Seminar Aktive Datenbanken Rule Development

Ende Vielen Dank für die Aufmerksamkeit!

Folie 19 Tino Reindanz - FSU Jena

Seminar Aktive Datenbanken – SS 2007