next up previous
Next: Bewertung Up: Das Autorensystem FMAD Previous: Konzeptioneller Aufbau von

Struktureller Aufbau von FMAD

Während Abbildung 5 eher eine globale konzeptionelle Sicht auf den Aufbau von FMAD widerspiegelt, die durch die Arbeitsweise über Editoren gekennzeichnet ist, gibt Abbildung 6 den strukturellen, implementiertechnischen Aufbau von FMAD wider, der von den Informationsobjekten geprägt ist.

Das besondere Merkmal von FMAD ist nämlich seine vollständig objektorientierte Implementierung. FMAD besteht nicht aus einer Sammlung von Editoren, mit denen verschiedene Informationsobjekte bearbeitet werden können. Vielmehr bilden die Informationsobjekte den zentralen Bestandteil der Implementierung von FMAD. Jedes Informationsobjekt besitzt eigene typspezifische Strukturkomponenten, mit denen es sich quasi selbst verwaltet bzw. über die es sich manipulieren läßt. Implementiertechnisch bildet dabei eine Menge von abstrakten Basisklassen sowie ein Codegenerator und ein Interpreter, die auf die abstrakten Schnittstellen zugreifen, den Kern von FMAD. Informationstypen werden als Komposition von von den Basisklassen abgeleiteten Klassen realisiert. Generelle Eigenschaften werden dabei geerbt. Ausschließlich typspezifische Eigenschaften müssen noch implementiert werden. Das Zusammenspiel der Strukturkomponenten ist bereits im Kern von FMAD auf der Basis der abstrakten Klassen implementiert.

 
Abbildung 6:  Struktureller Aufbau von FMAD

Zentrale Strukturkomponente jedes Objektes ist seine Spezifikationskomponente (Basisklasse FMSpecification). Bei den elementaren Informationsobjekten verwaltet sie die initialen Werte der Attribute des Objektes, bei den komplexen Informationsobjekten zusätzlich die Beziehungen. Werkzeuge zur Definition von Beziehungen bzw. initialen Attributwerten werden durch die Editorkomponente ( FMEditor) zur Verfügung gestellt. Routinen zum Speichern und Laden von Informationsobjekten sind in der Persistenzkomponente ( FMPersistence) zusammengefaßt. Über die Transformationskomponente ( FMTransformation) läßt sich objektspezifischer Code erzeugen. Die Interpretationskomponente ( FMInterpretation) arbeitet im Falle der komplexen Informationsobjekte mit der Steuerungskomponente ( FMControl), im Falle der elementaren Informationsobjekte mit der Präsentationskomponente ( FMPresentation) zusammen. Sie enthält die Attribute des Objektes und ermöglicht die Manipulation von Attributwerten und die Ausführung ihrer Systemfunktionen. Die Steuerungskomponente bzw. die Präsentationskomponente beinhalten die Aktivitätsfunktion der komplexen bzw. elementaren Informationsobjekte.

Die objektorientierte Implementierung von FMAD hat positive Auswirkungen auf seine Erweiterbarkeit um neue Informationstypen. Bei der Integration eines neuen Informationstyps müssen jeweils eine Klasse von den oben angegebenen Basisklassen abgeleitet und bestimmte Methoden typspezifisch redefiniert werden. Dieser Vorgang ist allerdings so schematisch, daß ein Generator - der sogenannte Informationstypgenerator - implementiert werden konnte, der die entsprechenden Klassen automatisch erzeugt. Als Eingabe verlangt der Generator die Einordnung des neuen Typs in die sogenannte Informationstyphierarchie (siehe Abbildung 7) sowie Informationen über die Attribute (Name, Typ, Default-Wert, Systemfunktion) des neuen Typs in deklarativer Form. Lediglich die Systemfunktionen müssen noch von Hand programmiert werden.gif Die generierten Klassen können übersetzt und zu FMAD dazugebunden werden. Eine Rekompilation von FMAD ist nicht notwendig. Auf diese Weise konnte die Integration der zur Zeit in FMAD verfügbaren Informationstypen jeweils im Minutenbereich erfolgen, weitgehend ohne eine Zeile explizit programmieren zu müssen. Abbildung 7 zeigt einen Ausschnitt aus der aktuellen Informationstyphierarchie von FMAD.

 
Abbildung 7:  Informationstyphierarchie von FMAD



next up previous
Next: Bewertung Up: Das Autorensystem FMAD Previous: Konzeptioneller Aufbau von



Dietrich Boles
Tue Aug 29 15:13:37 MET DST 1995