Zustände mit Aktionen und Aktivitäten

Struktur

Eine weitere Verallgemeinerung des Automatenkonzepts erhält man, wenn Automaten innerhalb der Zustände Aktionen bzw. Aktivitäten ausführen können.

Zustandsgraph

Eine Entry-Aktion wird beim Eintritt in einen Zustand ausgeführt, eine Exit-Aktion beim Verlassen eines Zustands.

Eine Do-Aktivität wird während der gesamten Zeit durchgeführt, in der das System sich im betreffenden Zustand befindet.

Beachte, dass hier zwischen Aktionen und Aktivitäten unterschieden wird.

Eine Aktion ist ein Vorgang im System, der nur sehr kurz dauert und für die Modellierung des Verhaltens unbedeutend ist. Aktionen können als (nahezu) zeitlose Vorgänge angesehen werden. Eine Aktivität ist dagegen ein zeitbehafteter Vorgang im System.

Beispiel

Wir betrachten zunächst noch einmal das folgende einfache Lampensystem.

Quelle: lampe1.sb

Das Verhalten des Lampensystems lässt sich auch so beschreiben:

Zustandsgraph

Anstatt die Aktionen bei den Zustandsübergängen festzulegen, kann man sie hier auch als Entry-Aktionen in den Zuständen darstellen. Im vorliegenden Lampensystem hat das auch den Vorteil, dass festgelegt wird, dass Kostüm1 angezogen werden soll, wenn der Automat zu Beginn in den Anfangszustand versetzt wird.

Teste auch das folgende Lampensystem.

Quelle: lampe3.sb

Im Zustand "an" wird hier die Aktivität "lampe.flackern()" ausgeführt:

Zustandsgraph

Implementierung in Scratch

Hier eine Implementierung der flackernden Lampe:

Skript

Aufgabe 1

Probiere das selbst aus.

X

Fehler melden

X

Suche