<!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>BIG GUI: a tool for building and analysing instance graphs</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Claudia Diamantini</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Laura Genga</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alex Mircoli</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Domenico Potena</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Eindhoven University of Technology</institution>
          ,
          <addr-line>Eindhoven</addr-line>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Università Politecnica delle Marche</institution>
          ,
          <addr-line>Ancona</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper, we present BIG GUI, a novel tool supporting the generation and visualization of so-called instance graphs from an event log and a process model. Instance graphs are directed acyclic graphs representing both sequential and concurrent relations of process executions stored in the event log. The tool implements an IG generation algorithm robust to infrequent and non-compliant behaviours and provides a graphical interface for visualising the generated instance graph set.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Process mining</kwd>
        <kwd>Instance graphs</kwd>
        <kwd>Process Discovery</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        source and target node, meaning that the activity corresponding to the target cannot be executed
before the activity corresponding to the source is completed. Causal relations can be determined,
for instance, by using prior domain knowledge or extracted from an event log recording process
executions. Instance graphs resemble a transitive closure of a partial order relation among
process activities and allow explicitly representing concurrent relations. The current version
of our tool implements the algorithm introduced by Diamantini et al. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], which is robust to
infrequent and non-compliant behaviours. It implements a set of functionalities to visualize
the generated IGs, which resemble what is commonly ofered by PM tools for sequential traces
(e.g., ProM, or Disco). Furthermore, it is integrated with the Spark architecture, thus enabling
the use of cluster resources to parallelize and speed up the IG generation phase.
      </p>
      <p>In the remainder of this manuscript, we introduce the main characteristics of the BIG GUI
tool.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Innovation and characteristics</title>
      <p>Figure 1 shows the architecture of the tool, which implements two main sets of functionalities.
The first one is dedicated to the generation of a set of instance graphs, while the second one is
dedicated to the visualization of the generated IGs, together with a set of simple insights and
statistics to support the user in investigating the recorded behaviours. Note that the Hadoop
suite1 is used to parallelize the generation of the IGs. In particular, each trace is converted
independently and in parallel from the other on an independent Spark node. The Docker2 suite
is used to ensure interoperability and make the tool installation as transparent to the users as
possible. The following subsections delve into the tool functionalities.</p>
      <sec id="sec-2-1">
        <title>2.1. IG generation</title>
        <p>
          The tool takes as input an event log and converts each sequential trace in the event log into
an Instance Graph. The process model can be provided by a domain expert or extracted by a
process discovery algorithm. The tool implements the Building Instance Graph (BIG) algorithm
proposed in [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], which is able to handle traces that do not conform to the model. BIG is a
two-step algorithm. First, an IG is built for each trace by extracting pair-wise ordering relations
among process activities from the input Petri net.
        </p>
        <p>
          However, in the presence of non-compliant events this procedure generates anomalous IGs,
