<!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>Declarative Process Discovery with MINERful in ProM</article-title>
      </title-group>
      <contrib-group>
        <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>Mitchel H. M. Schouten</string-name>
          <email>m.h.m.schouten@student.tue.nl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Massimiliano de Leoni</string-name>
          <email>m.d.leoni@tue.nl</email>
          <xref ref-type="aff" rid="aff0">0</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>
        <aff id="aff0">
          <label>0</label>
          <institution>Eindhoven University of Technology</institution>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Vienna University of Economics and Business</institution>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Declarative process models consist of a set of constraints exerted over the execution of process activities. DECLARE is a declarative process modelling language that specifies a set of constraint templates along with their graphical notation. The automated discovery of DECLARE models aims at finding those constraints that are verified throughout a given event log. In this paper, we present a fast scalable tool for mining DECLARE models in ProM. Its usage is described with its application on a use case, based on a publicly available real-life benchmark.</p>
      </abstract>
      <kwd-group>
        <kwd>Process Mining</kwd>
        <kwd>Process Discovery</kwd>
        <kwd>Declarative Processes</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Process Mining [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] is the area of research embracing the automated discovery,
conformance checking and enhancement of business process models. All involved techniques
are evidence-based, as the input always comprises a collection of computer-recorded
information that track the executions of process instances, namely event logs. Indeed,
process discovery pertains to the inference of process models stemming from event
logs.
      </p>
      <p>
        Over the last years, the declarative process modelling approach has flanked the
