next up previous contents
Next: Interaktive multimediale Präsentationsanwendung Up: Basiskomponenten Previous: Medienobjekte

 

Inter-Media-Beziehungen

 

Komponenten von Beziehungen

Inter-Media-Beziehung  Zwischen Medienobjekten können (explizite) Beziehungen, die sogenannten Inter-Media-Beziehungen, definiert werden. Als Grundlage der Beziehungsdefinition dienen die Attribute der Objekte. Inter-Media-Beziehungen sind gerichtet und verbinden immer genau zwei Objekte miteinander. Das Objekt, von dem eine Beziehung ausgeht, wird Bedingungsobjekt der Beziehung,Bedingungsobjekt  und das, zu dem die Beziehung hinführt, Aktionsobjekt der Beziehung genannt.Aktionsobjekt  Dabei ist es durchaus möglich, daß es sich beim Bedingungsobjekt und Aktionsobjekt um dieselben Objekte handelt. In diesem Fall kann auch von Intra-Media-Beziehungen gesprochen werden.Intra-Media-Beziehung  Beziehungen können als sogenannte Ereignis-Bedingung-Aktion-TriggerEreignis-Bedingung-Aktion-Trigger  angesehen werden, bei denen aufgrund eines bestimmten Ereignisses die Bedingung überprüft und bei ihrer Erfülltheit die Aktion durchgeführt wird.gif Daher wird im allgemeinen auch von Auslösung eines BeziehungstriggersBeziehungstrigger  gesprochen, falls ein bestimmtes Ereignis die Bedingungsüberprüfung anstößt. Eine BedingungBedingung  besteht dabei aus einer logischen Verknüpfung von Vergleichsrelationen über Werte bzw. Eigenschaften von Attributen, eine AktionAktion  aus einer Zuweisung eines Wertes an ein Attribut, wobei der Wert unter Umständen durch die Auswertung eines Ausdrucks ermittelt wird. Im allgemeinen gehören die Attribute, die in einer Bedingung oder einem Zuweisungsausdruck auftreten, zum Bedingungsobjekt. Prinzipiell können jedoch auch Attribute anderer Objekte in einer Bedingung oder einem Zuweisungsausdruck auftreten. In diesem Fall spricht man auch von einer impliziten Beziehung zwischen dem entsprechenden Objekt und dem Aktionsobjekt.Implizite Beziehung  Das manipulierte Attribut einer Aktion muß ein öffentliches Attribut des Aktionsobjektes sein. Als Ereignis,Ereignis  das eine Bedingungsüberprüfung auslöst, gilt die Zuweisung eines Wertes an ein Attribut, das in der Bedingung vorkommt. Dabei wird das Ereignis auch dann propagiert, wenn sich durch die Zuweisung der Wert des Attributs nicht ändert. Die Bedingung wird genau einmal überprüft und bei ihrer Erfülltheit die Aktion genau einmal ausgeführt. Da eine Aktion aus einer Attributwertzuweisung besteht, können aufgrund ihrer Ausführung andere Trigger ausgelöst werden. Auf die Reihenfolge der Aktionsausführung im Falle der Erfülltheit mehrerer Bedingungen wird in Abschnitt 6.2.3 eingegangen.

Eine Bedingung besteht im allgemeinen aus mehreren Relationen, die mittels boolscher Operatoren miteinander verknüpft werden. Als Notation wird eine C++-ähnliche Notation verwendet. Attribute werden durch ihre Bezeichner repräsentiert. Attributen, die in der Beziehung vorkommen, aber nicht zum Bedingungsobjekt gehören, muß der Objektname oder -- falls dieser nicht eindeutig ist -- der Medienobjektidentifkator ihres Objektes vorangestellt werden. Dasselbe gilt für Attribute, die in einem Zuweisungsausdruck einer Aktion vorkommen, aber nicht zum Aktionsobjekt gehören. Soll eine Bedingung immer dann überprüft werden, wenn sich der Wert eines Attributs ändert, unabhängig davon, welches der neue Wert ist, kann dies durch die Angabe eines Fragezeichens anstelle eines konkreten Wertes in einer Vergleichsrelation ausgedrückt werden.

Abbildung 6.2 enthält einige Beispiele für gültige Inter-Media-Beziehungen. In der ersten Beziehung wird, falls dem Aktivitätsattribut des Video-Objektes der Wert active zugewiesen wird, auch der Wert des Aktivitätsattributs des Text-Objektes auf active gesetzt. Die zweite Beziehung drückt aus, daß sich bei einer Änderung des colour-Attributs des Video-Objektes auch die x-Komponente des pos-Attributs des Text-Objektes ändern soll, und zwar soll ihr der um 10 verringerte Wert der x-Komponente des pos-Attributs des Video-Objektes (namens oma) zugewiesen werden. Die Bedingungskomponente der dritten Beziehung besteht aus einer logischen Und-Verknüpfung zweier Vergleichsrelationen.

 
Abbildung 6.2:   Inter-Media-Beziehungen

