---
title: "CMMN Learning Plan — Visual Design Studio 0.1 documentation"
description: "This note maps five short learning sessions for understanding CMMN in Ed and how it relates to BPMN and DMN."
source_url: https://spiff.works/docs/ed/cmmn_learning_plan.html
---

☰ Menu

# CMMN Learning Plan[](#cmmn-learning-plan "Link to this heading")

This note maps five short learning sessions for understanding CMMN in Ed and how it relates to BPMN and DMN.

The current CMMN editor is an MVP. It supports basic graphical CMMN modeling and a simple run path that advances to a pending CMMN Human Task. It does not yet provide a BPMN-style CMMN properties panel or a full CMMN debugger.

## Session 1: CMMN Core[](#session-1-cmmn-core "Link to this heading")

Goal: understand what CMMN is for.

Build:

- Case Plan Model
- One Stage
- One Human Task named `Review Case`

Learn:

- CMMN models work that is case/state driven.
- A Human Task is work available to a case worker.
- Unlike BPMN, CMMN does not require a fixed sequence flow.

Ed check:

- Save, reopen, and confirm the file still opens graphically.
- Run the model.
- Confirm Play reaches the Human Task and shows a task-data window. `No Data` is expected for this tiny model.

## Session 2: Multiple Tasks[](#session-2-multiple-tasks "Link to this heading")

Goal: learn available work vs ordered flow.

Build:

- Stage named `Intake`
- Human Task named `Review Case`
- Human Task named `Request More Information`
- Human Task named `Approve Case`

Learn:

- In CMMN, multiple tasks can be available at once.
- The case worker decides what is relevant next.
- CMMN is useful for knowledge work where the path is not predetermined.

Ed MVP note:

- The current runner may only show the first pending task clearly, but the model is still useful for learning.

## Session 3: Stages, Milestones, And Sentries[](#session-3-stages-milestones-and-sentries "Link to this heading")

Goal: learn CMMN control logic.

Build:

- Stage named `Intake`
- Stage named `Resolution`
- Milestone named `Intake Complete`
- Entry and exit criteria if the editor supports them cleanly

Learn:

- A Stage groups related case work.
- A Milestone records that an important case condition happened.
- Sentries are CMMN’s guard and trigger mechanism.

Ed MVP note:

- This is mostly modeling practice for now. The MVP runtime does not yet fully enforce sentries or milestones.

## Session 4: CMMN And DMN[](#session-4-cmmn-and-dmn "Link to this heading")

Goal: understand decisions inside a case.

Scenario:

- Case: `Insurance Claim`
- Human Task: `Collect Claim Details`
- DMN Decision: `Determine Claim Risk`
- Human Task: `Review High Risk Claim`

Learn:

- CMMN tracks the evolving case.
- DMN answers a business decision from case data.
- DMN is best for rules such as eligibility, routing, risk, pricing, and approval thresholds.

Current Ed approach:

- Model the CMMN case structure.
- Configure a CMMN Process Task to invoke a same-process BPMN model.
- Let that BPMN model use a Business Rule Task to invoke DMN.
- Direct CMMN Decision Task to DMN execution remains future work.

## Session 5: CMMN, BPMN, And DMN Together[](#session-5-cmmn-bpmn-and-dmn-together "Link to this heading")

Goal: understand when to use each notation.

Scenario:

- CMMN: `Customer Onboarding Case`
- BPMN: `Run Background Check`
- DMN: `Determine Onboarding Path`

Use:

- CMMN for the overall case: flexible, human-driven, long-running.
- BPMN for repeatable procedures: background check, notification workflow, account creation.
- DMN for decisions: risk tier, approval route, required documents.

Mental model:

- CMMN asks: what work may be needed for this case?
- BPMN asks: what exact process should run?
- DMN asks: what decision should be made from this data?

Recommended next hands-on step: do Session 2 by adding two more Human Tasks inside your Stage and observing how the CMMN model feels different from a BPMN sequence.
