--- title: Block Structure (in Process Models) type: concept tags: [bpm, modelling, structuredness, soundness, gateways, design-by-construction] sources: - "[[sources/2018-dumas-fundamentals-of-bpm]]" - "[[sources/2018-dumas-fundamentals-of-bpm-ch5-discovery]]" - "[[sources/2010-mendling-reijers-vanderaalst-7pmg]]" - "[[sources/1998-vanderaalst-verification-of-workflow-nets]]" created: 2026-05-04 updated: 2026-05-04 --- # Block Structure A **single-entry, single-exit (SESE) process-model fragment** whose entry and exit are gateways of the **same type** — one split, one matching join. Each path from the split leads to the matching join. Definition ([[sources/2018-dumas-fundamentals-of-bpm]] §5.4.1): > *A block structure is a single-entry single-exit process model fragment, such that the entry and exit points are two gateways (one split and one join) and each path from one gateway leads to the other gateway.* Block-structured (a.k.a. **structured**) process models are nested compositions of such blocks plus sequential connections. ## Why block structure matters ### 1. Soundness by construction If a model is built entirely from nested blocks of matching split-join type, it is **sound by construction** — no behavioural anomalies can arise within blocks. This is the easiest way to **achieve correctness without verification**. This corresponds to [[sources/1998-vanderaalst-verification-of-workflow-nets]] §5 transformation rules T1–T4 (and T5 composites): each rule produces a structured fragment from a structured starting point, and Theorem 18 proves they preserve soundness. ### 2. Pragmatic quality [[sources/2010-mendling-reijers-vanderaalst-7pmg]] **G4** ("model as structured as possible") is empirically supported: structured models are both **more understandable** and **less error-prone**. [[sources/2018-dumas-fundamentals-of-bpm]] §5.4.3 (Pragmatic Quality) explicitly recommends block-structuring as a usability mechanism: *"a structured process model, besides being always sound, has been shown to often be easier to understand than its unstructured counterpart"* (Fig 5.15). ### 3. Tractable verification Even when block-structuring isn't strictly enforced, structured models map cleanly onto **free-choice WF-nets**, for which [[concepts/soundness]] is decidable in polynomial time ([[sources/1998-vanderaalst-verification-of-workflow-nets]] Theorem 12). ## What block structure rules out The four [[concepts/deadlock|behavioural anomalies]] addressed by Dumas §5.4.1 are anomalies that **cannot occur within** matched-type blocks: | Anomaly | Mismatched block pattern that creates it | |---|---| | [[concepts/deadlock]] | XOR-split + AND-join | | [[concepts/lack-of-synchronization]] | AND-split + XOR-join | | [[concepts/livelock]] | Loop with mismatched entry/exit gateway types | | [[concepts/dead-activity]] | Branch unreachable due to mismatched structure or unsatisfiable condition | Inside a same-type block (AND-AND, XOR-XOR, OR-OR), none of these arise. ## Limited expressiveness Block-structuring is **not free**. Some legal cyclic behaviours and arbitrary event-driven patterns cannot be expressed in block-structured form. [[sources/2018-dumas-fundamentals-of-bpm]] §4.1 (cycles) and §5.4.1 note the trade-off: > *This type of model has limited expressiveness compared to unstructured models, as discussed in §4.1 in the context of cycles.* For most administrative and transactional processes, block-structuring is sufficient. For knowledge-intensive, event-driven, or compliance-constraint-heavy processes, declarative models ([[frameworks/declare]]) or unstructured BPMN may be unavoidable — verify them with formal soundness checks instead. ## Construction patterns The following patterns are block-structured and sound by construction: - **Sequence**: A → B → C - **XOR block**: XOR-split → {A | B | …} → XOR-join - **AND block**: AND-split → {A ‖ B ‖ …} → AND-join - **OR block**: OR-split → {active branches} → OR-join (with synchronising-merge semantics) - **Structured loop**: XOR-merge ↔ {body} ↔ XOR-split (with explicit exit condition) - **Nested blocks**: any pattern above with any of these as its branch content Avoid: - Goto-style cross-cut connections between branches. - Joins matching splits of *different* types. - Branches that re-enter the model from outside their block. - Loops without explicit exit gateways. ## Block-structured vs free-choice | Property | Block-structured | Free-choice WF-net | |---|---|---| | Definition | Nested matched-type blocks | Petri net with: ∀ p₁,p₂: •p₁ ∩ •p₂ = ∅ ∨ •p₁ = •p₂ | | Soundness | By construction (no check needed) | Decidable in polynomial time | | Expressiveness | Lower (some cyclic patterns excluded) | Higher (covers most BPMN with AND/XOR) | | Practical applicability | Most administrative processes | Almost all WF-nets met in industry | Free-choice is a *strictly larger* class than block-structured. ## Tool support - **Camunda Modeler** — discourages but does not enforce block-structuring. - **Inductive Miner** (process discovery) — produces block-structured models by construction. - **Block-structured BPMN style guides** (e.g., Silver 2011 BPMN Method and Style — referenced-not-yet-ingested) — practitioner-level rules for block-structured BPMN. ## Related [[concepts/soundness]] · [[concepts/workflow-net]] · [[concepts/7pmg]] (G4) · [[concepts/process-model-quality]] · [[concepts/deadlock]] · [[concepts/livelock]] · [[concepts/lack-of-synchronization]] · [[concepts/dead-activity]] · [[frameworks/bpmn]] ## Sources [[sources/2018-dumas-fundamentals-of-bpm]] §5.4.1, §5.4.3, §4.1 · [[sources/2018-dumas-fundamentals-of-bpm-ch5-discovery]] · [[sources/2010-mendling-reijers-vanderaalst-7pmg]] (G4) · [[sources/1998-vanderaalst-verification-of-workflow-nets]] (transformation rules)