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