Forschungsthemen
[DA] Modulare Redefinition von OCL
Die Object Constraint Language (OCL) ist eine textuelle Teilsprache der Unified Modelling Language (UML), die es ermöglicht, Einschränkungen zu spezifizieren, die sich nicht oder nur sehr schwer grafisch repräsentieren lassen. OCL basiert auf dreiwertiger Prädikatenlogik erster Ordnung mit einigen Einschränkungen, die vorrangig der Berechenbarkeit von OCL-Ausdrücken dienen. Insbesondere sind Quantoren nur über endlichen Mengen zulässig. Die Syntax von OCL lehnt sich bewußt an die Syntax objektorientierter Sprachen an, um den Lernaufwand für objektorientierte Entwickler möglichst gering zu halten. Im Verlauf der beinahe 10jährigen Geschichte der OCL haben verschiedene Forscher unterschiedliche Erweiterungen vorgeschlagen, welche die OCL um zusätzliche Ausdrucksmöglichkeiten erweitern. Durch die Einbindung einiger dieser Erweiterungen ist die Sprache sehr stark angewachsen, die aktuelle Fassung des Standards hat beispielsweise einen Umfang von mehr als 200 Seiten. Gleichzeitig gibt es noch eine große Menge vorgeschlagener Erweiterungen, die in diesem Standard noch nicht eingebunden sind. Es besteht also der Bedarf nach einer flexiblen Erweiterungsmöglichkeit für die OCL Sprachspezifikation. In ihrem Papier auf dem OCL4All Workshop auf der MODELS 2007, unterbreiten Akehurst, Zschaler und Howells einen Vorschlag für eine modulare Redefinition von OCL, die auch die modulare und systematische Erweiterung der Sprache erlaubt. Ziel dieser Diplomarbeit ist es, diese vorgeschlagene Neudefinition werkzeuggestützt umzu-setzen. Als technologische Basis soll dabei das prototypische Sprachmodularisierungssystem LanGems (http://www.langems.cwende.de) von Christian Wende dienen. Die Arbeit dient gleichzeitig der Evaluation und Weiterentwicklung von LanGems anhand einer Beispielanwendung.
Im Einzelnen sind die folgenden Teilaufgaben zu lösen:
1. Einarbeitung in OCL und die vorgeschlagene Modularisierung nach Akehurst, Zschaler und Howells.
2. Einarbeitung in die modulare Sprachdefinition mit LanGems.
3. Umsetzen der modularen Redefinition von OCL:
3. a) Konzeption und Modellierung der Sprachmodule. Dazu müssen die Vorschläge aus dem Papier teilweise noch erweitert und konkretisiert werden.
3. b) Umsetzung der modularen Sprache mit LanGems.
4. Evaluation durch:
4. a) Testparsing einer substantiellen Menge OCL-Ausdrücke
4. b) Umsetzung einer substantiellen Erweiterung der Sprache, auf Basis der einschlägigen Literatur
Betreuer: Christian Wende-:#-#:- Steffen Zschaler