Automatentheorie

Begriffe

Mealy-Automat
Endlicher Zustandsautomat, Aktionen werden bei den Transitionen ausgeführt. Aktionen brauchen keine Zeit (Während des Übergangs ist der Zustand undefiniert (vgl. [Samek2002]S28)).
Die Ausgabe hängt vom Zustand und von der Eingabe ab.
Moore Automat
Die Aktionen werden während der Zustände ausgeführt. Die Ausgabe hängt nur vom Zustand ab.
Mealy- und Moore-Automaten sind gleichmächtig. Ein Moore-automat braucht aber meistens mehr Zustände, allerdings ist er auch ohne die Annahme "ohne Zeit" immer in einem definierten Zustand.

Hierarchical State Machine (HSM)

Nach Quantum Glossary sind bei einer HSM die Zustände geschachtelt. Zusammengesetzte Zustände (Composite States) haben Unterzustände, einfache (simple states) nicht.

Der Witz ist, dass die Unterzustände das Verhalten des übergeordneteten Zuständen übernehmen/erben (behavioral inheritance). Tritt ein Ereignis für den übergeordneten Zustand ein, so wird die Transition des übergeordneten Zustands ausgeführt. ([Samek2002]S31)

HSM können sowohl Mealy als auch Moore-Automaten sein.

UML-Statecharts sind HSMs. In UML wird der Unterzustand im Superzustand eingezeichnet.

orthogonale Regionen [Samek2002] S34
Unterscheidung : or-States / and-States
Orthogonale Regionen behandeln die and-States, wo zwei unanhängige Komponenten jeweils einen Zustand haben.
Ausführungsmodell: RTC Run To Completion
Ein Event wird vollständig abgearbeitet - im Thread. Ein Eintreffender Event wird solange verzögert.[Samek2002]

Modellierung

UML
SCXML des W3C

Implementierungsmöglichkeiten

geschachtelte switch-statements (je für Zustand und Ereignis)
Tabelle - (Zustand,Event) mit Funktionszeigern
Zustandsmuster-Jeder Zustand ist eine Klasse, Events rufen Methoden auf
Optimale FSM - Mischung aus allen [Samek2002]S69

Links

Wikipedia Finite state machines
Literatur

Siehe auch


Informatik- und Netzwerkverein Ravensburg e.V Rudolf Weber