<!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>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Amann</string-name>
          <email>amann@uni-koblenz.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Patrick</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Delfmann</string-name>
          <email>delfmann@uni-koblenz.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Workflow Simulation, Process Simulation, Agent-Based Simulation, Camunda</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Koblenz</institution>
          ,
          <addr-line>Universitätsstr. 1, 56072 Koblenz</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Event logs form the basis for many process mining activities. However, oftentimes appropriate event logs are not available, for researchers and practitioners. Synthetic log generation can provide a suitable alternative in some cases. In this paper we present a new approach to process log generation by presenting a tool which allows the creation of agent-based simulation environments in which processes can be executed. Our approach relies on the interaction of simulated agents with the Camunda workflow engine. Simulations can be built with a large number of configuration properties and are enhanced through the integration of context data. This allows users to simulate a vast number of diferent scenarios.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>CEUR
ceur-ws.org</p>
    </sec>
    <sec id="sec-2">
      <title>1. Introduction</title>
      <p>
        The field of process mining (PM) is an active and growing research domain. At the center of
all PM activities is the event log, containing all available information on the execution of a
selected process [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. However, obtaining suitable event logs can be a challenge for researchers,
as companies are often not willing to share their data. But also in practice insuficient event log
data or missing digitization of processes can be obstacles to PM adoption [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. This problem can
be addressed through the use of synthetic log generators. Several mostly petri-net-based tools
and frameworks have been proposed [
        <xref ref-type="bibr" rid="ref3 ref4 ref5 ref6">3, 4, 5, 6</xref>
        ]. Other approaches use the Business Process
Model and Notation (BPMN) specification as the basis for the log generation. [
        <xref ref-type="bibr" rid="ref10 ref11 ref7 ref8 ref9">7, 8, 9, 10, 11</xref>
        ].
      </p>
      <p>Our approach to process simulation relies on an agent-based simulation (ABS) of the
environment the process is run in. Instead of propagating tokens directly through the process model,
we simulate agents that interact with the process through a workflow management system.
Agents have their own predefined behavior and search for, claim and complete process tasks
correspondingly. Simulations can be further enhanced by including context data, which can be
configured to influence many of the simulation parameters, thus allowing for more complexity
and realism. Our goal is to enable high quality workflow simulations and to support a large
amount of diferent application scenarios for the tool.
2024.
CEUR
Workshop
Proceedings</p>
    </sec>
    <sec id="sec-3">
      <title>2. Tool Description</title>
      <p>
        The proposed simulator is a java-based application that uses the MaDKit engine for the
underlying simulation [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. MaDKit was chosen as the simulation engine because of its agent-group-role
model that coordinates the agents’ behavior. This model takes an organizational approach in
which the interaction of agents between each other is directed by the groups and roles they are
assigned to. Because processes are usually part of organizations with such groups and roles,
the configuration real life scenarios are well supported by the simulation engine.
      </p>
      <p>The simulation of the process execution is orchestrated through the interaction with the
Camunda workflow engine. Simulated agents interact with the workflow engine like real humans
would do. They try to claim tasks and complete them once they are done with them. These
interactions are facilitated through Camunda. Thus, the event log is created by the interaction
with the workflow system, just as it would be in a real-world setting. Any characteristic that can
be observed in the event log is there as a result of the agents’ interaction with their simulated
environment and the workflow engine. The tool 1 and a accompanying demonstration video2
are publicly available.</p>
      <sec id="sec-3-1">
        <title>2.1. Configuration</title>
        <p>Simulations are defined through a configuration file. This configuration is provided in the
YAML3 format. Depending on the goal the configuration can either be very detailed or undetailed
in which case default values are used to allow for the fast creation of a simulation. There are
seven main configuration elements:
• Simulation Configuration - One configuration file can contain several simulation
configurations. If deployed, each simulations will be executed simultaneously with the others. In
this configuration element base attributes such as the start and end dates and the time
increment per simulation tick are defined.
• Workers - Workers are agents that claim and complete tasks in the configured processes.</p>
        <p>Several worker configurations can be provided. Each worker configuration spawns a
defined amount of identical agents. They can be assigned a work schedule and specific
tasks to process.
• Processes - Process configurations include the BPMN file, which is automatically deployed
to the connected Camunda instance. Just like workers they can be assigned a schedule
which controls the times at which the process is ”active” and creates new process instances.</p>
        <p>Also, the interval at which process instances are started can be set.
• Tasks - For each task in the deployed processes the processing time can be set. Tasks are
referenced through the ID specified in the BPMN file.
• Process Variables - Any task completion by a worker can add variables to the process.</p>
        <p>These can, for example, be used to direct the sequence flow after an exclusive gateway.</p>
        <p>The supported data types include numeric, boolean, and string. Variables are either
1https://uni-ko.de/workflow-simulator
2https://uni-ko.de/workflow-simulator-demo-video
3https://yaml.org/spec/
randomly generated, or taken from context data. For the random value generation of
numeric values options are available to define the range and distribution.
• Schedules - Schedules can be configured for the assignment to workers and processes.</p>
        <p>Each schedule includes configurations for the days of the week and months. For each day
of the week the start time and an active duration can be defined. For each month inactive
days can be configured.
• Context - Context data is provided through a CSV file. The file must include a timestamp
for each entry and can be applied to workers, processes, tasks, process variables and
schedules to modify configured values such as a workers performance or the interval
at which new process instances are started. An example for the application of context
data could be the number of orders in an online shop that afects the number of started
processes, or health data, which influences the workers’ schedules to simulate an epidemic
among the them.</p>
        <p>A detailed description of all configuration values, as well as an example configuration can be
found in the project’s Git repository.</p>
      </sec>
      <sec id="sec-3-2">
        <title>2.2. Execution</title>
        <p>Because only the environment surrounding the process is simulated, with the process execution
being supported through an external workflow management system, several separate software
components are involved in the execution of the simulation. Figure 1 provides an overview
over the components and their interaction between each other. A full run of a simulation can
be separated into three distinct parts.</p>
        <p>JSON
Simulation Configuration</p>
        <p>Load configuration</p>
        <p>Search for open tasks</p>
        <p>Claim and complete tasks
Simulator</p>
        <p>Manage event data
Modify event data</p>
        <p>Camunda Database</p>
        <p>First, the configuration file must be created. Many configuration properties are assigned a
default value if left empty by the user to support the fast creation of new scenarios. Once a
suitable configuration is created, it can be deployed and executed.</p>
        <p>The actual running of the simulation is the second part. The processes and agents are created
as defined in the configuration and interact with their environment. During each simulation
step all agents perform the activity they are programmed to do. This can be, for example, the
processing of an assigned task, the search for a new task to perform, or relaxing outside of their
working hours. The simulation ends either by reaching the end date or a predefined number of
simulated process instances.</p>
        <p>Because the simulated time is much faster than the real time, the timestamps saved in the
Camunda event log are not conforming to the ones in the simulation. Therefore, in the last step
of the simulation, all timestamps pertaining to the simulated processes are modified. This is done
through the direct interaction with the Camunda database, as there are no API endpoints for
these operations. For this reason, the simulation cannot be used with SaaS Camunda instances,
but must be self-hosted.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>3. Application Scenarios</title>
      <p>There are several main application scenarios in which our tool could be used. An obvious one is
the generation of event logs for the testing of predictive process monitoring (PPM) applications.
Users can generate large logs for the training of models. As opposed to other synthetic log
generators our tool does not provide logs with specific, predefined characteristics, but ones that
conform to a predefined environment. Because the simulated agents mimic human behavior all
log features arise organically based on the simulation configuration.</p>
      <p>The second usage scenario can be the verification and testing of process models. Once
a simulation scenario is configured a process model can simulated. By comparing diferent
versions of a process model or altering the scenario configuration between simulations, insights
on the expected real-world performance of the process can be generated. This can help to
ifnd issues in the process execution or ineficiencies beforehand. Also, processes can be tested
against outside influences by using diferent context data sets.</p>
      <p>Lastly, the tool could be used to pre-train a PPM model in cases where a process’s event log
is too small for the application of PM. For example, if a new process is introduced, it can take
weeks or even months depending on the circumstances until a suficient number of instances
have been completed. By simulating the process beforehand, an arbitrary number of instances
can already be executed and thus enable the use of PPM tools at the moment the process is
introduced. However, this approach requires a deep understanding of the environment the
process is deployed in and all outside influences.</p>
    </sec>
    <sec id="sec-5">
      <title>4. Conclusion and Outlook</title>
      <p>Our tool presents a way to directly simulate processes in the Camunda workflow engine. The
agent-based simulation approach provides a new approach to the generation of realistic event
logs. There are several usage scenarios for the tool, even outside of the field of PPM. Still, more
testing needs to be done, especially with regard to the event log realism. We aim to evaluate the
tool through the comparison with real world logs and against conventional BPMN simulators.</p>
      <p>Also, there are more features which we want to integrate in the future development. First and
foremost, the ability to use the simulator with any BPMN process. At the moment processes are
limited to using elements which are not afected by the processing time such as timer events.
These elements can currently distort the simulation because of the mismatch between the
simulated and the real time. We plan on addressing this issue in future releases. Additionally,
we plan on providing a user interface for the creation, monitoring and analysis of simulations
to improve the tool’s usability and accessibility to users without programming knowledge.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>Funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) –
456415646, 432399058.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>W. M. van der Aalst</surname>
          </string-name>
          ,
          <article-title>Process mining: a 360 degree overview</article-title>
          , in: Process Mining Handbook, Springer,
          <year>2022</year>
          , pp.
          <fpage>3</fpage>
          -
          <lpage>34</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>T.</given-names>
            <surname>Grisold</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mendling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Otto</surname>
          </string-name>
          , J. vom Brocke,
          <article-title>Adoption, use and management of process mining in practice</article-title>
          ,
          <source>Business Process Management Journal</source>
          <volume>27</volume>
          (
          <year>2021</year>
          )
          <fpage>369</fpage>
          -
          <lpage>387</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>A. V.</given-names>
            <surname>Ratzer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Wells</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. M.</given-names>
            <surname>Lassen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Laursen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Qvortrup</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. S.</given-names>
            <surname>Stissing</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Westergaard</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Christensen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Jensen</surname>
          </string-name>
          ,
          <article-title>Cpn tools for editing, simulating, and analysing coloured petri nets</article-title>
          ,
          <source>in: International conference on application and theory of petri nets</source>
          , Springer,
          <year>2003</year>
          , pp.
          <fpage>450</fpage>
          -
          <lpage>462</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>O.</given-names>
            <surname>Kummer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Wienberg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Duvigneau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Schumacher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Köhler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Moldt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Rölke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Valk</surname>
          </string-name>
          ,
          <article-title>An extensible editor and simulation engine for petri nets: Renew</article-title>
          ,
          <source>in: Applications and Theory of Petri Nets</source>
          <year>2004</year>
          : 25th International Conference,
          <string-name>
            <surname>ICATPN</surname>
          </string-name>
          <year>2004</year>
          , Bologna, Italy, June 21-25,
          <year>2004</year>
          . Proceedings 25, Springer,
          <year>2004</year>
          , pp.
          <fpage>484</fpage>
          -
          <lpage>493</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J.</given-names>
            <surname>Nakatumba</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Westergaard</surname>
          </string-name>
          , W. M. van der Aalst,
          <article-title>Generating event logs with workloaddependent speeds from simulation models</article-title>
          ,
          <source>in: International Conference on Advanced Information Systems Engineering</source>
          , Springer,
          <year>2012</year>
          , pp.
          <fpage>383</fpage>
          -
          <lpage>397</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>J.</given-names>
            <surname>Grüger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Geyer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Jilg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bergmann</surname>
          </string-name>
          ,
          <article-title>Sample: A semantic approach for multiperspective event log generation</article-title>
          ,
          <source>in: International Conference on Process Mining</source>
          , Springer,
          <year>2022</year>
          , pp.
          <fpage>328</fpage>
          -
          <lpage>340</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A. P.</given-names>
            <surname>Freitas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. L. M.</given-names>
            <surname>Pereira</surname>
          </string-name>
          ,
          <article-title>Process simulation support in bpm tools: The case of bpmn</article-title>
          ,
          <source>in: International Conference on Business Sustainability. 2100 Projects</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>J. L.</given-names>
            <surname>Pereira</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. P.</given-names>
            <surname>Freitas</surname>
          </string-name>
          ,
          <article-title>Simulation of bpmn process models: current bpm tools capabilities</article-title>
          ,
          <source>in: New advances in information systems and technologies</source>
          , Springer,
          <year>2016</year>
          , pp.
          <fpage>557</fpage>
          -
          <lpage>566</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A. A.</given-names>
            <surname>Mitsyuk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I. S.</given-names>
            <surname>Shugurov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. A.</given-names>
            <surname>Kalenkova</surname>
          </string-name>
          , W. M. van der Aalst,
          <article-title>Generating event logs for high-level process models</article-title>
          ,
          <source>Simulation Modelling Practice and Theory</source>
          <volume>74</volume>
          (
          <year>2017</year>
          )
          <fpage>1</fpage>
          -
          <lpage>16</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>L.</given-names>
            <surname>Pufahl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. Y.</given-names>
            <surname>Wong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Weske</surname>
          </string-name>
          ,
          <article-title>Design of an extensible bpmn process simulator</article-title>
          , in: Business Process Management Workshops:
          <article-title>BPM 2017 International Workshops</article-title>
          , Barcelona, Spain,
          <source>September 10-11</source>
          ,
          <year>2017</year>
          ,
          <source>Revised Papers 15</source>
          , Springer,
          <year>2018</year>
          , pp.
          <fpage>782</fpage>
          -
          <lpage>795</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>P.</given-names>
            <surname>Bocciarelli</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. D'Ambrogio</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Giglio</surname>
          </string-name>
          , E. Paglia,
          <article-title>Bpmn-based business process modeling and simulation</article-title>
          ,
          <source>in: 2019 Winter Simulation Conference (WSC)</source>
          , IEEE,
          <year>2019</year>
          , pp.
          <fpage>1439</fpage>
          -
          <lpage>1453</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>O.</given-names>
            <surname>Gutknecht</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. Ferber,</surname>
          </string-name>
          <article-title>The madkit agent platform architecture</article-title>
          ,
          <source>in: Workshop on infrastructure for scalable multi-agent systems at the international conference on autonomous agents</source>
          , Springer,
          <year>2000</year>
          , pp.
          <fpage>48</fpage>
          -
          <lpage>55</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>