Zustandsmaschine

Definition - Was bedeutet State Machine?

Eine Zustandsmaschine ist ein Konzept, das beim Entwerfen von Computerprogrammen oder digitaler Logik verwendet wird. Es gibt zwei Arten von Zustandsautomaten: endliche und unendliche Zustandsautomaten. Ersteres besteht aus einer endlichen Anzahl von Zuständen, Übergängen und Aktionen, die mit Flussdiagrammen modelliert werden können, wobei der Pfad der Logik erkannt werden kann, wenn Bedingungen erfüllt sind. Letzteres wird praktisch nicht verwendet.

Eine Zustandsmaschine ist ein Gerät, das den Status von etwas zu einem bestimmten Zeitpunkt speichert. Der Status ändert sich basierend auf Eingaben und liefert die resultierende Ausgabe für die implementierten Änderungen. Eine endliche Zustandsmaschine hat einen endlichen internen Speicher. Eingabesymbole werden in einer Reihenfolge gelesen, die ein Ausgabemerkmal in Form einer Benutzeroberfläche erzeugt.

Zustandsautomaten werden anhand von Zustandsdiagrammen dargestellt. Die Ausgabe einer Zustandsmaschine ist eine Funktion der Eingabe und des aktuellen Zustands. Zustandsmaschinen spielen eine wichtige Rolle in Bereichen wie Elektrotechnik, Linguistik, Informatik, Philosophie, Biologie, Mathematik und Logik. Sie eignen sich am besten zur Modellierung des Anwendungsverhaltens, zum Software-Engineering, zum Entwurf digitaler Hardwaresysteme, zu Netzwerkprotokollen, Compilern und zum Studium von Berechnungen und Sprachen.

Technische.me erklärt State Machine

Der Betrieb einer Zustandsmaschine beginnt mit einem Startzustand. Bei einem erfolgreichen Übergang wird er akzeptiert. Der Übergang erfolgt anhand der bereitgestellten Eingaben. Der aktuelle Status hängt vom vorherigen Status des Systems ab. Die Anzahl der gebildeten Zustände hängt von den verfügbaren Speicherzuständen ab. Ein Übergang wird unter bestimmten Bedingungen aktiviert und zeigt eine Statusänderung an. Eine Aktion beschreibt eine Aktivität, die zu einem bestimmten Zeitpunkt ausgeführt wird. Die verschiedenen Arten von Aktionen sind Übergangsaktion, Eingabeaktion, Eingabeaktion und Austrittsaktion.

Deterministische Automaten haben in jedem Zustand genau einen Übergang für jede mögliche Eingabe. In nicht deterministischen Automaten führt eine Zustandseingabe zu einem, vielen oder keinen Übergängen. Eine Zustandsmaschine mit nur einem Zustand wird als kombinatorische Zustandsmaschine bezeichnet und verwendet nur Eingabeaktionen.

Die zwei verschiedenen Gruppen von Zustandsmaschinen sind Akzeptoren und Wandler. Akzeptoren erzeugen eine binäre Ausgabe, basierend darauf, ob die Eingabe von der Maschine akzeptiert oder abgelehnt wird. Wenn während der Verarbeitung der Eingabe der aktuelle Status akzeptiert wird, wird die Eingabe akzeptiert. Andernfalls wird es abgelehnt. Von Zustandsautomaten akzeptierte Sprachen werden als reguläre Sprachen bezeichnet. Startzustände werden durch einen Pfeil dargestellt, der von überall darauf zeigt, während akzeptierte Zustände durch Doppelkreise dargestellt werden. Wandler versorgen die Ausgabe basierend auf einer bestimmten Eingabe mithilfe von Aktionen. Moore- und Mealy-Maschinen sind Beispiele für Wandler.

Unmodifizierte Zustandsautomaten für Modellierungssprachen sind ebenfalls weit verbreitet, da sie sowohl die Moore- als auch die Mealy-Maschineneigenschaften enthalten. Sie enthalten zusätzliche Konzepte wie orthogonale Regionen und hierarchisch verschachtelte Zustände.