where connections among nodes do not reflect the temporal order of occurrence of the events
and which over-generalize the process behaviour. An IG repairing procedure is applied to deal
with these issues. First, anomalous traces (and, hence, IGs) are recognized in the event log
using a conformance checking technique [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. Then, tailored rules are applied for repairing
IGs with deleted and inserted events. For deleted events, the repairing consists of identifying
and connecting the nodes that should have been connected to the deleted activity. For the
insertion repairing, we have to change the edges connecting the nodes corresponding to the
event(s) before and the event(s) after the inserted event to connect such nodes with the node
corresponding to the inserted event in the graph, taking into account the causal relations among
its predecessors and successors in the trace.
        </p>
        <p>Figure 1 shows the IGs generated by the tool for the traces and the Petri net provided in input.
While  1 is compliant with respect to the Petri net and, hence, no repairing is needed,  2 is not
compliant since the activity  is executed before  and the activity  is missing. In the
corresponding IG, we can observe that the repairing of the deletion of  has been realized
by connecting its predecessors  and   with its successor  while the inserted event 
has been connected to the events occurring before/after the anomalous event in the event log.
Two main forces are driving the repairing procedures. On the one hand, we want to obtain a
representation as precise as possible of the occurred anomaly. On the other, we want to preserve
the concurrency relations described by the model. For this reason, the insertion of the event 
after  is repaired by connecting  to both the causal successors of 3.</p>
        <p>
          Figure 2.a shows the screenshots related to the import functionalities that allow the user to
select the event log she wishes to convert and a process model in Petri net notation that she
intends to use for deriving the causal relations. Every time the user imports an event log and a
process model, a new project is created. The user can visualize previously created projects in
her home, shown in Figure 2.b.
1https://spark.apache.org/
2https://www.docker.com/
3Note that for deviations occurring within parallel constructs, other repair configurations are available, e.g., by
adding parallel branch involving the inserted activities. Refer to [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] for additional details.
        </p>
        <p>(a)
(b)</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. IG set exploration</title>
        <p>BIG GUI supports both the visualization of single IGs and the exploration of the overall set of
converted traces. Figure 3 shows the visualization canvas shown to the user after the event
log has been imported and converted. On the left, the tool lists the diferent variants that have
been detected in the log. Note that while a variant in a sequential event log corresponds to a
unique sequence of events, a variant in the BIG GUI tool corresponds to a unique IG, which
may correspond to several diferent sequential traces, depending on the degree of concurrency
of the corresponding process execution. The panel in the centre lists all the case ids of the
traces corresponding to the variant. The user can explore a single variant by clicking on the
corresponding case id. Both the graph and the original sequence of events are shown in the
panel on the right to provide a complete visualization of the process execution.</p>
        <p>The tool also implements export functionalities, allowing the user to export the set of instance
graphs to be analyzed with other tools dedicated to, e.g., graph mining.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Tool maturity and evaluation</title>
      <p>
        The stand-alone BIG GUI tool can be downloaded at https://github.com/a-mircoli/big-gui. At
the same address can also be found a video showcasing the usage of the tool and a manual
describing a use case, together with the corresponding event log and Petri net. The current
version of the tool is still a prototype. Nevertheless, the BIG algorithm has been tested on
synthetic and real-life event logs, as described in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusion</title>
      <p>In this paper, we introduced the BIG GUI tool, which supports practitioners in converting
sequential event logs into Instance Graphs, thus being able to take into account concurrent
ordering relations among process activities in the analysis. The tools are available for download.
In future work, we plan to further extend the tool by a) including additional strategies to
convert sequential traces into partially ordered traces to support, e.g., techniques aimed to deal
with uncertainty and b) extending the set of functionalities for graph-based analysis, e.g., by
incorporating graph mining techniques.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>W.</given-names>
            <surname>Van Der Aalst</surname>
          </string-name>
          ,
          <article-title>Process mining: data science in action</article-title>
          , volume
          <volume>2</volume>
          , Springer,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>S. J.</given-names>
            <surname>Leemans</surname>
          </string-name>
          ,
          <string-name>
            <surname>S. J. van Zelst</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Lu</surname>
          </string-name>
          ,
          <article-title>Partial-order-based process mining: a survey and outlook</article-title>
          ,
          <source>Knowledge and Information Systems</source>
          <volume>65</volume>
          (
          <year>2023</year>
          )
          <fpage>1</fpage>
          -
          <lpage>29</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>C.</given-names>
            <surname>Diamantini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Genga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Potena</surname>
          </string-name>
          , W. van der Aalst,
          <article-title>Building instance graphs for highly variable processes</article-title>
          ,
          <source>Expert Systems with Applications</source>
          <volume>59</volume>
          (
          <year>2016</year>
          )
          <fpage>101</fpage>
          -
          <lpage>118</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>W.</given-names>
            <surname>Van der Aalst</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Adriansyah</surname>
          </string-name>
          ,
          <string-name>
            <surname>B. Van Dongen</surname>
          </string-name>
          ,
          <article-title>Replaying history on process models for conformance checking and performance analysis</article-title>
          ,
          <source>Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery</source>
          <volume>2</volume>
          (
          <year>2012</year>
          )
          <fpage>182</fpage>
          -
          <lpage>192</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>