<!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>Simod: A Tool for Automated Discovery of Business Process Simulation Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>University of Tartu</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tartu</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Estonia</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>manuel.camargo</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>marlon.dumasg@ut.ee</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Universidad de los Andes</institution>
          ,
          <addr-line>Bogota</addr-line>
          ,
          <country country="CO">Colombia</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>1972</year>
      </pub-date>
      <abstract>
        <p>Business process simulation is a widespread approach for quantitative analysis of business processes. However, the creation of accurate business process simulation models is a laborious and error-prone task, due to the numerous parameters that need to be carefully tuned. Additionally, the accuracy of a simulation model is inherently limited by the accuracy of the process model that is used as a starting point. This paper presents Simod: A tool to automatically generate simulation models from event logs. Simod uses an automated process discovery technique to extract a process model from an event log and then enhances this model with simulation parameters extracted via a combination of trace alignment, replay, and curve- tting techniques. The tool incorporates a Bayesian hyperparameter optimization technique to ne-tune the accuracy of the resulting simulation model.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Maturity</title>
      <p>
        This paper presents the rst version of Simod, which automatically creates
simulation models that can be executed by the BIMP [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] simulator. We used three
event logs (one synthetic and two real-life)3 to validate the process performance
measures computed by the automatically generated simulation models against
the actual performance measures observed in the original logs. The synthetic
log corresponds to a purchase-to-pay process. The real event logs come from
an Academic Credentials Recognition process and from a Manufacturing
Production process. Figure 1 presents the basic architecture and the steps for the
creation of a process simulation model.
Pre-processing. This stage extracts a BPMN model of the business process
from data, and guarantees its quality and coherence with the event-log.
      </p>
      <p>
        In the Control Flow Discovery step a BPMN model is mined using solely an
event-log in XES format as input. The mined model constitutes the basis of the
simulation model and describes activities, decision gateways and the way they are
related in the process. Simod integrates with the SplitMiner algorithm [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], which
allows extracting di erent structures by varying the parameters and . The
parameter is the percentile for frequency threshold and acts as lter over the
incoming and outgoing edges. The parameter is the parallelism threshold and
determines the quantity of concurrent relations between events to be captured.
This feature enables the exploration of multiple BPMN structures to nd the
3 Logs available at https://github.com/AdaptiveBProcess/Simod/tree/master/
inputs
most suitable in relation with data, something almost impossible to achieve in
the traditional way of create simulation models.
      </p>
      <p>
        In the Trace alignment step Simod measures the conformance between the
process model and the event log, and provides the option of managing the
nonconformances. Non-conformances are often caused by the search for balance
between precision and simplicity of process mining techniques which relies on
models that do not t with the 100% of the event log traces. Simod replays
the event log over the generated BPMN structure ltering the non-conformant
traces. Simod also handles these non-conformant traces through its removal,
replacement or repairing. Removal consists of deleting the non-conformant traces
from the event log, using only those that can be reproduced for later analysis.
Replacement consists in the change the non-conformant traces by the
conformant most similar ones. The Similarity between traces is determined using the
Damerau-Levinstein edit distance algorithm. Repair consists in making changes
to the event log so that every trace can be replayed by the BPMN model (which
is necessary to compute the branching probabilities of the decision gateways).
For this repairing phase, Simod uses a conformance checking tool [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] that
efciently computes optimal alignments between each trace in the log and the
closest corresponding trace produced by the process model.
      </p>
      <p>Processing. In this stage Simod extracts the simulation parameters and
assembles them with the process structure to create a BPS model. The extracted
set of parameters was chosen according to the most common ones required by
the existing commercial simulators. In this tool version, the simulation model
complies with the parameters required by the BIMP simulator.</p>
      <p>
        In the Parameters Extraction step all the simulation model parameters are
calculated. The resource pools involved in the process, which are extracted
using the algorithm of Song and Van der Aalst [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], are assigned to the di erent
activities according to the frequency of execution. Likewise, the de nition of
probability distributions (PDF) of inter-arrival times and activities durations is
carried out by tting a collection of possible distribution functions to the data
series and by selecting the PDF that yields the minimum standard error with
respect to the data series. Finally, the branching probabilities de nition is
calculated from the frequencies of traversal of the conditional branches computed
during the process replay.
      </p>
      <p>The Simulation Model Assembly step is then performed to merge the
simulation parameters and the BPMN model into a single data structure. Simod
creates simulation models for the BIMP simulator, which receives the same BPMN
structure with an additional XML data about all the simulation parameters.
Post-processing. In this phase Simod measures the similarity of the
generated simulation model in relation to the original event log. Simod also explores
di erent pre-processing options to nd the most optimal combination.</p>
      <p>The simulation model similarity assessment is carried out using the
DemerauLevinstain (DL) algorithm with a modi cation which includes a time penalty.</p>
      <p>The DL algorithm measures the distance between sequences in terms of the
