Tree Alignment fĂŒr Objekte

Art der Arbeit: Bachelorarbeit, Studienarbeit, Literaturarbeit

Fachlicher Hintergrund: Werden zwei Texte miteinander verglichen, so ergeben sich daraus Informationen, welche Text-Bestandteile neu hinzugekommen, gelöscht oder verĂ€ndert wurden. Beispiele dafĂŒr sind der Text-Vergleich in Microsoft Word ("Track Changes"), der Versions-Vergleich in der Wikipedia oder die DaisyDiff-Anwendung

In vielen FĂ€llen sind die zu vergleichenden Objekte aber nicht lineare Texte sondern BĂ€ume. Das gilt bereits fĂŒr die Texte in der Wikipedia, die aufgrund der Kapitel- und Abschnitt-Strukturen eigentlich hierarchische Strukturen sind. Werden auf einer Webseite unterschiedliche Objekte in Tabellen-Form dargestellt (etwa: Produkte), so interessiert weniger der Unterschied der ausgegebenen HTML Tabellen-Formatierung, sondern der Unterschied der Objekt-Attribute.

FĂŒr den Vergleich hierarchischer Objekte und BĂ€ume gibt es einige schöne Algorithmen, die etwa in dieser Publikation gut beschrieben sind; sie werden in dieser Arbeit aber auf HTML Tabellen-Strukturen angewendet und nicht auf die Objekte, aus denen eine Template-Engine diese Tabellen erzeugt.

Aufgabenbeschreibung: Es ist zu untersuchen, wie Algorithmen zum Vergleich hierarchischer Strukturen und Objekte zum Vergleich von Webseiten herangezogen werden können. Dabei sollen die Vergleichs-Algorithmen nicht auf die "rohen" HTML Tabellen sondern auf die in JSON vorliegenden Objekte angewendet werden.

Dabei sind folgende Teilaufgaben notwendig:

  • Einarbeitung in den Stand der Technik

  • Implementieren von Objekt-Vergleichs-Algorithmen
  • AusfĂŒhren einiger Beispiele
  • Anwendung von Vergleichskriterien

Die genaue Festlegung des Themas erfolgt in Abstimmung mit den Betreuern unter BerĂŒcksichtigung eventuell schon an andere Studenten vergebener Themengebiete. Eine gemeinsame Bearbeitung verschiedener Teilthemen durch mehrere Studenten ist unter UmstĂ€nden möglich.

Literatur:

Betreuer: Prof. Clemens Cap, Martin Garbe

Kontakt: E-Mail an clemens.cap(at)uni-rostock.dethm(at)informatik.uni-rostock.de

Voraussetzungen: Grundlegende Programmierkenntnisse in Javascript sind von Vorteil.