Automatenbasierte Programmierung ist ein Computerprogrammierparadigma, das Abschnitte des Programms als endliche Automaten behandelt. Jeder Automat kann jeweils einen “Schritt” ausführen, und die Ausführung des Programms wird in einzelne Schritte unterteilt. Die Schritte kommunizieren miteinander, indem sie den Wert einer Variablen ändern, die den “Zustand” darstellt. Der Kontrollfluss des Programms wird durch den Variablenwert bestimmt.
Die „state“-Variable kann ein einfacher Enum-Datentyp sein, es können jedoch komplexere Datenstrukturen verwendet werden. Eine übliche Technik besteht darin, eine Zustandsübergangstabelle zu erstellen, ein zweidimensionales Array mit Zeilen, die jeden möglichen Zustand darstellen, und Spalten, die Eingabeparameter darstellen. Der Tabellenwert, bei dem sich Zeile und Spalte treffen, ist der nächste Zustand, in den die Maschine übergehen sollte, wenn beide Bedingungen erfüllt sind.
Endliche Zustandsmaschine, Eingabe, Paradigma, Programmierbegriffe