swiss active mechanism based object- oriented database system aktive datenbanken ss2007 yves laske...
TRANSCRIPT
![Page 1: Swiss Active Mechanism based Object- oriented Database System Aktive Datenbanken SS2007 Yves Laske Aktive Datenbanken](https://reader034.vdocuments.site/reader034/viewer/2022051314/55204d6949795902118bf0fd/html5/thumbnails/1.jpg)
Swiss Active Mechanism based Object-oriented Database
System
Aktive Datenbanken SS2007 Yves Laske
Aktive Datenbanken
![Page 2: Swiss Active Mechanism based Object- oriented Database System Aktive Datenbanken SS2007 Yves Laske Aktive Datenbanken](https://reader034.vdocuments.site/reader034/viewer/2022051314/55204d6949795902118bf0fd/html5/thumbnails/2.jpg)
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: Swiss Active Mechanism based Object- oriented Database System Aktive Datenbanken SS2007 Yves Laske Aktive Datenbanken](https://reader034.vdocuments.site/reader034/viewer/2022051314/55204d6949795902118bf0fd/html5/thumbnails/3.jpg)
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: Swiss Active Mechanism based Object- oriented Database System Aktive Datenbanken SS2007 Yves Laske Aktive Datenbanken](https://reader034.vdocuments.site/reader034/viewer/2022051314/55204d6949795902118bf0fd/html5/thumbnails/4.jpg)
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: Swiss Active Mechanism based Object- oriented Database System Aktive Datenbanken SS2007 Yves Laske Aktive Datenbanken](https://reader034.vdocuments.site/reader034/viewer/2022051314/55204d6949795902118bf0fd/html5/thumbnails/5.jpg)
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: Swiss Active Mechanism based Object- oriented Database System Aktive Datenbanken SS2007 Yves Laske Aktive Datenbanken](https://reader034.vdocuments.site/reader034/viewer/2022051314/55204d6949795902118bf0fd/html5/thumbnails/6.jpg)
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: Swiss Active Mechanism based Object- oriented Database System Aktive Datenbanken SS2007 Yves Laske Aktive Datenbanken](https://reader034.vdocuments.site/reader034/viewer/2022051314/55204d6949795902118bf0fd/html5/thumbnails/7.jpg)
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: Swiss Active Mechanism based Object- oriented Database System Aktive Datenbanken SS2007 Yves Laske Aktive Datenbanken](https://reader034.vdocuments.site/reader034/viewer/2022051314/55204d6949795902118bf0fd/html5/thumbnails/8.jpg)
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: Swiss Active Mechanism based Object- oriented Database System Aktive Datenbanken SS2007 Yves Laske Aktive Datenbanken](https://reader034.vdocuments.site/reader034/viewer/2022051314/55204d6949795902118bf0fd/html5/thumbnails/9.jpg)
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: Swiss Active Mechanism based Object- oriented Database System Aktive Datenbanken SS2007 Yves Laske Aktive Datenbanken](https://reader034.vdocuments.site/reader034/viewer/2022051314/55204d6949795902118bf0fd/html5/thumbnails/10.jpg)
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: Swiss Active Mechanism based Object- oriented Database System Aktive Datenbanken SS2007 Yves Laske Aktive Datenbanken](https://reader034.vdocuments.site/reader034/viewer/2022051314/55204d6949795902118bf0fd/html5/thumbnails/11.jpg)
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: Swiss Active Mechanism based Object- oriented Database System Aktive Datenbanken SS2007 Yves Laske Aktive Datenbanken](https://reader034.vdocuments.site/reader034/viewer/2022051314/55204d6949795902118bf0fd/html5/thumbnails/12.jpg)
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: Swiss Active Mechanism based Object- oriented Database System Aktive Datenbanken SS2007 Yves Laske Aktive Datenbanken](https://reader034.vdocuments.site/reader034/viewer/2022051314/55204d6949795902118bf0fd/html5/thumbnails/13.jpg)
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: Swiss Active Mechanism based Object- oriented Database System Aktive Datenbanken SS2007 Yves Laske Aktive Datenbanken](https://reader034.vdocuments.site/reader034/viewer/2022051314/55204d6949795902118bf0fd/html5/thumbnails/14.jpg)
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: Swiss Active Mechanism based Object- oriented Database System Aktive Datenbanken SS2007 Yves Laske Aktive Datenbanken](https://reader034.vdocuments.site/reader034/viewer/2022051314/55204d6949795902118bf0fd/html5/thumbnails/15.jpg)
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: Swiss Active Mechanism based Object- oriented Database System Aktive Datenbanken SS2007 Yves Laske Aktive Datenbanken](https://reader034.vdocuments.site/reader034/viewer/2022051314/55204d6949795902118bf0fd/html5/thumbnails/16.jpg)
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: Swiss Active Mechanism based Object- oriented Database System Aktive Datenbanken SS2007 Yves Laske Aktive Datenbanken](https://reader034.vdocuments.site/reader034/viewer/2022051314/55204d6949795902118bf0fd/html5/thumbnails/17.jpg)
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: Swiss Active Mechanism based Object- oriented Database System Aktive Datenbanken SS2007 Yves Laske Aktive Datenbanken](https://reader034.vdocuments.site/reader034/viewer/2022051314/55204d6949795902118bf0fd/html5/thumbnails/18.jpg)
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: Swiss Active Mechanism based Object- oriented Database System Aktive Datenbanken SS2007 Yves Laske Aktive Datenbanken](https://reader034.vdocuments.site/reader034/viewer/2022051314/55204d6949795902118bf0fd/html5/thumbnails/19.jpg)
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: Swiss Active Mechanism based Object- oriented Database System Aktive Datenbanken SS2007 Yves Laske Aktive Datenbanken](https://reader034.vdocuments.site/reader034/viewer/2022051314/55204d6949795902118bf0fd/html5/thumbnails/20.jpg)
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: Swiss Active Mechanism based Object- oriented Database System Aktive Datenbanken SS2007 Yves Laske Aktive Datenbanken](https://reader034.vdocuments.site/reader034/viewer/2022051314/55204d6949795902118bf0fd/html5/thumbnails/21.jpg)
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.