I want to learn what is the difference between "State machine" and "workflow", and how is it any different from "State machine workflow"?
State machines are better in describing a continously running mechanism (f.e. a robot). Flowcharts are better at describing a branching sequence of actions. State machines naturally encapsulate action groups, flowcharts don't.
State machine workflows provide a modeling style with which you can model your workflow in an event-driven manner. A StateMachine activity contains the states and transitions that make up the logic of the state machine, and can be used anywhere an activity can be used.
The state machine construct uses Change State actions to set which state to run next. The actions in a state are repeated until a Change State action is encountered and all actions in the state have completed executing. Workflow execution does not move to the next state instantly when the Change State action is run.
In general, a state machine is any device that stores the status of something at a given time and can operate on input to change the status and/or cause an action or output to take place for any given change.
Workflow and state machines are defined nicely on wikipedia.
I'm guessing you're getting the term State Machine Workflow from this page. .NET seems to support different ways of modeling workflows (which are just some defined steps in a complex human task). A state machine (which is a map of states with transitions between them) would allow loops as opposed to a sequential workflow, which precedes down different branches until done.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With