Thematik meiner Diplomarbeit:
Ziel meiner Diplomarbeit ist es, aus Rumbaughs OMT-Modellen C++ Code zu erzeugen.
Endgültig sollte es so aussehen:
-
Ein Anwender gibt per Editor OMT-Graphen ein
-
Objekt-Modell
-
dynamisches Modell
-
funktionales Modell
-
die Beziehungen zwischen den einzelnen Modellen (z.B. welche Klasse des Objekt-Modells wird durch welches
Zustandsübergangsdiagramm des dynamischen Modells beschrieben)
-
Die per Editor (CASE-Tool) eingegebenen Graphen werden in eine bestimmte Datenstruktur überführt
-
Die in dieser Datenstruktur vorliegenden Graphen sind Eingabe des C++ Code-Generators
-
Die Graphen werden mit von Peter Dahms Graphenlabor bereitgestellten
Methoden traversiert
-
Bei der Traversierung werden möglichst viele Informationen für das zu erzeugende C++ Programm gewonnen
-
Die gewonnenen Informationen werden in C++ Code umgesetzt und als ASCII-File gespeichert.
-
Das erzeugte ASCII-File ist ein C++ Programm-Skelett, das allerdings von einem C++ Compiler bereits compilierbar ist
-
Es wird einem Implementierer übergeben, der die restliche Implementation übernimmt, so dass das Programm nach
der Compilierung
seine eigentliche Aufgabe erfüllen kann
In der
Dokumentation meiner Diplomarbeit
beschreibe ich in den ersten Kapiteln die Datenstruktur, in der die Graphen vorliegen sollen,
in Form von Meta-Modellen (Schema-Diagramme).
Darauf werden die einzelnen OMT-Modelle in C++ Code überführt.
Es werden jeweils zuerst die Ideen der Umsetzung erläutert.
Danach werden einige Beispiele aufgeführt.
Als letztes werden die Erzeugungsalgorithmen in Pseudocode beschrieben.
Betreuer
der Diplomarbeit: Prof.
Dr. Jürgen Ebert, Dipl.Inf.
Roger Süttenbach
Ende der Diplomarbeit: April 1996.
Weiterführung der Diplomarbeit
(Zukunftsvision):
-
Ein Anwender gibt per Editor Graphen irgendeiner objektorientierten
Modellierungsart ein
- Pro objektorientierter Modellierungsart gibt es eine Datenstruktur
- .....
- Ein multifunktionaler Code-Generator erzeugt aus der Datenstruktur
Zwischencode
- Der Anwender wählt eine objektorientierte Zielsprache
- Der multifunktionaler Code-Generator erzeugt aus dem Zwischencode den
Ziel-Code in der vom Anwender gewählten Sprache
- Der Zielcode ist direkt fehlerfrei compilierbar oder interpretierbar.
- Zusätzliche Anforderungen:
Komplettes Re-Engineering muss möglich sein
Leichte Portierung neuer Modellierungsarten oder neuer Programmiersprachen
in das bestehende System muss garantiert sein.