next up previous contents
Next: Die Aktivitätsfunktion komplexer Medienobjekte Up: Präsentation Previous: Präsentation

Präsentationsalgorithmus

Benötigt werden vier globale Listen; eine Objektliste, die die Medienobjekte enthält, eine Beziehungsliste, in der die Beziehungen gespeichert sind, eine Aktivitätsaktionsliste, in die Start- und Ende-Aktionen eingetragen werden, sowie eine Attributaktionsliste, welche Attribut-Aktionen aufnimmt. Bei der Aktivitätsaktionsliste und der Attributaktionsliste handelt es sich dabei um First-In-First-Out-Listen. Initial enthält die Aktivitätsaktionsliste die globale Start-Aktion der Präsentationsanwendung. Die Anwendung beginnt mit der Ausführung dieser Start-Aktion, die das Start-Objekt aktiviert. Sie endet, wenn das Start-Objekt wieder passiviert wird. Dazwischen werden zyklisch alle Medienobjekte betrachtet und jeweils nachgeschaut, ob für sie Aktionen in den Listen vorliegen.

Dabei wird zuerst die Aktivitätsaktionsliste untersucht. Ist das betrachtete Objekt passiv und existiert eine Start-Aktion, dann wird zuerst das Objekt aktiviert und seine Attribute mit den vom Medientypintegrator festgelegten Defaultwerten initialisiert. Danach werden Start-Beziehungen des Eintrittsports getriggert, d.h. es wird jeweils überprüft, ob die Bedingung der Beziehung erfüllt ist, und falls dies der Fall ist, wird die zugehörige Aktion je nach ihrem Typ in die Aktivitäts- oder Attributaktionsliste eingetragen. Im Anschluß daran wird die Attributaktionsliste nach Attribut-Aktionen für das Objekt durchsucht. Diese werden wie weiter unten beschrieben bearbeitet. Schließlich wird noch die Aktivitätsfunktion gestartet. Ist das Objekt aktiv und existiert eine Ende-Aktion, dann wird das Objekt passiviert und die Aktivitätsfunktion gestoppt. Bevor Ende-Beziehungen des Austrittsports getriggert werden, muß analysiert werden, ob das Objekt durch eine normale Ende-Aktion passiviert oder durch sein Vaterobjekt aufgrund dessen Passivierung abgebrochen wurde. Im ersten Fall werden die Ende-Beziehungen des Austrittsports, die nicht zu einem Start-Port eines Komponentenobjektes führen, und im zweiten Fall die Ende-Beziehungen des Abbruch-Ports, die nicht zu einem beliebigen Start-Port führen, getriggert. In den Fällen, wo eine Start-Aktion vorhanden, aber das Objekt bereits aktiv ist bzw. wo eine Ende-Aktion existiert, aber das Objekt passiv ist, wird keine Anweisung ausgeführt. In allen vier Fällen wird die Aktion jedoch aus der Aktivitätsaktionsliste entfernt.

Nach der Aktivitätsaktionsliste wird, falls das Objekt aktiv ist, die Attributaktionsliste nach Attribut-Aktionen für das Objekt durchsucht. Falls welche vorhanden sind,gif werden jeweils die zum manipulierten Attribut gehörende Systemfunktion ausgeführt und alle Beziehungen der Beziehungsliste getriggert. Die Attribut-Aktionen werden nach ihrer Bearbeitung aus der Attributaktionsliste entfernt.


next up previous contents
Next: Die Aktivitätsfunktion komplexer Medienobjekte Up: Präsentation Previous: Präsentation

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