Forschungsthemen
[BA] Metamodellierungssystem für Compartment Role Object Modelle
Motivation
Die Allgegenwart von kontextabhängigen und dynamischen Systemen hat zu einem Boom in der Modell-getriebenen Softwareentwicklung geführt, welches die Entwicklung selbst-adaptiver Systeme ermöglicht. Diese sind durch hohe Kontextabhängigkeit und dynamische Adaption gekennzeichnet (Piechnick u. a. 2012). Klassische Methoden der objektorientierten Softwareentwicklung sind für diese Anforderungen nur unzureichend geeignet, da sie von einer statischen Struktur des Systems ausgehen und dynamische, kontextabhängige Interaktionen nur unzureichend spezifizieren können (Reenskaug und Coplien 2009). Das Graduiertenkolleg RoSI untersucht die Einsatzmöglichkeiten des Rollenkonzeptes als Paradigma für die Softwareentwicklung von kontextsensitiven adaptiven Systemen und für deren Laufzeitunterstützung. Obwohl das Rollenkonzept in der Modellierung weitestgehend etabliert ist, findet es jedoch in der modellgetriebenen Entwicklung relativ wenig Beachtung. Bisher ist es unklar, wie rollenbasierte modellgetriebene Software modelliert, entwickelt und implementiert werden kann. Einerseits wurde für die rollenbasierende Modellierung das Compartment Role Object Model1 (CROM) (Kühn u. a. 2015) und der First Role Modeling EDitor2 (FRaMED) entwickelt. Damit ist es erstmals möglich rollenbasiert dynamische und kontextabhängige Domänen zu modellieren. Jedoch fehlt ein Metamodellierungssystem für rollenbasierte modellgetriebene Entwicklung, welches die Nutzung von rollenbasierten Modellen ermöglicht.
Problemstellung
Zur Zeit gibt es kein Metamodellierungssystem für die rollenbasierte modellgetriebene Softwareentwicklung. Dafür ist es notwendig, ähnlich dem Eclipse Modeling Framework (Steinberg u. a. 2008), CROM als zentrales Metamodell zu etablieren und daraus sowohl den Modellcode als auch Serialisierungs- und Deserialisierungsmethoden zu generieren. Dafür muss für CROM-Modelle ein passendes Entwurfsmuster gefunden und umgesetzt werden. Zusätzlich muss für die größtmögliche Plattformunabhängigkeit eine geeignete Programmiersprache und Datenrepräsentation ausgewählt werden. Schlussendlich muss dieses System das programmgestützte Erzeugen, Speichern und Laden von beliebigen CROM-Modellinstanzen ermöglichen.
Aufgabenstellung
Um diese Probleme zu adressieren, müssen im Rahmen der Bachelorarbeit die folgenden Teilaufgaben erfüllt werden:
- Auswahl oder Entwicklung eines geeigneten Entwurfsmusters, um das Compartment Role Object Model (CROM) in klassischen objektorientierten Programmiersprachen zur repräsentieren
- Entwicklung eines Eclipse-basierten Metamodellierungssystems, welches das programmgestützte Erzeugen, Speichern und Laden von CROM-Modellinstanzen unterstützt
- Verwendung eines geeigneten Frameworks zur Template-gestützten Codeerzeugung, um aus CROM-Modellen Java-Klassen entsprechend des gewählten Entwurfsmusters zu erzeugen
- Zusätzliche Auswahl einer geeigneten Graph-basierten Datenrepräsentation, zum Beispiel JSON oder YAML, für CROM-Modellinstanzen
- Evaluierung der Eignung des Metamodellierungssystems anhand eines komplexen Beispiels und den 27 Eigenschaften von Rollen (Kühn 2017)
Kühn, Thomas. 2017. „A Family of Role-Based Languages“. PhD thesis, Dresden, Germany: Technische Universität Dresden, Fakultät Informatik, Professur für Softwaretechnologie; http://nbn-resolving.de/urn:nbn:de:bsz:14-qucosa-228027.
Kühn, Thomas, Stephan Böhme, Sebastian Götz, und Uwe Aßmann. 2015. „A Combined Formal Model for Relational Context-Dependent Roles“. In Proceedings of the 2015 ACM SIGPLAN International Conference on Software Language Engineering, 113–24. ACM.
Piechnick, Christian, Sebastian Richly, Sebastian Götz, Claas Wilke, und Uwe Aßmann. 2012. „Using Role-Based Composition to Support Unanticipated, Dynamic Adaptation-Smart Application Grids“. In ADAPTIVE 2012, The Fourth International Conference on Adaptive and Self-Adaptive Systems and Applications, 93–102.
Reenskaug, Trygve, und James O. Coplien. 2009. „The DCI architecture: A new vision of object-oriented programming“. An article starting a new blog:(14pp). http://www.artima.com/articles/dci_vision. html.
Steinberg, Dave, Frank Budinsky, Ed Merks, und Marcelo Paternostro. 2008. EMF: Eclipse Modeling Framework. Pearson Education.
Betreuer: Thomas Kühn