TGraphBrowser
(2010)
Im Rahmen dieser Arbeit wird ein Webserver implementiert, mit dem man sich Graphen, die mit Hilfe des Java-Graphenlabors (JGraLab) erzeugt wurden, in einem Browser anzeigen lassen kann. Es werden dem Nutzer eine tabellarische und eine graphische Darstellung des Graphen angeboten. In jeder der beiden Darstellungsarten ist das Navigieren durch den Graphen möglich. Um Graphen mit mehreren tausend Elementen für den Nutzer überschaubarer zu machen, können die angezeigten Kanten und Knoten nach ihren Schematypen gefiltert werden. Ferner kann die dargestellte Menge an Graphelementen durch eine GReQL-Anfrage oder durch explizite Angabe bestimmt werden.
Um Altsysteme beim sogenannten Software-Reengineering an neue Anforderungen mittels Computerunterstützung anpassen zu können, wird eine effiziente Repräsentation der vorliegenden und im Laufe des Prozesses anfallenden Daten und Informationen benötigt. Als geeignete Repräsentationsform haben sich TGraphen herausgestellt, da sowohl Knoten als auch gerichtete Kanten typisiert sind und über Attribute verfügen können. Darüber hinaus besteht eine globale Anordnung aller Elemente des Graphen sowie eine Reihenfolge der Inzidenzen jedes Knoten. In dieser Arbeit wurde die "Extractor Description Language" (EDL) entwickelt, um die Syntax der Eingabedaten zu beschreiben und mittels frei definierbarer semantischer Aktionen einen TGraphen aufzubauen. Im Gegensatz zu klassischen Parsergeneratoren wie ANTLR werden mehrdeutige Grammatiken, Modularisierung, Inselgrammatiken und Symboltabellen-Stacks von EDL unterstützt, wodurch die Erstellung der Syntaxbeschreibung vereinfacht wird. Nach der Erhebung der Anforderungen an EDL, werden zunächst die existierenden Parsergeneratoren daraufhin untersucht, welcher zur Realisierung der Anforderungen am geeignetsten ist.
Im Anschluss wird die Syntax sowie die Semantik von EDL beschrieben und unter Nutzung des geeigneten Parsergenerators implementiert. Anhand von zwei mittels EDL generierten exemplarischen Extraktoren für XML und Java wird der zeitliche Aufwand zum Verarbeiten der Eingabe gemessen.