Soundness of Data-aware, Case-centric Processes

Marco Montali and Diego Calvanese

Int. J. on Software Tools for Technology Transfer. 18(5):535--558 2016.

In recent years, a plethora of foundational results and corresponding techniques and tools has been developed to support the modeling, analysis, execution and improvement of business processes along their entire lifecycle. A major shortcoming of the analysis techniques is that they solely focus on the control-flow dimension of the process, omitting how business objects (i.e., cases) and their data affect and are manipulated by process instances and their tasks. In this work, we aim at filling this gap. We recast the classical notion of case-centric business process in a data-aware context. An emitter action is used to generate new cases, and while a case flows through the process control-flow, corresponding data are created, updated, and deleted by operating over a full-fledged relational database with constraints. To make our investigation concrete, we ground it on the recently introduced framework of data-centric dynamic systems (DCDSs). We reformulate the standard correctness criterion of soundness into this rich setting, and show that it is in general undecidable to check. We then provide a fine-grained analysis on the role of data in business processes. We substantiate this analysis by introducing a class of case-centric DCDSs that enjoys good modeling principles, and at the same time guarantees decidability of soundness. Decidability is obtained by finding a cutoff on the number of process instances that must be subject to the soundness test. We finally show that the introduced modeling guidelines are strict, in the sense that weakening even one single requirement they pose leads to undecidability.

   title = "Soundness of Data-aware, Case-centric Processes",
   year = "2016",
   author = "Marco Montali and Diego Calvanese",
   journal = "Int. J. on Software Tools for Technology Transfer",
   pages = "535--558",
   number = "5",
   volume = "18",
   doi = "10.1007/s10009-016-0417-2",
pdf url