21
Swiss Active Mechanism based Object- oriented Database System Aktive Datenbanken SS2007 Aktive Datenbanken

S wiss A ctive M echanism based O bject-oriented Database S ystem

Embed Size (px)

DESCRIPTION

S wiss A ctive M echanism based O bject-oriented Database S ystem. Aktive Datenbanken. Aktive Datenbanken SS2007 Yves Laske. S wiss A ctive M echanism based O bject-oriented Database S ystem. Fahrplan. 1Grundsätzliches Ereignisarten 3Regeldefinition - PowerPoint PPT Presentation

Citation preview

Page 1: S wiss  A ctive  M echanism based  O bject-oriented Database S ystem

Swiss Active Mechanism based Object-oriented Database

System

Aktive Datenbanken SS2007 Yves Laske

Aktive Datenbanken

Page 2: S wiss  A ctive  M echanism based  O bject-oriented Database S ystem

Fahrplan

1 Grundsätzliches

2 Ereignisarten

3 Regeldefinition

4 SAMOS-Architektur

5 Kritische Wertung

Swiss Active Mechanism based Object-oriented Database System

Aktive Datenbanken SS2007 Yves Laske

Page 3: S wiss  A ctive  M echanism based  O bject-oriented Database S ystem

1 Grundsätzliches

Swiss Active Mechanism based Object-oriented Database System

„60 Minuten nach Buchung auf dem Waren-eingangskonto, jedoch nur vormittags…“

Aktive Datenbanken SS2007 Yves Laske

Page 4: S wiss  A ctive  M echanism based  O bject-oriented Database S ystem

1 Grundsätzliches

Swiss Active Mechanism based Object-oriented Database System

Aktive Datenbanken SS2007 Yves Laske

• SAMOS als Prototyp eines aDBS• Umfasst eigene Architektur/

Implementierung und Ereignissprache• Entwicklung an der Universität Zürich

seit 1991, Ende der 90er Jahre abgeschlossen

• Vertreter: Stella Gatziu, Klaus R. Dittrich

• Es erfolgte keine Veröffentlichung

Page 5: S wiss  A ctive  M echanism based  O bject-oriented Database S ystem

1 Grundsätzliches

Swiss Active Mechanism based Object-oriented Database System

Aktive Datenbanken SS2007 Yves Laske

• SAMOS auf kommerziellen DBMS ObjectStore auf

• Läuft auf SUN-Rechnern unter UNIX• Objektorientierung in SAMOS:

– Aktive Mechanismen mit Obj.-or. Eigenschaften realisiert

– Ereignisse und Regeln sind Objekte

• Ziel: Ausdrucksstarkes Konzept zur Modellierung komplexer Umwelt-

situationen

Page 6: S wiss  A ctive  M echanism based  O bject-oriented Database S ystem

2 Ereignisarten

Swiss Active Mechanism based Object-oriented Database System

Aktive Datenbanken SS2007 Yves Laske

a) Primitive Ereignisse• Zeitereignisse

Absolute: 07.06.21,09:30Wiederkehrende: EVERY [frequency]

(YEAR|DAY|HOUR|MINUTE) <time>

[interval] EVERY 10 DAY 20:00 06.01.-07.31.Implizite: Eintritt aufgrund anderer Ereignisse occ_point(event_name) end_execution(rule_name)

Page 7: S wiss  A ctive  M echanism based  O bject-oriented Database S ystem

2 Ereignisarten

Swiss Active Mechanism based Object-oriented Database System

Aktive Datenbanken SS2007 Yves Laske

• Methodenereignisse– Objekte kommunizieren durch Nachrichten– Nachrichten lösen Methoden aus– Methoden brauchen Zeitdauer zur Ausführung– BEFORE oder AFTER als Schlüsselwörter

(BEFORE|AFTER).(class_name|object_name|*).method_name

Klasse Ort, Methode Freie_Zimmer():integer BEFORE.Siegmundsburg.Freie_Zimmer

