Abgeschlossene Arbeiten

Studentische Arbeiten

Konfliktauflösungsstrategien für modellbasierte Concurrent-Engineering-Methoden

Typ der Arbeit: Master-Thesis
Bearbeitungsstand: Abgeschlossene Arbeiten
Arbeit abgeschlossen am: 14.01.2021
Betreuer*in: M.Sc. Lars Fritsche

Zurück zur Übersicht

Motivation

Moderne Softwaresysteme werden zunehmend komplexer und sind dadurch schwerer zu entwickeln und zu warten.
Die modellgetriebene Softwarentwicklung bietet hierfür eine Methodologie um die Anforderungen zu erfüllen, die sich aus dieser Entwicklung ergeben.
Hierfür werden Systeme durch Modelle beschrieben, die einen höheren Abstraktionsgrad aufweisen, dadurch leichter zu entwickeln sind und aus denen sich modellkonformer Code ableiten lässt.

Oft ist es aber so, dass man nicht ein Modell für ein ganzes System hat.
Stattdessen werden mehrere Modelle verwendet, die verschiedene Sichten auf das System modellieren.
Die Informationen die in diesen Sichten enthalten sind, können mit anderen Sichten überlappen und somit inkonsistent werden, wenn sich eine Sicht ändert.
Aus diesem Grund werden Mechanismen benötigt, die Modelle synchron zueinander halten, indem Änderungen erkannt und propagiert werden können.

Triple Graph Grammatiken (TGGen) bieten hierfür ein geeignetes Rahmenwerk bei dem Konsistenz zwischen Modellen durch einen Regelsatz an konsistenzbeschreibenen Regeln definiert wird.
Der Vorteil dieser Herangehensweise ist, dass verschiedene Operationalisierungen aus diesem Regelsatz abgeleitet werden können, wie zum Beispiel Regeln, die ein Modell in ein anderes übersetzen oder auch Regeln, die zusammengehörige Elemente zweier Modelle identifiziert.
Jedoch lassen sich nur durch diese Regeln keine Fälle abdecken in denen mehrere Modelle parallel von verschiedenen Nutzern geändert wurden, da sich bestimmte Änderungen widersprechen könnten.
Das Detektieren und Auflösen von solchen Konflikten ist jedoch auch mit TGGen möglich, indem TGG-Regelanwendungen daraufhin analysiert werden, von welchen weiteren Regelanwendungen sie abhängen.
Auf Basis dieser Abhängigkeiten lassen sich genau solche Konflikte herausfinden und auch solche Änderungen identfizieren, die mit keiner anderen Änderung in Konflikt stehen.

Diese Analyse wurde bereits in unser TGG-Werkzeug eMoflon implementiert, jedoch kann man bis dato noch nicht angeben, wie zum Beispiel ein Konflikt konkret aufgelöst werden soll.
Aus diesem Grund soll in der Thesis eine Programmiersprache zur Beschreibung von Konfliktlösungsstrategien entwickeln werden.
Da es verschiedene Arten von Konflikten gibt, ist hierbei vor allem entscheidend für jede Art notwendige Sprachfeatures zu identifizieren und zu implementieren.

Aufgabenstellung

Entwicklung einer Sprache zur Spezifizierung von Konfliktauflösungsstrategien

Anbindung an eMoflon

Evaluation und Betrachtung mehrerer unterschiedlicher TGG Projekte

Voraussetzungen

Gute Java Kenntnisse

Zurück zur Übersicht