# Structured Process Modeling with Fragments

**In short:** Structured process modeling builds a model from a simple sequence of steps and inserts parallel or alternative blocks. In BPMN, these blocks use parallel gateways (AND) and exclusive gateways (XOR) as splits and joins.

## Explanation

A process model shows the steps of a business process and the order between them. A fragment is a small building block inserted into such a model. The two gateway types below are what fragments are made of.

**Parallel gateway (AND).** As a split, it starts all outgoing paths at once. As a join, it waits until every incoming path has arrived.

**Exclusive gateway (XOR).** As a split, it picks exactly one outgoing path, based on data such as process variables. As a join, it lets arriving paths pass through. It does not wait for other paths. Models use it for alternative branches and for loop exits.

These gateways give two fragment kinds:

- **Parallel block:** an AND split, several paths, then an AND join. All paths run, and the process continues only when all are done.
- **Alternative branches:** an XOR split, several paths, then an XOR join. Exactly one path runs.

A loop also uses XOR gateways. One joins the path back in, and one splits to decide between repeating and leaving.

Pairing a split with a join of the same kind matters. An AND join waits for all paths. An XOR join does not wait. See BPMN Gateway Mismatch Antipatterns for what goes wrong when kinds are mixed.

To work step by step, start with a plain sequence of activities. Then replace one stretch of the sequence with a fragment. Repeat as needed.

## Example

An order process starts as a sequence: "Receive order", then "Ship order". The modeler refines it in two steps.

1. Between the two activities, insert a parallel block. "Check stock" and "Check payment" both start after an AND split. An AND join waits for both.
2. In the "Check payment" path, insert alternative branches. An XOR split chooses "Charge card" or "Send invoice". An XOR join merges the chosen path.

The second block sits fully inside one path of the first block.

## Trade-offs

The gateway rules above are simple, but they only help if each split gets a join of the matching kind. Mixing kinds, such as an XOR join after an AND split, breaks the intended behavior.

Guidelines such as 7PMG come from research on how model structure affects errors and comprehension. They are meant to feel intuitive to practitioners.

BPMN diagram: [A plain sequence refined with a parallel block that contains alternative branches.](https://arc.fuet.ch/diagrams/concepts/modeling-bpmn/structured-process-modeling-with-fragments/diagram-1.bpmn)

## Checks

- Each parallel (AND) split in a process model has a parallel (AND) join that waits for all its branches.
- Exclusive (XOR) splits are used where exactly one path should be taken, such as alternative branches or loop exits.
- Exclusive joins are used only where paths are alternatives, since they do not wait for other paths.

## Related

- [BPMN Gateway](https://arc.fuet.ch/concepts/modeling-bpmn/bpmn-gateway-semantics.md)
- [BPMN Gateway Mismatch Antipatterns](https://arc.fuet.ch/concepts/modeling-bpmn/antipatterns-for-process-flows.md)
- [Soundness of Process Models](https://arc.fuet.ch/concepts/modeling-bpmn/soundness-of-process-models.md)
- [Deadlock in Process Models](https://arc.fuet.ch/concepts/modeling-bpmn/deadlock-in-process-models.md)
- [Lack of Synchronization](https://arc.fuet.ch/concepts/modeling-bpmn/lack-of-synchronization-in-process-models.md)
- [Errors in Process Models](https://arc.fuet.ch/concepts/modeling-bpmn/errors-in-process-models.md)
- [BPMN Modeling Guidelines](https://arc.fuet.ch/concepts/modeling-bpmn/bpmn-modeling-tips.md)
- [Process Model Complexity](https://arc.fuet.ch/concepts/modeling-bpmn/process-model-complexity.md)

## Sources

- [Parallel gateway | Camunda 8 Docs](https://docs.camunda.io/docs/components/modeler/bpmn/parallel-gateways/) — docs.camunda.io, accessed 2026-11-08
- [Exclusive gateway | Camunda 8 Docs](https://docs.camunda.io/docs/components/modeler/bpmn/exclusive-gateways/) — docs.camunda.io, accessed 2026-11-08
- [Seven process modeling guidelines (7PMG) — Eindhoven University of Technology Research Portal](https://research.tue.nl/p/en/research-outputs/seven-process-modeling-guidelines-7pmg) — research.tue.nl, accessed 2026-11-09