number of editions necessary for one string character to be equal to another. This
basic version of the algorithm penalizes each time actions such as insertion,
deletion, substitution, and transposition are carried out. Thanks to the sequential
nature of event logs this version of the algorithm is commonly used to measure
the distance between task sequences. In Simod we add also a penalty in case of
found di erences in time between two activities of a trace allowing us to measure
not only the discrete variables, but also the continue ones. Simod executes the
simulation model and evaluates the similarity between the results of the
generated model and the real event log. This information is useful for the user, since
it allows him to decide whether or not to use the model for future analysis.</p>
      <p>The accuracy of the generated simulation model depends to a large extent
on the accuracy of the business process model used as a starting point, and this,
in turn, depends on the parameters used in the pre-processing phase. Simod
provides the option to use a Bayesian hyperparameter optimizer to e ciently
explore the search space composed of all possible combinations of pre-processing
options. In this way, Simod can discover a suitable combination of parameters
without requiring the user to manually test a large number of possible models.
3</p>
    </sec>
    <sec id="sec-2">
      <title>Simod Interface</title>
      <p>Simod was developed in Python 3.6 and o ers a user interface for Jupyter
Notebooks. The user interface allows to select an event-log in XES or MXML format
and to decide how to generate and analyze the model (see Figure 2). Simod
requires the event log to include start and complete time-stamps otherwise is
impossible to determine the activities duration. From the interface it is possible
to de ne the pre-processing parameters manually, or using the hyper-parameter
optimizer. In both cases, Simod provides information on the execution of the
discovery steps, and on the results obtained from the similarity evaluation.
4</p>
    </sec>
    <sec id="sec-3">
      <title>Screencast and Links</title>
      <p>A screencast is available at https://youtu.be/i9X5jwjuipk. This video
illustrates two typical scenarios. In the rst scenario the user explores manually the
di erent pre-processing options of the tool to generate a simulation model. In
the second scenario the user de nes a search space and the tool automatically
explore the combination looking for the optimal one.</p>
      <p>The source code, installation and usage tutorial, and example event logs can
be downloaded from https://github.com/AdaptiveBProcess/Simod.git.
5</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>An automated construction of business process simulation models allows the
e cient exploration of exceptional paths unknown by the process experts. The
tool presented in this paper enables this capability using as an only entry an
event log. Future work may include the use of multiple mining algorithms for
the extraction of simulation parameters.</p>
      <p>Acknowledgments This research is funded by the Estonian Research Council
(IUT20-55) and the European Research Council (Project PIX).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Augusto</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Conforti</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosa</surname>
            ,
            <given-names>M.L.</given-names>
          </string-name>
          :
          <article-title>Split miner: Discovering accurate and simple business process models from event logs</article-title>
          .
          <source>In: IEEE Data Mining</source>
          . pp.
          <volume>1</volume>
          {
          <fpage>10</fpage>
          . IEEE, New Orleans, LA, USA (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>BIMP: BIMP - The Business Process Simulator</surname>
          </string-name>
          (
          <year>2016</year>
          ), http://bimp.cs.ut.ee/
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>La</given-names>
            <surname>Rosa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Mendling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Reijers</surname>
          </string-name>
          ,
          <string-name>
            <surname>H.A.</surname>
          </string-name>
          :
          <source>Fundamentals of Business Process Management</source>
          . Springer, second edition edn. (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Martin</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Depaire</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Caris</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>The use of process mining in business process simulation model construction</article-title>
          .
          <source>Bus. Inf. Syst. Eng</source>
          .
          <volume>58</volume>
          (
          <issue>1</issue>
          ),
          <volume>73</volume>
          {
          <fpage>87</fpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Maruster</surname>
          </string-name>
          , L.,
          <string-name>
            <surname>van Beest</surname>
            ,
            <given-names>N.R.T.P.</given-names>
          </string-name>
          :
          <article-title>Redesigning business processes: a methodology based on simulation and process mining techniques</article-title>
          .
          <source>Knowl. Inf. Syst</source>
          .
          <volume>21</volume>
          (
          <issue>3</issue>
          ),
          <volume>267</volume>
          {
          <fpage>297</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. Rei ner, D.,
          <string-name>
            <surname>Conforti</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosa</surname>
            ,
            <given-names>M.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Armas-Cervantes</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Scalable conformance checking of business processes</article-title>
          .
          <source>In: Proc. of the OTM 2017 Conferences</source>
          . pp.
          <volume>607</volume>
          {
          <fpage>627</fpage>
          . Springer (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Rozinat</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mans</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Song</surname>
          </string-name>
          , M.,
          <string-name>
            <surname>van der Aalst</surname>
          </string-name>
          , W.:
          <article-title>Discovering simulation models</article-title>
          .
          <source>Inform. Syst</source>
          .
          <volume>34</volume>
          (
          <issue>3</issue>
          ),
          <volume>305</volume>
          {
          <fpage>327</fpage>
          (
          <year>2009</year>
          ), doi:10.1016/j.is.
          <year>2008</year>
          .
          <volume>09</volume>
          .002
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Song</surname>
          </string-name>
          , M.,
          <string-name>
            <surname>van der Aalst</surname>
          </string-name>
          , W.M.:
          <article-title>Towards comprehensive support for organizational mining</article-title>
          .
          <source>Decis. Support. Syst</source>
          .
          <volume>46</volume>
          (
          <issue>1</issue>
          ),
          <volume>300</volume>
          {
          <fpage>317</fpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>