<!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>BP-Di : A Tool for Behavioral Comparison of Business Process Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Abel Armas-Cervantes</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Paolo Baldan</string-name>
          <email>baldan@math.unipd.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marlon Dumas</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Luciano Garc a-Ban~uelos</string-name>
          <email>luciano.garciag@ut.ee</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Mathematics, University of Padova</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Institute of Computer Science, University of Tartu</institution>
          ,
          <country country="EE">Estonia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>BP-Di is a tool for identifying and diagnosing behavioral di erences between pairs of business process models. BP-Di identi es behavioral discrepancies involving pairs of tasks and provides both verbal and visual feedback to help users understand each discrepancy. The verbal feedback explains how a given pair of tasks is related in one model in contrast to the other model. Meanwhile, the visual feedback allows users to pinpoint the exact state where the discrepancy occurs. Unlike existing techniques, BP-Di abstracts away from syntactical di erences, focusing instead on behavior.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        An AES can be seen as a full graph where the events are nodes and the
relation between any pair of events is a labelled edge, i.e., the type of the
relation is the label of the edge. Then, using this representation to compare a pair
of business process models, one can compute canonical AES representing the
behavior of processes and check graph isomorphism. In this regard, when a pair
of AES are isomorphic then it implies that they represent equivalent behavior
(in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], we adopt an equivalence in the true concurrency spectrum). Conversely,
if the representations are not isomorphic, then the AES allows to express the
discrepancies between a pair of processes, possibly in its most basic form, as
mismatching binary behavioral relations between tasks.
      </p>
      <p>
        Oftentimes it is not the possible to establish a one-to-one correspondence
between the events in a pair of AES, since an AES can contain more than a single
event with the same label, or because one of the AES represents more behavior
than the other. Thus, more sophisticated techniques for the comparison of a pair
of AES are required in order to deal with general case. More speci cally, given
a pair of AES to compare, the technique in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] proposes the use of error-tolerant
graph matching techniques for nding a possible optimal mapping between the
events of the event structures. Then, once the mapping has been computed, the
comparison follows as before, I.e., testing for the graph isomorphism between
a pair of AES, and outputting the feedback when discrepancies (mismatching
relations) are detected.
      </p>
      <p>
        Generally speaking, a single pair of activities can be in di erent behavioral
relations depending on the run when they occur (what we call context). For
example, in the process depicted in Figure 1 there is a run where the task n form
precedes task exe; conversely, there is another run where n form does not occur
together with exe (i.e., when t form occurs). In the technique presented in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], we
propose to give an approximate context together with the textual explanation of
the di erence. In this case, the approximate context consists of the last event(s)
that need to occur before the discrepancy arises. Ideally one would require the
complete run (the list of all tasks that occurred before the discrepancy), although
it can hinder on the understandability of the explanation.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Overview of the tool</title>
      <p>
        The presented tool is partly the implementation of the process model di
erencing technique introduced in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Therefore, given a pair of process models, the
tool i) computes the canonically reduced AES of the behavior of each of the
processes, ii) nds a possible matching between the events of both representations,
iii) compares the AES, and iv) outputs the pairs of mismatching relations (as
human-readable sentences with an approximate context).
      </p>
      <p>As an extension of the as-is di erencing technique, the tool o ers a visual
representation of a given discrepancy. In this case, using a graphical
representation, it is possible to represent the whole context (run) for a given discrepancy.
We consider that the visual representation of the discrepancy can complement
the textual explanations by easing the understanding, and not overloading the
user with text. E.g., consider the process model in Figure 2, in this case we are
spotting a run that lead to the execution of the activities m insp and o insp.
We highlight the tasks of interest in red, whereas the executed tasks that lead
to the execution of m insp and o insp are highlighted in green. The numbers
attached to each of the highlighted elements represent the times the task was
executed (it is of special interest when there are cycles in the process). Thus,
in the example of Figure 2, it is easy to see that the numbers in the gray box
are attached to the tasks that lead to the execution of o insp; whereas, those in
green are attached to the tasks that lead to the execution of m insp.</p>
      <p>The tool provides a simple Web interface and it is depicted in Figure 3. On
