direkt zum Inhalt springen

direkt zum Hauptnavigationsmenü

Sie sind hier

TU Berlin

Inhalt des Dokuments

MA: Versionierung von Objektbäumen in komplexen Softwareentwicklungsprojekten

Zielsetzung

In komplexen Softwareentwicklungsprojekten ist es oft erforderlich, Objekte der fachlichen Domäne zu historisieren, um später auf verschiedene Versionen dieser Objekte zugreifen zu können (z.B. aus Gründen der Nachvollziehbarkeit von Veränderungen oder einer möglichen  Rücksetzung auf eine vormalige Version).

Während Versionierungs- bzw. Historisierungskonzepte für einzelne Objekte recht gut untersucht sind (im Java Umfeld beispielsweise durch Frameworks wie Envers, Hibernate, Javers), verkompliziert sich die Situation, wenn auch die Beziehung von Objekten in die Betrachtung mit einbezogen werden muss.

Durch die Berücksichtigung des Beziehungsgeflechts zwischen den Objekten entstehen komplexe Objektbäume, deren (performante) historisierte Speicherung und Wiederherstellung (Versionierung) zu den softwaretechnischen Herausforderungen vieler Softwareentwicklungsprojekte gehört.

Zu den Anforderungen an eine Versionierung von Objektbäumen gehört vor allem die konsistente Betrachtung der Zusammenhänge zwischen der Versionierung auf (Einzel-) Objektebene, der Versionierung von Teilbäumen (Knotenobjekt mit allen Kindern und der Versionierung des gesamten Objektbaums.

Daher besteht das Ziel der ausgeschriebenen Masterarbeit, ein geeignetes Versionierungs- und Darstellungsverfahren für Objektbäume unter den oben genannten Randbedingungen zu konzipieren, prototypisch zu implementieren und zu evaluieren.

Um dieses Ziel zu erreichen, sollen Varianten zur Speicherung von Objektbäumen durch Studium der aktuellen Entwicklungen ermittelt, im Hinblick auf die Problemstellung analysiert, gegenübergestellt und hinsichtlich ihrer Eigenschaften und ihres Laufzeitverhaltens bewertet. Die am besten geeignete Variante soll prototypisch umgesetzt und an konkreten Objektbäumen evaluiert werden.

Anhand der Umsetzung  soll in der Stichtagsbetrachtung die Rekonstruierbarkeit jeder einzelnen Objektversion sowie die Rekonstruierbarkeit der zugehörigen Objektteilbäume bzw. des gesamten Objektbaumes zu jeder Zeit möglich sein. Ferner sollen drei verschiedene Sichten auf den Objektbaum realisiert werden.

Eine chronologische Sicht erlaubt einen serialisierten Zugriff auf den Objektbaum unter Darstellung aller vorangegangenen Versionen. Die Details einzelner Objekte und ihrer Beziehungen sind in der Objektsicht darstellbar, während die aktuelle Sicht die jeweils aktuellsten Versionen der einzelnen Objekte des Objektbaums zeigt.

Um der praktischen Relevanz gerecht zu werden, wird die prototypische Umsetzung sowie die Evaluation in Zusammenarbeit mit der Firma ATOS Berlin umgesetzt.

Voraussetzungen

Kenntnisse von JavaEE, JPA, Softwareentwicklungsprozessen, verteilten Systemen. Wünschenswerte Kenntnisse sind Envers/Hibernate, Javers.

Beginn: ab sofort

Kontakt: Prof. Dr. Odej Kao (odej.kao@tu-berlin.de)

Zusatzinformationen / Extras

Quick Access:

Schnellnavigation zur Seite über Nummerneingabe

Auxiliary Functions

Ansprechpartner

Odej Kao
+49 (30) 314-24230
Room E-N 158