Search-Based Model Transformations
Total Page:16
File Type:pdf, Size:1020Kb
Search-Based Model Transformations DISSERTATION zur Erlangung des akademischen Grades Doktor der Technischen Wissenschaften eingereicht von Martin Fleck, MSc Matrikelnummer 1248308 an der Fakultät für Informatik der Technischen Universität Wien Betreuung: Priv.-Doz. Mag. Dr. Manuel Wimmer Diese Dissertation haben begutachtet: Gerti Kappel Marouane Kessentini Wien, 20. April 2016 Martin Fleck Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.ac.at Search-Based Model Transformations DISSERTATION submitted in partial fulfillment of the requirements for the degree of Doktor der Technischen Wissenschaften by Martin Fleck, MSc Registration Number 1248308 to the Faculty of Informatics at the TU Wien Advisor: Priv.-Doz. Mag. Dr. Manuel Wimmer The dissertation has been reviewed by: Gerti Kappel Marouane Kessentini Vienna, 20th April, 2016 Martin Fleck Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.ac.at Erklärung zur Verfassung der Arbeit Martin Fleck, MSc Barawitzkagasse 34/4/50 1190 Wien Österreich Hiermit erkläre ich, dass ich diese Arbeit selbständig verfasst habe, dass ich die verwen- deten Quellen und Hilfsmittel vollständig angegeben habe und dass ich die Stellen der Arbeit – einschließlich Tabellen, Karten und Abbildungen –, die anderen Werken oder dem Internet im Wortlaut oder dem Sinn nach entnommen sind, auf jeden Fall unter Angabe der Quelle als Entlehnung kenntlich gemacht habe. Wien, 20. April 2016 Martin Fleck v To Niki. Acknowledgements Writing these acknowledgements is the final activity before my thesis is finished. At this point, I must confess that I struggle to find the right words to thank the many people who have supported me along the way. Without the invaluable contributions of these people, this thesis would not have been possible. Not everyone is mentioned here by name, but I am eternally grateful to all of you. I want to start by thanking my advisor, Dr. Manuel Wimmer, for always encouraging me to explore interesting research ideas and continuously supporting me in spreading these ideas. I want to thank Prof. Marouane Kessentini for supporting me with valuable feedback on my research and for providing me with insights into search-based software engineering. I am also grateful to Prof. Gerti Kappel, who gave me the opportunity to do my PhD in her outstanding research group. Her vast experience and her keen eye for detail (always double-check your references!) helped improve many of my papers and presentations. Of course, this thesis would not have been possible without the stimulating environment created by my colleagues, who have become dear friends over the past years. This includes my fellow ARTISTs Alex, Javi, Michi, and Patrick, Robert, and Manuel, Philip, and Tanja from the other side of the hallway (from the room with the good coffee machine). Thank you for many inspiring and motivational discussions as well as the great moments we shared both inside and outside the office. I am particularly indebted to Tanja, who has always listened to me patiently and encouraged me to not give up in times when I was not sure how to continue. Thank you. I also want to acknowledge my friends outside of work, who helped me balance the long nights in the office with long nights in pubs in Vienna and Linz. Thank you Koza, Anni, Steffi, Schügi, Marina, Manu, Berndi, Michi, Silvia, Adi, Natascha, Matthias, Hubsi, Emi, Julian, Birgit, Berni, René, Andi, Dennis, and Catherine. I furthermore owe my gratitude to my loving family who has always been a source of happiness for me. Thank you Mom, Dad, Dre, Iveta, Vivi, Mischi, Markus, Ines, Nori, Mani, Emily, Hilde, Elmar, Gabi, Arthur, Maxi, Leo, and Diego. Finally, I am deeply thankful to my boyfriend Niki, who has always supported me unconditionally. Words cannot express how grateful I am for the strength he has given me during this PhD and how fortunate I consider myself for our life together. ix Kurzfassung Model-Driven Engineering (MDE) ist ein Paradigma, in der Modelle als zentrale Ar- tefakte zur Problemlösung eingesetzt werden. Die Problemdomäne wird durch eine domänenspezifische Modellierungssprache definiert und Modelle repräsentieren konkre- te 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 modellba- sierte 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 analy- sieren 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 orche- strierten 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. xi 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. xiii Contents Kurzfassung xi Abstract