When working with finite state machines, is there or can there be a well defined concept of 'before' and 'after'.
The ordering would, for example, tell me that one state is always considered to be 'before' another state, in the sense that any sequence of transitions through a state machine from some start state, to some end state, must always encounter a particular state before some other state.
I think these would be partial orders on the states of the machine. Sometimes two states would be neither before or after each other.
The particular problem I am trying to solve, is for field validations on items being passed through a workflow, defined as a state machine. If some field must be present in a particular state, it must also be present in states considered to come 'after' that state.
It is possible in the workflows, that items can be moved back into earlier states. For example, an item may go through a workflow and be 'published' but later un-published to be re-worked, and then put back through a workflow to be published again. There are edges in state machine that move forward towards end states, but also edges that move backwards towards start states. Given that, can I still define some sensible 'before' and 'after' relationships between states?
What I am trying to ask is, in state machine theory, is there a standard definition of what 'before' and 'after' mean that I can use to implement these functions?