Inhaltsverzeichnis:
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 erfasst werden kann, wenn Bedingungen erfüllt sind. Letzteres wird praktisch nicht genutzt.
Eine Zustandsmaschine ist ein Gerät, das den Status von etwas zu einem bestimmten Zeitpunkt speichert. Der Status ändert sich basierend auf den Eingaben und liefert die resultierende Ausgabe für die implementierten Änderungen. Eine Zustandsmaschine hat einen endlichen internen Speicher. Eingabesymbole werden in einer Sequenz gelesen, die ein Ausgabemerkmal in Form einer Benutzeroberfläche erzeugt.
Zustandsautomaten werden mit Zustandsdiagrammen dargestellt. Der Ausgang einer Zustandsmaschine ist eine Funktion des Eingangs und des aktuellen Zustands. Zustandsautomaten spielen eine wichtige Rolle in Bereichen wie Elektrotechnik, Linguistik, Informatik, Philosophie, Biologie, Mathematik und Logik. Sie eignen sich am besten für die Modellierung des Anwendungsverhaltens, die Softwareentwicklung, den Entwurf digitaler Hardwaresysteme, Netzwerkprotokolle, Compiler und das Studium von Berechnungen und Sprachen.
Techopedia erklärt State Machine
Der Betrieb einer Zustandsmaschine beginnt von einem Startzustand. Bei einem erfolgreichen Übergang wird der Status akzeptiert. Der Übergang erfolgt auf Basis 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 basierend auf bestimmten Bedingungen aktiviert und zeigt eine Statusänderung an. Eine Aktion beschreibt eine Aktivität, die zum gegebenen Zeitpunkt ausgeführt wird. Die verschiedenen Arten von Aktionen sind Übergangsaktion, Eingabeaktion, Eintrittsaktion 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, mehreren oder keinen Übergängen. Eine Zustandsmaschine mit nur einem Zustand wird kombinatorische Zustandsmaschine genannt und verwendet nur Eingabeaktionen.
Die zwei verschiedenen Gruppen von Zustandsautomaten sind Akzeptoren und Wandler. Akzeptoren erzeugen eine Binärausgabe, 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. Transducer sorgen für die Ausgabe basierend auf einer bestimmten Eingabe und verwenden 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 aufweisen. Sie enthalten zusätzliche Konzepte wie orthogonale Bereiche und hierarchisch verschachtelte Zustände.
