Modelling and Enactment of Data-aware Processes
During the last two decades, increasing attention has been given to the challenging problem of resolving the dichotomy between business process management and master data management. Consequently, a substantial number of data-centric models of dynamic systems have been brought forward. However, the control-flow abstractions they adopt are ad-hoc, and so are the data models they use. At the same time, contemporary process management systems rely on well-established formalisms for representing the control-flow and typically employ full-fledged relational databases for storing master data. Nevertheless, they miss a conceptually clean representation of the task and condition logic, that is, of how data are queried and updated by the process. In this paper, we address such issues by proposing a general, pristine approach to model processes operating on top of the standard relational technology. Specifically, we propose a declarative language based on SQL that supports the conceptual modelling of control-flow conditions and of persistent data updates with external inputs. We show how this language can be automatically translated into a concrete procedural SQL dialect, consequently providing in-database process execution support. We then report on how we made the language operational into a concrete prototype, which provides a plethora of functionalities to specify and enact process models, inspect their execution state, and construct their state space. Notably, the proposed approach can be seen as the concrete counterpart of one of the most well-established formal frameworks for data-aware processes, thus enjoying all the formal properties and verifiability conditions studied therein.
READ FULL TEXT