Endliche Automaten auf Steroiden
Wenn man eine Regelgruppe als Zustand definiert, hebt man die klassische statische Logik auf eine dynamische Ebene:
LF‑ET bietet damit etwas, das man als
bezeichnen könnte.
Eine Synthese aus:
-
Entscheidungstabellen
-
Endlichen Automaten
-
Regelmaschinen
-
Modularer Funktionszerlegung
Dies verbindet die formale Stärke der Automatentheorie mit der praktischen Stärke der Entscheidungstabellen.
Regelgruppe → Zustand
In LF‑ET kann jede Regelgruppe funktional als ein Zustand eines endlichen Automaten betrachtet werden:
-
Eine Regelgruppe enthält alle Regeln, die in diesem Zustand gültig sind
-
Jede Regel beschreibt einen Zustandsübergang
-
Die Bedingungen der Regel definieren, wann der Übergang stattfindet
-
Die Aktionen der Regel definieren was passiert
-
Am Ende der Regel wird der Folgezustand definiert
Damit ist eine Regelgruppe exakt das, was in der Automatentheorie ein Zustand ist.
Regel → Zustandsübergang
Eine Regel ist ein vollständiger, deterministischer Übergang:
Wenn alle Bedingungen erfüllt sind → führe Aktionen aus → gehe in Zustand X
Das ist formal identisch mit:
δ(Zustand, Eingabe) → Neuer Zustand
Nur dass LF‑ET zusätzlich Aktionen (Ausgaben) erlaubt → Mealy‑Automat.
Die Verbundformen werden dadurch „eingebettet“
Durch dieses Modell lassen sich die klassischen Verbundformen ohne explizite Konstrukte abbilden:
- Folge
-
Zustand A → Zustand B → Zustand C
Einfach durch „Nächste Regelgruppe = …“. - Verzweigung
-
Zustand A → je nach Regel → Zustand B oder C
Das ist ein klassischer deterministischer Übergang. - Schleife
-
Zustand A → Zustand A
Einfach „Nächste Regelgruppe = aktuelle Regelgruppe“.
Warum das so mächtig ist
Man erhält endliche Automaten, deren Übergangslogik garantiert vollständig, widerspruchsfrei und redundanzfrei ist.
-
Jede Regelgruppe ist vollständig (alle Fälle abgedeckt)
-
Jede Regel ist deterministisch
-
Keine Regel überlappt eine andere
-
Jeder Übergang ist explizit
-
Fachanwender können es lesen
-
Entwickler können Code generieren
-
Tester bekommen automatisch Testfälle
Warum das für große Regelwerke ideal ist
Große Regelwerke sind meist Automaten:
-
Versicherungsanträge
-
Kreditentscheidungen
-
Medizinische Klassifikationen
-
Automotive‑Funktionen
-
Workflow‑Steuerung
-
Dialogsysteme
-
Steuerlogik
-
Konfigurationslogik
Sie bestehen aus:
-
Zuständen
-
Übergängen
-
Bedingungen
-
Aktionen
LF‑ET bildet das natürlich ab – ohne dass man z.B. in UML‑Statecharts, BPMN oder Pseudocode ausweichen muss.
Und mit der mathematischen Strenge der Entscheidungstabelle.