--- title: Declarative Process Modelling type: concept tags: [bpm, declarative, constraint-based, flexibility, ltl, modelling-paradigm] sources: ["[[sources/2008-pesic-declare-manual]]"] created: 2026-04-15 updated: 2026-04-15 --- # Declarative Process Modelling A modelling paradigm that specifies a process by **constraints on allowed behaviour** rather than an explicit control-flow graph. Any execution that does not violate the constraints is legal; the control-flow is implicit ([[sources/2008-pesic-declare-manual]], §1.1). ## Imperative vs declarative | Dimension | Imperative (e.g. [[frameworks/bpmn]], Petri nets, YAWL) | Declarative (e.g. [[frameworks/declare]], ConDec, DecSerFlow) | |---|---|---| | Specification focus | HOW (ordered flow, gateways, begin/end) | WHAT (rules that must hold) | | Default semantics | Only what is drawn is allowed | Everything not forbidden is allowed | | Flexibility | Low — deviations = exceptions | High — broad permitted space | | Best fit | Highly-structured, repetitive processes | Loosely-structured, knowledge-intensive, variable processes | | Formal basis | Graph/token semantics | Temporal logic (LTL / LTLf / LDLf) | ## Why declarative Imperative models over-specify flexible processes, forcing frequent deviations from the prescribed flow ([[sources/2008-pesic-declare-manual]], §1.1). Declarative models encode only the genuine regulatory, compliance, or causal constraints, leaving the rest of the behaviour space open to the participants. ## Formal grounding - **Linear Temporal Logic (LTL)** — original DECLARE semantics. - **LTL over finite traces (LTLf)** and **Linear Dynamic Logic on finite traces (LDLf)** — De Giacomo & Vardi, now standard for trace-finite process semantics. - Constraints compile to **finite-state automata** for verification (satisfiability, dead activities, conflicts) and for run-time monitoring. ## Run-time constraint monitoring Three-valued state commonly used (DECLARE traffic-light): - **green** — satisfied. - **orange** — temporarily violated, still repairable. - **red** — permanently violated. Constraint typing: mandatory · optional · conditional. ## Declarative process discovery Automated mining of declarative models from event logs: Declare Miner (Maggi et al.), MINERful, DisCoveR. Contrast with imperative discovery (α-algorithm, Inductive Miner) — see [[methods/process-mining-basics]] and [[concepts/process-discovery]]. ## Data-aware extensions - **MP-Declare** / data-aware Declare — constraints conditioned on data predicates. - **Declarative data-centric models** (e.g. DCDS, Montali) — integrate temporal constraints with persistent data. ## Related frameworks - [[frameworks/declare]] — canonical implementation (ConDec, DecSerFlow). - [[frameworks/cmmn]] — OMG case-management notation; shares declarative flavour but is GUI/marker-based rather than LTL-grounded. - [[frameworks/dmn]] — declarative *decision* logic; complementary, not a control-flow competitor. ## Hub entities [[entities/wil-van-der-aalst]] · [[entities/fabrizio-maggi]] · [[entities/marco-montali]] · Maja Pesic · Helen Schonenberg.