Creating and editing CMMN diagrams

You can create CMMN diagrams in the Signavio Explorer like any other diagram and edit them in the Editor. This chapter explains the CMMN Elements and their alignment options on the modeling canvas. To learn about modeling diagrams with the Editor, please go to the chapter Basic modeling with the Editor.

Creating a CMMN diagram

To create a new CMMN diagram, click New, then Case Management Model and Notation (CMMN) in the top drop-down menu of the Explorer. The Editor opens with a blank modeling canvas, ready for you to edit the diagram.

Create a new CMMN Diagram.

Create a new CMMN Diagram.

Editing CMMN diagrams

As soon as the blank canvas is loaded in the Editor, you can start adding elements from the Shape Repository on the left.

Start adding elements from the Shape Repository.

Start adding elements from the Shape Repository.

Case Plan Items

You can use the following elements from the shape repository to model your CMMN diagram:

Case Plan Model

The Case Plan Model contains the case model. That means the whole diagram is enclosed by the Case Plan Model. You can put the element first and resize it with the growing diagram by dragging the lower right corner of the element if necessary or you can model the case and place the Case File element when you are finished adding and connecting all other diagram elements. If you want to label the file, you can put a name into the ‘naming slip’ at the top left of the element. An Exit Criterion can be attached to the Case Plan Model to define that the incoming sequence flow has ended and the case is completed.

A CMMN diagram, enclosed in a 'Case Plan Model'

A CMMN diagram, enclosed in a ‘Case Plan Model’

Task

Tasks are the central elements in CMMN and BPMN notations. They state a single action that needs to be performed. In addition to the ordinary Task, there are 5 different types of task-elements in CMMN: The Non-Blocking Human Task, the Blocking Human Task, the Process Task, the Decision Task and the Case Task. Each Task can be depicted as an ordinary Task or as a Discretionary Task, which is non-obligatory but may be performed at the case worker’s own discretion.

  • The Non-Blocking Human Task does not stop the sequence flow. This means that in the case model, the Task does not take any time to perform. It is done at the same moment it started and the sequence flow continues unstopped. All other tasks are by default ‘blocking’.

    A 'Non-Blocking Human Task'.

    A ‘Non-Blocking Human Task’.

  • The Blocking Human Task stops the sequence flow until it is completed.

    A 'Blocking Human Task'.

    A ‘Blocking Human Task’

  • The Process Task links to a BPMN diagram. To link a diagram, click the symbol in the upper left corner of the element. Learn more about how to link a BPMN diagram in the chapter Integrating CMMN diagrams.

    A Process Task.

    A ‘Process Task’.

  • The Decision Task links to a DMN diagram. To link a diagram, click the symbol in the upper left corner of the element. Learn more about how to link a DMN diagramm in the chapter Integrating CMMN diagrams.

    A 'Decision Task'.

    A ‘Decision Task’.

  • The Case Task links to another CMMN diagram. To link a diagram, click the symbol in the upper left corner of the element. Learn more about how to link a CMMN diagram in the chapter Integrating CMMN diagrams.

    A 'Case Task'.

    A ‘Case Task’

Discretionary Task

Every Task type mentioned above also exists as Discretionary Task in the CMMN 1.1 definition. This means that the case worker may decide if he wants/needs to perform the Task in his case instance.

In Signavio, you can create a Discretionary Task by creating an ordinary Task of the necessary type, for example a Non-Blocking Human Task and defining it as discretionary. Simply select the corresponding Task and open the Attributes panel on the right. Click on the attribute Discretionary and activate the checkbox.

When checking the box, the ordinary 'Task' transforms into a 'Discretionary Task'.

When checking the box, the ordinary ‘Task’ transforms into a ‘Discretionary Task’.

Stage

Stages are subdivisions that cases can be parted into. A certain number of sequence flows, Tasks and/or (sub-)stages can be grouped together into a Stage.

  • A Stage can also be defined as Discretionary Stage. Simply select the corresponding Stage and open the Attributes panel on the right. Click on the attribute Discretionary and activate the checkbox.
  • An Expanded Stage can contain sequence flows of Tasks and/or (sub-)stages. You can change a Stage’s size by dragging the right bottom corner of the element.
  • A Collapsed Stage is linked to another CMMN diagram. In contrast to Tasks, the Collapsed Stage’s linked diagram may also just contain single sequence flows that do not define a whole case.
An 'Expanded Stage'.

An ‘Expanded Stage’.

A 'Collapsed Stage' is linked to the BPMN diagram 'Procure parts'.

A ‘Collapsed Stage’ is linked to the BPMN diagram ‘Procure parts’.

Milestone

Milestones are sub-goals within the case process. They indicate that a certain point or stage within a case has been reached or completed.

A 'Milestone' element.

A ‘Milestone’ element.

Sentries

The diamond shaped Entry Criterion and Exit Criterion (called ‘sentries’) can be attached to any Task, Milestone, Stage and Case File. There, they define dependencies or the direction of the sequence flow. Sentries do not need to be attached to other elements - they may also stand alone within a sequence flow.

  • The Entry Criterion states that the incoming sequence flow(s) directly attached to the sentry is/are necessary to be finished before the sequence flow can continue.
  • The Exit Criterion states when a plan item is complete and in what direction(s) the sequence can continue. A sequence can continue when the following action is available or a data object has been created. An Exit Criterion attached to a Case Plan Model indicates that the arriving sequence flow closes the case.

