Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Lothar Bolter Geändert vor über 11 Jahren
1
Christian A. Kopf Institut für Informatik FU Berlin 18.05.2006 Episode Recognizer Framework - Rahmenwerk zur Episodenerkennung
2
Episode Recognizer Framework - Christian Andreas Kopf (kopf@inf.fu-berlin.de) Übersicht Motivation Wozu werden unterschiedliche Episodenerkenner benötigt Warum ist ein Rahmenwerk dafür von Vorteil Ideen und Ansätze Reguläre Ausdrücke und ihre Grenzen (Keller-)Automaten und Typ2-Sprachen Aufbau und Struktur Kleines Klassenmodell Abbildung des Automatenmodells Anwendungsablauf Offene Probleme Die Map- und MatchMap-Strukturen Komplexere Episoden?!
3
Episode Recognizer Framework - Christian Andreas Kopf (kopf@inf.fu-berlin.de) Motivation - Episodenerkenner Episodenerkennung ist ein zentraler Aspekt der Untersuchung des Mikroprozesses der Softwareentwicklung Grundidee: Aus einem Strom von Basisereignissen typische Aktivitätsmuster (Episoden) ausfindig machen. Wird eine solche Episode erkannt kann sie ebenfalls in den Ereignisstrom einfließen. Mehrere Episodenerkenner werden sequentiell abgearbeitet. Episodenerkenner können sehr unterschiedliche Komplexitäten annehmen: simpel: Zeitintervall (z.B.: Wie lange war Datei x geöffnet?) komplex: Verfolgen von Codekopien (letzte Woche) Trial-and-Error-Episoden (heute)
4
Episode Recognizer Framework - Christian Andreas Kopf (kopf@inf.fu-berlin.de) Motivation – Rahmenwerk Situation bisher: Episodenerkenner als ECG-Modul Einbindung in ECG (also an den Datenstrom des ECG) recht komfortabel: Implementierung Komplett eigenständig Gesamte Java-Komplexität gegeben Viele, teilweise komplexe If-Kaskaden Unübersichtlich Schwer zu Implementieren Fehleranfällig Schwer zu Optimieren Zielsetzung: Verbesserung der Abstraktion Schnelle, fehlerfreie und effektive Implementierung durch einfache Handhabung und Erweiterung von Objekten und Klassen bei gleicher möglicher Komplexität
5
Episode Recognizer Framework - Christian Andreas Kopf (kopf@inf.fu-berlin.de) Ideen und Ansätze – reg. Ausdrücke Reguläre Ausdrücke bieten eine einfache und relativ mächtige Möglichkeit um Sequenzen miteinander zu vergleichen, bzw. um eine (Teil-)Sequenz auf ein bestimmtes Schema (Episode) hin zu untersuchen. Abstrakter: Alle möglichen Auftretenden Basisereignisse stellen zusammen ein Alphabet E dar. Regulärer Ausdruck für eine bestimmte Episode definiert eine Sprache L über dem Alphabet E. Regelmäßige Überprüfung unseres Ereignisstroms X Falls X Element aus L dann liegt die gesuchte Episode vor.
6
Episode Recognizer Framework - Christian Andreas Kopf (kopf@inf.fu-berlin.de) Ideen und Ansätze – reg. Ausdrücke Nachteile: Problem der sequentiellen Abarbeitung mehrerer Episodenerkenner: Ereignisse die ein Erkenner in den Strom einfügt müssen dem Alphabet hinzugefügt werden. Problem während der Analyse: Im Endeffekt muss nach jedem neuen Ereigniss der gesamte bisherige Ereignisstrom erneut überprüft werden. Reg. Ausdrücke eher zum nachträglichen Untersuchen bereits beendeter Datenströme geeignet. Problem der Mächtigkeit: Reg. Ausdrücke können lediglich Typ 3-Sprachen erkennen, d.h.: Typ2-Sprachen, wie zum Beispiel: L = A^n B^n, können nicht erkannt werden, da eine Variable n innerhalb eines regulären Ausdruckes nicht gespeichert werden kann.
7
Episode Recognizer Framework - Christian Andreas Kopf (kopf@inf.fu-berlin.de) Ideen und Ansätze - Automaten Automaten sind ein einfaches Werkzeug um Sprachen zu beschreiben und abstrakt darzustellen. Automaten bestehen aus Zuständen und Übergängen (mit Ereignissen, Bedingungen und Aktionen). Mit endlichen Automaten lassen sich alle regulären Sprachen (Typ-3) darstellen. Dies ist nicht ausreichend, da genauso mächtig wie reguläre Ausdrücke.
8
Episode Recognizer Framework - Christian Andreas Kopf (kopf@inf.fu-berlin.de) Ideen und Ansätze - Automaten Lösung: Keller-Automaten Kellerautomaten besitzen zusätzlich einen Kellerspeicher (Stack), der nun sowohl für die Bedingungen als auch für die Aktionen mit genutzt werden kann. Mit Kellerautomaten lassen sich alle kontextfreien Sprachen (Typ-2) darstellen. Ferner auch A^n B^n.
9
Episode Recognizer Framework - Christian Andreas Kopf (kopf@inf.fu-berlin.de) Aufbau und Struktur - Klassenmodell
10
Episode Recognizer Framework - Christian Andreas Kopf (kopf@inf.fu-berlin.de) Aufbau und Struktur - Abbildung Übergänge und Zustände -> Klassen Übergang verweist auf Start- und Zielzustand. Die Ereigniss-Bedingung des Übergangs ist Attribut (Typ MatchMap) -> Vergleich mit Ereignissen (Typ Map) Sonstige Bedingungen: MatchMap-Struktur Controller (Java-Mächtigkeit) Aktionen -> Controller-intern Keller: Variablen innerhalb des Controllers
11
Episode Recognizer Framework - Christian Andreas Kopf (kopf@inf.fu-berlin.de) Aufbau und Struktur - Anwendung Der Controller ist mit dem Datenstrom des ECG verbunden und wird vom Nutzer erweitert. Klassen Übergang und Zustand stehen zur Verfügung Der Controller reicht jedes Ereignis als Map an die zum aktuellen Zustand assoziierten Übergänge Bei Übereinstimmung mit internem MatchMap-Schema wird im Controller die zugehörige Aktion ausgeführt (aktuellen Zustand setzt, Episode als erkannt melden, neues Ereignis,...)
12
Episode Recognizer Framework - Christian Andreas Kopf (kopf@inf.fu-berlin.de) Offene Probleme – Map & MatchMap welche Datenstrukturen existieren, die diese Aufgaben übernehmen können: Anforderungen an Map: benötigt lediglich die Möglichkeiten eines assoziatives Feldes Anforderungen an MatchMap: möglichst vielfältige Möglichkeiten zum Vergleichen mit Map möglichst viele Bedingungen umsetzen können; Z.B.: Zugriff auf Variablen Verwendbarkeit von regulären (bzw. boolschen) Ausdrücken Beispiele: event = new map{(typ, xyz),(datei, abc.txt)} ereigniss = new MatchMap{(typ, event.typ),(datei, regExp)} Habt Sie IDEEN ????
13
Episode Recognizer Framework - Christian Andreas Kopf (kopf@inf.fu-berlin.de) Offene Probleme - Komplexität Gibt es Episoden die sich durch das Modell nicht verwirklichen lassen? Anforderung: alle möglichen Episodenerkenner Haben Sie... Ideen zu solchen kritischen Episoden? Sonstige Mängel am Konzept entdeckt?
14
Episode Recognizer Framework - Christian Andreas Kopf (kopf@inf.fu-berlin.de) Vielen Dank!
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.