Tags:BPMN, Business process management, Case management, CMMN, Decision management, DMN, Model-based architecture and Requirements modelling
Abstract:
In Knowledge Automation (2012) I proposed a decision-modelling methodology (DRAW) for defining automated decision making. This approach, although successful, focusses on the functionality of decision services. It models the surrounding business processes in only enough detail to provide context for the required decision making, and models user interactions quite crudely. This predisposes analysts to specify systems with relatively simplistic human interactions, neglecting the rich possibilities of collaboration between people and computers in decision making.
Using the OMG “Triple Crown” (with other standards) it is possible to model the totality of functional requirements for a decision-making system, including complex interactions between automated business processes and human case workers. BPMN models the processes, CMMN models the user participation, and DMN models the automated decision making. However, it is not always clear how these standards should be applied together.
I suggest a set of principles for partitioning functional requirements between these three modelling domains so that there is no omission or duplication of functionality between them, and so that all interactions – between the domains and with external components – are explicitly modelled. These principles use only existing features in the “Triple Crown” standards, supported by other UML-based models, particularly use case models, object models and state models, and are therefore already supported by existing toolsets.
While modelling can be approached from many directions, an “Outside-In” approach would adopt the sequence: case modelling, business process modelling, decision modelling. This may be most appropriate when specifying systems with complex human interactions. The presentation uses examples from real-world modelling problems.
Specifying collaborative decision-making systems using BPMN, CMMN & DMN