In den einzelnen Entwicklungsphasen einer multimedialen Präsentationsanwendung werden bestimmte Aufgaben ausgeführt. Zur Erledigung dieser Aufgaben werden verschiedene Werkzeuge eingesetzt:
Die Beziehungen der Werkzeuge zu den verschiedenen Entwicklungsphasen werden in Abbildung 2.5 verdeutlicht.
Medienobjekterzeugungswerkzeug Zur Erzeugung von elementaren Medienobjekten werden je nach Medientyp unterschiedliche Werkzeuge benötigt. Zur Spezifikation von Graphiken und Textobjekten dienen im allgemeinen bestimmte Graphik- bzw. Texteditoren, mit denen die Objekte erzeugt und die Werte ihrer Informationsattribute festgelegt werden können. Eine andere Möglichkeit zur Erzeugung von Graphikobjekten bietet die Programmierung mit Hilfe von Graphikbibliotheken, wie GKS oder PHIGS, oder User-Interface Toolkits. Bei den Werkzeugen zur Erstellung von Videos bzw. Audios können Primär- und Sekundärwerkzeuge unterschieden werden. Primärwerkzeuge, die in diesem Zusammenhang nicht weiter betrachtet werden sollen, sind beispielsweise Kassettenrecorder oder Videokameras. Die hiermit erzeugten Daten werden digitalisiert und können mit Hilfe von Sekundärwerkzeugen, wie speziellen Editoren, nachträglich manipuliert werden.
Charakteristisch für die meisten Medienobjekterzeugungswerkzeuge ist, daß sie eine Speicherung der erzeugten Objekte in externe Dateien ermöglichen. Die Daten werden dort in einem speziellen Format abgelegt und können später wieder geladen werden. Damit unterstützen die Werkzeuge die Persistenz von Objekten, d.h. die Lebenszeit der Objekte wird über die Ausführungszeit der Werkzeuge hinaus verlängert.
Layout-Werkzeug Layout-Werkzeuge werden in der Layout-Phase zur Festlegung der Initialwerte der Gestaltungsattribute eingesetzt. Verwendet werden können hier zum Beispiel spezielle Editoren, in denen der Entwickler die Werte in textueller Form eingibt oder sie aus Menüs auswählt. Layout-Werkzeuge werden daher auch als Attributeditoren bezeichnet.Attributeditor Da es sich bei den Gestaltungsattributen meistens um Attribute für die Bildschirmgestaltung handelt, kann die Spezifikation der Attributwerte häufig auch direkt-manipulativ erfolgen; beispielsweise könnte zur Festlegung der Position eines Textes dieser bei gedrückter Maustaste an die gewünschte Stelle verschoben werden.
Strukturierungswerkzeug Strukturierungswerkzeuge dienen zur Definition von Beziehungen zwischen Medienobjekten. Grundsätzlich können dabei zwei verschiedene Typen von Strukturierungswerkzeugen unterschieden werden. Ein Ansatz besteht darin, das zugrundeliegende Beziehungsnetzwerk ganz oder teilweise vor dem Entwickler zu verbergen. In speziellen Editoren legt der Entwickler Eigenschaften der Präsentation fest, ohne daß ihm dabei bewußt ist, daß aufgrund seiner Spezifikationen intern vom System ein Graph erzeugt wird. Timeline-Editoren zur Definition zeitlicher Beziehungen stellen Strukturierungswerkzeuge dieses Typs dar. Beim anderen Ansatz wird das Beziehungsnetzwerk in speziellen Grapheditoren explizit vom Entwickler erstellt.
Das Beziehungsnetzwerk wird intern meistens in Form einer Zwischenrepräsentation abgelegt. Mit Hilfe von Mechanismen zum Speichern und Laden der Zwischenrepräsentation können persistente komplexe Medienobjekte realisiert werden. Damit kann man die Strukturierungswerkzeuge quasi beiläufig zugleich auch als Medienobjekterzeugungswerkzeuge ansehen, die die Erzeugung wiederverwendbarer komplexer Medienobjekte ermöglichen. Die komplexen Objekte können wie elementare Medienobjekte in die Medienobjektsammlung aufgenommen und mehrfach sowohl in derselben als auch in anderen Präsentationsanwendungen benutzt werden. Auch Parametrisierungen komplexer Objekte über Gestaltungsattribute sind denkbar. Beispielsweise könnte die Anzahl an Iterationen ein Gestaltungsattribut eines komplexen Objekts sein, das ein ihm untergeordnetes Komponentenobjekt nach dessen Ende immer wieder direkt startet.
Interpreter Für die Test-Phase wird ein Interpreter benötigt, der die Ausführung der Präsentation aufgrund des bereits existierenden Beziehungsnetzwerks ermöglicht. Der Interpreter muß so flexibel sein, daß die Ausführung an beliebigen Stellen der Gesamtpräsentation gestartet werden kann und jederzeit unterbrechbar ist. Eine wichtige Aufgabe des Interpreters besteht in der Ausgabe von Warnungen bzw. Fehlermeldungen, wenn er während der Ausführung Inkonsistenzen im Beziehungsnetzwerk entdeckt. Der Interpreter ermöglicht einen unmittelbaren Wechsel vom Spezifikations- in den Ausführungsmodus und unterstützt damit eine Entwicklung einer multimedialen Präsentation im Sinne des Rapid Protoyping.
Codegenerator In der Generierungsphase wird ein Compiler eingesetzt, der als Eingabe das erstellte Beziehungsnetzwerk enthält und als Ausgabe editierbaren Programmcode liefert. Der Codegenerator muß Fehler bzw. Inkonsistenzen im Beziehungsnetzwerk erkennen und darauf entsprechend reagieren. Die verwendete Programmiersprache kann eine konventionelle Programmiersprache oder eine spezielle konkret für multimediale Anwendungen konzipierte Programmiersprache sein. Voraussetzung für seine weitere Bearbeitung ist die Erzeugung von strukturiertem und gut lesbarem Code.
Programmierumgebung Für die Programmierphase müssen Werkzeuge einer üblichen Programmierumgebung zur Verfügung stehen, wie Editoren, Debugger und Compiler. Eine Anforderung an den Compiler ist, daß er Code für verschiedene Maschinen erzeugen können sollte, der darüberhinaus auch unabhängig vom Entwicklungswerkzeug ausführbar ist. Dadurch kann eine Anwendung als sogenanntes Stand-Alone-ProgrammStand-Alone-Programm auf unterschiedlichen Rechnern präsentiert werden.
Präsentationswerkzeug Als Werkzeuge der Präsentationsphase können insbesondere die Hardware-Ressourcen angesehen werden, die zur Ausführung einer Präsentationsanwendung notwendig sind. Sind für die Präsentation spezielle Aus- bzw. Eingabegeräte vorgesehen, wie beispielsweise ein Touch-Screen, eine Maus oder sogar ein Datenhandschuh, müssen diese sowie die konkreten Device-Treiber zur Verfügung stehen.