Die Aktionen selbst haben -- außer daß sie unter Umständen andere Trigger auslösen -- keine Auswirkungen auf die Präsentation. Allerdings wird nach einer Attributwertzuweisung automatisch die zum manipulierten Attribut gehörende Systemfunktion -- falls vorhanden -- aufgerufen. Dieser Aufruf wird als interne Aktion bezeichnet.Interne Aktion  Im allgemeinen ist mit einer internen Aktion ein wahrnehmbarer Effekt für den Benutzer verbunden, wie Abbildung 6.3 demonstriert.

 
Abbildung 6.3:   Auswirkungen einer internen Aktion

Normalerweise werden den Systemfunktionen Attribute als Wert-Parameter übergeben. Werden Attribute jedoch als Referenz-Parameter übergeben, können ihnen während der Ausführung einer internen Aktion Werte zugewiesen werden. Eine Attributwertzuweisung im Rahmen einer internen Aktion bewirkt dabei ebenfalls die Auslösung betroffener Beziehungstrigger. Genutzt wird dies insbesondere bei den Interaktionsobjekten (siehe Abschnitt 6.3.1.1).

Als interne Aktion bei der Aktivierung eines Objektes kann das Starten seiner Aktivitätsfunktion angesehen werden. Demgegenüber stellt das Stoppen der Aktivitätsfunktion die interne Aktion dar, die bei der Passivierung eines Objektes ausgeführt wird. Konkrete Aktivitätsfunktionen elementarer Medienobjekte werden ausführlicher in Abschnitt 6.3.1 beschrieben. In Abschnitt 6.2.2 wird die Aktivitätsfunktion komplexer Medienobjekte vorgestellt.

 

Beziehungstypen

Beziehungen werden zwar prinzipiell zwischen zwei Medienobjekten definiert, die eigentlichen Verbindungsinstanzen sind jedoch die Ports der Objekte. Der Port des Bedingungsobjekts, von dem die Beziehung ausgeht, wird auch Bedingungsport,Bedingungsport  der Port, zu dem die Beziehung hinführt, Aktionsport genannt.Aktionsport  Von einem Port können beliebig viele Beziehungen zu beliebigen anderen Ports -- auch unterschiedlichen Typs -- ausgehen. Genauso können zu einem Port beliebig viele Beziehungen von beliebigen anderen Ports hinführen. Das heißt, jeder Port kann sowohl als Bedingungsport als auch als Aktionsport fungieren. Es ist sogar erlaubt, daß derselbe Port bezüglich einer Beziehung sowohl den Bedingungsport als auch den Aktionsport darstellt (Intra-Media-Beziehung).

Die Existenz verschiedener Port-Typen (Start-, Ende- und Attribut-Ports) ermöglicht eine Unterscheidung der verschiedenen Beziehungstypen (siehe auch Kapitel 2.4.2). Während über Start- und Ende-Ports zeitliche Beziehungen definiert werden können, dienen Attribut-Ports zur Definition von gestalterischen, insbesondere also auch räumlichen Beziehungen. Durch die Verbindung von Ports unterschiedlichen Typs sind gemischte Beziehungen spezifizierbar. Die Bedeutung der Port-Typen ergibt sich aus den Einschränkungen der Bedingungen und Aktionen, die einem Port zugeordnet werden dürfen:

Je nach Typ des Bedingungs- und Aktionsports können damit neun verschiedene Beziehungstypen mit folgenden Bedeutungen unterschieden werden:

Abbildung 6.4 zeigt einige Beispiele für Inter-Media-Beziehungen mit Hilfe von MR-Diagrammen. (Explizite) BeziehungenExplizite Beziehung  werden dabei durch Kanten dargestellt, die vom Bedingungsport ausgehen und zum Aktionsport hinführen.gif Bedingungen und Aktionen werden -- sofern notwendig -- an die Kanten geschrieben.

 
Abbildung 6.4:   Beziehungstypen

Anzumerken ist an dieser Stelle, daß in Attributwertabfragen nur auf Attribute aktiver Objekte zugegriffen werden sollte. Was anderenfalls passiert, ist systemabhängig und muß bei der Implementierung eines auf dem IMRA-Modell aufbauenden Autorenwerkzeugs festgelegt werden. Ein möglicher Lösungsansatz besteht darin, daß Bedingungen, die auf Attribute passiver Objekte zugreifen, als nicht erfüllt betrachtet werden, und Attribut-Aktionen, die zur Berechnung eines Zuweisungswertes Attribute passiver Objekte abfragen, nicht ausgeführt werden. Ein alternativer Lösungsansatz ist die Erzeugung eines Laufzeitfehlers.

 

Beziehungen in komplexen Medienobjekten

Explizite Beziehungen können nur dann zwischen zwei Medienobjekten definiert werden, wenn diese demselben Vaterobjekt zugeordnet sind. Das bedeutet, daß Beziehungen (Kanten) nicht direkt aus einem komplexen Medienobjekt heraus- bzw. in ein komplexes Medienobjekt hineinführen dürfen. Eine Kopplung von Komponentenobjekten verschiedener komplexer Objekte ist nur indirekt über die Ports ihrer Vaterobjekte möglich.gif Dazu können die Ports eines komplexen Objektes intern mit beliebigen Ports der Komponentenobjekte oder auch untereinander verbunden werden.