the top-left corner, the user can upload the pair of processes to be compared.
Currently, the tool only support process models in BPMN modeling language.
Once the process models have been submitted and the comparison has nished,
then the textual descriptions of the encountered discrepancies are displayed on
the left hand side of the screen. Finally, the models are rendered on the
righthand side of the window. Each of the discrepancies has a list of runs for both
models, such that they show when the discrepancy occurs. Thus, the selection
of any run associated to a discrepancy will produce a di erent coloring in the
process. The tool relies on third-party libraries for the rendering of the models,
i.e., Camunda BPMN JavaScript3.</p>
      <sec id="sec-2-1">
        <title>3 https://github.com/camunda/camunda-bpmn.js</title>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Maturity and signi cance</title>
      <p>The tool has been tested in a relatively small set of business process models.
The processes were modeled in Signavio 4. As avenues for future research, we
consider testing the tool with large process models to assess scalability. Secondly,
we foresee an empirical usability evaluation of the diagnostics produced by our
method with potential users.</p>
      <p>The signi cance of this tool relies on the di erent applications where the
diagnostics about the behavioral di erences between pairs of business process
models are required. For example:
1. Behavioral process model comparison: Determine if a pair of processes are
equivalent and if not, provide a diagnostics of their di erences. A variant
of this problem is that of de ning and calculating measures of behavioral
similarity between pairs of processes.
2. Consolidation of multiple process variants into a single one: Provide accurate
diagnosis about behavioral di erences to guide analysis in the reconciliation
of di erences.
3. Compliance checking: Determine if a process is a behavioral re nement of
the another.
4. Automated process discovery: Given a log, determine which binary relations
exist in one graph.</p>
      <p>
        To the best of our knowledge, BP-Di is the rst tool that provides both
textual and graphical feedback about the behavioral di erences found on pairs
of business process models. The only tool we are aware of that implements
behavior comparison is jBPT (available at https://code.google.com/p/jbpt/),
which implements the theory of behavioral pro les [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. As it is shown in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ],
however, the diagnostics can be inaccurate. Moreover, the diagnostic generated with
      </p>
      <sec id="sec-3-1">
        <title>4 http://www.signavio.com/bpm-academic-initiative/</title>
        <p>behavioral pro les cannot be directly translated into either textual or graphical
feedback for human analysts.</p>
        <p>The video showing a demo of the tool can be found in http://math.ut.
ee/~abela/bpdiffdemo/index.html. Whereas, the tool is accessible in http:
//diffbp-bpdiff.rhcloud.com/.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Armas</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baldan</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garc</surname>
          </string-name>
          a-Ban~uelos, L.:
          <article-title>Behavioral Comparison of Process Models Based on Canonically Reduced Event Structures</article-title>
          . (to appear)
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Baldan</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Corradini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Montanari</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          : Contextual Petri Nets,
          <source>Asymmetric Event Structures, and Processes. Information and Computation 2001</source>
          <volume>171 1</volume>
          {
          <fpage>49</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Armas</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baldan</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garc</surname>
          </string-name>
          a-Ban~uelos, L.:
          <article-title>Reduction of event structures under hp-bisimulation</article-title>
          .
          <source>Technical report</source>
          http://arxiv.org/abs/1403.7181.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Armas-Cervantes</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garc</surname>
          </string-name>
          a-Ban~uelos, L.,
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Event structures as a foundation for process model di erencing, part 1: Acyclic processes</article-title>
          . In Beek,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Lohmann</surname>
          </string-name>
          , N., eds.:
          <source>Web Services and Formal Methods. Volume 7843 of Lecture Notes in Computer Science</source>
          . Springer Berlin Heidelberg (
          <year>2013</year>
          )
          <volume>69</volume>
          {
          <fpage>86</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Weidlich</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mendling</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weske</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A foundational approach for managing process variability</article-title>
          . In Mouratidis, H.,
          <string-name>
            <surname>Rolland</surname>
          </string-name>
          , C., eds.:
          <source>Advanced Information Systems Engineering. Volume 6741 of Lecture Notes in Computer Science</source>
          . Springer Berlin Heidelberg (
          <year>2011</year>
          )
          <volume>267</volume>
          {
          <fpage>282</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Armas-Cervantes</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garc</surname>
          </string-name>
          a-Ban~uelos, L.,
          <string-name>
            <surname>Polyvyanyy</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>On the suitability of generalized behavioral pro les for process model comparison</article-title>
          . In: WSFM. (
          <year>2014</year>
          )
          <article-title>Accepted</article-title>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>