Forschungsthemen
[BA] Entwicklung eines OCL-Debuggers für Dresden OCL
Die Object Constraint Language (OCL) wurde als Spracherweiterung für die Unified Modeling Language (UML) entwickelt, um UML-Modelle und Metamodelle durch Constraints und Navigationssemantik detaillierter zu spezifizieren und einzuschränken. Heute wird OCL als Constraint- und Query-Sprache auf zahlreichen Modellierungs- und Metamodellierungssprachen eingesetzt. Ein Tool zur Parser- und Auswertungsunterstützung von OCL-Constraints auf zahlreichen Metamodellen und Modellen wird im Rahmen des Forschungsprojektes Dresden OCL entwickelt.
Zur Auswertung von OCL-Constraints auf Modellen existieren dabei im Wesentlichen zwei Gruppen von Ansätzen: interpretative und generative Ansätze. Während generative Ansätze OCL-Constraints vor der Auswertung in eine spezifische Implementierungs- oder Query-Sprache übersetzen, werten interpretative Ansätze OCL-Constraints während einer Traversierung auf deren Syntax-Bäumen aus. Ergebnisse von Constraint-Auswertungen sind in beiden Ansätzen meist Boolesche oder Numerische Ausdrücke. Die Nachvollziehbarkeit der Ergebnis-Ableitung ist dabei oft nur schwer möglich, da OCL-Ausdrücke komplexe Integritätsbedingungen beschreiben können, an denen zahlreiche Modell-Elemente beteiligt sind.
Im Rahmen dieser Arbeit soll deshalb ein Debugging-Werkzeug für Dresden OCL entwickelt werden, dass den Nutzer bei der Interpretation von OCL-Constraints unterstützt. Der Debugger soll dabei mit dem existierenden, EMFText-basierten OCL-Editor von Dresden OCL eng verbunden sein und auf das existierende Debugging Framework von Eclipse aufsetzen.
Im Detail sind folgende Teilaufgaben zu bearbeiten:
- Einarbeitung in die Architektur von Dresden OCL, EMFText und das Eclipse Debugging Framework
- Erarbeitung eines Mappings (von Zeilnenummern und Sprungmarken) zwischen des Abstrakten Syntaxbaums (AST) des EMFText-basierten OCL-Editors und des Abstrakten Syntaxmodells (ASM) von Dresden OCL
- Entwicklung einer Integration/Erweiterung des existierende OCL-Interpreters für das Eclipse Debugging Framework
- Test und Dokumentation des entwickelten OCL-Debuggers Der Schwerpunkt dieser Bachelor-Arbeit liegt auf der Entwicklung und Implementation des OCL-Debugging-Werkzeugs. Die schriftliche Arbeit kann dementsprechend kürzer gehalten werden.
Betreuer: Claas Wilke