classical procedural one [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Declarative approaches only depict the behavioural constraints
under which a process instance can unfold in its execution: as long as the constraints
are not violated, the process instance is considered as valid. The declarative approach
is a complementary strategy to the procedural models, which specify what are the next
allowed activities at each stage of the process execution. Declarative process models
are effective in a context of high flexibility for business processes [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The reason
intuitively lies in the fact that fewer constraints allow for more possible executions. On the
contrary, more flexibility implies a higher number of alternative paths to depict in the
procedural models.
      </p>
      <p>
        DECLARE [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] is a declarative process modelling language. It specifies an extensible
set of constraint templates that are parametric with respect to the process activities. A
list of constraint templates used in the remainder of the paper are listed in Table 1, where
a, b, and c are example activities. Examples of DECLARE constraints are Init (a), and
Response(b; c). The first one states that every instance must start with the execution
Copyright c 2015 for this paper by its authors. Copying permitted for private and academic purposes.
Constraints Description
Init(a) a should be the first activity in a trace
AtMostOne(a) a should be executed at most once
CoExistence(a; b) If one of the activities a or b is executed, the other one also has to be executed
Response(a; b) When a is executed, b has to be executed after a
AlternateResponse(a; b) When a is executed, b has to be executed after a and no other a can be executed in between
Precedence(a; b) b has to be preceded by a
AlternatePrecedence(a; b) b has to be preceded by a and another b cannot be executed between a and b
AlternateSuccession(a; b) Combination of AlternateResponse(a; b) and AlternatePrecedence(a; b)
ChainSuccession(a; b) a is immediately followed by b
NotChainSuccession(a; b) a is not allowed to be immediately followed by b
of activity a. The second constraint imposes that if activity b is performed, then c must
be performed eventually in the future. Init is named existence constraint template as
it constrains the execution of one activity in process instances. Response is named
relation constraint template instead, because it constrains the interplay of two activities.
Among the pair of constrained activities, there always are at least an activation and a
target. The activation is an event whose occurrence constrains the possibility of other
events (targets) to occur before or afterwards. For example, for the constraint “every
request is eventually acknowledged”, each request is an activation. This activation is
eventually associated with either a fulfilment or a violation, depending on whether or not
the activation is matched with a target event that satisfies the constraint. Using again the
example of requests that need acknowledgements, if the request occurs, this activation is
associated with a fulfilment if the acknowledgement event is later observed; otherwise,
the activation is associated with a violation. For Response (b; c), b is the activation and
c is the target. The full list of DECLARE constraint templates can be found in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        This paper reports on the implementation of MINERful, a technique to mine
DECLARE process models from an existing event log [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Compared with other existing
techniques, MINERful has shown the best scalability with respect to the input size, in
terms of number of traces, length of traces and activities of the process. Readers are
referred to[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] for more details about this comparison. In particular, the implementation
presented in this paper has been realised in ProM,3 an extensible framework that
provides support to develop and exploit a wide variety of process mining techniques in a
standardised environment. To use MINERful with ProM, it is necessary to download the
ProM Nightly build4 and, subsequently, install the DeclareMinerFul package through
the ProM’s Package Manager.
3 http://www.processmining.org/tools/prom
4 http://www.promtools.org/prom6/nightly
      </p>
      <p>Usage of the Tool on a Use Case
In this paper we will demonstrate the functionalities of MINERful using the publicly
available real-life event log Road Traffic Fine Management Process.5 The event log
records executions of instances of the process enacted in an Italian local police office
for managing fines for road traffic violations. It contains 150,370 traces and 561,470
events for 11 different process activities.
2.1</p>
    </sec>
    <sec id="sec-2">
      <title>Parameters</title>
      <p>The MINERful plug-in uses an event log as input. In the remainder, we will adopt the
following example event log: fha; b; a; ci ; ha; b; b; a; c; b; ai ; ha; c; ci ; ha; b; cig.
The application of the MINERful plug-in for the DECLARE-model discovery can be
customised through four parameters, namely:
Support. It is the number of fulfilments divided by either (i) the number of traces in
the log, in the case of existence constraints like Init (a), or (ii) the number of
occurrences of the activations (in the case of relation constraints like Response(b; c)). In
the example log, the support of Init (a) is 1:0, because all traces start with a, whereas
the support of Response(b; c) is 0:8, as 4 b’s out of 5 fulfil the constraint.
Confidence. It is the product of the support and the fraction of traces in the log where
either (i) the constrained activity occurs (existence constraints), or (ii) the activation
occurs (relation constraints). The confidence of Init (a) is 1:0 1:0 = 1:0 and the
confidence of Response(b; c) is 0:8 0:75 = 0:6, since b occurs in 3 traces out of 4.
Interest Factor. It is the product of confidence and the fraction of traces in the log
where either (i) the constrained activity occurs (existence constraints), or (ii) the
target occurs (relation constraints). The interest factor of Init (a) is 1:0 1:0 1:0 = 1:0,
and the interest factor of Response(b; c) is 0:8 0:75 1:0 = 0:6, since c occurs in all
traces.</p>
      <p>Skip Negative Constraints. When the process is characterised by parts with a rigid
structure, the discovered model may blow up in term of presence of negative
constraints. Therefore, analysts are provided with an option to not considering negative
constraints, thus increasing the readability of the discovered models.
2.2</p>
    </sec>
    <sec id="sec-3">
      <title>Output</title>
      <p>Initially, the MINERful plug-in was executed skipping the negative constraints and
using the following values for the other parameters: (i) support = 0:50, (ii)
confidence = 0:00, (iii) interest factor = 0:00. The resulting declarative process model can
be seen in Fig. 1.</p>
      <p>The output view consists of two panels. The panel on the left-hand side contains the
mined declarative process model. The user is free to relocate activities and constraints
to manually improve the readability. The panel on the right-hand side allows the user to
adjust the four parameters mentioned in Section 2.1 (see the area delimited by a black
5 http://dx.doi.org/10.4121/uuid:270fd440-1057-4fb9-89a9-b699b47990f5
rectangle in the figure). After the adjustment, the user can click on button Regenerate
Model to mine a new model with the new values set for those parameters.</p>
      <p>The model in Fig. 1 has been obtained by assigning value 0 to all parameters,
except for support. This configuration has produced a cluttered declarative process model
with many constraints, i.e. the model is probably overfitting the event log. The increase
of the value of any parameter would generate a model with fewer constraints, thus
probably reducing the overfitting problems and, also, improving the readability of the
declarative process model. Of course, an excessive increase of any parameter may have
a detrimental effect on the precision of the discovered model: the model may underfit
the event log, allowing for too much behaviour. The declarative process model shown
in Fig. 2 derives from the application of the following parameters: (i) support = 0:70,
(ii) confidence = 0:30, (iii) interest factor = 0:00. A screencast illustrating the
functioning of the MINERful plug-in is available at https://svn.win.tue.nl/repos/
prom/Documentation/DeclareMinerFul/screencast.mp4.
2.3</p>
    </sec>
    <sec id="sec-4">
      <title>Tool Maturity</title>
      <p>
        The process models were discovered using a laptop equipped with an Intel Core i3
with 4GB of RAM. With this modest hardware, the MINERful plug-in was able to
mine the model in less than 30 seconds using a real-size event log with 561,470 events
belonging to 150,370 traces. This indicates that the MINERful plug-in has reached a
large degree of maturity as it performs extremely well in terms of scalability. Also, the
plug-in is integrated with the entire repertoire of techniques that are already available in
ProM (see, e.g., [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]): the mined model can thus be later used for conformance checking,
bottleneck analysis, improvement, and more.
      </p>
      <p>Acknowledgements. The work of Dr. Di Ciccio and Dr. de Leoni has received
funding from the EU Seventh Framework Programme under grant agreement 318275 (GET
Service) and grant agreement 603993 (CORE), respectively.</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>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pesic</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>DecSerFlow: Towards a truly declarative service flow language</article-title>
          .
          <source>In: WS-FM</source>
          . pp.
          <fpage>1</fpage>
          -
          <lpage>23</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Di</given-names>
            <surname>Ciccio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Mecella</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          :
          <article-title>On the discovery of declarative control flows for artful processes</article-title>
          .
          <source>ACM Trans. Manage. Inf. Syst</source>
          .
          <volume>5</volume>
          (
          <issue>4</issue>
          ),
          <volume>24</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>24</lpage>
          :
          <fpage>37</fpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Maggi</surname>
            ,
            <given-names>F.M.:</given-names>
          </string-name>
          <article-title>Declarative process mining with the Declare component of ProM</article-title>
          .
          <source>In: BPM Demos. CEUR Workshop Proceedings</source>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Pichler</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weber</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zugal</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pinggera</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mendling</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reijers</surname>
            ,
            <given-names>H.A.</given-names>
          </string-name>
          :
          <article-title>Imperative versus declarative process modeling languages: An empirical investigation</article-title>
          .
          <source>In: BPM Workshops</source>
          . pp.
          <fpage>383</fpage>
          -
          <lpage>394</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>