Multi-Modell-Konsistenzhaltung

Aus SDQ-Wiki
Ausschreibung (Liste aller Ausschreibungen)
Multi-modell-konsistenzhaltung.png Typ Masterarbeit
Aushang MultiModellKonsistenzhaltung.pdf
Betreuer Wenden Sie sich bei Interesse oder Fragen bitte an:

Heiko Klare (E-Mail: heiko.klare@kit.edu, Telefon: +49-721-608-45995)

Motivation

Software-Systeme werden mithilfe verschiedener Modelle entwickelt, die unterschiedliche Eigenschaften des Systems beschreiben, beispielsweise in Form von Architekturmodellen, UML-Diagrammen oder Programmcode. Diese Modelle enthalten redundante oder voneinander abhängige Informationen, zum Beispiel in einem simplen Fall den Namen einer Klasse in einem UML-Diagramm und dem Code. Somit muss ein Entwickler bei der Änderung eines Modells auch die abhängigen Modelle anpassen, um Inkonsistenzen zu vermeiden.

Die manuelle Konsistenzhaltung von Modellen durch Softwareentwickler ist aufwendig und fehleranfällig. Am Lehrstuhl von Prof. Reussner wird im Vitruvius-Projekt ein Ansatz erforscht, um die Konsistenzhaltung beliebiger Modelle mittels spezialisierter, Xtext-basierter Programmiersprachen zu automatisieren. Die Konsistenzhaltung für Paare von Modellen ist bereits gut untersucht. Sollen jedoch mehr als zwei Modelle konsistent gehalten werden, indem mehrere Konsistenzspezifikationen für Paare von Modellen gekoppelt werden, können verschiedene Problemen auftreten, da die Spezifikationen widersprüchlich sein können oder deren Ausführung zu unerwünschtem Verhalten, z.B. Endlosschleifen, führen kann.

Aufgabenstellung

In einer Masterarbeit arbeitest du systematisch an Problemen im Kontext der Multi-Modell-Konsistenzhaltung. Das konkrete Thema kann abhängig vom aktuellen Entwicklungsstand und deinen Interessen im persönlichen Gespräch ausgestaltet werden. Es sind in dem Themenkontext beispielsweise folgende Aufgaben zu lösen:

  • Katalogisieren von Problemen bei der Kopplung von Konsistenzspezifikationen
  • Verfahren zur Erkennung von widersprüchlichen Konsistenzspezifikationen
  • Erarbeitung einer analysierbaren Sprache zur Konsistenzspezifikation