mArtifact: an Artifact-driven Process Monitoring Platform Luciano Baresi1 , Claudio Di Ciccio2 , Jan Mendling2 , Giovanni Meroni1 , and Pierluigi Plebani1 1 Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano, Italy {luciano.baresi,giovanni.meroni,pierluigi.plebani}@polimi.it 2 Institute for Information Business Vienna University of Economics and Business, Austria {claudio.di.ciccio,jan.mendling}@wu.ac.at Abstract. Traditionally, human intervention is required to monitor a business process. Operators notify when manual activities are executed, and manually restart the monitoring whenever the process is not executed as expected. This paper presents mArtifact, an artifact-driven process monitoring platform. mArti- fact uses the E-GSM artifact-centric language to represent the process. This way, when a violation occurs, it can flag the affected activities without halting the mon- itoring. By predicating on the conditions of the physical artifacts participating in a process, mArtifact autonomously detects when activities are executed and con- straints are violated. The audience is expected to be familiar with business process monitoring and artifact-centric modeling languages. Keywords: Process monitoring, artifact-centric processes, GSM 1 Contribution to the BPM field Traditionally, organizations rely on a Business Process Management System (BPMS) to monitor their process. The tight integration between the process execution engine and the monitoring component allows a BPMS to both automate the execution of business activities composing the processes, and keep track of when activities are executed at the same time [5]. This approach works particularly well for intra-organizational processes consisting of completely or semi-automated activities. In this case, the BPMS directly controls when activities are executed. However, when inter-organizational or human- centric processes have to be monitored, a BPMS may experience difficulties. In inter-organizational processes, organizations directly control only a portion of the process. Consequently, their BPMS cannot enforce the whole process to be executed as defined in a model. Additionally, organizations have visibility of all the activities com- posing the process only if either a centralized BPMS is deployed, or their BPMSs are federated. Another shortcoming that comes when monitoring inter-organizational pro- cess with BPMSs is the way they deal with violations in the execution order of activities. When a violation occurs, the BPMS typically halts until an operator marks the violation as resolved. This behavior is fine for intra-organizational processes, since the BPMS controls both the execution and the monitoring of the process. In inter-organizational processes, on the other hand, this behavior may cause activities executed after the vio- lation from other parties not to be tracked. This issue can be mitigated by forcing the BPMS to ignore violations, and resorting to post-mortem techniques, such as process mining, to detect them. However, mining techniques are meant to be applied after the process ends, thus not permitting organizations to promptly react to violations. Human-centric processes are characterized by activities completely performed by human operators (e.g., loading a shipping container onto a truck). In these activities, the only interaction with a BPMS occurs to notify when such activities start or end. Consequently, operators can easily forget or postpone such notifications, thus negatively affecting the reliability of the monitoring. These issues are addressed in mArtifact, a monitoring platform capable to continu- ously and autonomously monitor business processes. By predicating on the conditions of the physical artifacts interacting with the process, mArtifact can autonomously detect when activities are started and concluded. Also, mArtifact relies on the Extended-GSM (E-GSM) artifact-centric language [3], extension of Guard-Stage-Milestone (GSM) [6], to represent the dependencies among activities without enforcing them. This way, when activities are not executed as specified in the model, mArtifact can detect such a viola- tion and continue monitoring the process without requiring any intervention. 2 Usage of mArtifact on a Use Case To demonstrate the capabilities of mArtifact, we will rely on a simplified example taken from the logistics domain, depicted in Fig. 1. A manufacturer located in London relies on a shipping company to send a container to a customer in Amsterdam. First, the con- tainer of the manufacturer is loaded onto a truck of the shipping company (activity Load container). Then, the truck travels in the UK, takes the Channel tunnel, and travels in the European continent (activity Travel in EU) until it reaches the premises of the customer. Finally, the container is unloaded. Optionally, the truck can take a break while driving in the UK or in the European continent (Take break in UK, Take break in EU). The process will be henceforth indicated as Manufacturer-to-Customer (M-to-C) shipping process. To monitor this process, mArtifact relies on two software tools: (i) the configuration tool, which automatically generates all the information required to monitor the process, and (ii) the artifact-driven process monitor. Configuration Tool. To monitor a process, mArtifact relies on the E-GSM artifact- centric language [3]. Information on the execution order of the activities composing the process is considered descriptive, and not prescriptive as in activity-centric languages. This allows mArtifact not to stop monitoring the process when activities are executed without respecting the defined execution order. Instead, such activities are either flagged as out of order, meaning they were executed when they should have not, or as skipped, meaning they were not executed while they should have. The configuration tool takes care of translating an input Business Process Model and Notation (BPMN) 2.0 diagram representing the process model in the E-GSM language. Data Objects are required to annotate the diagram to denote the involved artifacts as depicted in Fig. 1. They are connected to activities to indicate through their states the conditions under which they Truck Truck Truck Truck Truck Truck [heathrow,still] [heathrow,moving] Travel in [cheriton,still] [coquelles,moving] [amsterdam,still] Travel in UK EU Load Take Channel Unload container tunnel container shipment Shipment started Take break Take break ended in UK in EU Container Container Truck Truck Truck Truck [unhooked] [hooked] [highwayUK,moving] [highwayUK,still] [highwayEU,moving] [highwayEU,still] Fig. 1: BPMN diagram of the M-to-C shipping process annotated with artifacts. Monitoring platform MQTT Broker Events Router E-GSM Engine Subscribe Publish –––––– D –––––– –––––––– /Truck/ab123xy Notify ––––––––– D P ––––––– D –––––– –––––– –––––––– D –––––– D P ––––––– –––––– –––––––– Truck AB123XY ––––––––– ––––––––– –––––– P ––––––– –– D –––––– P ––––––– –––––– –––––––– –––––– –––––––– D D –––––– ––––––––– ––––––––– D –––––– –––––– –––––––– P ––––––– P ––––––– Subscribe ––––––––– ––––––––– –––––– P Publish –––––– –––––––– –––––– –––––––– D –––––– P ––––––– D –––––– P ––––––– ––––––––– ––––––––– /Container/sn9876 Notify –––––– –––––– –––––––– D –––––– D –––––– –––––– –––––––– P ––––––– P ––––––– Container SN9876 ––––––––– ––––––––– –––––– D –––––– D –––––– P ––––––– P ––––––– Forward Subscribe Artifact-to-object E-GSM Process Model Publish mapping criteria Notify /Process/inst1 Interact REST API Actors Fig. 2: Architecture of the process monitor. signal an activity start or end. For instance, the diagram of Fig. 1 indicates that if Truck gets in the [heathrow,still] state or Container gets [unhooked], then Load container starts. The link to start- and end-events in the diagram denotes when the process begins and stops interacting with a specific artifact. For instance, the Truck artifact is meant to be monitored along the execution of the whole M-to-C shipping process. Given the BPMN process model, the configuration tool automatically converts it to E-GSM by using ATLAS Transformation Language (ATL) [7] rules. Additionally, mArtifact requires to know which physical entities will participate in each specific process execution, e.g., the truck having plate number “AB123XY” repre- senting the real-world instance of the Truck artifact. Since such an information is often known only after the process starts, mArtifact relies on binding criteria which allow for a dynamic association of artifact instances to running processes at run-time, i.e., during the monitoring itself. The configuration tool of mArtifact takes care of the automatic generation of those run-time bindings. Details on the transformations performed are described in [4,8]. Process Monitor. Once the E-GSM model of the process and the binding criteria have been defined, the artifact-driven process monitor comes into play. Fig. 2 shows the ar- chitecture of the process monitor. To make the monitoring completely automated, we assume that the physical artifacts can autonomously infer their conditions and submit such an information to the monitor. This is a feasible assumption in the context of a Fig. 3: Screenshot of the process monitor showing an incorrect execution. Wireless Sensor Network (WSN) [1] or the Internet of Things (IoT) [2], where environ- mental data can be collected by the artifacts. To allow the artifacts to communicate with the monitor, a Message Queue Telemetry Transport (MQTT) Broker is used. MQTT is a queue-based publish/subscribe protocol, which is particularly suited for applications where computing power and bandwidth are constrained.3 The E-GSM Engine is the component responsible for monitoring the exe- cution of the process. This component takes as input the E-GSM model, and (i) keeps track of which activities are ongoing, (ii) detects whether they follow the execution flow defined in the model and, if not, (iii) marks them as not compliant. To support late binding and unbinding among artifacts and running processes, the Events Router component is introduced. By receiving as input the binding criteria, the Events Router forwards to the E-GSM Engine only the events produced by the artifacts that effec- tively take part in that process execution. Finally, a REST API offers a service-oriented component for the organizations to interact with the process monitor. It is the software interface through which (i) the E-GSM Engine is provided with the E-GSM model, (ii) the Events Router is instructed with the binding criteria, and (iii) the organizations control that the processes are correctly executed. Fig. 3 shows a screenshot of the process monitor graphical interface, which dis- plays an incorrect execution of the M-to-C shipping process. In this case, the truck took a ferry from Dover to Calais instead of taking the Channel tunnel. Therefore, the monitor marks Take channel tunnel as skipped (dark gray). On the other hand, Load container was executed according to the execution flow, and as such it is marked as on time (green). Since the truck has not yet taken a break in the European continent, Take break in EU is not executed yet (light gray). Finally, as the truck is still traveling in the European continent, Travel in EU is still being executed (yellow). Note that, even though a violation occurred, the monitoring is still running. 3 See http://mqtt.org/ 3 Platform Maturity The accuracy of the mArtifact platform was validated by using real-world processes and data from a logistics company. 77 process executions were monitored based on the position and speed of the trucks participating to that process. mArtifact was capable of correctly determining the execution of such processes for 93.13% of all cases. For what the system requirements are concerned, mArtifact is capable of running on very modest hardware. We were able to successfully run mArtifact on different Single-board computers (SBCs), such as the Intel Galileo4 and Raspberry Pi5 boards, thus paving the path towards a distributed monitoring performed directly by the physical artifacts taking part in the process. 4 Additional resources The source code of the mArtifact platform is available at https://bitbucket. org/account/user/polimiisgroup/projects/MARTiFACT. A screencast showing a usage demo can be watched at https://purl.org/polimi/martifact/ screencast. Acknowledgments. This work has been partially funded by the Italian Project ITS Italy 2020 under the Technological National Clusters program, and the EU H2020 program under MSCA grant agreement 645751 (RISE BPM). The authors thank Marco Spelta for his help with the implementation of the E-GSM engine. References 1. Akyildiz, I., Su, W., Sankarasubramaniam, Y., Cayirci, E.: Wireless sensor networks: a survey. Computer Networks 38(4), 393 – 422 (2002) 2. Atzori, L., Iera, A., Morabito, G.: The internet of things: A survey. Computer Networks 54(15), 2787–2805 (2010) 3. Baresi, L., Meroni, G., Plebani, P.: A GSM-based Approach for Monitoring Cross- Organization Business Processes using Smart Objects. In: BPM 2015 Workshops, pp. 389– 400. Springer (2016) 4. Baresi, L., Meroni, G., Plebani, P.: Using the guard-stage-milestone notation for monitoring bpmn-based processes. In: BPMDS EMMSAD 2016, pp. 18–33. Springer (2016) 5. Dumas, M., La Rosa, M., Mendling, J., Reijers, H.A.: Fundamentals of Business Process Management. Springer (2013) 6. Hull, R., Damaggio, E., Fournier, F., Gupta, M., Heath, Fenno(Terry), I., Hobson, S., Line- han, M., Maradugu, S., Nigam, A., Sukaviriya, P., Vaculin, R.: Introducing the Guard-Stage- Milestone Approach for Specifying Business Entity Lifecycles. In: WS-FM 2010, pp. 1–24. Springer (2011) 7. Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I., Valduriez, P.: Atl: A qvt-like transformation language. In: OOPSLA ’06 Companion. pp. 719–720. ACM (2006) 8. Meroni, G., Di Ciccio, C., Mendling, J.: Artifact-driven process monitoring: Dynamically binding real-world objects to running processes. In: CAiSE ’17 Forum. pp. 105–112. CEUR- WS.org (2017) 4 See https://software.intel.com/en-us/iot/hardware/galileo. 5 See https://www.raspberrypi.org.