Bachelorarbeit (abgeschlossen)

Entwicklung einer Sprache zur einfachen Beschreibung und Implementierung von Episodenerkennern

Bild Müllsortierung

Projekte

Studying the micro-process of software development

Art

50% Konzeption, 50% Implementation mit eigener Schwerpunktsetzung

Problembeschreibung

Episodenerkennung ist ein zentraler Aspekt der Untersuchung des Mikroprozesses. Die Grundaufgabe ist es, ähnlich wie bei einem Sortierfließband (siehe Bild) aus einem Strom von Basisereignissen (z.B. Code geändert, Kompilieren, Dokumentation gelesen) sich diejenigen herauszusuchen, die zusammengenommen ein typisches, vorher bekanntes Muster von Aktivitäten - sogenannte Episoden - ausmachen. Die Episoden gelten somit als "erkannt" und werden ebenfalls in den Ereignisstrom einfließen. Soft sind mehrere solcher Episodenerkenner hintereinander geschaltet, so dass am Ende eine Art Interpretation der Ereignisse vorliegt. Episodenerkenner können sowohl ganz einfach (z.B. Zeitspanne zwischen Aktivieren und Deaktivieren einer Datei mit zwischenzeitlichen Änderungen an der Datei = Dateiänderungsepisode) als auch ziemlich komplex sein (siehe z.B. die Arbeiten ThesisTrialError und ThesisCopyTracking).

Aufgabe

Ziel dieser Arbeit ist es, einen geeigneten Abstraktionslevel zur allgemeinen Beschreibung von Episodenerkennern zu entwickeln und dieses mittels eines Rahmens (Frameworks) durch Software zu unterstützen. Eine mögliche abstrakte Beschreibung wäre z.B. ein Zustandsübergangsautomat. Die zugrundeliegenden Ereignisse als auch die Realisierung der Software basieren auf unserem Werkzeug ElectroCodeoGram. Die Arbeit ist in sofern flexibel in ihrem Ziel, als dass die Evaluierung verschiedener Formalismen einige Zeit in Anspruch nehmen kann, andererseits aber auch der Schwerpunkt auf der Implementation liegen kann. Die Arbeit geschieht in Koordination mit derzeit laufenden Episodenerkenner-Entwicklungen, die als reale Beispiele zu sehen sind und an denen sich die Einsatzfähigkeit des gewählten Mechanismus messen lassen muss.

Der Ablauf der Arbeit ist grob wie folgt:
  1. Einarbeitung in das Forschungsthema und die vorliegenden Anforderungen und Probleme
  2. Aufstellen von alternativen Beschreibungsmechanismen für Episodenerkenner und überzeugende Beurteilung der Alternativen.
  3. Kennenlernen der technischen Umgebung
  4. (Entwurf eines Rahmenwerkes und Implementierung/Dokumentation dieses Rahmens)
  5. (Realisierung von beispielhaften Episodenerkennern auf Basis dieses Rahmens und daran Evaluierung der Lösung.)
Die Arbeit schließt wie üblich mit einer Ausarbeitung und einem Vortrag ab.

Die Punkte 3, 4 und 5 entstammen noch der ursprünglichen Planung und wurden durch folgende ersetzt:
  1. Entwickeln eines geeigneten Bechreibungsmechanismus
  2. Formalisierung des neuen Beschreibungsmechanismus

Durchführung

Die Arbeit wurde durchgeführt von ChristianKopf und betreut von SebastianJekutsch und LutzPrechelt.

Detailliertere Informationen sind hier zu bekommen:

Ergebnis

Hinweis: Die Ausarbeitung weist leider einen kleinen fachlichen Fehler auf: in der OpenOffice-Fassung auf Seite 34 oben ist der Satz "Ebenso wird auch …, jedoch wegen der impliziten maximalangabe in der ersten Zeile nicht bei <b><b><b><b><b><b><b><b><b> [eine Episode erkannt]." falsch. Auch eine Teilsequenz aus neun b-Ereignissen würde dem in Beispiel 9.B.III-2 beschriebenen Episodenschema entsprechen.