Object-Oriented Metamodeling
Inhalt
Ein Modell ist eine Beschreibung der wesentlichen Eigenschaften eines Gegenstandes
der Betrachtung. Objektorientierte Modell beschreiben diese wesentlichen
Eigenschaften durch objektorientierte Konzepte, zu denen unter anderem
Klassen, Objekte, Assoziationen und Verbindungen gehören (z.B., Modellierung
mit der UML). Man spricht von Metamodellierung wenn der Gegenstand der
Modellierung selbst ein Modell darstellt. In seiner allgemeinsten Form
kann dieser Ansatz zu einer Hierarchie von Modellierungsebenen führen,
bei der eine Ebene die jeweils unter ihr liegende Ebene definiert.
Das Modellieren in einem solchen Meta-Ebenen Kontext erfordert ein geschärftes
Verständnis der gängigen Modellierungskonzepte und verlangt nach
erweiterten Regeln, Modellierungsmustern und Richtlinien. Obwohl das Denken
in Meta-Begriffen und -Ebenen zunächst ein Herausforderung und ungewohnt
sein kann, sollte man es nicht als rein akademisches Gehirnjogging abtun.
Metamodellierung erhält gegenwärtig immer stärkere Bedeutung,
zum Beispiel in solch konkreten Anwendungsgebieten wie Dokumentenrepräsentation,
E-Commerce, Definition der UML, Werkzeugkonstruktion und Komponenteninteraktionen.
Diese Vorlesung geht auf die fundamentalen Mechanismen und Prinzipien
der objektorientierten Metamodellierung ein und erforscht sie dann in praktischen Anwendungen.
Geplante Themen der Vorlesung sind unter anderem:
-
XML als Metaformat
-
EBNF als Metasprache
-
Definition der UML mit sich selbst
-
UML Erweiterbarkeit und Metamodellierung
-
Reflektive Programmiersprachen
-
Strikte- versus Loser Metamodellierung
-
Meta-Muster
-
Meta-basierte Werkzeuge (Compiler-Compiler, Flexible Case-Tools)
Siehe auch
Eintrag im kommentierten Vorlesungsverzeichnis.