Strommer, M. (2008). Model transformation by-example MTBE [Dissertation, Technische Universität Wien]. reposiTUm. https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-24492
Model Driven Software Development; Model Transformation; GMF; By-Example
en
Abstract:
Die modellgetriebene Softwareentwicklung kann immer mehr als ernst zu nehmende Alternative zur klassischen Softwareentwicklung angesehen werden. Im Zuge des Entwicklungsprozesses der modellgetriebenen Softwareentwicklung sind in den letzten Jahren auch zahlreiche Methoden zur Modelltransformation entwickelt worden. Viele dieser Ansätze basieren auf den Metamodellen der jeweiligen Modellierungssprachen und setzen daher ein Wissen über die abstrakte Syntax voraus, das für die Modellierung von Modellen mit eben diesen Sprachen nicht notwendig ist.<br />Aufgrund dieser Einschränkungen heutiger Modelltransfromationsansätze entstand die Idee zu Model Transformation By-Example (MTBE), welches auf beispielgetriebenen Methoden basiert. Dieser Ansatz ermöglicht BenutzerInnen mit geeigneten Mappingoperatoren semantische Beziehungen zwischen Elementen, definiert in einer konkreten Syntax, zu spezifizieren. Auf diese Weise lassen sich Modelltransformationen und semantische Beziehungen benutzerfreundlicher spezifizieren als dies auf der Metamodellebene der Fall wäre. Das Wissen der BenutzerInnen über die konkrete Syntax einer Modellierungssprache und die Bedeutung der Mappingoperatoren genügen in den meisten Fällen, um Modelltransformationen zu erzeugen. Der MTBE-Ansatz unterstützt die Spezifikation von weiteren Mapping-Operatoren. Im Rahmen der Dissertation wurden Mapping-Operatoren für Sprachen zur Strukturmodellierung und zur Verhaltensmodellierung entwickelt. Die Anzahl der Mappingoperatoren wurde bewusst niedrig gehalten, um die Überschaubarkeit und Benutzerfreundlichkeit nicht zu gefährden. Der dadurch entstandene Verlust an Ausdrucksstärke wurde durch Reasoningalgorithmen sowohl auf der Metamodell- als auch auf der Modellebene größtenteils kompensiert, um ausführbaren Transformationscode generieren zu können.<br />Neben der konzeptuellen Definition von MTBE ist für den Nachweis der Praxistauglich- keit auch Werkzeugunterstützung gefordert, welche die Möglichkeit zum Modellmapping und zur Generierung von Transformationscode bietet. Daher wurde ein Framework konzipiert und umgesetzt, das auf bewährten Modellierungsanwendungen der Eclipse-Umgebung aufbaut. Zu diesen Anwendungen zählen etwa das Eclipse Modeling Framework (EMF), das Graphical Modeling Framework (GMF), die Atlas Transformation Language (ATL) und der Atlas Model Weaver (AMW). Die große Partizipation am Eclipse-Projekt sowie an diversen Teilprojekten war ausschlaggebend für die Wahl der eingesetzten Werkzeuge auf denen das MTBE Plug-in basiert.<br />Schließlich wurde MTBE anhand von zwei Fallstudien getestet und evaluiert. Diese beiden Fallstudien decken sowohl Struktur- als auch Verhaltensmodellierung ab.<br />
de
Model-Driven Engineering (MDE) is getting more and more attention as a viable alternative to the traditional code-centric software development paradigm.<br />With its progress, several model transformation approaches and languages have been developed in the past years. Most of these approaches are metamodel-based and therefore require knowledge of the abstract syntax of the modeling languages, which in contrast is not necessary for defining domain models using the concrete syntax of the respective languages.<br />To cope with shortcomings of current model transformation approaches we propose Model Transformation By-Example (MTBE), which is based on the by-example paradigm. Our approach allows the user to define semantic correspondences between concrete syntax elements with the help of special mapping operators. This is more user-friendly than directly specifying model transformation rules and mappings on the metamodel level. In general, the user's knowledge about the notation of the modeling language and the meaning of mapping operators is sufficient for the definition of model transformations. The definition of mapping operators is subject to extension, which has been applied for the definition of mapping operators for the structural and the behavioral modeling domain. But to keep things transparent and user-friendly, only a minimal set of mapping operators has been implemented. To compensate for the additional expressiveness inherent in common model transformation languages we apply reasoning algorithms on the models represented in concrete as well as in abstract syntax and on the metamodels to generate adequate transformation code.<br />In order to fulfill the requirements for a user-friendly application of MTBE, proper tool support and methods to guide the mapping and model transformation generation tasks are a must. Hence, a framework for MTBE was designed that builds on state-of-the-art MDE tools on the Eclipse platform, such as the Eclipse Modeling Framework (EMF), the Graphical Modeling Framework (GMF), the Atlas Transformation Language (ATL), and the Atlas Model Weaver (AMW). The decision to base our implementation on top of Eclipse and further Eclipse projects was driven by the fact, that there is a huge community we can address with our MTBE plug-in.<br />Finally, we evaluate our approach by means of two case studies in the areas of structural as well as behavioral modeling languages.<br />