What is the difference between state machine and workflow?

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.


As Jere mention, State machines can be cyclic graphs and workflows are usually acyclic. Most of the time the WorkFlow term is used to denote some kind of human interaction where probably some information is being modified (for example: a document). The term workflow is highly related with representing how people do their work and how they handle information. A state machine is a more technical concept where different states of an entity or a group of entities needs to be represented. You should also need to ask about Business Process probably :) Cheers


  • Product Manager draw Workflow Definition Graph and then give it to the Developer/Programmer . After reading the Requirements Document writen by Product Managers, Developer/Programmer design entity ,entity state , then set state of several enities In one WorkFlow Node

  • A WorkFlow has a parallel gateway, inclusive gateway and exclusive gateway, but State Machine only has an exclusive gateway .so WorkFlow can at several workflow Nodes at the same time ,but State Machine can only at one Node

  • The term WorkFlow is highly related with representing how people do their work and how they handle information.

  • A newcomer can easily understand a program by the WorkFlow Definition Graph, and the WorkFlow Definition Graph is bound into the code by WorkFlow engines (e.g. acitivti or jbpm6). It is synchronous with code. Requirements Documents are not synchronous with the code.