Loading…
Thumbnail Image

Transformation objektorientierter Systeme basierend auf algebraischen Graph-Transformationen

Schulz, Christoph

Die Anpassung bestehender Software an neue Anforderungen ist seit dem Beginn der Software-Entwicklung ein wichtiges Thema. Die Erweiterung von Software um neue Funktionalität wird erleichtert oder gar erst ermöglicht durch das Software-Refactoring: die strukturelle Verbesserung von Software unter Beibehaltung des Verhaltens, mit dem Ziel, zusätzliche Funktionalität danach einfacher umsetzen zu können. Leider werden die Transformation objektorientierter Daten und die Transformation objektorientierter Software für gewöhnlich getrennt voneinander betrachtet. In dieser Arbeit wird stattdessen die Transformation ganzer objektorientierter Systeme, also von Programmen, laufenden Programm-Ausprägungen (Prozessen) und zugehörigen Daten, in den Fokus gerückt. Dazu wird im ersten Schritt ein konzeptionelles Modell zur angemessenen Beschreibung objektorientierter Systeme entwickelt. Dieses Modell wird im zweiten Schritt durch eine Spezifikation mit Prädikaten und positiven Horn-Formeln formalisiert. Darauf aufbauend werden Transformationen von Systemen – analog zu Graph-Transformationen – als Spans von Homomorphismen modelliert. Das zentrale Ergebnis der Arbeit ist die kanonische Ableitung der Migration von Daten, Programmen und Prozessen aus der Transformation des zugrunde liegenden Schemas, so dass eine System-Transformation durch die Transformation des Schemas eindeutig festgelegt werden kann. Die Behandlung der Komposition von Transformationen und ein Ausblick auf mögliche Erweiterungen des Modells runden die Arbeit ab.
Since the beginning of software development, making existing software conformant to new demands has always been an important topic. The extension of software by new functionality is facilitated or even made possible by software refactoring: improving the structure of software without changing its behaviour in order to implement additional functionality more easily. Unfortunately, the transformation of object-oriented data and the transformation of object-oriented software is usually examined separately. This work focuses on the transformation of whole object-oriented systems, i. e. of programs, running program instantiations (processes), and associated data. In order to achieve this goal, first a conceptional model for an appropriate description of object-oriented systems is developed. This model is then formalised by a specification with predicates and positive Horn formulas. Analogously to graph transformations, system transformations are then modelled by spans of homomorphisms. The main result of this work is the canonical deduction of the migration of data, programs, and processes from the transformation of the underlying schema, such that the transformation of a whole system can be uniquely determined by the transformation of the schema only. The work is rounded off by the treatment of the composition of transformations and an outlook of possible model extensions.