I recently needed something like a state machine, but with a slightly different use case.
In general, I would say a state machine knows about a set of states, and different events. Depending on the current state and the event, a state machine is able to decide if this is a valid event for this state, and to which state it should transition to.
What I need is slightly different: Again, I have a state machine knowing some states, transitions and events, but it does tell me which events have to happen to transition to a certain state. I already implemented such a machine and posted it for code review.
So, while the first machine is able to tell in which state it is after an event, the second machine is able to tell what has to happen to transition to a state.
According to this, my transition table looks different too. Instead of having new states in the intersection of current states and events, I'm storing the events in the intersection of current and new states.
Is there a name for this kind of inverted state machine, or is it just another implementation of a finite state machine?