<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>mArtifact: an Artifact-driven Process Monitoring Platform</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Luciano Baresi</string-name>
          <email>luciano.baresi@polimi.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Claudio Di Ciccio</string-name>
          <email>claudio.di.ciccio@wu.ac.at</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jan Mendling</string-name>
          <email>jan.mendling@wu.ac.at</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giovanni Meroni</string-name>
          <email>giovanni.meroni@polimi.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pierluigi Plebani</string-name>
          <email>pierluigi.plebani@polimi.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Institute for Information Business Vienna University of Economics and Business</institution>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>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. mArtifact 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 monitoring. By predicating on the conditions of the physical artifacts participating in a process, mArtifact autonomously detects when activities are executed and constraints are violated. The audience is expected to be familiar with business process monitoring and artifact-centric modeling languages.</p>
      </abstract>
      <kwd-group>
        <kwd>Process monitoring</kwd>
        <kwd>artifact-centric processes</kwd>
        <kwd>GSM</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>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
violation 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.</p>
      <p>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.</p>
      <p>
        These issues are addressed in mArtifact, a monitoring platform capable to
continuously 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 [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], extension of Guard-Stage-Milestone (GSM) [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ],
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
violation and continue monitoring the process without requiring any intervention.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Usage of mArtifact on a Use Case</title>
      <p>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
container 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.</p>
      <p>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.</p>
      <p>
        Configuration Tool. To monitor a process, mArtifact relies on the E-GSM
artifactcentric language [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. 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
Load
container
      </p>
      <p>Truck
[heathrow,stil ]</p>
      <p>Truck
[heathrow,moving] Travel in</p>
      <p>UK
shipment
started</p>
      <p>Take break
in UK</p>
      <p>Truck
[cheriton,stil ]</p>
      <p>Truck
[coquelles,moving]</p>
      <p>Truck
[amsterdam,stil ]
Travel in</p>
      <p>EU
Take break</p>
      <p>in EU
Take Channel
tunnel</p>
      <p>Unload
container</p>
      <p>Shipment
ended
Container
[unhooked]</p>
      <p>
        Container Truck Truck
[hooked] [highwayUK,moving] [highwayUK,stil ]
[highwaTyrEuUc,kmoving] [highwTaruycEkU,stil ]
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) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] rules.
      </p>
      <p>
        Additionally, mArtifact requires to know which physical entities will participate in
each specific process execution, e.g., the truck having plate number “AB123XY”
representing 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 [
        <xref ref-type="bibr" rid="ref4 ref8 ref9">4,8</xref>
        ].
      </p>
      <p>
        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
architecture 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
Wireless Sensor Network (WSN) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] or the Internet of Things (IoT) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], where
environmental data can be collected by the artifacts.
      </p>
      <p>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
execution 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
effectively 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.</p>
      <p>Fig. 3 shows a screenshot of the process monitor graphical interface, which
displays 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/
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</p>
    </sec>
    <sec id="sec-3">
      <title>Additional resources</title>
      <p>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.</p>
      <p>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.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Akyildiz</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Su</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sankarasubramaniam</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cayirci</surname>
          </string-name>
          , E.:
          <article-title>Wireless sensor networks: a survey</article-title>
          .
          <source>Computer Networks</source>
          <volume>38</volume>
          (
          <issue>4</issue>
          ),
          <fpage>393</fpage>
          -
          <lpage>422</lpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Atzori</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Iera</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Morabito</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>The internet of things: A survey</article-title>
          .
          <source>Computer Networks</source>
          <volume>54</volume>
          (
          <issue>15</issue>
          ),
          <fpage>2787</fpage>
          -
          <lpage>2805</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Baresi</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Meroni</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Plebani</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>A GSM-based Approach for Monitoring CrossOrganization Business Processes using Smart Objects</article-title>
          .
          <source>In: BPM 2015 Workshops</source>
          , pp.
          <fpage>389</fpage>
          -
          <lpage>400</lpage>
          . Springer (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Baresi</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Meroni</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Plebani</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Using the guard-stage-milestone notation for monitoring bpmn-based processes</article-title>
          .
          <source>In: BPMDS EMMSAD</source>
          <year>2016</year>
          , pp.
          <fpage>18</fpage>
          -
          <lpage>33</lpage>
          . Springer (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>La</given-names>
            <surname>Rosa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Mendling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Reijers</surname>
          </string-name>
          ,
          <string-name>
            <surname>H.A.</surname>
          </string-name>
          :
          <source>Fundamentals of Business Process Management</source>
          . Springer (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Hull</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Damaggio</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fournier</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gupta</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heath</surname>
            , Fenno(Terry),
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hobson</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Linehan</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maradugu</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nigam</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sukaviriya</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vaculin</surname>
          </string-name>
          , R.:
          <article-title>Introducing the Guard-StageMilestone Approach for Specifying Business Entity Lifecycles</article-title>
          .
          <source>In: WS-FM</source>
          <year>2010</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>24</lpage>
          . Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Jouault</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Allilaire</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          , Be´zivin, J.,
          <string-name>
            <surname>Kurtev</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Valduriez</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Atl: A qvt-like transformation language</article-title>
          .
          <source>In: OOPSLA '06 Companion</source>
          . pp.
          <fpage>719</fpage>
          -
          <lpage>720</lpage>
          . ACM (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Meroni</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Di</given-names>
            <surname>Ciccio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Mendling</surname>
          </string-name>
          , J.:
          <article-title>Artifact-driven process monitoring: Dynamically binding real-world objects to running processes</article-title>
          .
          <source>In: CAiSE '17 Forum</source>
          . pp.
          <fpage>105</fpage>
          -
          <lpage>112</lpage>
          . CEURWS.org (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>4 See https://software.intel.com/en-us/iot/hardware/galileo.</mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>5 See https://www.raspberrypi.org.</mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>