<!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>A Tool for Generating Event Logs from Multi-Perspective Declare Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Vasyl Skydanienko</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Chiara Di Francescomarino</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Chiara Ghidini</string-name>
          <email>ghidinig@fbk.eu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fabrizio Maria Maggi</string-name>
          <email>f.m.maggig@ut.ee</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>FBK-IRST</institution>
          ,
          <addr-line>Trento</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Tartu</institution>
          ,
          <addr-line>Tartu</addr-line>
          ,
          <country country="EE">Estonia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The availability of event logs with speci c characteristics is nowadays one of the challenges of the process mining eld in order to be able to validate and evaluate the proposed techniques. Although some e ort has been done towards the generation of synthetic logs from imperative models, the generation of event logs starting from declarative models is still a very young research stream. Few works have focused on the generation of event logs taking into account the control ow perspective or focusing on a particular data attribute as the resources carrying out the activities. However, none of them, so far, has dealt with the generation of event logs from declarative models providing full support for data attributes. MP-Declare Log Generator is a tool for the generation of event logs starting from Multi-Perspective Declare models, a language for expressing declarative constraints on both control ow and data. The implementation of the tool is based on the Alloy model checker and is provided as a standalone desktop application.</p>
      </abstract>
      <kwd-group>
        <kwd>Multi-perspective declarative models</kwd>
        <kwd>Log generation</kwd>
        <kwd>Model checker</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>The growth of the techniques in the process mining eld and, in particular, of a
number of more and more accurate and e cient discovery algorithms has led to
an increasing need to evaluate and compare them, thus demanding for event logs
(and corresponding gold-standard models) able to demonstrate their correctness
and scalability. Although some real-life logs are publicly available, their number
is still quite limited. Most companies, indeed, are not willing to share their own
event logs, e.g., due to privacy issues or because they depend on third parties.
Moreover, real-life logs are not always the best choice for evaluating process
mining approaches, as they do not o er control over di erent parameters such
as the log size, the length of the traces or the amount of noise. Having control
over these characteristics is of the utmost importance to be able to evaluate a
process mining algorithm in a complete and predictable way, e.g., in order to be
able to understand how much robust is the mining algorithm with respect to the
noise or scalable with respect to the log size.</p>
      <p>Most of the modeling languages and tools for process mining mainly focus
on the control ow perspective of a process. However, in real life, activities
(and execution traces) may contain data, as for example who is executing the
activity, what type of resources was used or what amount was paid (e.g., in a
selling process). This makes evaluating process mining algorithms using real-life
logs even harder, because the amount and type of data cannot be changed, and
hence di erent aspects of the algorithm cannot be evaluated separately.</p>
      <p>
        While some work on the generation of event logs starting from imperative
models has been recently carried out [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], very few tools are available for
generating arti cial logs from declarative process models. Though some of them
support resources, none of them allows for using arbitrary constrained data and
no tools support the generation of logs from the full set of constraints provided
by Multi-Perspective Declare (MP-Declare), a language presented in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] for
expressing declarative constraints on both control ow and data. In this paper, we
aim at lling this gap by introducing MP-Declare Log Generator, a tool that
generates event logs from MP-Declare models by leveraging the Alloy model
checker.
      </p>
      <p>The generation of logs from declarative process models is not an easy task,
and it becomes even harder when providing data support. It indeed poses two
interesting challenges. First, since there are no well-de ned execution paths like
in imperative models, di erent constraints might in uence and contradict each
other, and some models do not even have valid nite traces. In these scenarios, it
might be really hard to nd traces for some models due to the combinatorics of
the problem, so it is important for the log generator to work e ciently. Second,
when generating a log, it is preferable to get diverse traces rather than similar
ones so that the log contains more useful information about possible process
execution patterns. MP-Declare Log Generator aims at facing both these
challenges by e ciently generating event logs in a reasonable amount of time and
guaranteeing a high heterogeneity of the generated traces.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Multi-Perspective Declare</title>
      <p>
        In this section, we illustrate MP-Declare, a Multi-Perspective version of Declare
