<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">An Agent-Based Workflow Simulator</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><surname>Patrick</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">University of Koblenz</orgName>
								<address>
									<addrLine>Universitätsstr. 1</addrLine>
									<postCode>56072</postCode>
									<settlement>Koblenz</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><surname>Delfmann</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">University of Koblenz</orgName>
								<address>
									<addrLine>Universitätsstr. 1</addrLine>
									<postCode>56072</postCode>
									<settlement>Koblenz</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">An Agent-Based Workflow Simulator</title>
					</analytic>
					<monogr>
						<idno type="ISSN">1613-0073</idno>
					</monogr>
					<idno type="MD5">B1C656B536B0656B2C821559B93B9FC6</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2025-04-23T17:03+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Workflow Simulation</term>
					<term>Process Simulation</term>
					<term>Agent-Based Simulation</term>
					<term>Camunda</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><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 different scenarios.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Introduction</head><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 <ref type="bibr" target="#b0">[1]</ref>. 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 insufficient event log data or missing digitization of processes can be obstacles to PM adoption <ref type="bibr" target="#b1">[2]</ref>. This problem can be addressed through the use of synthetic log generators. Several mostly petri-net-based tools and frameworks have been proposed <ref type="bibr" target="#b2">[3,</ref><ref type="bibr" target="#b3">4,</ref><ref type="bibr" target="#b4">5,</ref><ref type="bibr" target="#b5">6]</ref>. Other approaches use the Business Process Model and Notation (BPMN) specification as the basis for the log generation. <ref type="bibr" target="#b6">[7,</ref><ref type="bibr" target="#b7">8,</ref><ref type="bibr" target="#b8">9,</ref><ref type="bibr" target="#b9">10,</ref><ref type="bibr" target="#b10">11]</ref>.</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 different application scenarios for the tool.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Proceedings of the Best BPM Dissertation Award, Doctoral Consortium, and Demonstrations &amp; Resources Forum co-located with 22nd International Conference on Business Process Management (BPM 2024), Krakow, Poland, September 1st to 6th, 2024.</head><p>Envelope amann@uni-koblenz.de (E. Amann); delfmann@uni-koblenz.de (P. Delfmann) Orcid 0009-0005-6241-6081 (E. Amann); 0000−0003−4441−0311 (P. Delfmann)</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">Tool Description</head><p>The proposed simulator is a java-based application that uses the MaDKit engine for the underlying simulation <ref type="bibr" target="#b11">[12]</ref>. 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<ref type="foot" target="#foot_0">1</ref> and a accompanying demonstration video<ref type="foot" target="#foot_1">2</ref> are publicly available.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1.">Configuration</head><p>Simulations are defined through a configuration file. This configuration is provided in the YAML <ref type="foot" target="#foot_2">3</ref> 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:</p><p>• 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. 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. 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 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 affects 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></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2.">Execution</head><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 <ref type="figure" target="#fig_0">1</ref> 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. 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></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Application Scenarios</head><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 different 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 find issues in the process execution or inefficiencies beforehand. Also, processes can be tested against outside influences by using different 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 sufficient 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></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">Conclusion and Outlook</head><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 affected 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></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1: Interactions of the simulator components with each other.</figDesc></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">https://uni-ko.de/workflow-simulator</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">https://uni-ko.de/workflow-simulator-demo-video</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_2">https://yaml.org/spec/</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Acknowledgments</head><p>Funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) -456415646, 432399058.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">M</forename><surname>Van Der Aalst</surname></persName>
		</author>
		<title level="m">Process mining: a 360 degree overview</title>
				<meeting>ess mining: a 360 degree overview</meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2022">2022</date>
			<biblScope unit="page" from="3" to="34" />
		</imprint>
	</monogr>
	<note>Process Mining Handbook</note>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Adoption, use and management of process mining in practice</title>
		<author>
			<persName><forename type="first">T</forename><surname>Grisold</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Mendling</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Otto</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Brocke</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Business Process Management Journal</title>
		<imprint>
			<biblScope unit="volume">27</biblScope>
			<biblScope unit="page" from="369" to="387" />
			<date type="published" when="2021">2021</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Cpn tools for editing, simulating, and analysing coloured petri nets</title>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">V</forename><surname>Ratzer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Wells</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">M</forename><surname>Lassen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Laursen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">F</forename><surname>Qvortrup</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">S</forename><surname>Stissing</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Westergaard</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Christensen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Jensen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International conference on application and theory of petri nets</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="450" to="462" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">An extensible editor and simulation engine for petri nets: Renew</title>
		<author>
			<persName><forename type="first">O</forename><surname>Kummer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Wienberg</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Duvigneau</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Schumacher</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Köhler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Moldt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Rölke</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Valk</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Applications and Theory of Petri Nets 2004: 25th International Conference, ICATPN 2004</title>
				<meeting><address><addrLine>Bologna, Italy</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2004">June 21-25, 2004. 2004</date>
			<biblScope unit="page" from="484" to="493" />
		</imprint>
	</monogr>
	<note>Proceedings 25</note>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Generating event logs with workloaddependent speeds from simulation models</title>
		<author>
			<persName><forename type="first">J</forename><surname>Nakatumba</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Westergaard</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">M</forename><surname>Van Der Aalst</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Advanced Information Systems Engineering</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2012">2012</date>
			<biblScope unit="page" from="383" to="397" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Sample: A semantic approach for multiperspective event log generation</title>
		<author>
			<persName><forename type="first">J</forename><surname>Grüger</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Geyer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Jilg</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Bergmann</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Process Mining</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2022">2022</date>
			<biblScope unit="page" from="328" to="340" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Process simulation support in bpm tools: The case of bpmn</title>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">P</forename><surname>Freitas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">L M</forename><surname>Pereira</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Business Sustainability. 2100 Projects</title>
				<imprint>
			<date type="published" when="2015">2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Simulation of bpmn process models: current bpm tools capabilities</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">L</forename><surname>Pereira</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">P</forename><surname>Freitas</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">New advances in information systems and technologies</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2016">2016</date>
			<biblScope unit="page" from="557" to="566" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Generating event logs for high-level process models</title>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">A</forename><surname>Mitsyuk</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><forename type="middle">S</forename><surname>Shugurov</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">A</forename><surname>Kalenkova</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">M</forename><surname>Van Der Aalst</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Simulation Modelling Practice and Theory</title>
		<imprint>
			<biblScope unit="volume">74</biblScope>
			<biblScope unit="page" from="1" to="16" />
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Design of an extensible bpmn process simulator</title>
		<author>
			<persName><forename type="first">L</forename><surname>Pufahl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">Y</forename><surname>Wong</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Weske</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Business Process Management Workshops: BPM 2017 International Workshops</title>
				<meeting><address><addrLine>Barcelona, Spain</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2017">September 10-11, 2017. 2018</date>
			<biblScope unit="volume">15</biblScope>
			<biblScope unit="page" from="782" to="795" />
		</imprint>
	</monogr>
	<note>Revised Papers</note>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Bpmn-based business process modeling and simulation</title>
		<author>
			<persName><forename type="first">P</forename><surname>Bocciarelli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>D'ambrogio</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Giglio</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Paglia</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">2019 Winter Simulation Conference (WSC), IEEE</title>
				<imprint>
			<date type="published" when="2019">2019</date>
			<biblScope unit="page" from="1439" to="1453" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">The madkit agent platform architecture</title>
		<author>
			<persName><forename type="first">O</forename><surname>Gutknecht</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Ferber</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Workshop on infrastructure for scalable multi-agent systems at the international conference on autonomous agents</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2000">2000</date>
			<biblScope unit="page" from="48" to="55" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
