M. Wimmer: From Mining to Mapping and Roundtrip Transformations - A Systematic Approach to Model-based Tool Integration, Betreuer/in(nen), Begutachter/in(nen): G. Kappel, W. Retschitzegger; Institut für Softwaretechnik und Interaktive Systeme, 2008, Rigorosum: 21.04.2008.
Model-Driven Engineering (MDE) gains momentum in academia as well as in practice. A wide variety of modeling tools is already available supporting different development tasks and advocating different modeling languages. In order to fully exploit the potential of MDE, modeling tools must work in combination, i.e., a seamless exchange of models between different modeling tools is crucial for MDE. Current best practices to achieve interoperability use model transformation languages to realize necessary mappings between the metamodels defining the modeling languages supported by different tools. However, the development of such mappings is still done in an ad-hoc and implementation-oriented manner which simply does not scale for large integration scenarios. The reason for this is twofold. First, various modeling languages are not based on metamodeling standards but instead define proprietary languages rather focused on notational aspects. And second, existing model transformation languages both do not support expressing mappings on a high-level of abstraction and lack appropriate reuse mechanisms for already existing integration knowledge.
This thesis contributes to the above mentioned problems. It proposes a comprehensive approach for realizing model-based tool integration, which is inspired from techniques originating from the field of database integration, but employed in the context of MDE. For tackling the problem of missing metamodel descriptions, a semi-automatic approach for mining metamodels and models from textual language definitions is presented, being a prerequisite for the subsequent steps which are based on metamodels and models, only. For raising the level of abstraction and for ensuring the reuse of mappings between metamodels, a framework is proposed for building, applying, and executing reusable mapping operators. To demonstrate the applicability of the framework, it is applied to the definition of mapping operators which are intended to resolve typical structural heterogeneities occurring between the core concepts of metamodels. Finally, for ensuring roundtrip capabilities of transformations, two approaches are proposed evolving non-roundtripping transformations with roundtrip capabilities.
Die modellgetriebene Softwareentwicklung ist nicht nur ein aktueller Trend in der Informatikforschung, sondern spielt auch bereits in der Praxis eine wichtige Rolle. Für den praktischen Einsatz steht eine Palette an Modellierungswerkzeugen zur Verfügung, wobei jedes Werkzeug einen bestimmten Bereich im Entwicklungsprozess unterstützt und daher unterschiedliche Modellierungssprachen eingesetzt werden. Aufgrund der mangelnden Interoperabilität ist es allerdings nicht möglich, unterschiedliche Werkzeuge in Kombination einzusetzen und so bleibt das Potential der modellgetriebenen Softwareentwicklung zum Teil ungenützt. Um Interoperabilität zwischen Werkzeugen herzustellen, werden Modelltransformationssprachen für die Erstellung von so genannten Mappings (Abbildungen) zwischen Konzepten der Modellierungssprachen – definiert in Metamodellen – eingesetzt. Die Entwicklung von Mappings wird jedoch durch eine ad-hoc und implementierungsorientierte Vorgehensweise erschwert. Die Hauptgründe dafür sind: (1) für viele Modellierungssprachen existieren keine Metamodelle, und (2) Modelltransformationssprachen bieten weder Sprachelemente, um Mappings auf einer angemessenen Abstraktionsstufe zu definieren, noch stellen sie Mechanismen für die Wiederverwendung bereits vorhandener Mappings zur Verfügung.
Kurzfassung deutsch:
Die vorliegende Dissertation entwickelt Lösungen für die oben genannten Probleme. Im Rahmen der Dissertation wird eine umfassende Infrastruktur für die modellbasierte Integration von Modellierungswerkzeugen aufgebaut. Der erste Teil präsentiert einen teilautomatischen Ansatz für die Erstellung von Metamodellen und Modellen aus textuellen Definitionen. Werden Modellierungssprachen nicht durch Metamodelle repräsentiert, ist dieser Schritt Voraussetzung, um die nachfolgenden Integrationstechniken anwenden zu können. Der zweite Teil beschäftigt sich mit der Erhöhung des Abstraktionsniveaus und der Wiederverwendung von vorhandenen Mappings. Dazu bietet das vorgestellte Framework Möglichkeiten, um wiederverwendbare Mapping Operatoren zu definieren, anzuwenden und auszuführen. Der Einsatz des Frameworks wird durch die Entwicklung einer Mapping Sprache demonstriert, die Mapping Operatoren für das Auflösen von wiederkehrenden Heterogenitäten zwischen Metamodellen umfasst. Der dritte und letzte Teil dieser Arbeit beschäftigt sich mit Roundtrip Transformationen. Dazu werden zwei Ansätze entwickelt, um existierende, nicht roundtrip-fähige Transformationen mit Roundtrip Funktionalität zu ergänzen.