Metrics for the Case Management Modeling and Notation (CMMN) Specification

19
Metrics for the Case Management Modeling and Notation (CMMN) Specification Mike A. Marin Hugo Lotriet John A. Van Der Poll University of South Africa September 30, 2015 SAICSIT 2015 Wallenberg Research Centre, Stellenbosch, South Africa Mike A. Marin, Hugo Lotriet, John A. Van Der Poll Complexity metrics for CMMN

Transcript of Metrics for the Case Management Modeling and Notation (CMMN) Specification

Metrics for the Case Management Modeling andNotation (CMMN) Specification

Mike A. Marin Hugo Lotriet John A. Van Der Poll

University of South Africa

September 30, 2015

SAICSIT 2015Wallenberg Research Centre,Stellenbosch, South Africa

Mike A. Marin, Hugo Lotriet, John A. Van Der Poll Complexity metrics for CMMN

Outline

AgendaMotivationCase Management Modeling and NotationMethodologyCMMN Model

Modeling elements and annotatorsSize MetricLength MetricComplexity Metric

FindingsFuture Work

Mike A. Marin, Hugo Lotriet, John A. Van Der Poll Complexity metrics for CMMN

Motivation

Business Process Management (BPM) is widely used bybusinesses to automate business process in the enterprise

Extensive research has been conducted in several aspects ofthe technology

Including complexity metricsCommonly used notations are procedural and graph based

Nodes represents activitiesArcs represent routes

The Business Process Management and Notation (BPMN) isthe main BPM standard

Created by the object management group (OMG)BPMN version 1.0 released in May 2004

The Case Management Modeling and Notation (CMMN) is anew process notation

Trying to understand modeling complexity for the CMMNIdentify and validate complexity metrics for CMMN

Mike A. Marin, Hugo Lotriet, John A. Van Der Poll Complexity metrics for CMMN

Differences between traditional BPM and CMMN

Traditional BPM CMMNProcedural DeclarativeControl flow Event basedProcess centric Data centricEngine control process flow Knowledge workers control the flowArcs describe the sequence No predefined sequence

BPMN ExampleCMMN Example

Mike A. Marin, Hugo Lotriet, John A. Van Der Poll Complexity metrics for CMMN

Case Management Modeling and Notation (CMMN)

CMMN is a new process modeling notation

Version 1.0 released in May 2014Created by the objectmanagement group (OMG)

NotationCompatible with BPMNDiamonds represent guards(pre-conditions)Rounded rectangles representtasks

DeclarativeNotation based on businessartifacts withguard-stage-milestone CMMN Example

Mike A. Marin, Hugo Lotriet, John A. Van Der Poll Complexity metrics for CMMN

Methodology

Extensive literature review on complexity software metrics, inparticular for Workflow and BPM.Formalized the definition of CMMN in order to define metricsand validate themIdentify three metrics

Size (CS)Length (CL)Complexity (CC)

Used the theoretical and empirical validation of softwareproduct measures framework defined by Briand et al. tovalidate the three metricsUsed Weyuker's nine properties for evaluating softwarecomplexity measures to further validate the Complexity metric(CC)

Mike A. Marin, Hugo Lotriet, John A. Van Der Poll Complexity metrics for CMMN

CMMN Model

Definition (Model)A CMMN model C is defined as a tuple

C = 〈E , U , V, A〉

WhereE is a set of modeling elements.U is a binary relationship in which two elements x and

y in E are related if and only if they are contained inthe same scope.

V is a binary relationship in which two elements x andy in E are related if and only if an event from one (x)triggers the other (y).

A is a set of annotators used to indicate characteristicsof elements in E .

Mike A. Marin, Hugo Lotriet, John A. Van Der Poll Complexity metrics for CMMN

Modeling elements E and annotators A

Modeling elements E

Annotators A

Mike A. Marin, Hugo Lotriet, John A. Van Der Poll Complexity metrics for CMMN

Size Metric

Definition (Size)The size of a model C denoted by CS(C) is defined as thecardinality of E ,

CS(C) = |E|

Example

CS(C) = 8

Mike A. Marin, Hugo Lotriet, John A. Van Der Poll Complexity metrics for CMMN

Size metric characteristics

Size CS(C) complies with the Briand et al. framework propertiesfor size metrics

Size (Non-negativity)The size of a model S = 〈E, R〉 is non-negative.

Size (Null value)The size of a model S = 〈E, R〉 is zero if E is empty.

Size (Module additivity)The size of a module S = 〈E, R〉 is equal to the sum of the sizesof two of its modules m1 = 〈Em1, Rm1〉 and m2 = 〈Em2, Rm2〉such that any element of S is in either m1 or in m1.

Mike A. Marin, Hugo Lotriet, John A. Van Der Poll Complexity metrics for CMMN

