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. See Basic modeling with the Editor to learn about modeling diagrams with the Editor.

Creating a CMMN diagram

To create a new CMMN diagram in the Explorer, on the New menu, select Case Management Diagram (CMMN 1.0). The Editor opens with a blank modeling canvas, ready for you to edit the diagram.

Editing CMMN diagrams

Starting with a blank canvas in the Editor, you can add elements from the Shape Repository on the left.

../../_images/blank_cmmn_en.png

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. The case plan model encloses the whole diagram. You can place the element first and resize it with the growing diagram by dragging its lower right corner, or you can model the case and place the case file element when you have finished adding and connecting the other diagram elements.

To label the file, enter a name into the ‘naming slip’ at the top left of the element. You can also attach an exit criterion to the case plan model to indicate that the incoming sequence flow ends and completes the case.

../../_images/cmmn_example_1-1_en.png

A CMMN diagram, enclosed in a ‘case plan model’

Task

Tasks are the central elements in CMMN and BPMN notations. A task models a single action that needs to be performed. In addition to the ordinary task, there are five different types of task elements in CMMN:

  1. Non-blocking human task
  2. Blocking human task
  3. Process task
  4. Decision task
  5. Case task

The model can depict each task as an ordinary task element or as a discretionary task, which is not obligatory and may be performed at the case worker’s discretion.

  • A non-blocking human task does not stop the sequence flow. In the case model, the task does not take any time to perform. The task is complete at the same moment it starts, and the sequence flow continues unstopped. All other tasks are ‘blocking’ by default.

    ../../_images/nonblocking_task_en.png

    A ‘non-blocking human task’

  • A blocking human task stops the sequence flow until it is completed.

    ../../_images/blocking_task_en.png

    A ‘blocking human task’

  • A process task links to a BPMN diagram. To link a diagram, click the symbol in the upper left corner of the element. To learn more, see Integrating CMMN diagrams.

    ../../_images/process_task_en.png

    A ‘process task’

  • A decision task links to a DMN diagram. To link a diagram, click the symbol in the upper left corner of the element. To learn more, see Integrating CMMN diagrams.

    ../../_images/decision_task_en.png

    A ‘decision task’

  • A case task links to another CMMN diagram. To link a diagram, click the symbol in the upper left corner of the element. To learn more, see Integrating CMMN diagrams.

    ../../_images/case_task_en.png

    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 whether to perform the task for that case.

In Process Manager, 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. Select the corresponding task and open the Attributes panel on the right. Click the Discretionary attribute and activate the checkbox.

../../_images/set_discretionary_en.png

When checking the box, the ordinary task transforms into a discretionary task.

Stage

Stages divide cases into subdivisions. You can group sequence flows, tasks and/or (sub-)stages into a stage.

  • You can also define a stage as a discretionary stage. Select the corresponding stage and open the Attributes panel on the right. Click the discretionary attribute 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 its bottom-right corner.
  • A collapsed stage is linked to another CMMN diagram. In contrast to tasks, collapsed stages’ linked diagrams may also just contain single sequence flows that do not define a whole case.
../../_images/stage_expanded_en.png

An expanded stage.

../../_images/stage_collapsed_en.png

A collapsed stage is linked to the ‘Procure parts’ BPMN diagram.

Milestone

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

../../_images/milestone_en.png

A milestone element

Sentries

You can attach the diamond shaped entry criterion and exit criterion symbold (called ‘sentries’) to any task, milestone, stage or 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 indicates 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 indicates 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 starts when a claim with more than €100,000 has arrived and the claim information document is available. The check finishes when a claims evaluation report has been created:

../../_images/criterions_en.png

The entry and exit criteria mark the beginning and the end of this stage

You can attach several sentries of one type to an element. Each sentry defines its own entry or exit criteria for its element. Two or more sentries of one type attached to one element define a logical ‘or’ relationship, while several sequence flows attached to one sentry form a logical ‘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, you can attach several exit criteria 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.

  • A event listener waits for an event to occur.
  • A timer event listener waits for a certain amount of time to pass, or until a defined time.
  • A user event listener waits for user input, such as a completed form in a web user interface.
../../_images/listeners_en.png

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, such a patient file. Use a connector to attach a case file item to another element, to show that the other element’s execution uses its data. It can also function as a trigger or a result and thus can stand at the beginning or at the end of a sequence.

../../_images/casefile_en.png

A case file item related to a task

Other elements

Connectors

A connectors between CMMN elements defines a relation. An entry criterion or exit criterion defines the sequence flow direction or association.

  • A simple connector links different (non-discretionary) elements togther.
  • A discretionary association links a discretionary task to another CMMN element.
  • An annotation association links a text annotation to another CMMN element.
../../_images/connector_types_en.png

A connector, a discretionary association and an annotation association (top to bottom)

Plan fragment

A plan fragment contains a group of elements that exist outside the cases’ runtime. Plan fragments are 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. A plan fragment essentially contains everything that has no other place but needs to be in the case model.

../../_images/plan_fragment_en.png

A plan fragment containing three 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 Process Manager. Instead, the modeler attaches the planning table to a stage, human task (only) or case plan model to signify that (hidden) discretionary tasks are available.

To hint that modeled, visible discretionary tasks are available in the corresponding stage or plan fragment, add an expanded planning table to the element by unchecking the box defining the collapsed attribute in the attribute panel.

../../_images/collapsed_planning_table_en.png

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 discretionary attribute 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 autocomplete attribute can be set for stages and case plan models.
  • The manual activation attribute can be set for all kinds of stages and tasks. If the attribute is activated, the corresponding element has to be triggered manually.
  • The repetition attribute 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 required attribute 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.
../../_images/cmmn_attributes_en.png

Unactivated and activated attributes in process manager (left to right): discretionary, manual activation, repetition, required, autocomplete