Production Case Management

Problem Statement

Business process modeling and system supported execution have become a commodity in many companies. Most systems, however, focus on modeling and execution of static, pre-defined processes with standards like the Business Process Model and Notation (BPMN. While these static process executions are applicable to a number of traditional processes like purchase orderings and back orderings, they fail at representing variant-rich, flexible processes. As solution towards bridging this gap, we merry ideas from the concept of Production Case Management (PCM), introduced by Keith Swenson [2], with BPMN [3]. PCM bases on the idea that knowledge workers get supported during process execution by offering them a set of tasks they may execute next based on the current status of the process. From these, the knowledge worker chooses one for execution. Since there usually exist a multide of ways to reach the goal of the process, BPMN models become very complex. Sometimes, a process model may even be too restrictive, since an ordering of tasks some knowledge worker might need to finalize her current case, might not have been considered in the model. There for exist means to change a process model at run-time (Adept [4] (now Aristflow [5]), Workflow Change Patterns [6]) but the overall model is affected.

Project Vision

The project targets on an approach catering for (1) flexible process management including run-time adaptations and correspondig change management as well as (2) process variant management. Thereby, we aim at support on design-time and run-time level. Especially for the latter, we analyze the interplay of processes, events, and rules and incorporate these findings into a combined execution of business processes.

Project Results

Implementation Framework for PCM: Modeling and Execution

Marrying PCM and BPMN, we provide an implementation framework for Production Case Management [1] allowing modeling and execution. The main idea is to distribute multiple variants and paths of the process into multiple process diagrams -- so-called process components -- and link them via some execution semantics equally considering control flow and data. During execution, jumping between different components is intended by the way the execution semantics is specified. Thus, the notions of process model and process instance slightly change such that both consist of multiple process components. By this, we allow variant management. Towards flexible process management, we allow to add a new process component at any point in time that then can also be used in already running process instances. Currently out of scope is the adaptation of existing components. This is subject to future work.

Since data and control flow are equally important for execution, but BPMN modeling mainly focuses on control flow modeling, we utilize ideas from the object-centric modeling domain (e.g., Business Artifacts [7] and Philharmonic Flows [8]) and allow modeling of business processes by utilizing object life cycles (OLCs) [9,10].

Another big advantage of this framework is the opportunity to do something at all or a multitude of positions within the process model, e.g., cancelling the process execution at any point in time. This can be represented by some state transitions in the OLC or a single process component instead of adding many exclusive gateways to the process model as it would be required with, for instance, BPMN.

Engine Implementation for Executing PCM

We currently implement above framework as prototype. The code of the ongoing development can be found at GitHub. For modeling, we utilize and extended a process editor forked from here. The extensions can be found in out Git repository. There, you also find the documentation on how to set up the prototype.

Application of PCM to Industrial Business Processes

We analyzed industrial process models and determined means to apply PCM on existing process models. We identified several patterns on how to slice a large BPMN model. Thereby, several pattern overlap such that final slice-decisions must be taken by domain experts. However, we can provide first proposals where to slice. The results are documented in a report that is available upon request.

Project Participants

This project is a cooperation between the Hasso Plattner Institute (HPI) and Bosch Software Innovations GmbH (Bosch SI). The following people were or are involved in this project.

Andreas Meyer (HPI)
Nico Herzberg (HPI)
Marcin Hewelt (HPI)
Mathias Weske (HPI)
Frank Puhlmann (Bosch SI)
Wilma Weps (Bosch SI)
Bachelor's project team with students Stephan Haarmann, Sven Ihde, Juliane Imme, Jaspar Mang, Nikolai Podlesny, and Jan Selke
Master's project team with students Marvin Richter, Lucie Omar, and Tim Sporleder

References

[1] A. Meyer, N. Herzberg, F. Puhlmann, and M. Weske: Implementation Framework for Production Case Management: Modeling and Execution. In Enterprise Distributed Object Computing (EDOC), pages 190–199, IEEE (2014)
[2] K. D. Swenson: State of the art in case management. In Fujitsu Tech. Rep. (2013)
[3] OMG: Business Process Model and Notation (BPMN), Version 2.0 (2011)
[4] M. Reichert and P. Dadam: Enabling adaptive process-aware information systems with adept2. In Handbook of Research on Business Process Modeling, pages 173–203, IGI Global (2009)
[5] A. Lanz, M. Reichert, and P. Dadam: Robust and flexible error handling in the AristaFlow BPM Suite. In Information Systems Evolution, pages 174–189, Springer (2011)
[6] B. Weber, M. Reichert, and S. Rinderle-Ma: Change patterns and change support features–enhancing flexibility in process-aware information systems. In Data & Knowledge Engineering, 66(3), pages 438–-466 (2008)
[7] A. Nigam and N. S. Caswell: Business artifacts: An approach to operational specification. In IBM Systems Journal 42(3), pages 428–445 (2003)
[8] V. K├╝nzle and M. Reichert: PHILharmonicFlows: Towards a Framework for Object-aware Process Management. In Journal of Software Maintenance and Evolution: Research and Practice 23(4), pages 205–244 (2011)
[9] J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, and W. E. Lorensen: Object-oriented Modeling and Design. Prentice-Hall (1991)
[10] G. Kappel and M. Schrefl: Object/behavior diagrams. In Data Engineering, pages 530–539, IEEE (1991)