Universität München,
Institut für Informatik,
Lehr- und Forschungseinheit für Programmierung und Softwaretechnik

Die Object Constraint Language (OCL) stellt einen Teil der Unified Modelling Language (UML) dar. OCL erlaubt es, Bedingungen zu diagrammatischen Beschreibungen in UML formal zu spezifizieren. Insbesondere können beispielsweise einschränkende Forderungen an die Instanzen einer Klasse oder Vor- bzw. Nachbedingungen von Operationen angegeben werden.
Um den objektorientierten Softwareentwurf zu unterstützen, sollen
statt der gebräuchlichen Notizen in freiem Format präzisere OCL-Ausdrücke
verwendet werden.
Einerseits können dadurch Mehrdeutigkeiten ausgeräumt werden.
Die exakte Beschreibung ist aber zugleich Voraussetzung für die Verwendung
eines Werkzeugs, das es im Rahmen dieser Diplomarbeit zu entwickeln gilt.
Es soll dem Software-Entwickler zur Hand gegeben werden, um auch zahlreiche
Ausdrücke in OCL behandeln zu können.
Das entsprechende Programm muß zunächst eine Überprüfung
der Syntax vornehmen, die sich in mehrere Teile untergliedert: Zunächst
gilt es, die gegebenen Bedingungen gemäß einer Grammatik zu
parsen. Die Knoten im resultierenden Syntaxbaum sind dabei zu typisieren.
Darauf aufbauend kann dann zu gegebenen Instanzen geprüft werden,
ob die Invarianten eingehalten wurden.
Diese Werkzeuge sollen im Rahmen der Erstellung einer prozeßgesteuerten
Umgebung zur Software-Herstellung (PUSH) an der LMU eingebunden werden
und so komfortable Nutzung sicherstellen.
Über eine geeignete Schnittstelle gilt es mit anderen Werkzeugen
Daten auszutauschen. Dabei ist insbesondere an XMI (XML Metadata Interchange)
gedacht, beispielsweise zum Austausch von Klassendiagrammen.