• WertereignisseOperationen auf dem Wert eines Objektes(BEFORE|AFTER).(class_name|object_name).update(attr_name)

Page 8: S wiss  A ctive  M echanism based  O bject-oriented Database S ystem

2 Ereignisarten

Swiss Active Mechanism based Object-oriented Database System

Aktive Datenbanken SS2007 Yves Laske

• TransaktionenereignisseZu Beginn oder Ende der TA(BOT|EOT|ABORT)[transaction_name]

• Abstrakte EreignisseFestlegung nicht automatisch erkennbarer EreignisseDEFINE EVENT Zimmer_AbgebranntRAISE Zimmer_Abgebrannt

Page 9: S wiss  A ctive  M echanism based  O bject-oriented Database S ystem

2 Ereignisarten

Swiss Active Mechanism based Object-oriented Database System

Aktive Datenbanken SS2007 Yves Laske

b) Zusammengesetzte Ereignisse• Ereigniskonstruktoren

Möglichkeit der Ereigniskombination

Konjunktion (E1,E2) Beide eingetreten,

Reihenfolge beliebig

Disjunktion (E1|E2) Eines von beiden

Sequenz (E1;E2) Beide in der angegebenen Reihenfolge

Negation NOT E Nichteintritt

*-Operator *E Signalisierung nur beim ersten Auftritt

Page 10: S wiss  A ctive  M echanism based  O bject-oriented Database S ystem

2 Ereignisarten

Swiss Active Mechanism based Object-oriented Database System

Aktive Datenbanken SS2007 Yves Laske

Historische Ereignisse:Bei Relevanz der Auftrittshäufigkeit

TIMES(n,E)

TIMES([n1,n2],E)

Page 11: S wiss  A ctive  M echanism based  O bject-oriented Database S ystem

3 Regeldefinition

Swiss Active Mechanism based Object-oriented Database System

Aktive Datenbanken SS2007 Yves Laske

• Kommunikationsmedium des Anwenders (Entwicklers)

• Basiert auf spezieller Syntax zum Beschreiben von Szenarien

• Umsetzung der ECA-Regeln

• Zahlreiche Methoden zum Arbeiten mit Ereignissen bereitgestellt z.B. occ_point(event_name),…

Page 12: S wiss  A ctive  M echanism based  O bject-oriented Database S ystem

3 Regeldefinition

Swiss Active Mechanism based Object-oriented Database System

Aktive Datenbanken SS2007 Yves Laske

DEFINE RULE <rule_name>ON <event_clause>IF <condition>DO <action>COUPLING MODE (<coupling>,<coupling>)PRIORITIES (BEFORE | AFTER) <rule_name>

I.d.R. wird jedes Ereigniss vorab deklariert:

DEFINE EVENT <event_Name><event_clause>

Page 13: S wiss  A ctive  M echanism based  O bject-oriented Database S ystem

3 Regeldefinition

Swiss Active Mechanism based Object-oriented Database System

Aktive Datenbanken SS2007 Yves Laske

„60 Minuten nach Buchung auf dem Wareneingangs-konto, jedoch nur vormittags erfolgt Parallelbuchung auf Konto K1“

DEFINE EVENT PB

Einkauf.Buchung_erfolgt

DEFINE RULE R1

ON PB

IF if((occ_point(PB)+01:00) < 12:00)

DO Einkauf.PB_K1

COUPLING MODE (immediate,deferred)

Page 14: S wiss  A ctive  M echanism based  O bject-oriented Database S ystem

3 Regeldefinition

Swiss Active Mechanism based Object-oriented Database System

Aktive Datenbanken SS2007 Yves Laske

Coupling ModeWann Bedingungsauswertung bzw. Aktionsausführung beginnen• Immediate: direkt nach Ereignisauslösung, nach

Bedingungsauswertung• Deferred: Am Ende der auslösenden TA, nach

Bedingungsauswertung• Decoupled: Ausweisung in separate TA

COUPLING MODE (<coupling1>,<coupling2>)

coupling1: Wann wird Bedingung ausgeführt?

