Workflow Nets

By workflow nets here we refer to petri-net-based workflows.

So, a workflow net is a special type of a petri net that is suitable for expressing workflows

In a workflow net:

  • there's a clear start:
    • the unique dedicated input place $i$ s.t.
    • $\bullet i = \varnothing$
    • i.e. no transition can put a token to $i$
  • there's a clear end:
    • the unique dedicated output place $o$ s.t.
    • $o \bullet = \varnothing$
    • i.e. no transitions should consume tokens from $o$
  • every other transition and place are on the path from $i$ to $o$

Markings:

  • initial marking $M_0$:
    • $M_0(i) = 1, \forall p \ne i: M_0(p) = 0$


Examples

Not workflow nets

  • workflow-nets-notwf.png
  • (1): no start, no end
  • (2): $b$ is not connected to the end
  • (3): $d$ is also not on the path from $i$ to $o$

Workflow net:

  • workflow-nets-ex.png
  • all workflow net properties are satisfied


Soundness

Main Article: Workflow Soundness

There are situations that we want to avoid:

  • unboundness
  • livelocks and deadlocks
  • dead transitions

For that we define the following properties

  • Option To Complete
  • Proper Termination
  • No Dead Transitions


Workflow Patterns

Main Article: Workflow Nets/Workflow Patterns


Housing Agency Assignment


Sources