next up previous contents index
Next: Anwendungen mit beliebigen Graphen Up: Modellierung von Graphklassen Previous: Beispiel:

Programmierung mit Graphklassen

  Der beschriebene Ansatz zur Modellierung von Graphklassen spiegelt sich auch bei der Implementierung von Applikationen mit dem Graphenlabor wider. Da mit einzelnen Programmen spezielle Probleme bearbeitet werden, werden die Graphen, auf die ein Programm zurückgreift, meistens eine ähnliche Struktur haben. Diese Programme bearbeitet Graphinstanzen einer bestimmten Graphklasse.

Wenn Graphen zwischen verschiedenen Programmen ausgetauscht werden, dann kann man die Schnittstelle der Programme durch die Graphklasse definieren. Die einzelnen Programme können unabhängig voneinander entwickelt werden. Es muß nur die Spezifikation aus der Graphklasse eingehalten werden.


Im Graphenlabor werden die Graphklassen durch die  Typsysteme realisiert. Sie bestehen aus

Damit sind viele Informationen aus den EER-Diagrammen der Graphklassen auf die Typsysteme übertragbar und werden im Graphenlabor zur Konsistenzsicherung benutzt.


Für die Implementation von solchen Programmen ergibt sich folgendes Vorgehen:

1.
Bei der Analyse des Problemes wird eine Graphklasse definiert, die zum Problem paßt.
2.
Aus dieser Graphklasse muß ein Teilprogramm abgeleitet werden, welches das erforderliche Typsystem erzeugt.
3.
Bei der Implementation der Algorithmen werden die Graphinstanzen mit dem erzeugten Typsystem verbunden. Dadurch können Knoten und Kanten mit den erforderlichen Typen angelegt werden. Dabei ist sichergestellt, daß alle Graphen der definierten Graphklasse entsprechen. Andererseits darf man bei der Manipulation von Graphen keine Graphstrukturen erzeugen, die nicht zur Graphklasse passen.
Wenn mehrere Programme dieselben Graphen benutzen, dann wird nur eine gemeinsame Graphklasse definiert. In diesem Fall kann für ein einzelnes Programm Schritt 1 und evtl. auch 2 entfallen, da sie schon für ein anderes Programm erarbeitet wurden.


next up previous contents index
Next: Anwendungen mit beliebigen Graphen Up: Modellierung von Graphklassen Previous: Beispiel:
Friedbert Widmann
7/20/2003