Table of contents
Workflow
Formal definition
A Workflow is a tuple — a workflow net — where:
- is a Petri net: is a finite set of places (conditions/states), is a finite set of transitions (activities), is the flow relation (arcs)
- is the initial marking — a single token on the source place (the unique place with , no incoming arcs):
- is the final marking — a single token on the sink place (the unique place with , no outgoing arcs):
Structural condition: every node lies on a directed path from to in the graph . No node is isolated from the workflow’s flow.
Firing rule: a transition is enabled in marking iff every input place has at least one token: . Firing consumes one token from each input place and produces one token in each output place: .
Three invariants. is a workflow iff:
-
Single source and sink: there is exactly one source place and one sink place . The source is the workflow’s start: every execution begins with a token at . The sink is the workflow’s end: every successful execution terminates with a token at . Multiple sources or sinks represent multiple independent processes, not a single workflow.
-
Structural connectivity: every node is on a path from to . Unreachable transitions (not on any path from source) would never execute; unreachable places would never receive tokens. Structural connectivity ensures the workflow’s structure is minimal — no dead components.
-
Soundness (the key behavioral property — not a static structural invariant but a semantic condition):
- Termination: for every marking reachable from , there exists a firing sequence from reaching . Every execution can eventually complete.
- Proper completion: is the only marking reachable from with a token in — for . Completion places exactly one token in the sink and nothing elsewhere.
- No dead transitions: every transition can fire in at least one reachable marking. No activity is permanently blocked.
Petri: places, transitions, and the concurrency model
Carl Adam Petri (Kommunikation mit Automaten, 1962, dissertation) introduced Petri nets as a formal model of concurrent computation:
A Petri net models concurrency through place-token semantics: places represent conditions (resources, states, data locations); transitions represent events (activities, firings); tokens represent instances of conditions being active. Multiple transitions can fire simultaneously if their input places are disjoint (true concurrency, not interleaving).
Key Petri net properties relevant to workflow analysis:
- Reachability: is marking reachable from ? Decidable but requires non-primitive-recursive time (Mayr 1984; Kosaraju 1982); EXPSPACE-hard lower bound; effectively reduces to coverability for most practical analysis
- Liveness: is every transition enabled in at least one reachable marking from every reachable marking? (Each activity can always eventually be done)
- Boundedness: is there a bound such that no place ever holds more than tokens? (-bounded nets have finite state spaces; decidable and reduces to reachability; Hack 1976)
- Coverability: is every marking dominated by some reachable marking? Decidable in EXPSPACE (Rackoff 1978)
Petri net classes:
- Free-choice nets: — if two transitions share an input place, they share all input places. Free-choice nets are the most common in workflow modeling; soundness is decidable in polynomial time for free-choice workflow nets (Desel & Esparza 1995).
- Workflow nets: the workflow-specific subclass (van der Aalst’s restriction) ensures source/sink structure and connectivity.
Van der Aalst: workflow nets and soundness
Wil van der Aalst (The Application of Petri Nets to Workflow Management, 1998, Journal of Circuits, Systems and Computers; Workflow Management: Models, Methods, and Systems, 2002, with Kees van Hee) formalized workflow management using Petri nets:
A WF-net (workflow net) is a Petri net satisfying the structural conditions above. Van der Aalst’s central contribution: defining soundness as the right behavioral correctness criterion for workflow processes (Invariant 3 above) and proving algorithmic results for checking soundness.
The soundness verification algorithm: for a workflow net , construct the short-circuited net by adding a transition from the sink to the source . Then:
- is sound iff is live and bounded.
Liveness and boundedness of can be checked using existing Petri net tools. For free-choice workflow nets, soundness checking is polynomial (Desel & Esparza 1995); for safe WF-nets, PSPACE-complete; for general WF-nets, EXPSPACE-complete (Blondin, Majumdar & Offtermatt, LICS 2022).
Workflow patterns (van der Aalst, ter Hofstede, Kiepuszewski, Barros 2003): a catalog of 20 workflow control-flow patterns that characterize common routing logic:
- Sequence: activity starts after finishes
- Parallel split: after , both and start concurrently (AND-split)
- Synchronization: starts only after both and finish (AND-join)
- Exclusive choice: after , exactly one of or starts based on a condition (XOR-split)
- Simple merge: starts after whichever of or finishes first (XOR-join)
- Multi-choice: after , one or more of start (OR-split)
Each pattern has a formal Petri net representation and a characterization of which workflow languages support it.
The WfMC reference model and BPEL
The Workflow Management Coalition (WfMC) reference model (1994-1999) defines the architecture for workflow management systems and provides a formal model of workflow independent of any particular Petri net encoding:
A process definition in the WfMC model is a computer-executable representation of a business process, consisting of: activities (units of work), transitions (conditions for moving between activities), participants (organizational entities performing activities), and data (information flowing between activities).
BPEL (Business Process Execution Language, originally BPEL4WS 2002, OASIS WS-BPEL 2.0 2007) is the standard XML language for executable workflow processes in service-oriented architectures. A BPEL process:
- Defines a service that coordinates other Web services
- Uses activities (invoke, receive, reply, assign, sequence, flow, switch, while, pick) for control flow
- Provides explicit compensation — compensating for executed activities when a fault occurs
- Models both synchronous (request-response) and asynchronous interaction patterns
BPEL’s formal semantics have been given in terms of both process algebras (Lanese et al.) and Petri nets (Ouyang et al.), establishing the connection between the industrial standard and the theoretical framework.
Open questions
- Whether van der Aalst’s soundness condition (termination, proper completion, no dead transitions) is the right correctness criterion for all workflows, or whether it is too strong for certain real-world processes (e.g., workflows with planned exceptions or cyclic behavior) and too weak for others (e.g., workflows with timing constraints).
- Whether the workflow net structure has a natural expression as a coalgebra — whether a workflow can be modeled as a coalgebra where is the marking space and encodes the firing rule, and whether soundness corresponds to a property of the final coalgebra.
- Whether the Petri net composition operations (sequential, parallel, choice composition) form a monoidal category and whether workflow soundness is preserved under all monoidal operations — making soundness a property that can be verified compositionally from the soundness of components.
- Whether BPEL’s compensation mechanism — reversing previously committed work when a fault occurs — has a formal semantics in terms of history fibers: whether compensation corresponds to retracting elements from the execution-settled fiber back to the history .