Computer Science Graduate Seminar: MontiTrans: Agile, modellgetriebene Entwicklung von und mit domänenspezifischen, kompositionalen Transformationssprachen

 

Tuesday, September 11, 2018, 10:00am

Location: E3, Room 9222

Speaker: Katrin Hölldobler, M.Sc. RWTH

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.

 

The computer science lecturers invite interested people to join.