In diesem Kapitel werden die grundlegenden Konzepte des
Autorenwerkzeugs FMAD sowie Aspekte seiner Implementierung beschrieben.
Der Schwerpunkt liegt dabei auf dem strukturellen
Aufbau von FMAD. Insbesondere wird die Erweiterbarkeit von
FMAD um neue Medientypen herausgestellt.
Dieses Kapitel soll kein Benutzerhandbuch für FMAD
darstellen. Daher wird die
Autorenschnittstelle
von FMAD nur grob erläutert.
Die Implementierungsgrundlage von FMAD ist das User-Interface Toolkit XFantasy inklusive seiner Erweiterungen, dem Kommando-Modells und dem MediaManager. Ihre Konzepte werden im ersten Abschnitt kurz erläutert. Als Programmiersprache dient die objektorientierte Programmiersprache C++ [Str91]. FMAD basiert vollständig auf den Konzepten der objektorientierten Programmierung. Insbesondere die Konzepte der Vererbung, der abstrakten Klassen, der Spezialisierung, der Polymorphie und der Komposition wurden eingesetzt, um FMAD in Form einer erweiterbaren Klassenhierarchie zu gestalten. Im gegenwärtigen Stadium setzt sich FMAD aus über 250 Klassen zusammen.
FMAD ist ein IMRA-Autorenwerkzeug. Der abstrakte Formalismus des IMRA-Modells (siehe Anhang A) wurde bei der Implementierung in abstrakte C++-Klassen überführt, die die Basisklassen einer Medientypklassenhierarchie bilden. Der Präsentationsalgorithmus dient als Grundlage des Interpreters. Das Design der Strukturierunsgeditoren ist stark von den Media-Relationship-Diagrammen geprägt.
Anzumerken ist an dieser Stelle, daß das Autorenwerkzeug FMAD bereits vor Beginn dieser Arbeit existierte, also auch vor der Entwicklung des IMRA-Modells. Der Einbau von Interaktionen in multimediale Präsentationsanwendungen mit Hilfe von FMAD war zwar geplant, allerdings ermöglichte FMAD im damaligen Implementierungszustand einem Autor lediglich die Entwicklung nicht-interaktiver multimedialer Präsentationsanwendungen. Als Ziel dieser Arbeit wurde die Integration von Interaktionen in FMAD, also die Erweiterung von FMAD zu einem Entwicklungswerkzeug für interaktive multimediale Präsentationen, festgelegt. Bereits bei ersten Überlegungen zur Integration von Interaktionen in FMAD ergaben sich jedoch Schwierigkeiten bzw. Kontroversen mit existierenden Konzepten von FMAD. So war FMAD geprägt von den zeitlichen Beziehungen, die mit Hilfe des Kommando-Modells definiert werden können. Andere Beziehungen (mit Ausnahme bestimmter Initialisierungsbeziehungen) wurden überhaupt nicht betrachtet. Erst im Rahmen dieser Arbeit entwickelte sich das Bild einer multimedialen Präsentationsanwendung, auf dem die Ausführungen in den vorangehenden Kapiteln basieren und das die Grundlage für das IMRA-Modell bildet. Da eine ,,harmonische`` Integration von Interaktionen in das ,,alte`` FMAD nicht möglich war, wurde beschlossen, FMAD zu reimplementieren. Das ,,neue`` FMAD kann nun angesehen werden als eine konkrete Implementierung des abstrakten IMRA-Modells. Bei der Reimplementierung konnten jedoch viele bereits existierende Teilkomponenten wiederverwendet oder mußten nur leicht modifiziert werden. Der konzeptuelle Aufbau vom ,,alten`` FMAD (siehe [AG93]) wurde beibehalten und floß auch in die Modellbildung mit ein.
Nach einer Einführung in die Implementierungsgrundlagen im ersten Abschnitt dieses Kapitels wird im zweiten Abschnitt der strukturelle Aufbau von FMAD beschrieben, an dem sich die darauffolgenden Abschnitte orientieren. Von zentraler Bedeutung ist dabei die erweiterbare Medientypklassenhierarchie, die sich in die drei Bereiche Systemtypen, komplexe Medientypen und elementare Medientypen gliedern läßt. Die Systemtypen werden in Abschnitt 3 ausführlich erläutert. Sie bilden die Basis für die grundlegende Arbeitsweise eines Autors mit FMAD, die in Abschnitt 4 demonstriert wird. Auf die komplexen Medientypen wird in Abschnitt 5 eingegangen. Abschnitt 6 behandelt die zur Zeit in FMAD integrierten elementaren Medientypen. Bei der Modellierung von komplexen Medienobjekten durch einen Autor wird ein multimediales Beziehungsnetzwerk aufgebaut, das in Abschnitt 7 betrachtet wird. Auf das Beziehungsnetzwerk greifen sowohl der Interpreter als auch der Codegenerator zu, die in den Abschnitten 8 und 9 vorgestellt werden. Der wichtige Aspekt der Integration neuer Medientypen in FMAD wird in Abschnitt 10 analysiert.