State Machines on steroids
If you define a rule group as a state, you lift classical static logic to a dynamic level:
LF‑ET offers something that can be described as
A synthesis of:
-
decision tables
-
state machines
-
rules engines
-
modular functional decomposition
This combines the formal strength of state machine theory with the practical strength of decision tables.
Rule group → State
In LF‑ET each rule group can be viewed functionally as a state of a state machine:
-
A rule group contains all rules that are valid in this state
-
Each rule describes a state transition
-
The conditions of the rule define when the state transition takes place
-
The actions of the rule define what happens
-
At the end of the rule, the next state is defined.
Thus, a rule group is exactly what a state is in the state machine theory.
Rule → State transition
A rule is a complete and deterministic transition:
If all conditions are fulfilled → execute actions → go to state X
This is formally equivalent to:
δ(state, entry) → new state
with the exception that LF‑ET additionally permits actions (outputs) → Mealy automat.
The combination forms are consequently "embedded"
This model enables the representation of classic combination forms without the need for explicit constructs:
- Sequence
-
State A → State B → State C
By simply selecting "Next rule group = …" - Branch
-
State A → depending on the rule → State B or C
This is a classic deterministic transition. - Loop
-
State A → State A
By simply selecting "Next rule group = current rule group"
Why is it so powerful?
This yields state machines whose transition logic is guaranteed to be complete, consistent, and free of redundancy:
-
Each rule group is complete (all cases are covered)
-
Each rule is deterministic
-
No rule overlaps with another
-
Each transition is explicit
-
Professional users have access to view it
-
Developers can generate code
-
Testers receive test cases automatically
Why is this ideal for large rule systems?
Large rule systems are essentially state machines:
-
Insurance claims
-
Loan approval decisions
-
Medical coding systems
-
Automotive functions
-
Workflow management
-
Dialog systems
-
Control logic
-
Configuration logic
They consist of:
-
States
-
Transitions
-
Conditions
-
Actions
LF-ET naturally captures this — without having to resort to UML state charts, BPMN, or pseudocode, for example.
And with the mathematical rigor of a decision table.