Finite State Machine
Ein endlicher Automat beschreibt das Verhalten eines Systems mit endlich vielen Zuständen und Übergängen und wechselt ereignisgesteuert zwischen Zuständen; eingesetzt für Protokoll-Parsing und UI-Zustände.
Zweck
Diskrete Zustandssysteme modellieren und komplexe Zustandslogik vereinfachen.
Mechanismus
Fünftupel (Q, Σ, δ, q0, F): Zustandsmenge, Eingabealphabet, Übergangsfunktion, Startzustand, akzeptierende Zustände. Ein DFA macht pro Eingabe genau einen deterministischen Übergang, ein NFA darf mehrere machen. Mealy/Moore unterscheiden sich im Zeitpunkt der Ausgabe. Die Bibliothek XState implementiert FSMs.
Anwendungsfälle
- Zustandsverwaltung
- Protokollimplementierung
- Regex-Engines