<!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>SVIPEX: A Web Service for Discovering and Visualizing Instance Spanning Constraints based on Process Execution Logs</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Florian Stertz</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Karolin Winter</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stefanie Rinderle-Ma</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Research Group Work ow Systems and Technology, Faculty of Computer Science</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Instance spanning constraints (ISC) realize controls on the execution of multiple process instances of one or several process types. Examples include synchronization at critical resources and authorization across several instances. ISC leave marks in process execution logs, e.g., process tasks having the same time stamp. As ISC are not always known and might change over time, process execution logs provide a valuable resource for mining ISC. Algorithms for ISC discovery have been proposed in previous work. SVIPEX implements these algorithms and provides a novel visualization for discovered ISC through a lightweight web service. This way ISC mining becomes accessible. SVIPEX maturity is demonstrated based on case studies from manufacturing and higher education.</p>
      </abstract>
      <kwd-group>
        <kwd>Instance Spanning Constraints</kwd>
        <kwd>Process Discovery</kwd>
        <kwd>Business Process Compliance</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction and Signi cance for the BPM Field</title>
      <p>
        Digitalized compliance management includes the (semi-)automatic extraction
of constraints from regulatory documents that can be automatically veri ed
over business process models (design time) and process instances (run time).
Constraints can refer to single process models and single process instances, but
can be also used to establish controls across multiple process instances of one or
multiple process types. The latter are called Instance Spanning Constraints (ISC)
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. They are crucial in various domains, including logistics, production, and
health care, and realize various applications such as batching [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and queuing [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]
of process instances. An example for ISC in the health care domain is: \A patient
is involved simultaneously in two di erent treatments, i.e., dermatology and
diabetes. A list of drugs should not be taken during the dermatology treatment.
The diabetes treatment should consider this list." [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        During run time, ISC constrain and control the execution of process instances
by, for example, halting the execution of instances until a condition is met (cf.
batching). As a consequence, ISC leave (implicit) marks in process execution
logs that store the behavior of process instances. In previous work [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], several
algorithms for discovering ISC from process execution logs have been proposed.
A summary of these algorithms and further background is provided in Sect. 2.
Providing (automatic) support for ISC discovery from process execution logs is
crucial as ISC might not be explicitly known and { if they are known { they might
change due to changes in the associated regulations. This demonstration paper
describes the SVIPEX implementation of the ISC discovery algorithms proposed
in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and provides a novel visualization for the discovered ISC. SVIPEX is
realized as lightweight web service in order to increase its accessibility (cf. Sect. 2).
SVIPEX maturity is demonstrated based on case studies from the manufacturing
and higher education domains in Sect. 3. Potential users of SVIPEX are
compliance o cers, process analysts, auditors, and researchers. Further application
scenarios and future perspectives are discussed in Sect. 4.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>SVIPEX Innovation and Architecture</title>
      <p>SVPIEX can be accessed via</p>
      <p>
        http://svipex.wst.univie.ac.at
A tutorial, the source code as well as example data sets are available at
http://gruppe.wst.univie.ac.at/projects/crisp/index.php?t=discovery
The screencast is accessible via
http://gruppe.wst.univie.ac.at/projects/crisp/screencasts/svipex.mp4
SVIPEX targets the novel research topic of ISC discovery by providing the
ISC discovery algorithms presented in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] as a REST web service. Figure 1 depicts
the SVIPEX architecture consisting of a frontend, backend and a Riddl
application, based on the Ruby Gem Riddl1 which serves for processing information
between the frontend and the backend.
2.1
      </p>
      <sec id="sec-2-1">
        <title>Frontend</title>
        <p>The SVIPEX frontend consists of two components, based on HTML markup,
JavaScript components, CSS and the jQuery Smart Wizard plugin2. The main
page serves as start page and for displaying the results. The second page for
uploading the dataset (one or several XES log les) and passing further information
required for the process model and ISC mining processes.</p>
        <p>
          Main Page. The main page is displayed when a user accesses the website (cf.
Fig. 1). Clicking on \New Collection" leads to the upload page (see next
paragraph) where process execution logs can be uploaded and parameters can be
set. The main page also o ers results for three data sets for ISC discovery, i.e.,
Manufacturing, Printer and HigherEducationDomain that were previously
analyzed in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. Newly uploaded data sets will be displayed below these prepared
examples. The main page enables to choose combinations of data sets on the
left hand side and one of four implemented ISC discovery algorithms on the top
        </p>
        <sec id="sec-2-1-1">
          <title>1 https://rubygems.org/gems/riddl</title>
        </sec>
        <sec id="sec-2-1-2">
          <title>2 http://techlaboratory.net/jquery-smartwizard</title>
          <p>Main Page</p>
          <p>Frontend</p>
          <p>Upload Page
Step 1: Upload Dataset
Step 2: Algorithm Selection
Step 3: Parameter (ISC Mining)
Step 4: Parameter (Heuristics Miner)</p>
          <p>Step 5: Submit
Riddl Application</p>
          <p>Backend</p>
          <p>Visualization Application
Heuristics Miner Application</p>
          <p>ISC Mining Application
of the page. Section 2.2 provides background information on the ISC discovery
algorithms. The combination of data set and algorithm that is currently selected
is highlighted in bright blue on the main page. The main page displaying the
results of the third ISC discovery algorithm for the manufacturing example is
depicted in Fig. 2.</p>
          <p>
            Upload Page. Uploading is partitioned into ve steps to ease the process for the
user. In the rst step, the user needs to provide a name for the dataset and upload
at least one process execution log in XES format3. The user can provide an
attribute based on which traces are identi ed and can be automatically detected
by SVIPEX under the assumption that there exists an event attribute that is
unique in terms of values. The process execution log les need to ful ll the
following requirements:
{ Concept names for events, i.e., activity labels must be unique
{ Time stamps
{ Unique identi ers of traces or events if ISC span multiple process types
{ Life cycle transitions start, end of an activity execution for IV.
These requirements are typically met by Process Aware Information System and
represent standard extensions XES. In a second step, the user needs to select
which ISC mining algorithms the user wants to execute. In the third step the
values for the ISC mining parameters need to be selected by the user whereas
we provide default values based on experience from previous papers. For details
on the parameters see [
            <xref ref-type="bibr" rid="ref6">6</xref>
            ]. In the fourth step the absolute and relative threshold
of edges for the Heuristics Miner need to be provided and the fth step submits
the provided information. Afterwards, the user is redirected to the main page.
          </p>
        </sec>
        <sec id="sec-2-1-3">
          <title>3 http://www.xes-standard.org</title>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>Backend</title>
        <p>
          The backend consists of three applications implemented in Python 3. One
application serves for mining the process models based on the Heuristics Miner [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ].
The ISC mining application implements the ISC algorithms which are developed
based on the following ISC categorization derived from a collection of 114 ISC
examples (cf. [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]). ISC trace back to synchronizations which can be caused by
I simultaneous execution of events 7! Algorithm 1
II constrained event execution based on data elements, time constraints or
regularities 7! Algorithm 2
III order of events 7! Algorithm 3
IV non concurrent execution of events. 7! Algorithm 4
        </p>
        <p>
          The third application uses GraphViz4 to combine the process models and the
results of the ISC mining algorithms into an overall visualization. In particular
one or several process models are aligned with ISC candidates. An ISC candidate
is depicted as grey lled node and in the case of multiple process types a red
dashed line indicates the connection between multiple ISC candidates. For
Algorithm 2 the ISC candidate nodes are enriched with decision rules which were
detected by the decision tree classi er of the Python package scikit-learn [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Maturity</title>
      <p>
        SVIPEX was tested on real-life execution logs from the Manufacturing and
Higher Education Domain domain an on an arti cial Printer log in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. In the
following and in the associated tutorial and screencast, SVIPEX is demonstrated
based on the real-life Manufacturing log. It consists of nine di erent process
models and several events are enriched with extensive data elements
prescribing, e.g., positions of machines during the execution of the processes. The process
execution logs consist altogether of 2546 events (11.58 MB) and SVIPEX took
on average 46:707 seconds to complete the mining process. Figure 2 depicts a
screenshot of SVIPEX containing the results for the order of events (Algorithm
3) with 3 = 1; = 0. The red dashed lines connecting events describe the order
relations between these events, i.e, the spawning of entire processes by certain
tasks. The results of this case study were evaluated by domain experts resulting
in a precision of 34 and recall of 37 whereas the retrieved false positive results
emerge due to physical conditions which are not representing ISC but still pose
restrictions on the execution order of processes or tasks, i.e., SVIPEX could
provide further insights into the log les.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>Due to the tremendous amount of data that is stored in process execution logs
providing automated tool support for analyzing this data becomes mandatory.</p>
      <sec id="sec-4-1">
        <title>4 https://www.graphviz.org/</title>
        <p>Moreover, processes are highly connected and need to obey to constraints that
span one or several process types. Since current process mining algorithms and
tools are not capable of detecting such types of constraints, we have presented
SVIPEX, a graphical user interface provided as lightweight web service. The
case studies have proven SVIPEX feasibility and usefulness. As future work we
plan to integrate additional process mining algorithms and further enhance the
visualization of ISC candidates.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgment</title>
      <p>This work has been partly funded by the Austrian Research Promotion Agency
(FFG) via the \Austrian Competence Center for Digital Production" (CDP)
under the contract number 854187. This work has been supported by the Pilot
Factory Industry 4.0, Seestadtstrasse 27, Vienna, Austria.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Fdhila</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gall</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rinderle-Ma</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mangler</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Indiono</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Classi cation and formalization of instance-spanning constraints in process-driven applications</article-title>
          .
          <source>In: Business Process Management</source>
          . pp.
          <volume>348</volume>
          {
          <issue>364</issue>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Pedregosa</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Varoquaux</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gramfort</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Michel</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thirion</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grisel</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Blondel</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Prettenhofer</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weiss</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dubourg</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vanderplas</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Passos</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cournapeau</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brucher</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perrot</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Duchesnay</surname>
          </string-name>
          , E.:
          <article-title>Scikit-learn: Machine learning in Python</article-title>
          .
          <source>Journal of Machine Learning Research</source>
          <volume>12</volume>
          ,
          <volume>2825</volume>
          {
          <fpage>2830</fpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Pufahl</surname>
            , L., Meyer,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weske</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Batch regions: Process instance synchronization based on data</article-title>
          .
          <source>In: Enterprise Distrib. Object Comp</source>
          . pp.
          <volume>150</volume>
          {
          <issue>159</issue>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Senderovich</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weidlich</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gal</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mandelbaum</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Queue mining for delay prediction in multi-class service processes</article-title>
          .
          <source>Inf. Syst</source>
          .
          <volume>53</volume>
          ,
          <issue>278</issue>
          {
          <fpage>295</fpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Weijters</surname>
          </string-name>
          , A.,
          <string-name>
            <surname>van Der Aalst</surname>
            ,
            <given-names>W.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Medeiros</surname>
            ,
            <given-names>A.A.</given-names>
          </string-name>
          :
          <article-title>Process mining with the heuristics miner-algorithm</article-title>
          .
          <source>Technische Universiteit Eindhoven, Tech. Rep. WP 166</source>
          ,
          <issue>1</issue>
          {
          <fpage>34</fpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Winter</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stertz</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rinderle-Ma</surname>
          </string-name>
          , S.:
          <article-title>Discovering instance and process spanning constraints from process execution logs</article-title>
          .
          <source>Inf. Syst</source>
          .
          <volume>89</volume>
          ,
          <issue>101484</issue>
          (
          <year>2020</year>
          ). https://doi.org/10.1016/j.is.
          <year>2019</year>
          .101484
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>