Projekt: Werkzeuge für die Entwicklung von Benutzungsoberflächen für Multimedia-Systeme
Projektleiter: Prof. Dr. H.-J. Appelrath
Abteilung Informationssysteme
Fachbereich Informatik
Mitarbeiter: Dr. Rainer Götze, Dietrich Boles
1. Projektübersicht
Ziel des XFantasy-Projektes [AG91,AG93] ist die Entwicklung von
Software-Werkzeugen für den Entwurf und die Implementierung
von graphischen und multimedialen Benutzerschnittstellen. Die
dabei entstehende Software-Umgebung (siehe Abbildung 1) bietet
einem Software-Entwickler ein objektorientiertes User-Interface-Managment-System
(UIMS) für multimediale Benutzerschnittstellen (XFantasy-UIMS)
und ein graphisch-interaktives Entwicklungswerkzeug für multimediale
Präsentationsanwendungen FMAD ("XFantasy-based Multimedia
Application Developer").

Das XFantasy-UIMS besteht aus einem objektorientierten User-Interface-Toolkit
(XFantasy-UIT), das eine Klassenhierarchie für die Implementierung
von multimedialen Benutzerschnittstellen zur Verfügung stellt,
und der Dialogablaufbeschreibungssprache ODIS ("Object-Oriented
Dialog Specification"), die eine abstrakte Beschreibung des
Dialogablaufs unterstützt. Das interaktive Autorenwerkzeug
FMAD wird mit dem XFantasy-UIMS implementiert und ermöglicht
eine visuelle Entwicklung interaktiver multimedialer Präsentationsanwendungen
ohne Programmiersprachenkenntnisse.
In diesem Bericht wird das IMRA-Modell vorgestellt, das einen
abstrakten Formalismus sowie eine darauf aufbauende graphische
Notation zur Beschreibung und Modellierung interaktiver multimedialer
Präsentationsanwendungen zur Verfügung stellt. Das IMRA-Modell
bildet die konzeptionelle Grundlage des Autorenwerkzeugs FMAD.
2. Interaktive multimediale Präsentationen
Definitionsgemäß sind multimediale Präsentationsanwendungen
"Programme, die einen Benutzer durch eine gegebene Menge
multimedialer Informationen führen" [AG93]. Multimediale
Präsentationanwendungen werden interaktiv genannt, wenn der
Benutzer den Kontrollfluß oder das Layout der Präsentation
beeinflussen kann.
Wie der Name schon ausdrückt, werden multimediale Präsentationsanwendungen
primär in der Produkt- bzw. Firmenpräsentation eingesetzt.
Aber auch Applikationen anderer Anwendungsfelder weisen Merkmale
multimedialer Präsentationsanwendungen auf. So können
multimediale Lehr/Lern-Programme und Computerspiele durchaus als
Präsentationsanwendungen angesehen werden, die sich durch
einen hohen Grad an Interaktivität auszeichnen.
Multimediale Präsentationsanwendungen lassen sich als ein
Netzwerk aus Knoten und Kanten modellieren [Bol94]. Dieses wird
auch multimediales Beziehungsnetzwerk genannt. Die Knoten
repräsentieren die elementaren Informationseinheiten. Sie
werden als Medienobjekte bezeichnet. Über die Kanten werden
Beziehungen zwischen den Medienobjekten hergestellt.
Medienobjekte
Multimediale Präsentationen bestehen aus einer Menge an Informationseinheiten.
Texte, Zeichnungen, Musikstücke und Videos, in einen bestimmten
Zusammenhang zueinander gebracht, werden einem Benutzer in einer
zeitlichen Abfolge präsentiert. Die einzelnen Informationseinheiten
kapseln jeweils bestimmte Informationen und können daher,
angelehnt an die Terminologie der objektorientierten Programmierung,
als Objekte betrachtet werden. Da die Objekte von einem
bestimmten Typ, genauer gesagt Medientyp, sind, werden sie auch
als (elementare) Medienobjekte bezeichnet. Von den Ausgabemedientypen,
wie Text, Graphik, Audio, Video und Animation, können Eingabemedientypen,
auch Interaktionstypen genannt, unterschieden werden, deren
Instanzen bestimmte Interaktionstechniken kapseln. Buttons, Menüs,
Schieberegler und Texteingabefelder sind Beispiele klassischer
Interaktionsobjekte.
Beziehungen
Sinn und Zweck einer multimedialen Präsentation ist es, einen
Benutzer über einen bestimmten Sachverhalt zu informieren.
Dazu werden im allgemeinen viele einzelne voneinander unabhängige
Informationseinheiten in einen bestimmten Zusammenhang zueinander
gebracht. Dieser Zusammenhang läßt sich über Beziehungen
herstellen. Im multimedialen Beziehungsnetzwerk repräsentieren
die Kanten diese Beziehungen. Die Semantik der Kanten ist allerdings
nicht einheitlich. Vielmehr existieren verschiedene Typen von
Beziehungen:
Zeitliche Beziehungen
Über zeitliche Beziehungen wird die zeitliche Abfolge definiert, in der die einzelnen Medienobjekte einem Benutzer präsentiert werden sollen.
Gestalterische Beziehungen
Über gestalterische Beziehungen werden Eigenschaften von Medienobjekten, wie Position auf dem Bildschirm und Größe, aber auch Farbgebung, Präsentationsgeschwindigkeit oder Lautstärke, definiert bzw. manipuliert.
Gemischte Beziehungen
Beziehungen lassen sich dadurch charakterisieren, daß sie in Abhängigkeit des Eintretens einer bestimmten Bedingung eine bestimmte Auswirkung haben. Gemischte Beziehungen sind dadurch gekennzeichnet, daß sich der Typ der Bedingung (zeitlich oder gestalterisch) vom Typ der Auswirkung (zeitlich oder gestalterisch) unterscheidet.
Interaktionsbeziehungen
Interaktionsbeziehungen sind Beziehungen, die von Interaktionsobjekten
ausgehen. Sie kennzeichnen die Auswirkungen, die eine Benutzereingabe
mit Hilfe dieses Objektes nach sich zieht. Diese Auswirkung kann
sich in Form einer zeitlichen oder gestalterischen Veränderung
der Präsentation bemerkbar machen. Erstere werden auch Navigationsinteraktionen,
letztere Gestaltungsinteraktionen genannt.
Entwicklungsprozeß
Die Gesamtentwicklung einer interaktiven multimedialen Präsentation
kann in mehrere Entwicklungsphasen zerlegt werden, in denen verschiedene
Entwicklergruppen mit geeigneten Entwicklungswerkzeugen bestimmte
Teilaufgaben bearbeiten. Dieser Zusammenhang wird in Abbildung
2 verdeutlicht.

In der Medienobjekterzeugungsphase werden die elementaren Medienobjekte
erzeugt. Medienobjekterzeugungswerkzeuge sind beispielsweise Graphikeditoren,
Texteditoren oder Editoren zur Videobearbeitung. Die noch voneinander
unabhängigen Medienobjekte werden in einer Medienobjektsammlung
abgelegt. Von dort werden sie in die Verbindungsphase eingelesen,
die aus den drei Teilphasen Layout-Phase, Strukturierungsphase
und Test-Phase besteht. In der Layout-Phase werden die initialen
Eigenschaften der einzelnen Medienobjekte festgelegt, in der Strukturierungsphase
werden die Beziehungen definiert, und in der Test-Phase, die einer
Debugging-Phase entspricht, kann sich ein Entwickler Ausschnitte
der Gesamtpräsentation anschauen und damit überprüfen,
ob die Präsentation seinen Vorstellungen entspricht. In der
Verbindungsphase werden häufig graphisch-interaktive Werkzeuge
eingesetzt, mit denen sich im allgemeinen nicht alle Eigenschaften
einer multimedialen Präsentationsanwendung spezifizieren
lassen. In der Generierungsphase wird daher editierbarer Programmcode
erzeugt, der in der Programmierphase mit Hilfe einer textuellen
Programmiersprache weiter bearbeitet werden kann. Der geänderte
Code wird anschließend in ein ausführbares Programm
übersetzt, das sich ein Benutzer in der Präsentationsphase
anschauen und an den vom Entwickler festgelegten Stellen interaktiv
beeinflussen kann. Bei der Integration neuer Medientypen in die
Entwicklungswerkzeuge müssen die Werkzeuge in der Werkzeugerweiterungsphase
durch einen sogenannten Medientypintegrator entsprechend
angepaßt werden.
Autorenwerkzeuge
Multimediale Präsentationsanwendungen werden häufig
von Werbefachleuten oder Designern entworfen, die kaum Programmierkenntnisse
besitzen. Diesen Personen müssen daher Werkzeuge zur Verfügung
gestellt werden, die die Entwicklung von Präsentationsanwendungen
ohne die Verwendung von textuellen Programmiersprachen sondern
beispielsweise mit Hilfe visueller Programmiertechniken ermöglichen.
Derartige graphisch-interaktive Werkzeuge werden in der Literatur
Autorenwerkzeuge oder Autorensysteme genannt. Dementsprechend
nennt man die Entwickler, die mit diesen Werkzeugen arbeiten,
auch Autoren. Ausgehend von dem oben beschriebenen Entwicklungsprozeß
sollte ein Autorenwerkzeug graphisch-interaktive Layout-Werkzeuge,
graphisch-interaktive Strukturierungswerkzeuge, einen Interpreter
und einen Codegenerator zur Verfügung stellen. Die Bereitstellung
eigener Medienobjekterzeugungswerkzeuge ist nicht dringend erforderlich.
Wichtiger ist, daß externe Medienobjekterzeugungswerkzeuge
über Schnittstellen mit dem Autorenwerkzeug gekoppelt werden
können.
In den letzten Jahren sind eine Vielzahl von Autorenwerkzeugen
auf dem Markt erschienen. In [Bol94] werden 26 Autorenwerkzeuge
miteinander verglichen. Die größten Unterschiede sind
im Bereich der Strukturierungswerkzeuge zu finden. Häufig
wird lediglich die Modellierung zeitlicher Beziehungen, beispielsweise
mit Timeline-Editoren, unterstützt. Die meisten Autorenwerkzeuge
erzeugen auch keinen editierbaren sondern unmittelbar ausführbaren
Code. Die Programmierphase wird durch die Bereitstellung einer
speziellen Skriptsprache in die Verbindungsphase integriert. Kritikpunkte
an existierenden Autorenwerkzeugen sind ihre mangelnde Unterstützung
bei der Modellierung von Interaktionen sowie die fehlende Erweiterbarkeit
um neue Medientypen. Insbesondere die Anpassung an neue Ein- und
Ausgabetechnologien (siehe auch [Eir9x]) ist im allgemeinen nicht
gewährleistet.
3. Das IMRA-Modell
Ausgehend von der im vorigen Abschnitt vorgestellten Charakterisierung
multimedialer Präsentationsanwendungen und ihres Entwicklungsprozesses
wurde das IMRA-Modell (Inter-Media-Relationships
via Attributes) entworfen [Bol94]. Das IMRA-Modell besteht
aus einem Formalismus zur Beschreibung des strukturellen Aufbaus
interaktiver multimedialer Präsentationsanwendungen, sowie
einem Präsentationsalgorithmus, der das Verhalten allgemeiner
mit dem Formalismus beschriebener Anwendungen kennzeichnet. Als
Hilfsmittel zur übersichtlicheren Modellierung von Präsentationsanwendungen
dienen die sogenannten Media-Relationship-Diagramme, eine
auf dem Formalismus aufbauende graphische Notation. Das IMRA-Modell
dient als Grundlage für die Implementierung von Autorenwerkzeugen.
Es unterstützt insbesondere die Strukturierungsphase, aber
auch die Layout-Phase, die Test-Phase und die Generierungsphase
bei der Entwicklung multimedialer Präsentationsanwendungen.
IMRA-Formalismus
Hauptkomponenten des IMRA-Modells sind abstrakte Medienobjekte
sowie Beziehungen. Bei den Medienobjekten werden elementare und
komplexe Medienobjekte unterschieden. Elementare Medienobjekte
sind Instanzen eines bestimmten Medientyps. Komplexe Medienobjekte
bestehen aus anderen Medienobjekten sowie Beziehungen zwischen
diesen und dienen zur hierarchischen Strukturierung multimedialer
Präsentationsanwendungen. Beziehungen werden nicht direkt
zwischen Objekten sondern zwischen Attributen definiert, die den
Objekten zugeordnet sind. Die Attribute repräsentieren die
Präsentationseigenschaften eines Objektes. Beziehungen bestehen
aus einer Ereignismenge, einer Bedingung und einer Aktion. Eine
Bedingung wird gebildet aus einer logischen Verknüpfung von
Vergleichsrelationen über Werte bzw. Eigenschaften von Attributen,
eine Aktion ist eine Zuweisung eines Wertes an ein Attribut, und
als Ereignis gilt die Wertzuweisung an ein Attribut, das in der
Bedingung vorkommt. Das Eintreten eines Ereignisses der Ereignismenge
löst die Überprüfung der Bedingung aus. Falls die
Überprüfung positiv ist, wird die Aktion ausgeführt
und eine Funktion eines zugrundeliegenden Laufzeit-Systems aufgerufen,
die dem manipulierten Attribut zugeordnet ist und deren Ausführung
wahrnehmbare Auswirkungen auf die Präsentation hat. Zur Unterscheidung
verschiedener Beziehungstypen existieren verschiedene Port-Typen.
Ports sind den Medienobjekten zugeordnet und repräsentieren
die Schnittstelle der Objekte zu anderen Objekten. Die Medienobjekte
bilden die Knoten und die Beziehungen die Kanten eines Beziehungsgraphen.
Die Kanten sind gerichtet und verbinden genau zwei Ports miteinander.
Präsentationsalgorithmus
Während der IMRA-Formalismus eine Syntax für den strukturellen
Aufbau interaktiver multimedialer Präsentationsanwendungen
definiert, charakterisiert der Präsentationsalgorithmus eine
operationelle Semantik der modellierten Anwendungen, d.h. er beschreibt
die eigentliche Präsentation. Die Semantik wird dabei durch
das Einzelverhalten der Medienobjekte sowie durch ihr Zusammenspiel
aufgrund der Beziehungen bestimmt.
Media-Relationship-Diagramme
Mit Hilfe von MR-Diagrammen lassen sich interaktive multimediale
Präsentationsanwendungen visuell beschreiben bzw. modellieren.
MR-Diagramme definieren die Lexikalik und Syntax einer anwendungsorientierten
visuellen Programmiersprache zur Konstruktion interaktiver multimedialer
Präsentationsanwendungen, deren Semantik durch den Präsentationsalgorithmus
gegeben ist. Medienobjekte werden in den MR-Diagrammen ikonifiziert
als Rechtecke dargestellt. Beziehungen zwischen Medienobjekten
werden durch Kanten repräsentiert. Die Bedingung und Aktion
werden in C++-Notation in textueller Form an die Kante geschrieben.
In Abbildung 3 wird ein komplexes Medienobjekt, das aus einem
Audio- und einem Schieberegler-Objekt besteht, mit Hilfe eines
MR-Diagramms dargestellt. Nach dem Start des Audios wird über
die Beziehung "activity==active
==> activity=active" auch der Schieberegler aktiviert.
Die Beziehung "activity==passive
==> activity=passive" bewirkt die Passivierung
des Schiebereglers, falls das Audio endet. Mit Hilfe der Interaktionsbeziehung
"value==? ==> volume=slider.value"
wird die Regulierung der Lautstärke des Audios mittels des
Schiebereglers modelliert.
4. Das Autorenwerkzeug FMAD
Der IMRA-Formalismus, der Präsentationsalgorithmus und die Media-Relationship-Diagramme wurden bei der Implementierung des Autorenwerkzeugs FMAD genutzt [Bol94]. Der Formalismus wurde in eine C++-Klassenhierarchie abgebildet, der Präsentationsalgorithmus bildet die Grundlage des FMAD-Interpreters und die MR-Diagramme prägen die optische Gestaltung der Benutzungsoberfläche von FMAD. Die Implementierungsgrundlage von FMAD bildet das XFantasy-UIT.

FMAD läßt sich durch folgende Eigenschaften charakterisieren,
die es in seiner Gesamtheit von den meisten existierenden Autorenwerkzeugen
abgrenzt:
Als Strukturierungsmetapher liegt FMAD ein allgemeiner Beziehungsgraph zugrunde.
FMAD kann über eine Dateischnittstelle prinzipiell mit beliebigen Medienobjekterzeugungswerkzeugen gekoppelt werden.
FMAD setzt sich funktional aus Layout-Werkzeugen, Strukturierungswerkzeugen, einem Interpreter und einem Codegenerator zusammen.
Der Codegenerator erzeugt editierbaren C++-Code auf der Basis des XFantasy-UITs.
Sowohl elementare als auch komplexe Medienobjekte lassen sich speichern und wieder laden, sind also als persistente Objekte wiederverwendbar.
FMAD ist um neue Medientypen erweiterbar und läßt sich damit auch leicht an neue Ein- bzw. Ausgabetechnologien anpassen.
Beziehungen zwischen Medienobjekten lassen sich graphisch-interaktiv definieren und werden optisch angezeigt.
Interaktionsobjekte werden als spezielle Medienobjekte realisiert.
Auswirkungen von Interaktionen lassen sich in Form spezieller Beziehungen modellieren.
FMAD stellt eine Menge an Interaktionsobjekten zur Verfügung
und ist damit nicht nur zur Entwicklung interaktiver multimedialer
Präsentationsanwendungen sondern auch zur Entwicklung interaktiver
multimedialer Lehr-/Lernsoftware und zur Realisierung von Produkten
aus dem Spiel- und Unterhaltungsbereich geeignet.
5. Stand des Projektes
Die Implementierung und Dokumentation des XFantasy-UITs [BC+94,Cla94,Voß94]
sowie die Definition der Dialogablaufbeschreibungssprache ODIS
[Göt94] sind abgeschlossen. Die Realisierung eines Übersetzers
für ODIS steht vor dem Abschluß. Das Autorenwerkzeug
FMAD ist implementiert und voll funktionsfähig. Allerdings
sind noch einige Erweiterungen geplant.
Literatur
[AG91] Appelrath, H.-J., Götze, R.: XFantasy - ein objektorientiertes UIMS für multimediale Informationssysteme. - OFFIS, Oldenburg, 1991.
[AG93] Appelrath, H.-J., Götze, R.: XFantasy - ein objektorientiertes UIMS für multimediale Informationssysteme. OFFIS, Oldenburg, 1993.
[BC+94] Boles, D., Claaßen, R., Götze, R., Kohrs, S., Voßberg, L.: XFantasy - Das Handbuch. Universität Oldenburg, Fachbereich Informatik, Internes Papier, 1994.
[Bol94] Boles, D.: Das IMRA-Modell - Integration von Interaktionen in das Autorenwerkzeug FMAD. Universität Oldenburg, Fachbereich Informatik, Diplomarbeit, 1994.
[Cla93] Claaßen, R.: Synchronisation in der Dialogkontrolle von multimedialen Benutzerschnittstellen. Universität Oldenburg, Fachbereich Informatik, Diplomarbeit, 1993.
[Eir9x] Eirund, H.: Multimedia User Interfaces. In: Mühlhäuser, M. (Herausgeber): Advanced Multimedia Systems and Applications. Erscheint in: Meckler Publishing Corp., 199x.
[Göt94] Götze, R.: Dialogmodellierung für multimediale Benutzerschnittstellen. Universität Oldenburg, Fachbereich Informatik, Dissertation, 1994.
[Voß93] Voßberg, L.: MediaManager - Eine Erweiterung von XFantasy um Multimedia-Klassen und Synchronisationsmechanismen. Universität Oldenburg, Fachbereich Informatik, Diplomarbeit, 1993.