Masterarbeit: Alloy-basierte semantische Unterschiedsanalysen für Klassendiagramme und OCL
Der Vergleich von Modellen ist eine der wichtigsten Tätigkeiten in der modellbasierten Softwareentwicklung. Gemeinsamkeiten und Unterschiede zwischen Modellen müssen erkannt und analysiert werden, um Systeme weiterzuentwickeln sowie um Alternativen und Fehler zu identifizieren.
Im Gegensatz zur syntaktischen Unterschiedsanalyse (z.B. git), vergleichen wir bei der semantischen Unterschiedsanalyse die Mengen der validen Instanzen zweier Modelle. Ein semantischer Unterschied zwischen Modellen A und B wird durch eine Instanz des eines Modells belegt, welche nicht der Semantik des anderen Modells entspricht. Eine solche Instanz wird als Diff-Witness bezeichnet.
Zum semantischen Vergleich zweier Klassendiagramme, nutzen wir eine Übersetzung nach Alloy, einer textuellen Modellierungssprache, welche auf relationaler Logik erster Ordnung basiert. Der Alloy-Analyzer, ein integrierter SAT-Solver, erlaubt uns dann Diff-Witnesses in Form von Objektstrukturen zu finden.
Wir wollen dieses Tooling nun erweitern, um auch mit OCL-Bedingungen umgehen zu können. Ihre Aufgabe wird es sein eine mit dem bestehenden Tooling kompatible Übersetzung von OCL nach Alloy zu implementieren.
Wir bieten die Möglichkeit einen aktiven Beitrag zur Forschung in einem DFG-Projekt zu leisten. In der Regel wird das Ergebnis öffentlich auf Github gestellt, um die Verbreitung zu erhöhen.
Wünschenswerte Vorkenntnisse
- Vorlesung „Modellbasierte Softwareentwicklung“
- Vorlesung „Software Language Engineering“
Ansprechpartner
Interesse an dem Thema? Informieren Sie sich mit unseren Publikationen über unsere aktuelle Forschung.
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