coupling2: Wann wird Aktion ausgeführt?

Page 15: S wiss  A ctive  M echanism based  O bject-oriented Database S ystem

4 SAMOS-Architektur

Swiss Active Mechanism based Object-oriented Database System

Aktive Datenbanken SS2007 Yves Laske

3-SchichtenarchitekturVorteil der Schichtenarchitektur:

schnellere Implementierung

Schichten:• Objektorientiertes DBMS• SAMOS-Kern• Toolschicht

Page 16: S wiss  A ctive  M echanism based  O bject-oriented Database S ystem

4 SAMOS-Architektur

Swiss Active Mechanism based Object-oriented Database System

Aktive Datenbanken SS2007 Yves Laske

Untere Schicht: DBMS-Ebene als Black-Box• DBMS ObjectStore (Object Design)• C++-Implementierung• Regeldefinitionen sind Instanzen der Klasse rule• Speicherung von Regeln und Ereignissen in

ObjectStore als Objekt

Page 17: S wiss  A ctive  M echanism based  O bject-oriented Database S ystem

4 SAMOS-Architektur

Swiss Active Mechanism based Object-oriented Database System

Aktive Datenbanken SS2007 Yves Laske

Mittlere Schicht: SAMOS-Kern• Funktionale Elemente zur

Ereigniserkennung • Ausführung zur Laufzeit

Page 18: S wiss  A ctive  M echanism based  O bject-oriented Database S ystem

4 SAMOS-Architektur

Swiss Active Mechanism based Object-oriented Database System

Aktive Datenbanken SS2007 Yves Laske

Obere Schicht: Toolebenea) Vorabtools zur Regeldefinition

– Editor/Compiler– Termination Analyzer– Browser

b) Laufzeittools– Testing Component (vollst. Testumgebung)– Explanation Component (Visualisierung aktueller

Vorgänge)

Page 19: S wiss  A ctive  M echanism based  O bject-oriented Database S ystem

4 SAMOS-Architektur

Swiss Active Mechanism based Object-oriented Database System

Aktive Datenbanken SS2007 Yves Laske

„SAMOS in Hindsight: Experiences in Building an Active Object-Oriented BDMS“

Page 20: S wiss  A ctive  M echanism based  O bject-oriented Database S ystem

5 Kritische Wertung

Swiss Active Mechanism based Object-oriented Database System

Aktive Datenbanken SS2007 Yves Laske

• Ereignissprache mächtig, teilw. Zu komplex

• Beast-Benchmark als Indikator zur Performancesteigerung

• Event-Detector ist maßgebend für Performance

• Abhängigkeit vom DBMS problematisch

Page 21: S wiss  A ctive  M echanism based  O bject-oriented Database S ystem

Literatur

Swiss Active Mechanism based Object-oriented Database System

Aktive Datenbanken SS2007 Yves Laske

S. Gatziu, A. Geppert, K.R. Dittrich. The SAMOS Active DBMS Prototype (Demonstration). Proc. ACM SIGMOD Int’l Conf. on Management of Data, San Jose, CA, May 1995.

S. Gatziu, K.R. Dittrich: Events in an Active Object-Oriented Database System. In N.W. Paton, H.W. Williams (eds): Proc. Workshop on Rules in Database Systems, Edinburgh, UK, September 1993 (Workshops in Computing, Springer-Verlag, 1994).

S. Gatziu, K.R. Dittrich: Detecting Composite Events in an Active Database Systems Using Petri Nets. Proc. of the 4th Intl. Workshop on Research Issues in Data Engineering: Active Database Systems, Houston, February 1994.

K.R. Dittrich, H. Fritschi, S. Gatziu, u.a.: SAMOS in Hindsight: Experiences in Building an Active Object-Oriented DBMS. Database Technology Research Group. Technical Report 2000.05, Zurich, 2000.

S. Gatziu, K.R. Dittrich: Eine Ereignissprache für das aktive, objektorientierte Datenbanksystem SAMOS. Datenbanksysteme in Büro, Technik und Wissenschaft, 1993.