Length Metric

DefinitionThe length of a model C denoted by CL(C) is defined as themaximum nesting depth of a model.

The length CL(C) can be calculated by the following algorithm,Example

CL(C) = 3

Mike A. Marin, Hugo Lotriet, John A. Van Der Poll Complexity metrics for CMMN

Length metric characteristicsLength CL(C) complies with the Briand et al. framework properties for length metrics

Length (Non-negativity)The length of a model S = 〈E, R〉 is non-negative.

Length (Null value)The length of a model S = 〈E, R〉 is zero if E is empty.

Length (Non-increasing monotonicity for connected components)Adding relationships between elements of a module m does not increases the length ofthe model S = 〈E, R〉.

Length (Non-decreasing monotonicity for non-connected components)Adding relationships between the elements of two modules m1 and m2 does not decreasethe length of the model S = 〈E, R〉.

Length (Disjoint modules)The length of a model S = 〈E, R〉 made up of two disjoint modules m1 and m2 is equalto the maximum of the lengths of the modules m1 and m2.

Mike A. Marin, Hugo Lotriet, John A. Van Der Poll Complexity metrics for CMMN

Complexity Metric

DefinitionThe complexity of a model C denoted by CC(C) is defined as,

CC(∅) = 0, otherwise CC(C) =∑

i∈E∪AWi

Where, the weight, Wi is given in by a table of weights.

Example

CC(C) = 11

Mike A. Marin, Hugo Lotriet, John A. Van Der Poll Complexity metrics for CMMN

Complexity metric characteristicsComplexity CC(C) complies with the Briand et al. framework properties for complexitymetrics

Complexity (Non-negativity)The complexity of a model S = 〈E, R〉 must be non-negative.

Complexity (Null value)The complexity of a model S = 〈E, R〉 is zero if R is empty.

Complexity (Symmetry)The complexity of a model S = 〈E, R〉 does not depend on the convention chosen torepresent the relationships between its elements.

Complexity (Module monotonicity)The complexity of a model S = 〈E, R〉 is no less than the sum of the complexities of anytwo of its modules with no relationships in common.

Complexity (Disjoint module additivity)The complexity of a model S = 〈E, R〉 composed of two disjoint modules m1 and m2 isequal to the sum of the complexities of the two modules.

Mike A. Marin, Hugo Lotriet, John A. Van Der Poll Complexity metrics for CMMN

Properties 1/2Complexity CC(C) complies with the Weyuker’s complexity properties

Property (Non-coarseness)A metric should not rank all models as equally complex.

Property (Granularity)A metric should rank only a finite number of models with the same complexity.

Property (Non-uniqueness)A metric should allow some models to have the same complexity.

Property (Design details are important)Two distinct but equivalent models that compute the same function need not havethe same complexity.

Property (Monotonicity)The complexity of two models joined together is greater than or equal to thecomplexity of either model considered separate.

Mike A. Marin, Hugo Lotriet, John A. Van Der Poll Complexity metrics for CMMN

Properties 2/2Complexity CC(C) complies with the Weyuker’s complexity properties

Property (Nonequivalence of interaction)Two models with the same complexity when each is joined to a third model theresulting complexity may be different between the two.

Property (Permutation)Complexity should be responsive to the order of statements.

Property (Renaming)Complexity should not be affected by renaming.

Property (Interaction may increase complexity)(∃P )(∃Q)(‖P‖ + ‖Q‖ < ‖P ;Q‖).

Mike A. Marin, Hugo Lotriet, John A. Van Der Poll Complexity metrics for CMMN

Findings

Main findingsThe formalization of the CMMN model was sufficient todefine and validate the metrics.The three proposed metrics comply with the formal frameworkfor software measurements defined by Briand et al.The complexity metric also complies with the propertiesdescribed by Weyuker.Both Briand et al., and Weyuker assume that softwaresystems are build using a procedural style, based on directedacyclic graphs that may not be totally applicable to CMMN.

Mike A. Marin, Hugo Lotriet, John A. Van Der Poll Complexity metrics for CMMN

Future work

Work is required to understand the applicability of Briand etal., and Weyuker to declarative systems.Work is required to conduct the empirical validation for theproposed metrics.CMMN claims an approach based on business artifacts,therefore further work is required to compare the formalCMMN model described in the paper with a formalization ofbusiness artifacts.The weights given for the complexity metric CC(C) wereassigned based on the intuition of the authors, and furtherempirical work is needed to fine tune the weights.Empirical work is needed to understand the influence ofCMMN non-visual entities on the complexity metric.

Mike A. Marin, Hugo Lotriet, John A. Van Der Poll Complexity metrics for CMMN

Thanks

Mike A. Marin, Hugo Lotriet, John A. Van Der Poll Complexity metrics for CMMN