+**********************************************************************
*
*
* Einladung
*
*
*
* Informatik-Oberseminar
*
*
*
+**********************************************************************
Zeit: Dienstag, 11. September 2018, 10.00 Uhr
Ort: E3, Raum 9222
Referent: Katrin Hölldobler, M.Sc. RWTH
Thema: MontiTrans: Agile, modellgetriebene Entwicklung von und mit domänenspezifischen, kompositionalen Transformationssprachen
Abstract:
Modelle sind die zentralen Entwicklungsartefakte der modellgetriebenen Softwareentwicklung und müssen entsprechend überarbeitet, weiterentwickelt und gewartet werden. Daher sind Modelltransformationen ebenfalls essenziell für die modellgetriebene Softwareentwicklung.
Während domänenspezifische Sprachen (DSLs) zur Modellierung mittlerweile weitverbreitet sind, sind spezifische Transformationssprachen rar. Stattdessen werden General Purpose Transformationssprachen (GPTLs) verwendet, die Transformationen basierend auf der
internen Repräsentation der Modelle formulieren. Diese interne Repräsentation ist Modellierern und Domänenexperten in der Regel unbekannt, was deren Einbindung in den Entwicklungsprozess deutlich erschwert. Domänenspezifische Transformationssprachen (DSTLs)
basieren auf der den Modellierern bekannten konkreten Syntax der DSL, wodurch sie spezifisch für die zugehörige DSL sind. Dies verringert den initialen Aufwand zum Erlernen der Transformationssprache, da der größte Teil der Syntax bereits bekannt ist und zusätzlich
nur die Syntax der Transformationsoperatoren erlernt werden muss. Andererseits haben DSTLs durch ihre Zugehörigkeit zu einer DSL den Nachteil, dass für jede neu entwickelte DSL gleichzeitig oder für existierende DSLs nachträglich eine DSTL entwickelt werden
muss. Aus diesem Grund erhöht sich der Aufwand der DSL-Entwicklung deutlich. Darüber hinaus erhöht sich der Aufwand weiter, wenn DSTLs zur Übersetzung zwischen verschiedenen Sprachen benötigt werden und entwickelt werden müssen. Zur Reduzierung dieses Aufwands
wurde in [Wei12] ein erster DSTL-Generator vorgestellt. Dieser wurde mithilfe der Language Workbench MontiCore 2 entwickelt. Besondere Merkmale von MontiCore 4 sind die Möglichkeiten zur modularen Sprachdefinition durch Sprachkomposition sowie die an die Objektorientierung
angelehnten Konzepte der Nichtterminalerweiterung als Erweiterung des Alternativenkonzepts von Grammatiken. Der bisherige DSTL-Generator ermöglicht eine Generierung von DSTLs aus MontiCore-Grammatiken und unterstützt ausschließlich monolithische Sprachdefinitionen.
Die Mehrzahl der mit MontiCore entwickelten Modellierungssprachen sind hingegen kompositional definiert. Die bisher generierten DSTLs unterstützen ausschließlich Transformationen von Modellen innerhalb einer Modellierungssprache. Übersetzungen zwischen verschiedenen
Sprachen oder die Migration von Modellen zwischen Sprachversionen ist somit nicht möglich. Des Weiteren wird bisher nur ein Teil der möglichen Konzepte von MontiCore-Grammatiken unterstützt, auf den sich die restlichen Konzepte abbilden lassen. Dadurch sind
Sprachentwickler in der Sprachdefinition eingeschränkt.
Im Rahmen dieser Dissertation wird die generative Entwicklung und Verwendung von DSTLs in der modellgetriebenen Softwareentwicklung durch MontiTrans unterstützt. MontiTrans ermöglicht die Entwicklung neuer DSTLs und der zugehörigen Infrastruktur zur Spezifikation
und Ausführung von Modelltransformationen. Für die Entwicklung von MontiTrans wurden die zuvor beschriebenen offenen Punkte aufgegriffen und die Generierung von DSTLs basierend auf den Ergebnissen aus [Wei12] weiterentwickelt. MontiTrans wurde sowohl zur Entwicklung
neuer DSTLs als auch zur Entwicklung von Bibliotheken von wiederverwendbaren Transformationen verwendet. Hierdurch konnte gezeigt werden, dass MontiTrans ein umfassendes Werkzeug zur Entwicklung von DSTLs sowie für die Entwicklung von Modelltransformationen
innerhalb modellgetriebener Softwareentwicklungsprojekte ist. MontiTrans erleichtert sowohl Sprachentwicklern die Entwicklung neuer DSLs und zugehöriger DSTLs als auch Transformationsentwicklern die Definition und Anwendung neuer Transformationen.
Es laden ein: Die Dozenten der Informatik