Supporting model extensions in RubyTL

Marc Dopplinger, Gertrude Kappel, Manuel Wimmer
2018
Model Engineering wird immer wichtiger, da die Nutzung von Modellen in der Software Entwicklung zu nimmt. Gleichsam bedeutend ist es, dass die Modelle leicht zu adaptieren und zu erweitern sind. Allerdings ist dies nicht immer möglich. Dies kann zum Beispiel sein, wenn das Modell nicht von einem selbst entwickelt wurde und es notwendig ist die Kompatibilität zu wahren. Deshalb wurden mehrere leichtgewichtige Erweiterungsmechanismen entwickelt. Zum Beispiel UML Profile für UML Diagramme oder EMF
more » ... Profile für Standard Diagramme des Eclipse Modeling Frameworks (EMF). Diese erlauben es ein bestehendes Diagramm zu erweitern ohne das Originalmodell zu ändern. Aber leider haben diese leichtgewichtigen Erweiterungen einen Nachteil. Nur wenige Modell Transformationssprachen besitzen eine Unterstützung für diese. Die Atlas Transformation Language (ATL), zum Beispiel, kann nur über die unterliegende Java API darauf zugreifen und RubyTL bietet überhaupt keine Unterstützung an. Im Rahmen dieser Arbeit soll eine Erweiterung entwickelt werden die es RubyTL erlaubt sowohl UML als auch EMF Profile zu verarbeiten. Dabei soll die Erweiterung nicht in den bestehenden Programmcode von RubyTL eingreifen. Um diese Anforderung zu erfüllen, werden Modellprozessoren verwendet. Diese integrieren das Profil in das bestehende Diagramm wodurch das Profil dann zu einem kompletten Bestandteil des ursprünglichen Diagramms wird. Dadurch ist es der Transformationssprache möglich auf die Informationen des Profils zuzugreifen. Weiters soll es möglich sein, die Modellprozessoren auch mit anderen Transformationssprachen, wie ATL, verwenden zu können. Als Abschluss der Arbeit wird gezeigt, wie man mit den Modellprozessoren bestehende Diagramme verarbeiten kann. Dabei wird gezeigt, wie man die Prozessoren benutzt und wie die Transformationsregeln aussehen. Da ATL bereits UML Profile unterstützt, wird an Hand von ATL gezeigt wie die Modellprozessoren die Transformationsregeln vereinfachen können.
doi:10.34726/hss.2018.21931 fatcat:slpa7pi7yfdgtch2lpqrcflbau