[Back]


Diploma and Master Theses (authored and supervised):

S. Gabmeyer:
"Formalization of the Operation Recorder based on Graph Transformation Theory";
Supervisor: G. Kappel, M. Seidl, P. Brosch; E188 - Institut für Softwaretechnik und Interaktive Systeme, 2011; final examination: 04-27-2011.



English abstract:
Software engineering has come a long way in its short history. With the recent advent of modeldriven development, which places models at the center of all development efforts, some of the existing deficiencies of traditional, code-centric software development approaches have been addressed. However, at the same time new problems arose, which require, for example, techniques to describe, control and verify the evolution of models. Drawing from past experiences and findings in the field of code-centric software evolution is only partly feasible due to the inherent graph-based nature of models, which renders the adoption and porting of previously developed solutions for text-based software development impractical.

The graph-based nature of models suggests the application of graph transformation-theoretic concepts to models, in order to formally describe their manipulation by means of graph-rewriting rules. Though the concepts and techniques provided by the theory of graph transformation may seem intuitive, the specification of accurate rewriting rules is a non-trivial and time-consuming task, which requires adequate tool support and thorough knowledge of the underlying theory. Unfortunately, due to the heterogeneity of the employed approaches, a tool´s capability to specify graph rewriting rules and the degree of assistance offered for this task is hard to determine without prior investigation. Thus, a survey of existing tools was conducted, which revealed the Operation Recorder as a suitable tooling environment. In contrast to all other surveyed tools, it offers a by-demonstration environment, which allows to showcase the intended transformation instead of requiring its manual construction by means of dedicated transformation languages.

The Operation Recorder, however, lacks a concise, formal basis which prevents the verification of its ransformations. Therefore, a framework to describe attributed graphs with inheritance, composition and multiplicities is presented with the aim to embed the Operation Recorder into this framework. For this purpose, a conceptual alignment is pursued which demonstrates the equivalence and interchangeability of the concepts provided by the Operation Recorder and those provided by the theory of graph transformation.

German abstract:
Die Entwicklungen im Bereich des Software Engineering sind in Anbetracht seiner kurzen Geschichte beachtlich. Mit dem erst kürzlichen Aufkommen der modellgetriebenen Entwicklung, welche, wie der Name vermuten lässt, die Modelle in den Mittelpunkt aller Entwicklungsbemühungen stellt, konnten zwar einige der bestehenden Schwierigkeiten code-basierter Entwicklungsprozesse beseitigt werden, jedoch sind damit neue Probleme eingeführt worden. An dieser Stelle sei beispielhaft die Notwendigkeit von Verfahren zur Beschreibung, Steuerung und Verifikation der Evolution von Modellen angeführt. Aufgrund der graph-basierten Struktur von Modellen können bereits gesammelte Erfahrungen und Forschungsergbnisse nur bedingt von der code-basierten zur modellgetriebenen Entwicklung übertragen werden, wodurch die Adaption und Portierung bestehender Lösungen an der praktischen Anwendbarkeit scheitern.

Die graph-basierte Struktur von Modellen legt vielmehr die Anwendung von graphtransformationstheoretischen Ansätzen nahe, um die an Modellen durchgeführten Modifikationen mit Graphersetzungsregeln zu beschreiben. Obwohl diese Konzepte und Techniken auf den ersten Blick intuitiv erscheinen, ist die präzise Spezifikation von Graphersetzungsregeln nicht trivial und zeitaufwendig. Dies verlangt nach geeignetem Werkzeugunterstützung und benötigt tiefgehendes Verständnis der zugrundeliegenden Theorie. Aus der Heterogenität der vorhandenen Tools ergibt sich auch die Schwierigkeit, dass deren Tauglichkeit in Bezug auf die Spezifikation von Graphersetzungsregeln und die Unterstützung, die sie den Enwicklerninnen bieten, nicht ohne vorherige eingehende Befassung mit der Materie ersichtlich ist. Zu diesem Zwecke wurde eine Evaluierung existierender Tools durchgeführt, welche den Operation Recorder ins Zentrum weiterer Nachforschungen rückte. Denn im Gegensatz zu allen anderen untersuchten Tools bietet der Operation Recorder eine by-demonstration Umgebung, die es dem Benutzer erlaubt die gewünschten Transformationen beispielhaft zu demonstrieren. Dadurch entfällt die manuelle Erstellung von Transformationen mit dedizierten Modelltransformationsprachen.

Der Operation Recorder bietet aber keine präzise, formale Basis, weshalb eine Verifikation der durchgeführten Transformationen nicht möglich ist. Daher wird in dieser Arbeit ein Framework vorgestellt, das die Transformation von attributierten Graphen mit Multiplizitäten, Vererbungs-, und Kompositionsbeziehungen erlaubt. Das Ziel ist es, den Operation Recorder in dieses Framework zu integrieren. In diesem Zusammenhang wird eine konzeptuelle Gegenüberstellung zwischen dem Operation Recorder und der vorgestellten Graphtransformationstheorie angestrebt, um die Äquivalenz und die Austauschbarkeit der jeweiligen Konzepte zu zeigen.

Keywords:
Software Engineering, Graph-Transformation, Operation Recorder


Electronic version of the publication:
http://publik.tuwien.ac.at/files/PubDat_196648.pdf