Masterarbeit: Adaptierung von Referenzimplementierung für konkrete Szenarien

Hintergrund

Ein Referenzmodell ist ein abstraktes, normatives Modell, in einer gegebenen Modellierungssprache, welches Domänenkonzepte und deren Relationen kodiert und festlegt, welche Eigenschaften ein konformes konkretes Modell haben muss, insbesondere welche Elemente notwendig sind und in welcher Relation sie zueinander stehen müssen [KMR24,KRS+24]. In der modellbasierten Entwicklung können Referenzmodelle als Vorlage zur Modellierung und Entwicklung von Systemen für eine Klasse konkreter Szenarien dienen.

Ein konkretes Beispiel für Referenzmodelle sind die Klassendiagramme, welche Entwurfsmuster darstellen. Neben diesen Modellen selbst existieren oft auch Referenzimplementierungen, welche wir im Kontext der modellgetriebenen Software-Entwicklung automatisiert für konkrete Szenarien, welche durch ein entsprechendes Domänenmodell spezifiziert sind, adaptieren möchten.

Ein solches Domänenmodell kann mithilfe eines existierenden Tools in CD4Analysis mit den Referenzklassendiagrammen erweitert bzw. vervollständigt werden. In einfachen Fällen ist auch eine rudimentäre Adaptierung der Referenzimplementierung bereits möglich, aber das Tooling ist noch ausbaufähig.

Ziel der Masterarbeit

Ziel der Masterarbeit ist es, das Tooling zur Adaptierung oder “Co-Konkretisierung” von Referenzimplementierungen in dem JavaDSL-Projekt auszubauen. Die “Co-Konkretisierung” soll entlang der Beziehung eines Referenzklassendiagramms, welches z.B. ein Entwurfsmuster spezifiziert, zu einem konformen Modell des konkreten Szenarios durchgeführt werden. Diese Beziehung wird durch Inkarnationsmappings über Stereotypen im konkreten Modell kodiert. Konkret soll auch die Adaptierung mehrerer Entwurfsmuster sowie mehrfacher Inkarnation der Entwurfsmuster unterstützt werden.

Aufgaben

  • Definition einer oder mehrerer umfassender Adaptierungsstrategien für mehrere Entwurfsmuster bzw. Referenzsysteme und mehrfache Inkarnation.
  • Ausbau des existierenden Adaptierungstools in dem JavaDSL-Projekt.
  • Ggf. Ausbau der weiteren Referenzmodellinfrastruktur, um bessere Adaptierung zu ermöglichen.

Notwendige Vorkenntnisse

  • Fortgeschrittene Kenntnisse der Java-Programmierung
  • Erfahrung in der (agilen) Software Entwicklung

Wünschenswerte Vorkenntnisse

  • Erfolgreicher Abschluss der Vorlesungen “Model-Based Software/Systems Engineering” und “Software Language Engineering”
  • Erfahrung in der Modellierung mit UML
  • Erfahrung in der (Weiter-)Entwicklung von [MontiCore]-Sprachprojekten
  • Erfahrung in der Entwicklung von Codegeneratoren

Ansprechpartner

Für mehr Informationen wenden Sie sich mit ihren Bewerbungsunterlagen bitte an Max Stachon.


Aufgabenstellung:

Prof. Dr. Bernhard Rumpe
Lehrstuhl Software Engineering
Ahornstr. 55
52074 Aachen