[Back]


Doctor's Theses (authored and supervised):

M. Fleck:
"Search-Based Model Transformations";
Supervisor, Reviewer: M. Wimmer, G. Kappel, M. Kessentini; Institute of Software Technology and Interactive Systems, 2016; oral examination: 2016-05-02.



English abstract:
Model-Driven Engineering (MDE) is a paradigm that promotes the use of models as the central artifacts for solving problems. In MDE, problem domains are specified using domain-specific modeling languages and models are concrete problem instances that abstract from reality to reduce complexity. At the heart of MDE, model transformations are used to systematically manipulate these problem models to find good solutions to the problem at hand. However, reasoning about how the transformation needs to be orchestrated to find good solutions is a non-trivial task due to the large or even infinite transformation space. As a result, this task is either performed automatically, e.g., by following an apply-as-long-as-possible approach, which does not necessarily produce satisfactory results, or it is carried out manually by the respective engineer. This, in turn, hampers the application of MDE techniques on complex problems which usually cannot be solved manually or by enumerating all possible solutions.

Therefore, we present in this thesis an approach that facilitates to solve these problems by stating clear objectives operationalized through model-based analysis techniques and elevating search-based optimization methods to the model level to find optimal transformation orchestrations. As first contribution, we introduce a model-based analysis approach that measures dynamic, timed properties that consider the contention of resources directly on the model level using the fUML standard. As second contribution, we provide a generic encoding of the transformation orchestration problem on which many different optimization methods can be applied. Using this encoding, we propose an approach that enables to solve problems by providing a model, a set of transformation rules, a set of objectives that are optimized during the process and a set of constraints that mark invalid solutions. The optimization process is configured through a dedicated language which provides information on the optimization concepts and immediate feedback for the concrete configuration. The results consist of the respective orchestrated transformations, the solution models, the objective and constraint values as well as analysis details about the optimization process. Our approach is based on graph transformations and has been implemented as an open-source framework called MOMoT. Based on this implementation, we provide an extensive evaluation of our approach using several case studies from the area of model-driven software engineering as well as two novel problem formulations that tackle the modularization of model transformations and the generic modularization of modeling languages. The obtained evaluation results validate the effectiveness of our approach and give rise to interesting lines of research.

German abstract:
Model-Driven Engineering (MDE) ist ein Paradigma, in der Modelle als zentrale Artefakte zur Problemlösung eingesetzt werden. Die Problemdomäne wird durch eine domänenspezifische Modellierungssprache definiert und Modelle repräsentieren konkrete Probleminstanzen, welche von der Realität abstrahieren um unnötige Komplexität zu vermeiden. Im Kern von MDE verwendet man Modelltransformationen um jede systematische Änderung an diesen Modellen durchzuführen. Die Orchestrierung dieser Transformationen um konkrete Probleme zu lösen ist jedoch eine komplexe Aufgabe, da der zu durchsuchende Transformationsraum sehr groß bis unendlich groß sein kann. Daher wird diese Aufgabe entweder automatisiert durchgeführt, indem Regeln so lange wie möglich angewendet werden, was jedoch nicht immer zufriedenstellende Resultate liefert, oder die Aufgabe wird an den Modellierer zur manuellen Lösung abgegeben. Dies führt dazu, dass MDE nur in geringem Maße dazu eingesetzt werden kann, Probleme zu lösen, die einen unendlich großen Lösungsraum haben oder manuell schwer lösbar sind.

Aus diesem Grund stellen wir in dieser Arbeitet einen Ansatz vor, der es ermöglicht derartige Probleme zu lösen indem die zu optimierenden Eigenschaften durch modellbasierte Analysetechniken operationalisiert werden und metaheuristischen Methoden auf Modellebene gehoben werden um optimale Transformationsorchestrierungen zu finden. Im ersten Schritt präsentieren wir einen Ansatz, der dynamische, zeitbasierte Eigenschaften unter Berücksichtigung des Resourcenbedarfs direkt auf Modellebene mittels fUML analysieren kann. Im zweiten Schritt kodieren wir das Transformationsorchestrierungsproblem generisch, wodurch eine Vielzahl verschiedener metaheuristischen Methoden eingesetzt werden können. Anschließend, entwickeln wir auf Basis dieser Kodierung einen Ansatz, der ein deklaratives Lösen von Problemen auf Modellebene ermöglicht, indem ein Modellierer das Problemmodell und die jeweiligen Modelltransformationen bereit stellt und die zu optimierenden Eigenschaften und die Zwangsbedingungen deklariert. Die Konfiguration wird durch eine dedizierte Sprache unterstützt, welche allgemeine Informationen bietet und Feedback zur aktuellen Parametrisierung liefert. Als Resultat stellen wir die orchestrierten Transformationen, die daraus resultierenden Lösungsmodelle, die Werte der Optimierungseigenschaften und Bedingungen sowie zusätzliche Analyseinformationen bereit. Unser Ansatz basiert auf Graphtransformationen und wurde als quelloffenes Framework namens MOMoT implementiert. Die Effektivität unseres Ansatzes wird in einer intensiven Evaluierung auf Basis von verschiedenen Fallstudien und zwei neuen Problemdefinitionen aus den Bereichen Software Engineering und MDE validiert.

Keywords:
search-based software engineering; metaheuristics; model-driven engineering; model-based software engineering; model transformations; modeling


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


Created from the Publication Database of the Vienna University of Technology.