Über die Semantikbeschreibung OCL-artiger Sprachen
Thomas Baar
ISBN 978-3-8325-0433-5
200 pages, year of publication: 2003
price: 40.50 €
Spezifikation und Modellierung sind Arbeitsschritte bei der
Entwicklung von Softwaresystemen, die der Implementierung vorangehen
und umso sorgfältiger durchgeführt werden sollten, je komplexer das in
Entwicklung befindliche System ist. In der Praxis werden exakte
Spezifikationen und Modellierungen oftmals vernachlässigt, unter
anderem auch deshalb, weil die Bedeutung (Semantik) der verfügbaren
Modellierungssprachen nicht selten strittig oder unklar ist.
Infolgedessen bleiben Entwickler unsicher, ob eine gegebene
Modellierung wirklich jeden relevanten Aspekt eines Softwaresystems
korrekt widerspiegelt.
Zur Beschreibung von Syntax und Semantik, d.h. zur Beschreibung des
Aufbaus und der Bedeutung aller Ausdrücke einer Modellierungssprache,
findet in letzter Zeit die Technik der Metamodellierung verbreitet
Anwendung. Bei der aus industrieller Sicht wichtigsten
Modellierungssprache Unified Modeling Language (UML) definiert ein
Metamodell -- hierbei handelt es sich um einen komplexen Ausdruck der
Sprache UML -- die abstrakte Syntax der UML. Solch eine Vorgehensweise
provoziert folgende Frage, die Ausgangspunkt der vorliegenden Arbeit
war: Um das Metamodell verstehen zu können, muß zunächst die Bedeutung
der im Metamodell verwendeten Sprachkonstrukte klar sein, deren
Definition aber notwendigerweise auf der Syntax von UML aufbauen muß,
also dem, was man anfangs mittels des Metamodells zu definieren
trachtete.
Diese Zirkularität ist in der Literatur zwar bemerkt, aber wenig
diskutiert worden. Das in der vorliegenden Arbeit entwickelte Vorgehen
löst dieses Problem durch Einführung einer UML-ähnlichen Metasprache
CINV, die auch Elemente der in UML integrierten Constraintsprache
Object Constraint Language (OCL) enthält. Syntax und Semantik von CINV
sind in traditioneller Weise durch mathematische Definitionen gegeben.
Die abstrakte Syntax von CINV ist darüber hinaus durch ein
CINV-Metamodell gegeben, das als korrekt nachgewiesen werden konnte.
Ein weiteres Anwendungsfeld der Sprache CINV ist die Beschreibung
anderer Modellierungssprachen (z.B. UML und OCL) in Syntax und
Semantik. Hierbei orientieren sich die CINV-Modelle an bekannten, in
mathematischer Form gegebenen Definitionen von konzeptionell ähnlichen
Sprachen wie Prädikaten- oder Programmlogiken. Die Orientierung an
einigen, in der Literatur gut untersuchten Sprachen führt zu anderen
'Metamodellen' als den bislang im Sprachstandard für UML und OCL
angegebenen.