<!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>POD - A Tool For Process Discovery Using Partial Orders and Independence Information</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Hernan Ponce-de-Leon</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Cesar Rodr guez</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Josep Carmona</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Helsinki Institute for Information Technology HIIT and Department of Computer Science and Engineering, School of Science, Aalto University</institution>
          ,
          <country country="FI">Finland</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Universitat Politecnica de Catalunya</institution>
          ,
          <addr-line>Barcelona</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Universite Paris 13</institution>
          ,
          <addr-line>Sorbonne Paris Cite, LIPN, CNRS</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Current process discovery techniques focus on the derivation of a process model on the basis of the activity relations extracted from an event log. However, there are situations where more knowledge can be provided to the discovery algorithm, thus alleviating the discovery challenge. In particular, the (partial) characterization of the independence or concurrency between a pair of activities may be well-known. In this paper we present POD, a tool for discovery of Petri nets that can incorporate this type of additional information. We believe requiring independence/concurrency information is very natural in many scenarios, e.g., when there is some knowledge of the underlying process. We show with one example how this extra information can e ectively deal with problems such as log incompleteness.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        In the last decade several algorithms have been proposed to discover a Petri net
from an event log [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Petri nets are indeed a formalism well-suited for capturing
concurrency or distribution, and are often employed as sound mathematical
representations of processes tailored for formal analysis. Remarkably, they can be
translated to user-friendly formalisms such as BPMN. However Petri-net-based
process analysis is not widespread in industrial practice, where automata-based
formalism are often instead preferred. These approaches, however, su er from
the well-known state-explosion problem in the presence of concurrency or
distribution.
      </p>
      <p>One of the reasons for this low-key industrial adoption of Petri nets, we
believe, is that many existing algorithms infer the concurrency relations between
transitions exclusively from the information present in the log. This poses two
problems. First, the quality of this inference deteriorates with log
incompleteness, i.e., when the log does not contain enough information to extract the
component's distribution in the architecture of the process. Second, from an
information-theoretical perspective, the log simply contains no information to
distinguish non-deterministic actions from truly concurrent behaviour, which
Copyright c 2015 for this paper by its authors. Copying permitted for private and
academic purposes.</p>
      <p>Labeled
Partial
Orders</p>
      <p>Event
Structure</p>
      <p>Occurrence</p>
      <p>Net</p>
      <p>Fold</p>
      <p>Petri
Net</p>
      <p>Merge
implies that most of the aforementioned algorithms can at best be based on
probabilistic analysis of limited reliability.</p>
      <p>To ll this gap, we present POD, a tool that incorporates this crucial user
input: a so-called independence relation, i.e., an explicit, user-provided description
of the concurrency relations between the system activities. One example could
be the di erent tests that a patient should undergo in order to have a diagnosis:
blood test, allergy test, and radiology test. Speci cally, this input is provided
under the form of an irre exive, symmetric binary relation on the set of system
actions.</p>
      <p>
        One of the few works that considers the concurrency or distribution of the
system as an input is [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. They investigate the synthesis of a Petri net from a set
of partial orders and rely on ad-hoc operators tailored to compose them (choice,
sequentialization, parallel compositions and repetition). Since the operators may
in practice introduce wrong generalizations, a domain expert is consulted for the
legality of every extra run. Our tool automates the generalization step based on
di erent properties that the nal model should satisfy (replay, preservation of
concurrency, avoidance of undesired behaviors). For a detailed description of the
theory underlying the POD tool, the reader can refer to [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Tool Description</title>
      <p>
        The approach of our tool is summarized in Figure 1. Starting from an event log
and a concurrency relation on its set of activities, we construct a collection of
labeled partial orders whose linearizations include both the sequences in the log
as well those that could be obtained via successive permutations of concurrent
activities. We then merge this collection into an event structure [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] which we next
transform into an occurrence net (acyclic Petri net) representing the same
behavior. Finally, we perform a controlled generalization step by selectively folding
the occurrence net into a Petri net. This step yields a net that (a) can execute all
traces contained in the event log, and (b) generalizes the behavior of the log in
a controlled manner. The folding process is driven by a folding equivalence
relation [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], which we synthesize using SMT (Satis ability Modulo Theories, see [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]).
Di erent folding equivalences guarantee di erent properties about the nal net.
In [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] we propose three di erent classes of equivalences to (a) preserve all
sequential executions of the log, (b) to additionally preserve the concurrency or
distribution stated in the independence relation and (c) to avoid re-introducing
negative (or forbidden) traces (this feature is still unimplemented in POD).
2.1
      </p>
      <sec id="sec-2-1">
        <title>Architecture and Maturity</title>
        <p>
          POD is a command-line tool implemented in Python. It interacts with the Z3
SMT-solver [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] for computing the aforementioned folding equivalences. It is
currently under development and will evolve to a more stable version in the near
future. Currently, it can be seen as a prototype testbed for process discovery
based on partial orders, independence information, and generalization based on
folding equivalences. It has been tested with only small to medium-size examples.
        </p>
        <p>
          The most prominent feature in POD is the ability to generate fully- tting nets
whose transitions exhibit exactly the same independence (concurrency) than the
one stated by the independence relation given as input (POD can also relax this
controlled generalization, i.e., generalizing more). While the underlying theory [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]
allows for the discovery of more than one transition per log activity, POD merges
all associated events into one single transition (to simplify the implementation).
This ensures a minimum number of nal transitions, but POD could sometimes
be unable to nd a suitable equivalence (unsatis able SMT encoding). Since the
number of transitions in the folded net is xed, it turns out that the quality
(in terms of precision and generalization) of the mined model increases as one
increases the number of places (which the user can conveniently control).
2.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Download, Formats, Usage</title>
        <p>POD is available from http://github.com/cesaro/pod/releases/tag/v0.1.
It has been tested in MAC and Linux and the installation requires simply
to unpack the les into a directory. Once unpacked, cd to it and run it as
./src/pod.py. The tool can also perform various handy tasks related to process
discovery, such as extracting a random log from a Petri net, dumping statistics
of a net, a log, etc.</p>
        <p>POD reads and writes logs in XES format and Petri nets in PNML format.
As for the independence relation, it expects, for the time being, a plain-text le
where every line de nes one pair of dependent transitions (i.e., the le contains
the complement of an independence relation, usually smaller), cf. POD's website.</p>
        <p>
          Assume that we have a log le log.xes and a dependency le dep.txt. We
instruct POD to do process discovery:
./src/pod.py discover log.xes dep.txt --out result.pnml
By default POD will output the occurrence net mentioned above, i.e., it will
perform no generalization at all. In other words, it will use the identity relation
as a folding equivalence, cf. [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. Option --eq instructs POD to use a di erent
folding equivalence (i.e., more interesting generalizations). The most important
values are --eq=sp-smt and --eq=ip-smt. Under these two options, POD will
in fact not use a prede ned folding equivalence, but will rather use SMT solving
to synthesize one from the log and the independence relation:
{ Option sp-smt (sequence, or tness, preservation). The synthesized
folding equivalence will merge all events with equal label into one single
transition. It will also merge the presets of any two merged events. Options
--smt-{min,max}-places restrict the number of generated places.
{ Option ip-smt (independence preservation). In addition to preserving all
sequences of the log in the nal net, the synthesized equivalence will preserve
the concurrency expressed by the independence relation. Accepts roughly the
same options as sp-smt.
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Example</title>
      <p>Consider the net in Figure 2 (a), and consider the following log containing only
two of its executions (which however re all possible eight transitions):
While one could argue that this is a very incomplete log, we show that POD can
in fact reconstruct Figure 2 (a) using this log plus some independence relation.4</p>
      <p>We supply POD with the best independence relation that an expert would
provide. It coincides with the independence relation of the original net. For
instance, transitions 1 and 8 are independent, as one can never interfere (neither
make possible nor disable) the ring of the other. Similarly, 3 and 4, or even
1 and 2 are independent. Transitions, 4 and 5, or 1 and 3 are however dependent.
1
3
(a)
4
7
(e)
2
6
1
5
8
3
5
1
3
(b)
4
7
6
2
6
5
8
8
2
4</p>
      <p>When we run POD with these two inputs (log and independence relation),
it will internally construct the event structure depicted in Figure 2 (d). This
object tracks in a compact, concurrency-aware fashion the dependencies and
4 Go to http://lipn.fr/~rodriguez/exp/bpm15/ to reproduce this experiment.
con icts between the occurrences of transitions (events) of the net, as recorded
in the log. POD next transforms it into Figure 2 (e), an occurrence net denoting
exactly the same behaviour as the event structure. This net is a tting and
100% precise description of the log (all executions in it but not in the log are
provably executions of the original system). Observe that the two events labelled
by 3 and 5 (immediately after 1) are concurrent, as requested by the input
independence relation. Observe also that there is two occurrences of transition 6
and that this is somehow an unwinded version of the original net.</p>
      <p>Finally POD will fold this occurrence net and output the result, depicted
in Figure 2 (b), which is identical to the original except for the output places of 7
and 8. We asked POD to use an independence-preserving (option --eq=ip-smt)
folding, meaning that the result net should exhibit the same concurrency
information expressed in the input independence relation.</p>
      <p>
        By contrast, ILP Miner [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], which only uses the log, produced Figure 2 (c).
Observe that it was unable to infer the concurrency between 3 and 4 or 5 as
in all log traces the latter transitions occur always after 3. Interestingly, for the
same reason it was also unable to infer the direct causality between 3 and 6.
This is an artifact of using the theory of regions on incomplete logs, that derive
the most precise model which then fails at incorporating unseen behavior.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Signi cance for the BPM Field</title>
      <p>Process discovery is recognized as one of the key enablers of BPM. However,
problems like log incompleteness, as exempli ed above, or noise hamper
significantly the success of process discovery techniques in industrial scenarios. We
believe that the development of tools like POD, which let the user incorporate
knowledge that can be used to soundly cope with these challenges, can ll the
gap between academic tools and industrial acceptance of process discovery.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          : Process Mining - Discovery, Conformance and Enhancement of Business Processes. Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bergenthum</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Desel</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mauser</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lorenz</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Construction of process models from example runs</article-title>
          .
          <source>Tr. Petri Nets and Other Models of Conc</source>
          .
          <volume>2</volume>
          (
          <year>2009</year>
          )
          <volume>243</volume>
          {
          <fpage>259</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Ponce-de-Leon</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          , Rodr guez,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Carmona</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Heljanko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            ,
            <surname>Haar</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          :
          <article-title>Unfoldingbased process discovery</article-title>
          .
          <source>CoRR abs/1507</source>
          .02744 (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Nielsen</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Plotkin</surname>
            ,
            <given-names>G.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Winskel</surname>
          </string-name>
          , G.:
          <article-title>Petri nets, event structures and domains</article-title>
          ,
          <source>part I. Theoretical Computer Science</source>
          <volume>13</volume>
          (
          <year>1981</year>
          )
          <volume>85</volume>
          {
          <fpage>108</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. de Moura,
          <string-name>
            <given-names>L.M.</given-names>
            ,
            <surname>Bj</surname>
          </string-name>
          <string-name>
            <surname>rner</surname>
          </string-name>
          , N.:
          <article-title>Satis ability modulo theories: introduction and applications</article-title>
          .
          <source>Commun. ACM</source>
          <volume>54</volume>
          (
          <issue>9</issue>
          ) (
          <year>2011</year>
          )
          <volume>69</volume>
          {
          <fpage>77</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. de Moura,
          <string-name>
            <given-names>L.M.</given-names>
            ,
            <surname>Bj</surname>
          </string-name>
          <string-name>
            <surname>rner</surname>
          </string-name>
          , N.:
          <article-title>Z3: an e cient SMT solver</article-title>
          .
          <source>In: Tools and Algorithms for the Construction and Analysis of Systems</source>
          , 14th International Conference, TACAS. Volume
          <volume>4963</volume>
          of LNCS., Springer (
          <year>2008</year>
          )
          <volume>337</volume>
          {
          <fpage>340</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>van der Werf</surname>
            , J., van Dongen,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hurkens</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Serebrenik</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Process Discovery Using Integer Linear Programming</article-title>
          .
          <source>In: Proceedings of the 29th International Conference on Applications and Theory of Petri Nets</source>
          , Springer-Verlag (
          <year>2008</year>
          )
          <volume>368</volume>
          {
          <fpage>387</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>