introduced in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. This semantics is expressed in Metric First-Order Linear
Temporal Logic (MFOTL). We describe here the semantics informally and we refer
the interested reader to [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] for more details. To explain the semantics, we have
to introduce some preliminary notions.
      </p>
      <p>The rst concept we use here is the one of payload of an event. Consider, for
example, that the execution of an activity BookAccomodation (B) is recorded
in an event log and, after the execution of B at timestamp B, the attribute
HotelN ame and P rice have values P aradise and 90. In this case, we say that,
when B occurs, two special relations are valid event(B) and pB(P aradise; 90). In
the following, we identify event(B) with the event itself B and we call (P aradise;
90) the payload of B.</p>
      <p>The standard semantics of Declare is extended by requiring two additional
conditions on data, i.e., the activation condition 'a and the correlation condition
'c. As an example, we consider the response constraint \activity
BookAccomodation is always eventually followed by activity CollectTickets" having
BookAccomodation as activation and CollectTickets as target. The activation condition
is a relation over the attributes of the payload of the activation that must be
valid when the activation occurs. If the activation condition does not hold, the
constraint is not activated. The activation condition has the form pA(x) ^ ra(x),
meaning that when A occurs with payload x, the relation ra over x must hold.
For example, we can say that whenever BookAccomodation occurs, and the price
is lower than 50 euros, eventually the tickets are collected. In case
BookAccomodation occurs but the amount is higher than 50 euros, the constraint is not
activated. The correlation condition is a relation that must be valid when the
target occurs. It has the form pB(y) ^ rc(x; y), where rc is a relation over the
payloads of both A and B. For example, we can say that whenever
BookAccomodation occurs for a certain application ID, eventually BookTrasport must
follow for the same application ID.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Multi-Perspective Declare Log Generator</title>
      <p>
        Synthetic log generators are essential for di erent types of tasks. They allow the
evaluation of the correctness and scalability of process mining algorithms [
        <xref ref-type="bibr" rid="ref10 ref3 ref6">3,6,10</xref>
        ],