In this example, the claim analysis is started when a claim with more than 100,000€ arrived and the claim information document is available. The check is finished when a claims evaluation report has been created:

The Entry and Exit Criteria mark the beginning and the end of this Stage.

The Entry and Exit Criteria mark the beginning and the end of this stage.

Several sentries of one type can be attached to an element. Each sentry defines their own entry or exit criteria for its element - two or more sentries of one type attached to one element define a logic ‘or’ relationship, several sequence flows attached to one sentry form a logic ‘and’ relationship. If all workflows of one Entry Criterion have arrived at the element, the corresponding task can be performed. If several criteria have to be met, more than one sequence flow can be attached to one sentry element. Similarly, several Exit Criteria can be attached to an element. All sequence flows that exit one sentry will be executed, unless a Discretionary Task follows.

Event Listeners

A Listener waits for something to happen, usually to then trigger a new sequence flow.

  • The Event Listener waits for an event to occur, usually to then trigger a new sequence flow.
  • The Timer Event Listener waits for a certain amount of time to have passed or for a certain pre-defined point in time, usually to then trigger a new sequence flow.
  • The User Event Listener A user event listener waits for user input, for example when a form is to be filled out in a Web UI, usually to then trigger a new sequence flow.
The 'Event Listener', 'Timer Event Listener' and 'User Event Listener' elements (left to right).

The ‘Event Listener’, ‘Timer Event Listener’ and ‘User Event Listener’ elements (left to right).

Case File Item

A Case File Item represents a data file or document that contains information that is relevant to the case, like a patient file. It can be attached to another element by use of a Connector, showing that its data is used in the execution of the element. It can also function as a trigger or a result and thus can stand at the beginning or at the end of a sequence.

A 'Case File Item' related to a task.

A ‘Case File Item’ related to a task.

Other elements

Connectors

Connectors between elements in CMMN simply define a relation. The sequence flow direction or association is defined by an Entry Criterion or Exit Criterion.

  • A simple Connector links different (non-discretionary) elements with one another.
  • A Discretionary Association links a Discretionary Task to another CMMN element.
  • An Annotation Association links a Text Annotation to another CMMN element.
A 'Connector', a 'Discretionary Association' and an 'Annotation Association' (top to bottom).

A ‘Connector’, a ‘Discretionary Association’ and an ‘Annotation Association’ (top to bottom).

Plan Fragment

Plan Fragments contain a group of elements that exist outside the cases’ runtime, this means plan fragments are also discretionary, as indicated by the dotted lines. Also, elements contained inside the Plan Fragment may contain Sentries or be part of a sequence flow, but a Sentry or sequence flow may not be attached to a Plan Fragment. Here, basically everything that has no other place but needs to be in the case model can be contained.

A 'Plan Fragment' containing 3 Tasks.

A ‘Plan Fragment’ containing 3 Tasks.

Planning Table

A Planning Table signifies that Discretionary Tasks are present. A Collapsed Planning Table indicates that Discretionary Tasks are not displayed, whereas an Expanded Planning Table indicates they are shown.

A (Collapsed) Planning Table (default) signifies that collapsed (or hidden) Discretionary Tasks are present in the diagram. The hidden tasks are not modeled in Signavio, the modeler simply puts the Planning Table attached to a Stage, Human Task (only) or Case Plan Model to signify that (hidden) Discretionary Tasks are available.

If you would like to hint to the fact that modeled, visible Discretionary Tasks are available in the corresponding Stage or Plan Fragment, you can add an Expanded Planning Table to the element by unchecking the box defining the attribute Collapsed in the attribute panel.

A (Collapsed) 'Planning Table' attached to a 'Stage'.

A (Collapsed) ‘Planning Table’ attached to a ‘Stage’.

Text Annotation

A Text Annotation contains additional textual information about the diagram, an element or a group of elements.

CMMN Attributes

The following attributes can be set in the attribute panel by checking or unchecking the value of the corresponding element. When the value is enabled, an icon will appear on the corresponding element or the elements appearance will change, as depicted below.

  • The Attribute Discretionary can be set for all kinds of Tasks and Stages. If the attribute is activated, the Task/Stage may be performed if the case worker decides it is necessary. Plan Fragments are by default discretionary, this cannot be changed as it is a pre-defined condition in CMMN.
  • The Attribute Autocomplete can be set for Stages and Case Plan Models.
  • The attribute Manual Activation can be set for all kinds of Stages and Tasks. If the attribute is activated, the corresponding element has to be triggered manually.
  • The attribute Repetition can be set for Milestones, Stages and Tasks. If the attribute is activated, the case worker will evaluate if the task needs to be repeated every time it is finished. If the result is ‘yes’, the task will be repeated.
  • The attribute Required can be set for Milestones, Stages and Tasks. If the attribute is activated, the corresponding action needs to be completed for the sequence flow to continue or the containing element to be completed.
Unactivated and activated attributes in Signavio (left to right): 'Discretionary', 'Manual Activation', 'Repetition', 'Required', 'Autocomplete'.

Unactivated and activated attributes in Signavio (left to right): ‘Discretionary’, ‘Manual Activation’, ‘Repetition’, ‘Required’, ‘Autocomplete’.