Ein komplexes Medienobjekt wird durch eine (externe) Start-Aktion über einen seiner Start-Ports aktiviert. Nach der Aktivierung werden nicht nur die Beziehungstrigger ausgelöst, die extern von diesem Start-Port ausgehen, sondern auch die, die intern von diesem Start-Port ausgehen. Im allgemeinen werden über die internen Beziehungen Start-Aktionen von Komponentenobjekten ausgeführt, d.h. die Aktivierung eines komplexen Objektes impliziert den Start eines oder mehrerer seiner Komponentenobjekte. Der Start-Port, über den ein (komplexes) Objekt aktiviert wird, wird Eintrittsport dieser Aktivierung genannt.Eintrittsport  Beziehungen, die extern oder intern von anderen Start-Ports als dem Eintrittsport ausgehen, werden ignoriert. Abbildung 6.5 demonstriert die Aktivierung eines komplexen Medienobjektes. Anzumerken ist, daß zwar auch intern Beziehungen zu einem Start-Port eines komplexen Objektes hinführen können, diese aber keinen Sinn machen, da sie erst ausgeführt werden, wenn das Objekt bereits aktiv ist.

 
Abbildung 6.5:   Aktivierung und Passivierung eines komplexen Objektes

Während die Aktivierung eines komplexen Medienobjektes nur aufgrund einer externen Beziehung möglich ist, kann ein komplexes Objekt sowohl extern als auch intern durch eine Beziehung passiviert werden, die eine Ende-Aktion an einem seiner Ende-Ports auslöst. Der Port, an dem die Ende-Aktion ausgeführt wird, wird Austrittsport genannt.Austrittsport  Bei der Passivierung eines komplexen Objektes werden alle seine noch aktiven Komponentenobjekte unmittelbar abgebrochen. Beziehungen, die vom Abbruch-Port der abgebrochenen Komponentenobjekte ausgehen und nicht zu einem Start-Port führen, werden getriggert. Genauso werden interne Ende-Beziehungen des Austrittsports des komplexen Objektes, die nicht zu einem Start-Port eines seiner Komponentenobjekte führen, sowie alle externen Ende-Beziehungen des Austrittsports getriggert. Beziehungen, die von anderen Ende-Ports des komplexen Objektes ausgehen, werden ignoriert.Interne Beziehung Externe Beziehung  Abbildung 6.5 verdeutlicht auch die Passivierung eines komplexen Objekts. Die getriggerten Beziehungen sind gestrichelt eingezeichnet.

Anzumerken ist, daß sich ein komplexes Objekt nicht automatisch selbst passiviert, falls beispielsweise alle seine Komponentenobjekte passiviert worden sind. Über Intra-Media-Beziehungen vom Attribut-Port zu einem Ende-Port des komplexen Objektes kann dieses Verhalten jedoch durch einen Autor spezifiziert werden, wie das Beispiel in Abbildung 6.6 demonstriert. Abbildung 6.6 zeigt weiterhin, daß auch über den Attribut-Port eines komplexen Objektes interne Beziehungen zu den Ports der Komponentenobjekte oder zu eigenen Ports hergestellt werden können.

 
Abbildung 6.6:   Interne Attribut-Beziehungen

Das Vorhandensein mehrerer Start-Ports bietet den Vorteil, ein komplexes Medienobjekt in Abhängigkeit unterschiedlicher externer Voraussetzungen mit unterschiedlichen Komponentenobjekten starten zu können. Ein Vorteil mehrerer Ende-Ports besteht in der einfachen Handhabung von Navigationsinteraktionen. Besteht beispielsweise ein komplexes Objekt aus einem Bild und einem gleichzeitig präsentierten Menü mit mehreren Items und sollen in Abhängigkeit von dem vom Benutzer ausgewählten Item das komplexe Objekt beendet und unterschiedliche Videos gezeigt werden, läßt sich dieser Sachverhalt auf die in Abbildung 6.7(a) demonstrierte Art und Weise spezifizieren.

 
Abbildung 6.7:  Wiederverwendbarkeit komplexer Medienobjekte

Abbildung 6.7(a) zeigt aber auch noch einen weiteren Vorteil der Verwendung von Ports zur Definition von Inter-Media-Beziehungen, nämlich die Wiederverwendbarkeit von komplexen Medienobjekten. Dadurch daß das Menü nicht direkt mit den drei Videos gekoppelt ist, sondern nur indirekt über die Ende-Ports des komplexen Objektes, läßt sich das komplexe Objekt in einer anderen Umgebung wiederverwenden, bei der eventuell nicht drei Videos sondern drei andere Objekte als Folgeobjekte des komplexen Objektes eingesetzt werden sollen. Eine Alternative zur Verwendung mehrerer Start- bzw. Ende-Ports bietet die Verwendung spezieller Attribute eines komplexen Objektes, die in Abbildung 6.7(b) illustriert wird.


next up previous contents
Next: Interaktive multimediale Präsentationsanwendung Up: Basiskomponenten Previous: Medienobjekte

Dietrich Boles
Thu Nov 14 14:58:01 MET 1996