Randak, A. (2011). ATL4pros: introducing native UML profile support into the ATLAS transformation language [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-59337
Softwaremodelle, anfänglich für reine Kommunikations- und Entwurfszwecke genutzt, sind mit der Etablierung der Modellgetriebenen Softwareentwicklung (englisch Model-Driven Engineering, MDE) zum Kernstück des gesamten Entwicklungsprozesses avanciert. Verschiedenste Modellierungstechniken und -sprachen wurden geschaffen, um eine fundierte Basis für MDE zu gewährleisten. Die Unified Modeling Language (UML), ein Standard der Object Management Group (OMG), ist der prominenteste Vertreter unter den Modellierungssprachen. Der Erfolg von UML liegt nicht nur in den vielfältigen Einsatzmöglichkeiten begründet, sondern ist auch auf die elegante Erweiterungsmöglichkeit der Sprache zurückzuführen. Mit Hilfe von UML Profilen kann die Sprache für verschiedene Zwecke und Plattformen angepasst werden.<br />Abgesehen von Modellierungssprachen spielen Modelltransformationen eine entscheidende Rolle in MDE. Modelltransformationen haben zum Ziel, ein bestimmtes Quellmodell in ein gewünschtes Zielmodell zu transformieren.<br />Die ATLAS Transformation Language (ATL) ist die am häufigsten eingesetzte Modelltransformationssprache. Während Modellierungssprachen, die durch Metamodelle definiert sind, direkt in ATL unterstützt werden, muss man für die Verwendung von UML Profilen auf komplizierte Behelfe zurückgreifen. Es wäre jedoch wünschenswert, Modellelemente des UML Profils genauso als Sprachdefinitionen nutzen zu können, wie es für Metamodelle möglich ist.<br />Ziel dieser Diplomarbeit ist es, ATL dahingehend zu erweitern, dass UML Profile direkt unterstützt werden. Die abstrakte sowie die konkrete Syntax von ATL werden um neue Sprachkonstrukte ergänzt, um damit die Verwendung von UML Profilen zu vereinfachen. Neben der Syntaxerweiterung muss auch eine operationale Semantik definiert werden, um die modifizierte ATL Version mittels Präprozessor zur regulären ATL Version umwandeln zu können. Die ATL Sprache wird dadurch um neue, sprachinhärente Bestandteile und Schlüsselwörter bereichert. Im Zuge der Umsetzungsphase wurden technische Möglichkeiten sowie existierende Einschränkungen identifiziert und aufbereitet. Diese Zusammenfassung kann als Richtlinie für zukünftige Erweiterungen gesehen werden sowie als Ausgangspunkt für eine kritische Auseinandersetzung mit der Erweiterbarkeit von ATL dienen.<br />
de
The software engineering process has significantly changed over the last decade. Whereas in the past models were only used for communication and brainstorming purposes, this philosophy has shifted drastically. Model-Driven Engineering (MDE) is the keyword that is guiding the current engineering direction. Models are the key artifact and all development steps are aligned to these models. Sophisticated modeling techniques have been invented to ensure a consistent and comprehensive technological basis. The Unified Modeling Language (UML) was introduced by the Object Management Group (OMG) to standardize and support different modeling aspects like structural, behavioral, and architectural models. The huge success of UML is not only due to the versatility of the language but also because of the highly-developed language extension mechanism in form of UML profiles. UML profiles may be defined for tailoring UML to specific domains and technological platforms.<br />Apart from modeling languages, the technique of model transformation plays a crucial role for the model-driven approach. Model transformations aim at transforming an existing source model into some desired target model. Different model transformation languages were invented that support various kinds of model transformations. One of them is the ATLAS Transformation Language (ATL), which is currently one of the most widely used transformation languages. While modeling languages defined by metamodels are directly supported in an ATL transformation, the use of UML profiles demands for a complex work-around. It would be desirable, however, to simplify the handling of UML profiles in such a way that profiles are, like metamodels, represented as language definitions.<br />The contribution of this master's thesis is to extend ATL for a native UML profile support. New language constructs are integrated into the abstract and concrete syntax of ATL to ease the use of profile-specific information within a model transformation. Apart from the extension of the ATL syntax, also an operational semantics for the new constructs is defined by translating the extended ATL to standard ATL. The goal of this work is to enrich the ATL language with new language-inherent constructs and keywords. During the implementation phase several technological possibilities as well as limitations were encountered and discussed. This collection of lessons learned can be seen as a guideline for future extensions of ATL, and as a starting point for a critical discussion about the extensibility of ATL.