BPMN 2.0 OR-Join Semantics: Global and local characterisation. Issue 105 (March 2022) - Corradini, Flavio; Muzi, Chiara; Re, Barbara; Rossi, Lorenzo; Tiezzi, Francesco
Abstract: Nowadays, the BPMN 2.0 notation is widely used both for modelling and implementing business processes. Even if it is largely adopted, the BPMN standard lacks a formal specification of models' behaviour, leading to misinterpretations of the execution semantics of some tricky modelling elements. This may result in processes that do not fit with designers' expectations and behave differently from one enactment tool to another. One of the most prominent BPMN elements with an ambiguous treatment in the BPMN standard is the OR-Join gateway. Although various attempts of OR-Join formalisation have been proposed in the literature, they either do not fully comply with the prescriptions of the current version of the BPMN standard or do not provide an efficient characterisation. To fill this gap, we propose a formalisation of the BPMN semantics including the OR-Join behaviour as reported in version 2.0 of the standard. Besides, to make it suitable for driving an efficient implementation, we provide an alternative characterisation of the formal semantics that determine the OR-Join gateway activation only based on information local to the considered OR-Join element, without the need of knowing the global tokens distribution. The soundness of the approach is given by demonstrating the correspondence of the local semantics to the global one. Through validation experiments conducted on the implementations of the local and global semantics of the OR-Join, we have shown that the local semantics more efficiently determines the gateway activation. Finally, we support designers in precisely understanding the OR-Join behaviour via a model animator tool. Highlights: Global and local characterisation of BPMN 2.0 semantics including OR-Join behaviour. A proof of the local to the global semantics correspondence. An analysis of the computational cost of global and local Or-Join implementations. An implementation of the OR-Join semantics in the MIDA animator.