Die wichtigsten Komponenten des IMRA-Modells sind die Medienobjekte. Es wird
dabei unterschieden zwischen elementaren und komplexen Medienobjekten.
Im IMRA-Modell selbst werden nur abstrakte
Medienobjekte betrachtet. Sie sind deshalb abstrakt, weil bei ihrer
Verwendung von konkreten Detailinformationen abstrahiert wird.
Bezüglich des Modells ist ausschließlich
von Bedeutung, daß Medienobjekte
Attribute besitzen, die einen bestimmten Wert von einem
bestimmten Typ haben, daß diesen Attributen Systemfunktionen
zugeordnet werden können, deren Ausführung im allgemeinen einen
wahrnehmbaren Effekt für einen Benutzer zur Folge hat, und daß über
Ports der Objekte auf der Grundlage der Attribute
Beziehungen zu anderen Objekten definiert werden
können. Für komplexe Medienobjekte kommt noch hinzu, daß sie
andere Medienobjekte als Komponentenobjekte aufnehmen können und
daß ihr Verhalten durch das Zusammenwirken ihrer Komponentenobjekte
bestimmt wird.
Die Aufgabe eines Medientypintegrators bei der Integration eines konkreten
Medientyps besteht nun darin, diese abstrakten Informationen zu
konkretisieren.
Dabei fallen im einzelnen folgende Aufgaben an:
Bei der Integration elementarer Medientypen in ein konkretes IMRA-Autorenwerkzeug muß der Medientypintegrator die Systemfunktionen sowie Routinen zur Darstellung der Informationen, zum Speichern und Laden der Attribute, zur Interpretation und zur Codegenerierung sowie Editoren zur Unterstützung der Layout-Phase implementieren. Hierauf wird in Kapitel 7 genauer eingegangen. In den folgenden Unterabschnitten werden Charakteristika einiger (konkreter) elementarer und komplexer Medienobjekte angeführt und daraus resultierende Auswirkungen auf die Medientypintegration abgeleitet.
Bei den elementaren Medientypen kann unterschieden werden zwischen kontinuierlichen Typen, diskreten Typen, Zeittypen, Interaktionstypen und virtuellen Medientypen. Eine andere Unterscheidungsmöglichkeit betrifft die Art der Wahrnehmung der durch die Objekte präsentierten Informationen für einen Benutzer. So gibt es beispielweise visuelle oder auditive Medientypen. Diese verschiedenen Medientypen werden im folgenden genauer analysiert.
Konkrete Beispiele für kontinuierliche Medientypen sind Audio, Video und Animation. Kontinuierliche Medienobjekte sind dadurch gekennzeichnet, daß ihre Präsentation zeitabhängig ist. Nach ihrer Aktivierung präsentieren sie ihre Informationen, wobei unter Umständen ein interner Datenaustausch zwischen einem Source- und einem Sink-Objekt notwendig ist. Die Implementierung der Aktivitätsfunktion kann daher relativ aufwendig sein. Von Bedeutung ist, daß kontinuierliche Medienobjekte selbständig enden können, zum Beispiel wenn das Musikstück zu Ende ist. Aus diesem Grund wird der Aktivitätsfunktion das Aktivitätsattribut als Referenz-Parameter übergeben. Durch die Zuweisung des Wertes passive an das Attribut innerhalb der Aktivitätsfunktion können sich kontinuierliche Objekte damit quasi selbst stoppen.
Mögliche Attribute kontinuierlicher Medientypen aufgrund ihrer Zeitabhängigkeit sind Attribute zum Pausieren, zum Wiederstarten, zum Skalieren der Präsentationsgeschwindigkeit und zum Festlegen der Präsentationsrichtung.
Diskrete Medientypen, wie Text und Graphik, sind zeitunabhängig. Charakteristisch für sie ist, daß sie im Gegensatz zu kontinuierlichen Medienobjekten nicht selbständig enden können, sondern extern passiviert werden müssen. In Bezug auf die Aktivitätsfunktion bedeutet dies, daß sie beim Start die Information ausgibt und dann lediglich auf den Stop-Befehl wartet. Bei der Aktivierung diskreter visueller Medienobjekte geben diese beispielsweise ihre Information auf den Bildschirm aus. Bei ihrer Passivierung wird der Stop-Exception-Handler aufgerufen, der dafür sorgt, daß die Information wieder vom Bildschirm verschwindet.
Welche Attribute die einzelnen diskreten Medienobjekte besitzen, ist typabhängig. Für den Medientyp Text sind beispielsweise Attribute für die Festlegung des Fonts, der Zeichengröße und der Schriftart denkbar. Durchaus möglich ist auch, daß mehrere Text- oder Graphik-Medientypen existieren, die von verschiedenen Medientypintegratoren definiert wurden und unterschiedliche Attribute besitzen.
Prinzipiell ist es vorstellbar, daß kontinuierlichen oder diskreten Medientypen Zeitattribute zugeordnet werden, durch die beispielsweise die Präsentationsdauer des Objektes festgelegt und über Beziehungen auch manipuliert werden kann. Eine Alternative zu solchen Zeitattributen stellen die sogenannten Zeitobjekte dar.Zeitobjekt Diese können von einem Autor wie andere Medienobjekte gehandhabt, insbesondere also auch zu anderen Objekten in Beziehung gesetzt werden. Es wird unterschieden zwischen Zeitpunktobjekten und Zeitraumobjekten.
Zeitpunktobjekt Zeitpunktobjekte besitzen ein Attribut date, das als Wert ein Datum enthält. Nach der Aktivierung wird in der Aktivitätsfunktion die Uhrzeit überprüft und falls das Datum erreicht ist, das Aktivitätsattribut des Zeitpunktobjektes, das der Aktivitätsfunktion als Referenz-Parameter übergeben wird, auf passive gesetzt. Über eine Ende-Beziehung, die vom Ende-Port eines Zeitpunktobjektes ausgeht und zum Start-Port eines Video-Objektes hinführt, kann damit beispielsweise ein Video zu einem bestimmten Zeitpunkt gestartet werden.
Zeitraumobjekt Zeitraumobjekte funktionieren im Prinzip ähnlich. Sie besitzen ein Attribut duration, das eine Zeitspanne, beispielsweise mit der Maßeinheit Sekunden, enthält. Die Aktivitätsfunktion setzt das Aktivitätsattribut nach Verstreichen der Zeitspanne auf passive. Zeitraumobjekte können damit zum einen dann eingesetzt werden, wenn die Präsentationsdauer eines Medienobjektes begrenzt werden soll, wie Abbildung 6.11(a) zeigt: Wenn das Audio-Objekt nach zehn Sekunden noch nicht selbständig geendet hat, wird es gestoppt. Zum anderen lassen sich Zeitraumobjekte auch als zeitliche Füllobjekte verwenden, durch die beispielsweise die Präsentation zweier Videos zeitlich versetzt gestartet werden kann, wie Abbildung 6.11(b) demonstriert.
Interaktionstypen werden im IMRA-Modell als konkrete elementare Medientypen angesehen und vollkommen identisch zu anderen elementaren Medientypen behandelt. Interaktionsobjekte sind definitionsgemäß Instanzen eines Interaktionstyps, die bestimmte Interaktionstechniken kapseln; d.h. sie können bestimmte Benutzereingaben erkennen und verarbeiten. Diese Aufgaben werden bei Interaktionsobjekten des IMRA-Modells innerhalb der Aktivitätsfunktion erledigt. Für ihre Implementierung ist der Medientypintegrator zuständig. Häufig stellen jedoch die der Implementierung eines Autorenwerkzeugs zugrundeliegenden Softwarebibliotheken, beispielsweise die User-Interface Toolkits, oft benutzte Interaktionsobjekte, wie die User-Interface Komponenten, zur Verfügung, die der Medientypintegrator nutzen kann. Der Aktivitätsfunktion eines Interaktionsobjektes wird im allgemeinen als Referenz-Parameter ein spezielles Attribut, das Interaktionsattribut übergeben, dem intern bei einer Benutzereingabe ein bestimmter Wert zugewiesen wird. Dadurch werden Beziehungstrigger ausgelöst, über die die gewünschten Interaktionsauswirkungen erzielt werden können. Handelt es sich bei dem Interaktionsobjekt um ein visuelles Medienobjekt, wird sein Erscheinungsbild beim Start der Aktivitätsfunktion auf dem Bildschirm ausgegeben und beim Stoppen der Funktion wieder vom Bildschirm entfernt.
Abbildung 6.12 demonstriert an einem Beispiel den Einsatz von Interaktionsobjekten des Typs Button für eine Navigationsinteraktion. Durch den Start des komplexen Objektes werden ein Start-, ein Stop- und ein Finish-Button aktiviert. Durch Anklicken des Start-Buttons wird der Film gestartet, falls er gerade passiv ist. Durch Anklicken des Stop-Buttons wird der Film beendet, falls er gerade aktiv ist. Das Anklicken des Finish-Buttons löst das Ende des komplexen Objektes und damit den Abbruch der drei Button-Objekte und des Films aus. Der Aktivitätsfunktion ACT eines Button-Objektes wird jeweils ein Attribut click als Referenz-Parameter übergeben. Klickt ein Benutzer den Button an, so wird innerhalb der Funktion dem Attribut ein (beliebiger) Bestätigungswert zugewiesen und dadurch der jeweilige Beziehungstrigger ausgelöst.
Abbildung 6.12: Navigationsinteraktion mit Button-Objekten
Die Modellierung einer Navigationsinteraktion mit einem Interaktionsobjekt vom Typ Menü wird in Abbildung 6.13 vorgestellt. In dem konkreten Beispiel besteht das Menü aus zwei Items. Beim Anklicken des ersten Items soll ein Audio, beim Anklicken des zweiten Items ein Video gestartet werden. Die Aktivitätsfunktion des Menü-Typs ist derart realisiert, daß ihr zwei Referenz-Parameter übergeben werden, nämlich ein Interaktionsattribut selection vom Typ Integer und das Aktivitätsattribut. Beim Start der Funktion wird das Menü auf dem Bildschirm ausgegeben. Je nachdem welches Item der Benutzer anklickt, wird in der Aktivitätsfunktion zuerst dem selection-Attribut der Wert 1 oder 2 zugewiesen und danach das Aktivitätsattribut auf passive gesetzt. Letzteres hat zum einen das Stoppen der Aktivitätsfunktion zur Folge, wodurch das Menü vom Bildschirm entfernt wird. Zum anderen ist nun genau eine der beiden Ende-Beziehungen erfüllt, so daß entweder das Audio oder das Video gestartet wird.
Abbildung: Navigationsinteraktion mit einem Menü
Abbildung 6.14 illustriert die Modellierung von Gestaltungsinteraktionen. In dem Beispiel wird mit Hilfe eines Schieberegler die Lautstärke eines Audio-Objektes manipuliert. Über die Start- und Ende-Beziehungen, die vom Audio-Objekt ausgehen, wird erreicht, daß der Schieberegler nur dann sichtbar ist, wenn das Audio-Objekt aktiv ist. Verschiebt ein Benutzer den Knopf des Schiebereglers, wird in der Aktivitätsfunktion des Schiebereglers der Wert des Attributs value entsprechend manipuliert und damit die Attribut-Beziehung des Schieberegler-Objektes ausgelöst. Das hat die Änderung des Lautstärke-Attributs des Audio-Objektes zur Folge, wodurch wiederum die Systemfunktion dieses Attributs aufgerufen wird, die die Lautstärke herauf- bzw. herabsetzt.
Abbildung 6.14: Gestaltungsinteraktion mit
einem Schieberegler
Fast identisch mit Abbildung 6.14 ist Abbildung 6.15, in der die Modellierung von Interaktionen mit mehreren Auswirkungen demonstriert wird, die in Kapitel 3.3.2.2 angesprochen wurde. Über die zusätzliche Attribut-Beziehung, die vom Schieberegler-Objekt ausgeht, wird das Audio-Objekt abgebrochen, wenn die Lautstärke die angegebene Schwelle überschreitet.
Abbildung 6.15: Interaktion mit mehreren Auswirkungen
Abbildung 6.16 zeigt, daß auch die Interaktionsform der Direkten Manipulation durch das IMRA-Modell unterstützt wird. Ein MoveGuard ist dabei ein Interaktionsobjekt, das beim Start des Graphik-Objektes mit dessen Namen bzw. Identifikator initialisiert wird. Hierdurch wird, falls der Benutzer über der Graphik die Maustaste drückt und den Mauscursor verschiebt, in der Aktivitätsfunktion des MoveGuards der pos-Komponente des Attributs eventinfo jeweils die aktuelle Mauscursorposition zugewiesen. Über die Attribut-Beziehung löst das ein Verschieben des Graphik-Objektes auf dem Bildschirm aus.
Abbildung 6.16: Direkte Manipulation
Auch Beziehungen zwischen zwei oder mehreren Interaktionsobjekten, die in Kapitel 3.3.2.2 diskutiert wurden, sind im IMRA-Modell realisierbar. Hierzu muß man sich zum Beispiel nur vorstellen, daß das MoveGuard-Objekt aus Abbildung 6.16 in Abbildung 6.14 eingebaut wird und die Umpositionierung des Schiebereglers auf dem Bildschirm steuert. Über Beziehungen, die zum selben Attribut-Port hinführen, von dem sie ausgehen, läßt sich sogar modellieren, daß sich Interaktionsobjekte aufgrund von Benutzereingaben selbst manipulieren. Indirekte Beziehungen, wie zum Beispiel Interaktionen, die Auswirkungen auf die gesamte Präsentation haben (siehe auch Kapitel 3.3.2.1 und 3.3.2.2), können mit Hilfe geeigneter Attribute komplexer Medienobjekte modelliert werden. In diesen wird das Ergebnis einer Benutzerinteraktion abgespeichert und kann später -- unter Umständen mittels einer impliziten Beziehung -- wieder abgerufen werden.
Interaktionsattribute sind normale Attribute, so daß ihnen nicht nur innerhalb der Aktivitätsfunktion eines Interaktionsobjektes sondern auch über Aktionen Werte zugewiesen werden können. Dadurch läßt sich im Zusammenspiel mit Zeitraumobjekten realisieren, daß eine Interaktion ausgelöst wird, ohne daß eine Benutzereingabe erfolgt ist. Diesen Sachverhalt kann ein Autor nutzen, wenn er spezifizieren will, daß ein bestimmter Default- oder Fehlerfall eintreten soll, falls ein Benutzer nach einer bestimmten Zeit noch keine Eingabe gemacht hat. In Abbildung 6.17 wird beispielsweise der Abbruch eines Menüs modelliert, falls nach 60 Sekunden noch keine Eingabe erfolgt ist. Die Auswirkung ist dieselbe, als wenn der Benutzer den ersten Item angeklickt hätte.
Abbildung 6.17: Abbruch einer Interaktion
Wie bereits in Kapitel 3.3.2.3 erwähnt, sind Intra-Media-Interaktionen für den Autor nicht von Bedeutung, da sie nicht für Beziehungsdefinitionen genutzt werden können. Der Medientypintegrator muß sich hier innerhalb der Aktivitätsfunktion des jeweiligen Medientyps um die Registrierung und Verarbeitung von Benutzereingaben kümmern. Autor-Interaktionen können durch einen der beiden in Kapitel 3.3.2.4 beschriebenen Lösungsansätze realisiert werden.
Die Betrachtung eines wichtigen Aspekts, der die Passivierung von Interaktionsobjekten betrifft, soll diesen Paragraphen beenden. Dabei gehts es um die Frage, ob sich ein Interaktionsobjekt nach einer Interaktion durch den Benutzer selbst passiviert oder nicht. Ein Realisierungsansatz für den ersten Fall besteht darin, daß der Medientypintegrator der Aktivitätsfunktion sowohl das Interaktionsattribut als auch das Aktivitätsattribut als Referenz-Parameter übergibt. Nach einer Benutzereingabe wird intern zuerst dem Interaktionsattribut ein entsprechender Wert zugewiesen und dann das Aktivitätsattribut auf passive gesetzt. Interaktionsbeziehungen sind in diesem Fall Ende-Beziehungen. Für den zweiten Fall erhält die Aktivitätsfunktion lediglich das Interaktionsattribut als Referenz-Parameter. Eine Passivierung des Interaktionsobjektes ist nur über externe Beziehungen möglich. Interaktionsbeziehungen gehen in diesem Fall vom Attribut-Port des Interaktionsobjektes aus. Im Beispiel in Abbildung 6.13 wurde der erste Weg, in Abbildung 6.12 der zweite Weg gewählt. Wie diese Überlegungen zeigen, ist damit beispielsweise ein Menü, das nach der Benutzerauswahl passiviert wird, von einem anderen Typ als ein Menü, das aktiv und damit sichtbar bleibt. Der erste Ansatz kann allerdings immer mit Hilfe einer Intra-Media-Beziehung durch den zweiten simuliert werden, wie Abbildung 6.18 exemplarisch am Beispiel eines Menüs demonstriert. Im zweiten Ansatz kann der Autor die Art der Passivierung situationsabhängig modellieren. Er ist nicht an die feste Vorgabe des Medientypsintergators gebunden. Im folgenden soll daher davon ausgegangen werden, daß Interaktionsobjekte immer nur in Form des allgemeineren zweiten Ansatzes zur Verfügung gestellt werden.
Abbildung 6.18: Passivierung von Interaktionsobjekten
Virtuelles Medienobjekt Beziehungen kennzeichnen im allgemeinen Abhängigkeiten zwischen genau zwei Medienobjekten. Eine Möglichkeit zur Definition von Abhängigkeiten zwischen mehr als zwei Objekten bieten implizite Beziehungen. Eine alternative, für einen Autor wesentlich übersichtlichere Modellierungsmöglichkeit von Abhängigkeiten zwischen mehr als zwei Objekten ist mit Hilfe von sogenannten virtuellen Medienobjekten möglich. Die folgende Beispiele, die in Abbildung 6.19 mit Hilfe von MR-Diagrammen modelliert werden, sollen dies verdeutlichen:
Wie die Beispiele zeigen, können virtuelle Medienobjekte für eine flexible Kontrollflußsteuerung verwendet werden. Durch den Einsatz virtueller Medienobjekte lassen sich nicht nur die disjunktiven und konjunktiven logischen Synchronisationsbedingungen, wie sie beispielsweise im Kommando-Modell (siehe Kapitel 7.1.2) implementiert sind (Beispiele (a) und (b)) realisieren, darüberhinaus können auch negierte (Beispiel (c)) und sogar solche Beziehungen modelliert werden, bei denen die zeitliche Abfolge eine Rolle spielt (Beispiel (d)).
Wie man an den Beispielen erkennt, haben virtuelle Medienobjekte im allgemeinen keine Aktivitätsfunktion. Die gewünschten Sachverhalte werden über Beziehungen realisiert, die über die Attribute der virtuellen Objekte definiert werden. Mit Hilfe geeigneter Parametrisierungen lassen sich virtuelle Medientypen auch allgemeingültiger gestalten, als das in den Beispielen der Fall ist, wo jeweils lediglich drei Objekte beteiligt sind.
Abbildung 6.19: Virtuelle Medienobjekte
Wie durch die Verwendung von Flag-Attributen zur Definition einer Reihenfolge für die Beziehungsauswertung (siehe Abschnitt 6.2.3) kann auch durch die Verwendung von virtuellen Medienobjekten die Modellierung von Präsentationsanwendungen schnell unübersichtlich werden. Konkrete Autorenwerkzeuge sollten daher auch in diesem Fall Hilfsmittel, beispielsweise spezielle Menüs, zur Verfügung stellen, über die ein Autor häufig benutzte komplexe Sachverhalte einfacher definieren kann. Die Menüs könnten systemintern so implementiert werden, daß sie die notwendigen virtuellen Medienobjekte und Beziehungen generieren. Das IMRA-Modell dient nur zur Beschreibung dessen, was modellierbar ist, nicht, wie es bei der Implementierung eines konkreten Autorenwerkzeugs realisiert werden soll.
In Kapitel 2.1 wurden die verschiedenen Sinneskanäle eines Menschen angesprochen, mit denen präsentierte Informationen aufgenommen werden können. Aufgrund des heutigen Stands der Technik werden in dieser Arbeit nur der visuelle und der auditive Sinneskanal des Menschen betrachtet. Es kann also zwischen visuellen und auditiven Medientypen unterschieden werden. Visuelle Medienobjekte präsentieren ihre Informationen in bestimmter Weise auf dem Bildschirm, auditive Medienobjekte geben Informationen über einen Lautsprecher weiter.
Visuelle Medienobjekte besitzen Attribute für die Festlegung des Fensters, in das die Ausgabe erfolgen soll (bei einem Mehrfenstersystem), sowie für die Position des Objektes im Fenster und seine Größe. Je nach konkretem Medientyp sind weitere Attribute denkbar, die das visuelle Erscheinungsbild eines Objektes bestimmen. Charakteristisches Attribut für auditive Objekte ist ein Lautstärke-Attribut.
Auch komplexe Medienobjekte können Attribute besitzen. Diese werden im allgemeinen dazu benötigt, um Attribute von Komponentenobjekten mit verschiedenen Vaterobjekten zueinander in Beziehung zu setzen. Das heißt, Attribute komplexer Objekte dienen meistens zur Speicherung -- also zur Realisierung indirekter Beziehungen -- und zur Weiterleitung von Informationen. Daher sind diesen Attributen auch nur selten Systemfunktionen zugeordnet. Abbildung 6.20 demonstriert den Einsatz von Attributen in komplexen Medienobjekten an einem Beispiel, wo durch eine Benutzerinteraktion alle gerade aktiven Komponentenobjekte eines komplexen Objektes pausiert werden sollen.
Abbildung 6.20: Attribute komplexer Medienobjekte
Ein anderer Aspekt der Spezialisierung komplexer Medienobjekte neben der Definition zusätzlicher Attribute ist die Einschränkung bzw. feste Vorgabe bestimmter Beziehungen. Häufig benötigt ein Autor gar nicht die gesamte Komplexität des IMRA-Modells, sondern ihm reichen spezielle Beziehungstypen aus, oder er will, daß bestimmte Beziehungen immer existieren. Was das Modell betrifft, hat die Vorgabe bzw. das Verbot bestimmter Beziehungen eigentlich keinerlei Auswirkungen. Was aber konkrete IMRA-Autorenwerkzeuge betrifft, können durch derartige Festlegungen Werkzeuge zur Verfügung gestellt werden, die einem Autor die Arbeit erleichtern. Wird beispielsweise ein konkreter komplexer Medientyp definiert, für den gilt, daß alle Komponentenobjekte gleichzeitig gestartet werden, braucht ein Autor diese Beziehungen gar nicht mehr zu spezifizieren. Sie werden automatisch generiert. In den folgenden Paragraphen werden derartig spezialisierte komplexe Medienobjekttypen vorgestellt. Anhand von typischen Vertretern der jeweiligen Spezialisierungen werden ihre speziellen Eigenschaften in Abbildung 6.21 durch MR-Diagramme verdeutlicht.
Anzumerken ist, daß die in Abschnitt 6.2.2 vorgestellte Aktivitätsfunktion komplexer Medienobjekte für spezialisierte komplexe Medienobjekte unverändert übernommen werden kann. In Bezug auf konkrete IMRA-Autorenwerkzeuge ist festzustellen, daß auch die Routinen zum Speichern und Laden, zur Interpretation und zur Codegenerierung keinerlei Änderungen bedürfen, sofern eine Spezialisierung durch Einschränkung bzw. feste Vorgabe von Beziehungen erfolgt. Allein die Strukturierungseditoren sind anzupassen.
Kompositionsobjekte (Abbildung 6.21(a)) sind komplexe Medienobjekte mit folgenden Einschränkungen bzw. festen Vorgaben:
Im Prinzip wären diese Einschränkungen auch schon für abstrakte komplexe Medienobjekte sinnvoll. Sie werden aus Gründen der Allgemeingültigkeit aber erst bei dieser Spezialisierung eingeführt.
Abbildung 6.21: Spezielle komplexe Medienobjekte
Navigationsprogramme (Abbildung 6.21(b)) sind spezielle Kompositionsobjekte mit folgenden zusätzlichen Einschränkungen bzw. festen Vorgaben:
Für Navigationsprogramme kann damit gezeigt werden, daß niemals zwei oder mehr Komponentenobjekte eines Navigationsprogramms gleichzeitig aktiv sein können.
Sequenz-Objekte, ParStart-Objekte, ParStartEnd-Objekte und Iteration-Objekte sind Objekte, die den Operatoren zur Bildung komplexer Aktionen im Kommando-Modell entsprechen (siehe auch Kapitel 7.1.2.1). Sie werden exemplarisch in Abbildung 6.21(c)-(f) mit Hilfe von MR-Diagrammen modelliert. Hierarchie-Objekte sind entweder ParStart-, ParStartEnd-, Sequenz- oder Iteration-Objekte, deren Komponentenobjekte ausschließlich selbst wieder Hierarchie-Objekte oder aber elementare Medienobjekte sein müssen. Sie entsprechen damit den komplexen Aktionen des Kommando-Modells.