the translation between process modeling languages - Model to Model
Translation (M2MT) [
        <xref ref-type="bibr" rid="ref1 ref2">2,1</xref>
        ], the visualization of declarative processes [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Though log
generation tools for declarative process models are needed in all the above
scenarios, data support in the currently existing tools is not present or it does not
cover the entire semantics of MP-Declare.
      </p>
      <p>
        MP-Declare Log Generator aims at lling this gap by leveraging the Alloy
model checker [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. MP-Declare Log Generator takes as input an MP-Declare
model, de ned using an ad-hoc user-friendly syntax and follows the steps of the
procedure reported in Fig. 1.
      </p>
      <p>
        In the rst step, the MP-Declare model is parsed and separate statements for
activities, data, bindings of data to activities and constraints are collected. In
the second step - the preprocessing step - since Alloy does not support numeric
variables, intervals for numeric values are generated according to the constraints.
In the third step, the Alloy code corresponding to the MP-Declare model is
generated. After this, the Alloy analyzer is run. The analyzer generates the
CNF (conjunctive normal form) for the model, which is then solved using a SAT
(boolean satis ability problem) solver [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Once the Alloy solution is computed,
in the fth step, the trace can be extracted. Finally, in the post-processing stage,
the categorical intervals returned as solutions by Alloy for the numeric values
are replaced with actual numbers randomly selected within the intervals. We
then move to the next solution and repeat the last two steps until the required
amount of traces is collected. When all traces are generated, they are saved in a
XES (http://www.xes-standard.org/) le.
3.1 Implementation
MP-Declare Log Generator has been implemented as a standalone desktop
application.1 The tool allows the users to de ne an MP-Declare model by specifying
through a simple interface, activities, attributes (both categorical and
numerical), the range of values that the attributes can take and the constraints. Once
1 The tool can be downloaded from https://tinyurl.com/y9uqnfok. A video of this
demo is available at https://youtu.be/e4q_ThtY70E.
the model has been de ned, it can be used for the generation of the log. Several
options are available for the log generation. For example, it is possible to specify
minimum and maximum trace length, number of traces, to force the occurrence
of at least an activation of each constraint in each trace, to generate negative
traces. To this purpose, MP-Declare Log Generator provides three tabs: one
for the de nition of the activities, the de nition of the attributes and their
values and the association between activities and attributes; the second one for the
de nition of constraints; and the third one for the actual log generation. Fig. 2
shows a screenshot of the the rst tab of the tool in which it is possible to specify
activities and attributes.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Tool Maturity and Potential</title>
      <p>Although the tool is still at an initial stage of development and can be
improved with further features, it already o ers to users (and to the BPM
community) a very useful instrument for the generation of synthetic logs. In particular,
MP-Declare Log Generator has revealed to be mature enough to face the e
ciency and the heterogeneity challenges characterizing this type of tools (see
Section 1). Indeed, empirical results have shown that MP-Declare Log Generator
is able to deal with logs of 1000 traces with an execution time of the order
of seconds and that the diversity of the generated logs is comparable with the
diversity of real-life logs.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Ackermann</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          , Schonig,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Jablonski</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          :
          <article-title>Towards simulation- and mining-based translation of process models</article-title>
          .
          <source>In: EOMAS</source>
          . vol.
          <volume>272</volume>
          , pp.
          <volume>3</volume>
          {
          <issue>21</issue>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Ackermann</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          , Schonig,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Jablonski</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          :
          <article-title>Towards simulation- and mining-based translation of resource-aware process models</article-title>
          .
          <source>In: BPM Workshops</source>
          . vol.
          <volume>281</volume>
          , pp.
          <volume>359</volume>
          {
          <issue>371</issue>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Ackermann</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          , Schonig,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Jablonski</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          :
          <article-title>Simulation of multi-perspective declarative process models</article-title>
          . In: Dumas,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Fantinato</surname>
          </string-name>
          , M. (eds.) BPM Workshops. pp.
          <volume>61</volume>
          {
          <fpage>73</fpage>
          .
          <string-name>
            <surname>Cham</surname>
          </string-name>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Burattin</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>PLG2: multiperspective process randomization with online and o ine simulations</article-title>
          .
          <source>In: BPM Demo</source>
          . pp.
          <volume>1</volume>
          {
          <issue>6</issue>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Burattin</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maggi</surname>
            ,
            <given-names>F.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sperduti</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Conformance checking based on multiperspective declarative process models</article-title>
          .
          <source>Expert Syst. Appl</source>
          .
          <volume>65</volume>
          ,
          <issue>194</issue>
          {
          <fpage>211</fpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Di</given-names>
            <surname>Ciccio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Bernardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.L.</given-names>
            ,
            <surname>Cimitile</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Maggi</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.M.:</surname>
          </string-name>
          <article-title>Generating event logs through the simulation of declare models</article-title>
          .
          <source>In: EOMAS</source>
          . pp.
          <volume>20</volume>
          {
          <issue>36</issue>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Een</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          , Sorensson, N.:
          <article-title>An extensible SAT-solver</article-title>
          .
          <source>In: Theory and Applications of Satis ability Testing</source>
          . pp.
          <volume>502</volume>
          {
          <issue>518</issue>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Jackson</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Software Abstractions: Logic, Language, and Analysis</article-title>
          . The MIT Press (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Laurent</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bendraou</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baarir</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gervais</surname>
            ,
            <given-names>M.P.</given-names>
          </string-name>
          :
          <article-title>Planning for declarative processes</article-title>
          . pp.
          <volume>1126</volume>
          {
          <fpage>1133</fpage>
          .
          <string-name>
            <surname>SAC</surname>
          </string-name>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. Schonig,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Cabanillas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Jablonski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Mendling</surname>
          </string-name>
          , J.:
          <article-title>Mining the organisational perspective in agile business processes</article-title>
          .
          <source>In: Enterprise, Business-Process and Information Systems Modeling</source>
          . pp.
          <volume>37</volume>
          {
          <issue>52</issue>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>