Agent-Based Business Process Simulation A Primer With Applications and Examples
Agent-Based Business Process Simulation A Primer With Applications and Examples
Sulis
Kuldar Taveter
Agent-Based
Business
Process
Simulation
A Primer with Applications and
Examples
Agent-Based Business Process Simulation
Emilio Sulis • Kuldar Taveter
Agent-Based
Business Process Simulation
A Primer with Applications and Examples
Emilio Sulis Kuldar Taveter
Department of Computer Science Institute of Computer Science
University of Torino University of Tartu
Torino, Italy Tartu, Estonia
This Springer imprint is published by the registered company Springer Nature Switzerland AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
to Manuela, Beatrice, Giorgia, Jacopo -
Emilio
to my family - Kuldar
Foreword by Pietro Terna
1 https://blackboardlist.com/feynman/.
vii
viii Foreword by Pietro Terna
when the space of the solutions is enormous. We can also view them to explore
the innovative and challenging territories of the inverse generative social science,
where we look for models to produce the structures under investigation.
With theoretical insights and practical examples, the book of Emilio Sulis and
Kuldar Taveter represents both a manual and a research book, which deserves great
attention and success.
ix
x Foreword by Marlon Dumas
The main subject of the book is “agent-based business process simulation,” a topic
that brings together three different perspectives. First of all, the book is concerned
with organizational management by means of business process modeling. This
entails modeling and analyzing the goals of an organization and the activities
to be performed to achieve the goals. Another important aspect of analyzing
business processes is supporting decisions to be made by stakeholders within
the processes. This aspect is concerned with supporting decisions to be made by
organizations of different kinds: from governments to companies, corporations, and
nongovernmental organizations.
The second perspective addressed by this book is simulation as a way of
investigating the behavior of current and future activities of a business process
mainly by means of scenario analysis. The book discusses both a running example
and different other models to help the readers understand how the evolution of
a business process can be supported by simulation so that the daily work of the
stakeholders would be improved.
Third, we exploit the conceptual modeling metaphor of agents to address inter-
actions within complex sociotechnical systems and improve their understandability
for stakeholders. We also utilize the notion of agent from artificial intelligence as
a concept on which are based many useful algorithms and techniques of business
process simulation and management.
In our view, agent-based modeling and simulation is a way to capture the behav-
ior of complex institutions and sociotechnical systems. Agent-based simulation
captures the behavior of a system in a bottom-up manner. The behavioral rules
of individual component “agents” are defined and then used to create an agent-
based model. The purpose of the model is to reproduce the behavior of the complete
system as a whole. The result is a bottom-up approach to modeling and simulation
that allows organizations to convert their knowledge of individual behaviors into an
understanding of the overall system-level behavior. Our book combines this kind
of bottom-up modeling with a top-down approach of agent-oriented modeling that
proceeds from modeling the goals, quality goals, and key performance indicators
of an organization for decision support. Organizations rendered by complementary
xi
xii Preface
This book draws from the work of many researchers who provided suggestions,
inspiration, moments of confrontation, and in-depth analysis with respect to the
specific parts of their competence. The actual contents of the book are entirely our
responsibility, but we must thank all the people who, consciously or unconsciously,
have been essential, and without whom a book like this would never exist.
A special thanks goes to Pietro Terna, who has pushed forward a non-mainstream
vision of scientific research, in favor of interdisciplinarity and dissemination of
knowledge. An important role was also played by the projects carried out by the
Computer Science Department of the University of Turin. First of all, thanks to
Guido Boella with his strength and design capacity, and to Antonio Di Leva, with
his experience in the field of process analysis and simulations. Thanks also to
several colleagues from the University of Turin, including Luigi Di Caro, Matteo
Baldoni, Roberto Micalizio, Sara Capecchi, Lavinia Tagliabue, Barbara Demo,
Stefano Tedeschi, Ilaria Angela Amantea, and master students Eugenio Liso and
Alessandro Marino.
Profitable hints were also derived from the discussions with the researchers
Chiara Di Francescomarino, Chiara Ghidini, Fabrizio Maria Maggi, Carlos
Fernandez-Llatas, and Niels Martin. Valuable suggestions for the direction of
the work also come from the discussions during a visiting period at the School
of Computing and Information Systems, Faculty of Engineering and Information
Technology, at the University of Melbourne. Thanks to Marcello La Rosa, Adriano
Augusto, Farbod Taymouri, Abel Armas Cervantes, Artem Polyvyanyy, and Anna
Kalenkova.
Last but not least, the authors of the book have special thanks for the valuable
contribution of Leon Sterling with his suggestions in the early stages of the work.
Emilio Sulis’s research work in this publication has been partially funded by the
“Circular Health for Industry” project under the call “Artificial Intelligence, man
and society” of “Compagnia di San Paolo” of Torino, by the research grant “Call for
xiii
xiv Acknowledgments
xv
xvi Contents
xix
xx Acronyms
1.1 Motivation
There are many motivations for this work, but all of them can be traced to the
profound recent changes impacting the world of work and organizations. Nowadays,
business processes are increasingly interesting because of their impact on business
performance. New technologies can refine business processes, having major reper-
cussions on daily work, productivity, and quality improvement. On the one hand,
recent relevant topics in organizational studies concern many different research
areas. In recent years, the discipline focused on process-oriented approaches, which
aims to extract knowledge about organization’s business processes based on event
data recorded in business information systems. On the other hand, modeling and
simulation are typical methodologies adopted in organizational studies. Research is
increasingly confronted with digitization and the need to investigate productivity
improvements, automation, normative compliance, and optimization, including
through the adoption of industry standards. These new challenges also require the
exploration of innovative research practices.
The main motivation for this book is to systematize and explore an agent-oriented
approach in the business and management research. Specifically, we propose
the adoption of agent-based business process modeling and simulation to study
the intersection between the disciplines of management, organizational modeling,
and computational simulation. The main idea is to consider an agent-oriented
perspective of computational simulation in addition to more standard approaches,
Fig. 1.1 The main keywords and topics including simulation, business process management, and
agent in agent-based business process simulation, with the intersection of three research areas
such as discrete-event simulation (DES) and system dynamics (SD). The broader
context of application includes data science research, risk management, Internet-of-
things, smart cities, and so on.
Research Trends To introduce the topics of the book, we propose an analysis which
covers the terms included by the titles of research papers indexed on the Google
Scholar database by searching for the following terms: agent-based, business
process, and simulation. Figure 1.1 summarizes in a word cloud the main topics
of interest that result as frequently used terms in recent research papers.
The adoption of an agent-oriented approach to business processes offers three
major opportunities: providing simulation-based decision-support, performing
holistic business process modeling, and utilizing the modeling abstraction of agent.
We will next dwell on each of these opportunities because they also constitute some
reasons for writing this book.
First, business process analysis and simulation are becoming more accessible and
more easily understandable for a wider audience. More recently, a growing interest
in business process analysis has focused on the adoption of innovative information
systems that can track business activities. A lexical note: in this book, we will
use interchangeably the terms task and activity, although the Object Management
1.1 Motivation 5
Group (OMG)1 uses mainly the term task. A common practice in some areas
of business organization research considers to employ the term task for atomic
operations and the term activity for a set of tasks. Alternatively, also the term action
is used to denote atomic operations. As this is not a general rule, here, we prefer
to adopt both terms that have a similar meaning without distinguishing between
them. From the business process perspective, the focus has shifted to the ability to
create algorithms that can discover sequences of business activities from logs of real
events, as is further explained in Sect. 7.1. The Process Mining Manifesto [18] is a
relevant starting point to address this kind of approaches. Against this background,
simulation efforts have so far been primarily concerned with visualizing business
processes based on business process models rather than with systematic ways of
providing simulation-based decision support. In this context, employing an agent-
oriented approach is highly relevant and provides a better understanding of concepts
from management studies.
A second reason lies in the modeling perspective. For business process manage-
ment, modeling is a necessary and preliminary step that can capture and visualize
the flow of activities of a company, governmental institution, non-governmental
organization, or an international organization. Typical business process management
approaches have adopted discrete event simulation, with processes modeled using
formal languages. This kind of formal approach requires the scrupulous modeling of
each activity included by the business process from the start event until the end event
of the process. Differently, agent-oriented approach focuses on the business process
as a whole rather its individual constituent activities. Agent-oriented approach
includes stochastic simulation that enables to mimic business activities in an
artificial context very similar to the real situation. In addition, we study how to
simulate the knowledge and resources of an organization and their utilization by
different business activities. Our overall goal here is to improve the understanding of
the workflow, as well as perform scenario analysis for future changes by simulating
possible further improvements in the current business process.
Third, we strongly believe in the relevance of a method of analysis involving
the idea of agent, which is a classical computer science term. This is a very
powerful concept, but has recently been somewhat neglected after its decade-long
heyday in the early 2000s, at the previous hype of artificial intelligence (AI) studies.
Despite that, the agent concept remains one of the most popular notions in computer
science, as can be seen from Google Trends detailed in Fig. 1.2. In particular,
many techniques for agent-based simulation have been developed, such as search
algorithms to generate a solution that explores the problem space, or a path from
the initial state, as well as learning approaches like reinforcement learning. From
the modeling perspective, agent is a powerful abstraction that helps capture and
represent organizational and psychological issues, in addition to technical ones.
From the organizational perspective, the notion of agent helps model and simulate
how a complex business process delivers the product or service needed by the
1 https://www.omg.org/.
6 1 Introducing Agent-Based Simulation for the Business Processes
100
75
50
25
Fig. 1.2 Trends of topics in computer science based on the popularity of specific searches in
Google Trends
customers. For example, the second author has participated in a research and
development project, where a complex business process of business-to-business
electronic commerce was modelled and simulated in an agent-oriented way. From
the psychological perspective, the modeling abstraction of agent helps capture how
humans behave within a complex sociotechnical system. For example, Boeing has
funded research of designing and developing an agent-based simulation of how
psychological profiles of airline dispatchers affect their behaviors within an Airline
Operations Control Center. By this book, we aim to demonstrate how agent-oriented
solutions can be very intuitive, easy to apply, and easy to understand for stakeholders
such as practitioners or professionals, business analysts, and project managers.
Finally, another motivation for writing this book is our interest in bringing
together for educational purposes the major findings of the three motivations
outlined above. In our opinion, there is a need to disseminate current findings
in management science to increase the popularity of terms, concepts, ideas, and
algorithms of business process analysis, modeling, and simulation. Moreover, we
believe that there is an opportunity to familiarize newcomers and professionals
in areas other than computer science by adopting an agent-oriented approach
to business process modeling and simulation. In this regard, this book proposes
the adoption of an easy-to-use free and open-source software (FOSS) platform
for developing multi-agent systems—the NetLogo tool. This is currently one of
the most popular agent simulation platforms, which has been widely adopted in
different disciplines due to its versatility and usability.
In the following section, we will introduce a general framework describing how
the proposed agent-oriented modeling and simulation approach can be applied to
business process analysis and simulation.
1.2 A General Framework 7
Fig. 1.3 The interactions between agent-based modeling and business process management
adopt for immediate use. This is the case with NetLogo, the platform promoted and
used in this book for agent-based business process simulation.
Why NetLogo?
A very typical tool for agent-based simulation is NetLogo,2 which is currently used
all over the world for several reasons. One reason for its success is the feature of
animation that also includes optional graphical controls and displays [12]. Another
success factor is the inclusion of its own programming language, which is easier
to use than Java or C. NetLogo reflects its heritage as an educational tool, since its
primary design goal has clearly been ease of use. Its programming language includes
many high-level structures and primitives that greatly reduce programming effort
and is complemented by extensive documentation. The language contains many
but not all of the control and structuring capabilities of a standard programming
language. One can also clearly see that NetLogo has been designed with a specific
type of model in mind, consisting of mobile agents acting simultaneously on a grid
space with behaviors dominated by local interactions on short timescales. The same
feature is also the source of perhaps the biggest drawback of NetLogo: its lack
of support for explicit exchange of messages between the agents. However, this
missing feature can be compensated by other means in NetLogo. We can conclude
that NetLogo is by far the most user-friendly tool for agent-based simulation in
its look and documentation [12]. In comparison with other platforms, such as
RePast [10], SWARM [8], or the new and promising GAMA platform [17], NetLogo
is the most suitable one for educational projects in simulation mostly because of
its programming language for coding agent-based simulation models. Therefore,
it is easy and fast to build a model in NetLogo, as it is not necessary to have
good skills in object-oriented programming languages like Java or C#, which is the
case with the powerful simulation tool RePast. Compared to the SWARM platform,
NetLogo can be easily configured and can be set up to run a model in just a few
minutes [13]. NetLogo is therefore a very lightweight platform but also provides
a set of extensions [15]. Moreover, NetLogo provides a free extension API for
any programmer that may need to extend the functionalities of the platform. As
is described in Sect. 9.3, we exploit this option to automatically import event logs.
In addition, NetLogo includes tools for fast building a user-friendly graphical unit
interface (GUI) using the available set of user interface components, such as buttons,
sliders, text boxes, and so forth.
To summarize, some distinguishing features of NetLogo are:
• the capability of managing a collection of instances of a class of agents
(traditionally named turtles as an inheritance from the Logo3 language);4
• direct graphical representation of the agents’ world;
2 https://ccl.northwestern.edu/netlogo/.
3 https://el.media.mit.edu/logo-foundation/.
4 Due to the original purpose of Logo to program robots based on Grey Walters tortoises or turtles,
• the ask construct, to execute the agents’ procedures (each agent will take its turn
in a random order);
• its openness, which enables to write general-purpose code with NetLogo, as well
as connect programs written in NetLogo to those developed in R or Python, or
add new extensions written in Java or Scala.
A NetLogo model can also take advantage of NetLogo’s 3D graphical support.
As we will see in the rest of the book, this allows, for example, to build in one step
both the environment and the graph representing the agents’ movements within it.
This tool will be introduced in Chap. 4.
The book is self-contained, as it enables to learn how to use the tool and apply it in
a practical way to the topic of business processes within or between organizations.
For example, the book describes the agent-based models and simulations of
business processes in different areas, e.g., ticket selling machine simulation; hospital
emergency department; operations and queues; XES, BPMN, and Petri net import;
reinforcement learning and genetic algorithms; process extraction and analysis; and
network analysis.
Each program is presented with different granularity, mostly by describing the
salient parts of the code, the main passages of the programming strategies, the output
area of the program, and the diagrams or graphs of the results. To better distinguish
the code in the book, we have adopted different character types and indentation, as
in the following “hello world” example:
to greeting
ask turtles [ print "Hello World" ]
end
All the applications discussed in the book and several other resources are freely
available online at http://www.bpmagents.org.
The book starts with two introductory chapters in Part I. Chapter 2 provides a brief
introduction to main BPM concepts. By introducing the business process lifecycle,
this chapter describes the analysis of an organization by means of modeling and
simulation, business process performance indicators, and recent efforts toward
with Joe Becker, co-founder of the Unicode project, who was a MIT student when Seymour Papert
was developing Logo).
References 11
References
1. Allan, R.J., et al.: Survey of Agent Based Modelling and Simulation Tools. Science &
Technology Facilities Council, New York (2010)
2. AnyLogic: Simulation modeling software tools & solutions. http://www.anylogic.com.
Accessed 21 Jan 2022
3. Arena simulation software. https://www.rockwellautomation.com/it-it/products/software/
arena-simulation.html. Accessed 21 Jan 2022
4. Bimp simulator. http://bimp.cs.ut.ee/simulator. Accessed 21 June 2020
5. Gajsek, B., Marolt, J., Rupnik, B., Lerher, T., Sternad, M.: Using maturity model and discrete-
event simulation for industry 4.0 implementation. Int. J. Simul. Model. 18(3), 488–499 (2019).
https://doi.org/10.2507/IJSIMM18(3)489
6. iGrafx process. https://www.igrafx.com/products/process/. Accessed 21 Jan 2022
7. Kärgenberg, V.: Online Business Process Model Simulator. Ph.D. Thesis, University of Tartu
(2012)
8. Minar, N., Burkhart, R., Langton, C., Askenazi, M., et al.: The swarm simulation system: a
toolkit for building multi-agent simulations (1996)
9. North, M., Macal, C.: Managing Business Complexity: Discovering Strategic Solutions With
Agent-Based Modeling and Simulation. Oxford University Press, Oxford (2007). https://doi.
org/10.1093/acprof:oso/9780195172119.001.0001
10. North, M.J., Collier, N.T., Ozik, J., Tatara, E.R., Macal, C.M., Bragen, M., Sydelko, P.:
Complex adaptive systems modeling with repast simphony. Complex Adapt. Syst. Model. 1(1),
1–26 (2013). https://doi.org/10.1186/2194-3206-1-3
11. Object Management Group (OMG): Business Process Model and Notation (BPMN), Version
2.0.2. https://www.omg.org/spec/BPMN/2.0.2/PDF (2014). Accessed 30 April 2021
12. Railsback, S.F., Lytinen, S.L., Jackson, S.K.: Agent-based simulation platforms: review and
development recommendations. Simulation 82(9), 609–623 (2006). https://doi.org/10.1177/
0037549706073695
13. Robertson, D.: Agent-based modeling toolkits NetLogo, repast, and swarm. Acad. Manag.
Learn. Educ. 4, 524–527 (2005). https://doi.org/10.5465/AMLE.2005.19086798
12 1 Introducing Agent-Based Simulation for the Business Processes
14. Rosenthal, K., Ternes, B., Strecker, S.: Business process simulation on procedural graphical
process models. Bus. Inform. Syst. Eng. 63, 569–602 (2021). https://doi.org/10.1007/s12599-
021-00690-3
15. Salgado, M., Gilbert, N.: Agent Based Modelling, pp. 247–265. Brill Sense (2013). https://doi.
org/10.1007/978-94-6209-404-8_12
16. Simul8. https://www.simul8.com. Accessed 21 Jan 2022
17. Taillandier, P., Gaudou, B., Grignard, A., Huynh, Q.N., Marilleau, N., Caillou, P., Philippon,
D., Drogoul, A.: Building, composing and experimenting complex spatial models with the
GAMA platform. GeoInformatica 23(2), 299–322 (2019). https://doi.org/10.1007/s10707-
018-00339-6
18. van der Aalst, W.M.P., Adriansyah, A., De Medeiros, A.K.A., Arcieri, F., Baier, T., Blickle, T.,
Bose, J.C., Van Den Brand, P., Brandtjen, R., Buijs, J., et al.: Process mining manifesto. In:
International conference on business process management, pp. 169–194. Springer (2011)
Chapter 2
The Analysis of Business Processes
Studies of organizations are particularly relevant because of their great impact on the
functioning of economic and social systems. While the earliest analyses emerged in
the context of the industrial revolution of the nineteenth century [65], the spread
of computers and the adoption of the Internet in the last years of the twentieth
century led to a large-scale application of highly innovative tools and techniques.
This kind of Fourth Industrial Revolution, also called Industry 4.0 [28], is rooted in
the technological shift that pushes forward a renewed focus on the management
perspective, largely concerned with understanding business processes, with the
ultimate goal of improving quality, decreasing costs, and increasing revenues.
In this context, it is relevant to introduce the main topics of the BPM discipline,
focusing more on concepts such as business analysis, performance metrics, and
business process simulation. Any management project typically includes a modeling
effort to represent the flow of the organization’s major tasks that are performed
by the workers of the organization. In conjunction with modeling, additional
opportunities are offered by recent advances in computational simulation combined
with the analysis of data consisting of process logs. With the new means, a
The focus of organization studies has shifted more and more to the concept of
business process. The Workflow Management Coalition provided a classic definition
of the concept in the late 1990s: “A set of one or more linked procedures or
activities which collectively realize a business objective or policy goal, normally
within the context of an organizational structure defining functional roles and
relationships” [64]. This definition is still very relevant today because, as we
will show in Chap. 5, each business process has its main goal or purpose that
can be elaborated into subgoals. Also, goals of business processes are achieved
by performers of different organizational roles. More recently, one of the most
widely adopted definitions of a business process states that a business process is
“a collection of inter-related events, activities and decision points that involve a
number of actors and objects, and that collectively lead to an outcome that is of
value to at least one customer” [20].
The beginning of each instance of a business process corresponds to the
occurrence of an event, which usually initiates many different activities within an
organization. To provide three practical examples, the starting point may be the
arrival of an order, the entry of a patient into a health service, or the intention
to purchase new products with a purchase order. The flow of different activities
may involve one or more departments of the same organization, until the business
objective is fully achieved. The workflow specifies a certain pattern of activities,
enabled by the utilization of resources, such as technology, equipment, materials,
information systems, and machinery. The conclusion of a business process can
manifest itself in one or more final events of the process. Referring to the three
examples provided above, the ordering process may end with achieving the business
goal of the process—sending out a purchase order. Alternatively, during the ordering
process, a customer may interrupt the process by communicating an intention
to withdraw the order. In a similar manner, a patient may complete a medical
examination with admission to the hospital, discharge, or transfer to another service;
a purchase order may be interrupted due to the unexpected lack of product or the
lack of money.
2.1 Business Process Analysis 15
design and document their business processes, Information Systems (IS) research
reacts to this requirement with the development of (partly) automated model-based
compliance-checking approaches and tools” [11]. In other words, with business
process mining, the focus has shifted to exploiting the organization’s information
system, utilizing its ability to record data on the activities and workflows performed
by staff members, and usage of resources and technological artefacts. The increased
ability to manage this information vastly improves business process simulation
results, as well as facilitates the understanding of the business processes. This
way, modeling and simulation iteratively make business processes more consistent,
repeatable, and valid. Creating a process model throughout the business process
lifecycle involves several steps, which we will describe in more detail in the next
section.
and end. Events are simply represented by circles with open centers to allow internal
markers to distinguish between different types of events. Business activities are
represented as individual tasks or sub-processes. Task is represented by a rectangle
with rounded corners. A sub-process is distinguished from a task by a small plus
sign in the lower center of the shape. Finally, gateways are elements that control
the execution flow of the process by means of the internal markers indicating
the types of control behavior. A gateway is represented by a diamond shape. The
most frequent gateways are parallel, exclusive, and inclusive (Fig. 2.2). Exclusive
gateway represents a mutual choice between two (or more) branches in a process
flow. An inclusive gateway specifies that one or more of the available paths will be
taken. A parallel gateway specifies that all paths are always executed. For joining
different branches, another gateway of the same type should be used.
Connecting Objects Connecting objects are used to specify how ow objects
interact. A connector can be a sequence, a message, or an association. Sequence and
message ows are represented by arcs which impose temporal constraints between
ow objects. An association connects artifact objects to tasks and is represented by a
dotted line. Artifacts are used to provide additional information about the process,
such as data, text, and inputs and outputs of tasks.
Swimlanes Pools and lanes are used to group primary modeling elements related
to functional capabilities or responsibilities. A pool represents a participant in a
process and acts as a graphical container to partition a set of tasks from other pools.
A lane is a sub-partition within a pool that is used to organize and categorize tasks.
18 2 The Analysis of Business Processes
A Petri net (PN) is a formalism introduced in 1962 by Carl Adam Petri in his
doctoral dissertation [37]. Petri nets have found wide application in the design of a
DES as a system consisting of states and state transitions [55]. Petri nets effectively
define the evolution of event-driven systems.
A PN is a bipartite oriented graph with two types of nodes, places and transitions,
which are connected by directed arcs. Places are graphically represented by circles
and transitions by rectangles. An arc can join only nodes of different types, i.e.,
nodes with transitions and the other way around.
Each place can contain one or more tokens represented by dots. If the number
of tokens that can be inside the place is limited, it is represented outside (above or
below) the corresponding place. Each arc can be associated with a weight, which is
a positive integer (if the writing is omitted, the weight will be considered unitary).
The structure consisting of a place and a transition connected by two opposite arcs
is called self-loop. Networks without self-loops are called pure PN. A PN model is
typically recorded in a PNML file.4
The state (marking) of the PN is obtained by marking places with tokens. A
transition is enabled if there is a distinct token for each arc from a place to the
transition. If this is the case, a transition can be fired and produce a new marking. An
enabled transition may fire any time. The firing of a transition is an atomic operation.
When fired, the tokens in the input places are moved to the output places, according
to the weights of the arcs and the capacities of the places. In Sect. 7.3.2, we provide
an introductory demonstration to simulate a PN in NetLogo (ABBPS_PN-Demo-
example model), as is depicted in Fig. 2.3.
2.2.1 Organization
Every business strategy consists of a plan for action that mixes the dimensions
of resources, costs, and time concerns in order to achieve business goals. This
can be examined for both established and start-up companies [34]. For example,
the characteristics common to all companies include the involvement of agents or
actors, the utilization of resources, the definition of costs, and the division of work
time. Among the most relevant assets used by a company are automation equipment,
as well as humans, including staff and different levels of personnel that may be
directly involved.
A major concern in business management is the cost of operations required to
produce goods or provide services. Cost variables can include several dimensions
(e.g., fixed versus variable, humans versus equipment and machinery). A business
process can be associated with fixed and variable costs. Fixed costs cannot be
avoided because they do not vary with production volume, while variable costs
are likely to change based on other dimensions, such as the number of goods
produced or services provided by the company. Examples of variable costs include
raw material costs, utility costs, and commissions. In contrast, fixed costs of
a company remain the same regardless of other factors, even if no goods or
services are produced. These include costs of production facilities, rent for machines
and equipment, and insurance. Some considerations affect the entire management
perspective, as in the case of the concept of economy of scale. This concept suggests
that the fixed costs relatively decrease when production is increased because the
price of a higher quantity of goods can be spread over the same amount of fixed
costs. In a simulation, the costs of investments and depreciation of the assets can be
inserted like parameters of the simulation.
Time is another relevant dimension that is needed for addressing various business
issues. Business strategies must consider time in production processes and logistics,
as well as in customer analysis and marketing. In a factory, working hours and shifts
must be carefully planned with respect to other key activities, such as sourcing raw
materials, shipping products to customers, receiving production orders, and so on.
Simulations need to manage time accurately, as is described more thoroughly in
Chap. 6.
2.2.3 Performance
Analysis of the activities contained by the business process can be explored both
online during their execution and offline by means of analyzing the reports. The
spread of recent technological improvements has led to the adoption of both a
large set of very different data-centric approaches and new algorithms for business
process analysis. Features of interest are both structured and unstructured informa-
tion [6, 54]. In this context, we introduce some concepts to specify the meaning
of process mining within the broad set of research on knowledge extraction from
data generated and stored in information systems’ databases and the corresponding
“event logs.”
Digital traces registered in PAIS (see Sec. 2.1.6) are of increasing interest from a
management perspective. Each event represents the execution of a particular activity
by certain agents or actors, utilizing a certain set of resources within a specific time
period, whereas the collection of events connected to each other is called a case.
Each activity can be characterized by at least two events: start-of-activity event and
end-of-activity event. From a project management perspective, activities are defined
along the three main dimensions of time, cost, and scope [13]. An organization’s
historical instances of events can be recorded in the corporate information system.
In turn, a collection of cases that capture a particular instance of the business process
is called a trace. One set of traces is the event log, which can be stored in a log file,
adopting, for example, the IEEE XES [66] standard format.
An event log consists of cases, where a case consists of a number of events.
Finally, each event represents the execution of a particular activity in the process.
Event attributes can be mandatory, such as case identifier, event class, timestamp,
and transition. The case identifier specifies which case generated the corresponding
event. The event class (or activity name) indicates the type of activity to which an
event refers. Some attributes at the case level can be the type and expected duration
of the case. The timestamp tracks the occurrence of a certain event. The timestamp
of an event can refer to the completion time of the corresponding activity. Finally,
the transition of an event refers to the execution state of the corresponding activity,
where a complete transition means that the activity is finished and a start transition
means that the activity has started. Additional attributes can be the payload, such
as the name of the agent or actor performing the activity, or the data used as
input/output. In Sect. 9.3, we introduce a model that can handle the XES file to
extract information about an event log for analyzing activities, along with the
performing agents (actors) and resources utilized, and summarizing case identifiers,
activities, timestamps, and other relevant information.
Event Log Example
As was mentioned above, a log corresponding to a process consists of a set of
traces—particular instances of process execution. Each trace, in turn, consists
26 2 The Analysis of Business Processes
More formally, the event-log E of n tasks can be expressed in terms of the high-
level activities E = {A, B, C, . . .}.
The first step of the Alpha algorithm detects all of the Direct successions which
includes A > B if the log contains traces where A is followed by B.
The second step checks the causality relations, expressed with A >> B, when
there are traces of A >> B and no traces B >> A.
Finally, the last main step of the algorithm investigates the existence of parallel
sequences of tasks, expressed with A||B, when there are both the occurrences of
A >> B and B >> A.
Quality Dimensions in Automated Process Discovery
Several measures assess the quality of discovered process models, by comparing the
results of the discovery algorithm (model) to the real process (event log). Some of
the measures we mention here are Precision, Recall (or Fitness/Sensitivity), F-Score,
Generalization, Simplicity, and Complexity. Each metric investigates the quality of
the algorithm from a different perspective. The adoption of the metrics depends
on the specific interest of the project managers and the corresponding research
questions.
Precision describes the extent to which the discovered model includes only
the behavior found in the event log. A discovered model has a high precision
if it contains only the event log paths, not allowing for completely unrelated
behavior with respect to the event data stored in the log. The most accurate or best-
fitting model is also called an “enumerating model.” If any trace produced by the
discovered model is contained by the event log, the accuracy score is 1, while it is 0
in the worst case situation, when no trace of the event log is present in the discovered
model.
The Recall (or Fitness) metric evaluates how well the model reflects the behavior
recorded in the event log. It does not matter if the model can replicate more traces
than exist in reality: if all traces included by the event log can be replicated in the
model, this metric anyway achieves the maximum score of 1. If no traces can be
found in the model, the Recall/Fitness/Sensitivity score is 0. It is worth noting that
a specific type of model, the so-called “flower model,” can produce any sequence of
traces. In this case, the precision is very low, while the recall is high. However, this
type of model is not useful and can only be used as a baseline to compare process
discovery metrics. Floral models introduce the concept of underfitting, which is
overgeneralizing event log behavior by the process model.
Another interesting process mining application compares a process model with the
real instances of a given process. The goal is to identify deviations between the
expected model and the model derived from the process instances of the actual
behavior. Conformance checking techniques have been proposed to evaluate specific
28 2 The Analysis of Business Processes
process models for the compliance of an organization (e.g., for auditors). Combined
with a process simulation, this kind of evaluation allows to compare the performance
of the model in different scenario settings by means of a quantitative technique
producing a set of statistical data in the form of, for example, a dashboard, about the
as-is business process model.
Tools for process modeling and analysis have always been many, including pro-
prietary tools, free or open-source versions for both academic research and indus-
try [58].
The following list is not exhaustive and includes some of the leading existing
process mining companies and tools that address one or more aspects of process
mining:
• Apromore https://www.apromore.org/
• ARIS https://aris-process-mining.com
• Celonis https://www.celonis.com/
• Fluxicon https://fluxicon.com
• IBM Process Mining https://www.ibm.com
• PM4Py https://pm4py.fit.fraunhofer.de
• PROM http://www.promtools.org/doku.php
• Nirdizati http://nirdizati.org
• Signavio https://www.signavio.com/
• Trisotech https://www.trisotech.com/
Within the tools that are based on extracting knowledge from event logs
available in information systems, the areas of interest cover different aspects of
data mining and simulation, starting from extracting process models from an event
log, comparing the model and the log for monitoring deviations, extracting different
types of information such as social/organizational networks, automated construction
of simulation models, model enhancement, recommendations, and case prediction.
One of the first computer applications was a simulation. Similarly, one of the
first programming languages was Simula, which was developed precisely for
programming simulations. A historical overview can be started from World War
II, when the Manhattan Project dealt with the simulation of nuclear explosion
processes. To investigate the topic, statisticians proposed “Monte Carlo Simulation”
as a promising methodology that was then applied in several research areas.
Today, simulation is also one of the standard analysis techniques in operations
2.4 Simulation for BPM 29
research and management. Here, the main advantages of simulation are versatility,
few constraints, and easy-to-interpret results. Therefore, it is not a surprise that
simulation is one of the most established business process analysis techniques,
which is also supported by a wide range of tools [56].
Most business process simulation efforts adopt a workflow viewpoint, which
aims to represent real-world work sequences [50]. We have already introduced some
related modeling tools in Sect. 2.1.3, which are able to represent workflow using
a discrete-event approach. The main advantages of this approach include clarity,
ease of understanding, and process orientation [51]. However, researchers have also
pointed out some flaws of the discrete-event approach.
Three criticisms of workflow-based discrete-event simulation are weakness
in analyzing complexity, ignoring interactions, and difficulty to investigate
changes [29]. The first issue is that enterprise is not considered as a whole.
Workflow-based simulation occasionally delves too deeply into process details
on how to?, lacking the addressing of other relevant questions, such as “why?” and
“what?”. Therefore, traditional business process modeling approaches (e.g., EPC,
UML, BPMN, and flowcharts) are too “weak at providing the necessary means for
identifying bottlenecks and for performance analysis and for generating alternative
improved business processes that would meet specified objectives” [29].
The second criticism is concerned with the neglect of qualitative factors in
the analysis of an enterprise. Most business process improvement projects do not
consider a holistic view of the enterprise. As we will elaborate in Chap. 5 of this
book, enterprises should be treated as highly complex sociotechnical systems. How-
ever, by simulating enterprises mostly at the implementation level, the workflow
viewpoint can overlook the complexity of human interactions. To enhance a holistic
view, hybrid simulation [12] has been recently proposed that combines two or more
of the following methods: discrete-event simulation, system dynamics, and agent-
based simulation. Hybrid simulation enables to better investigate the effectiveness
and efficiency of a complete sociotechnical system [26].
Third, business process engineering has been proposed to investigate transforma-
tions. According to this approach, successful engineering follows design thinking,
focusing on strategic goals to be operationalized [8, 14, 38]. An enterprise can
be considered as the result of the cooperation of human beings with a certain
societal purpose [18]. Therefore, the full picture of how the system works and the
potential effects of changes emerge from the interactions between several actors.
Such interactions are easy to explore by agent-based simulation, which is considered
as a promising method for analyzing an enterprise as a social system [48].
ential) equations defines the behavior of the input-output system. These types of
models focus on how populations of agents behave as a whole by studying how
different populations change over time [23]. SD was initially proposed in urban
management studies [22], but was quickly applied to different types of systems.
In a typical SD model, the current output of the system depends on both its past
history and current state. The main modeling elements are accumulation of flows
into stocks, time delays, and feedback. A recent attempt proposes the adoption
of SD to predict the future behavior of business processes in an a scenario-based
approach [39].
The second type of approach is discrete-event simulation (DES) [9], which
focuses on an ordered chronological sequence of events occurring at precisely
defined moments of time. The simulation is driven by events, and the system status is
discrete in time and space [67]. This approach has been widely employed in practical
applications of simulation for business process modeling [25], with increasingly
powerful and effective tools. Business process simulation has been combined with
BPMN, i.e., the state-of-the-art language for the graphical representation of business
processes [40]. Several software simulators support the adoption of BPMN diagrams
to compare different process alternatives in a scenario analysis perspective, such as
the BIMP simulator [1]. Some authors have highlighted some recent critical issues,
proposing integration with real data and process mining techniques [57, 61].
Finally, agent-based simulation (ABS) typically focuses on programming the
behaviors of individual agents to observe phenomena emerging from their inter-
actions. This type of approach has not been adopted as widely in management
and organizational studies as in other domains. A recent review has suggested
a demarcation for this field by proposing the term agent-based organizational
simulation (ABOS). In fact, the authors argue that ABOS refers to the application of
agent-based simulation in business and management [24]. We will further explore
the agent-oriented approach in both Chaps. 5 and 6.
The increasing use of emerging technologies affects all industries. The digital trans-
formation of processes under Industry 4.0 [28] has resulted in higher operational
efficiency, interconnected machines, automation of manual tasks, and improvements
of data analysis. In the so-called fourth industrial revolution, data and automation
are the two most important components.
On the other hand, in computer science, simulations refer to digital models that
mimic operations or processes within real-life systems. These simulations are used
to analyze the performance of production systems and to test and implement new
ideas. Engineers and technicians make use of simulations in a variety of industries
to test products, systems, processes, and concepts [53].
The concept of digital twin was born in the intersection of Industry 4.0 and
computational simulations. A digital twin can be defined as a representation of an
References 31
organization to integrate all data produced by or associated with the main business
process or system it mirrors. This way, the model is like a mirror of the events
occurring in the real world. Data for a digital twin is typically collected from sensors
(Internet of things devices), edge hardware, smartphones, and other embedded
devices.
The real-time digital representation that a digital twin provides a virtual environ-
ment for planning, programming, and training to facilitate management, implement
new strategies, and have new insights.
While a simulation can help understand what may happen when changes
are introduced, a digital twin typically helps understand both what is currently
happening and what may happen when the process evolves.
The main two application areas of digital twins are as follows:
• Real-time simulations. Typical simulations reproduce features of physical envi-
ronments without using real-time data. Differently, a digital twin runs a simu-
lation based on data collected in real time, in order to make predictions about
processes or monitor the productivity of an enterprise.
• Optimizing real-world processes by applying predictive analytic based on data
collected in real time with an emphasis on simulated scenarios involving physical
entities.
The accuracy of a simulation or digital twin heavily relies on the accuracy of the
data used in the design of its models. In today’s industry, data acquisition by smart
edge devices and human-machine interfaces has been made possible, and digital
transformation can occur only with applying data acquired this way.5
References
1. Abel, M.: Lightning Fast Business Process Simulator. Master’s Thesis. Institute of Computer
Science, University of Tartu (2011)
2. Alter, S.: Work system theory: Overview of core concepts, extensions, and challenges for the
future. J. Assoc. Inform. Syst. 14, 72–121 (2013). https://doi.org/10.17705/1jais.00323
3. Amantea, I.A., Arnone, M., Di Leva, A., Sulis, E., Bianca, D., Brunetti, E., Marinello, R.:
Modeling and simulation of the hospital-at-home service admission process. In: SIMULTECH,
pp. 293–300 (2019). https://doi.org/10.5220/0007928602930300
4. Amantea, I.A., Sulis, E., Boella, G., Crespo, A., Bianca, D., Brunetti, E., Marinello, R.,
Grosso, M., Zoels, J., Visciola, M., Guidorzi, E., Miolano, L., Ratti, G., Mazzoni, T.,
Zani, E., Ambrosini, S.: Adopting technological devices in hospital at home: a modelling
and simulation perspective. In: Rango, F.D., Ören, T.I., Obaidat, M.S. (eds.) Proceedings of
the 10th International Conference on Simulation and Modeling Methodologies, Technologies
and Applications, SIMULTECH 2020, Lieusaint, Paris, France, July 8–10, 2020, pp. 110–119.
ScitePress (2020). https://doi.org/10.5220/0009970801100119
5https://www.exorint.com/en/blog/what-is-the-difference-between-a-simulation-and-a-digital-
twin.
32 2 The Analysis of Business Processes
5. Amantea, I.A., Sulis, E., Boella, G., Marinello, R., Grosso, M., Crespo, A.: A modeling frame-
work for an innovative e-health service: the hospital at home. In: International Conference
on Simulation and Modeling Methodologies, Technologies and Applications, pp. 111–132.
Springer, Berlin (2020). https://doi.org/10.1007/978-3-030-84811-8_6
6. Aringhieri, R., Boella, G., Brunetti, E., Caro, L.D., Francescomarino, C.D., Dragoni, M.,
Ferrod, R., Ghidini, C., Marinello, R., Ronzani, M., Sulis, E.: Towards the application of
process mining for supporting the home hospitalization service. In: Marrella, A., Dupré, D.T.
(eds.) Proceedings of the 1st Italian Forum on Business Process Management co-located with
the 19th International Conference of Business Process Management (BPM 2021), Rome, Italy,
September 10th, 2021. CEUR Workshop Proceedings, vol. 2952, pp. 33–38. CEUR-WS.org
(2021). http://ceur-ws.org/Vol-2952/paper_295a.pdf
7. Augusto, A., Conforti, R., Dumas, M., La Rosa, M., Maggi, F.M., Marrella, A., Mecella, M.,
Soo, A.: Automated discovery of process models from event logs: review and benchmark. IEEE
Trans. Knowl. Data Eng. 31(4), 686–705 (2018). https://doi.org/10.1109/TKDE.2018.2841877
8. Baldoni, M., Baroglio, C., Boissier, O., Micalizio, R., Tedeschi, S., et al.: Engineering
business process through accountability and agents. In: The 18th International Conference
on Autonomous Agents and Multiagent Systems, AAMAS 2019, pp. 1796–1798. IFAAMAS,
International Foundation for Autonomous Agents and Multiagent Systems (2019)
9. Banks, J.: Handbook of Simulation: Principles, Methodology, Advances, Applications, and
Practice. Wiley, London (1998)
10. Barjis, J., Verbraeck, A.: The relevance of modeling and simulation in enterprise and
organizational study. In: Workshop on Enterprise and Organizational Modeling and Simulation,
pp. 15–26. Springer, Berlin (2010). https://doi.org/10.1007/978-3-642-15723-3_2
11. Becker, J., Delfmann, P., Eggert, M., Schwittay, S.: Generalizability and applicability of
model-based business process compliance-checking approaches a state-of-the-art analysis and
research roadmap. Bus. Res. 5 (2012). https://doi.org/10.1007/BF03342739
12. Brailsford, S.C., Eldabi, T., Kunc, M., Mustafee, N., Osorio, A.F.: Hybrid simulation modelling
in operational research: a state-of-the-art review. Eur. J. Oper. Res. 278(3), 721–737 (2019).
https://doi.org/10.1016/j.ejor.2018.10.025
13. Daddey, F., Watt, A.: Working with individuals and teams. Project Management (2021)
14. Davenport, T.H., Short, J.E., et al.: The new industrial engineering: information technology
and business process redesign (1990)
15. De Lellis, A., Di Leva, A., Sulis, E.: Simulation for change management: an industrial
application. Proc. Comput. Sci. 138, 533–540 (2018)
16. DeMarco, T.: Structure analysis and system specification. In: Pioneers and Their Contributions
to Software Engineering, pp. 255–288. Springer, Berlin (1979)
17. Di Leva, A., Sulis, E.: A business process methodology to investigate organization manage-
ment: a hospital case study. WSEAS Trans. Bus. Econ. (14), 100–109 (2017)
18. Dietz, J.L., Hoogervorst, J.A., Albani, A., Aveiro, D., Babkin, E., Barjis, J., Caetano, A.,
Huysmans, P., Iijima, J., van Kervel, S., et al.: The discipline of enterprise engineering. Int.
J. Organ. Design Eng. 3(1), 86–114 (2013). https://doi.org/10.1504/IJODE.2013.053669
19. Dumas, M., van der Aalst, W.M., Ter Hofstede, A.H.: Process-Aware Information Systems:
Bridging People and Software Through Process Technology. Wiley, London (2005). https://
doi.org/10.1002/0471741442
20. Dumas, M., La Rosa, M., Mendling, J., Reijers, H.: Fundamentals of Business Process
Management, vol. 1, 2nd edn. Springer, Berlin (2018). https://doi.org/10.1007/978-3-662-
56509-4
21. Fernández-Llatas, C.: Interactive Process Mining in Healthcare. Springer, Germany (2021).
https://doi.org/10.1007/978-3-030-53993-1
22. Forrester, J.W.: Urban dynamics. Ind. Manag. Re. (Pre-1986) 11(3), 67 (1970)
23. Forrester, J.W.: System dynamics, systems thinking, and soft or. Syst. Dyn. Rev. 10(2–3), 245–
256 (1994)
References 33
24. Gómez-Cruz, N.A., Saa, I.L., Hurtado, F.F.O.: Agent-based simulation in management and
organizational studies: a survey. Eur. J. Manag. Bus. Econ. (2017). https://doi.org/10.1108/
EJMBE-10-2017-018
25. Hlupic, V., de Vreede, G.: Business process modelling using discrete-event simulation: current
opportunities and future challenges. Int. J. Simul. Process. Model. 1(1/2), 72–81 (2005). https://
doi.org/10.1504/IJSPM.2005.007115
26. Jahangirian, M., Eldabi, T., Naseer, A., Stergioulas, L.K., Young, T.: Simulation in manufac-
turing and business: a review. Eur. J. Oper. Res. 203(1), 1–13 (2010). https://doi.org/10.1016/j.
ejor.2009.06.004
27. Kaplan, R.S., Davenport, T.H., Robert, N.P.D.K.S., Kaplan, R.S., Norton, D.P.: The Strategy-
Focused Organization: How Balanced Scorecard Companies Thrive in the New Business
Environment. Harvard Business Press (2001). https://doi.org/10.1108/sl.2001.26129cab.002
28. Lasi, H., Fettke, P., Kemper, H.G., Feld, T., Hoffmann, M.: Industry 4.0. Bus. Inform. Syst.
Eng. 6(4), 239–242 (2014). https://doi.org/10.1057/jos.2014.35
29. Liu, Y., Iijima, J.: Business process simulation in the context of enterprise engineering. J.
Simul. 9(3), 206–222 (2015). https://doi.org/10.1007/s12599-014-0334-4
30. Mayer, R.J., Painter, M.K., de Witte, P.S.: IDEF family of methods for concurrent engineering
and business re-engineering applications. Knowledge Based Systems College Station (1994)
31. Mazanec, M., Macek, O.: On general-purpose textual modeling languages. In: Dateso, vol. 12,
pp. 1–12. Citeseer (2012)
32. Model, B.P.: Notation (BPMN) version 2.0. OMG Specification, Object Management Group,
pp. 22–31 (2011)
33. Munoz-Gama, J., Martin, N., Fernandez-Llatas, C., Johnson, O.A., Seplveda, M., Helm, E.,
Galvez-Yanjari, V., Rojas, E., Martinez-Millana, A., Aloini, D., Amantea, I.A., Andrews, R.,
Arias, M., Beerepoot, I., Benevento, E., Burattin, A., Capurro, D., Carmona, J., Comuzzi, M.,
Dalmas, B., de la Fuente, R., Francescomarino, C.D., Ciccio, C.D., Gatta, R., Ghidini, C.,
Gonzalez-Lopez, F., Ibanez-Sanchez, G., Klasky, H.B., Prima Kurniati, A., Lu, X., Mannhardt,
F., Mans, R., Marcos, M., Medeiros de Carvalho, R., Pegoraro, M., Poon, S.K., Pufahl, L.,
Reijers, H.A., Remy, S., Rinderle-Ma, S., Sacchi, L., Seoane, F., Song, M., Stefanini, A., Sulis,
E., ter Hofstede, A.H., Toussaint, P.J., Traver, V., Valero-Ramon, Z., van de Weerd, I., van
der Aalst, W.M., Vanwersch, R., Weske, M., Wynn, M.T., Zerbato, F.: Process mining for
healthcare: characteristics and challenges. J. Biomed. Inform. 103994 (2022). https://doi.org/
10.1016/j.jbi.2022.103994
34. Muthuri, R., Capecchi, S., Sulis, E., Amantea, I.A., Boella, G.: Integrating value modeling and
legal risk management: an it case study. Inform. Syst. e-Bus. Manag. 1–29 (2021). https://doi.
org/10.1007/s10257-021-00543-2
35. OMG: Business Process Model and Notation (BPMN), Version 2.0.2 (2013). http://www.omg.
org/spec/BPMN/2.0.2
36. Peterson, J.L.: Petri nets. ACM Comput. Surv. (CSUR) 9(3), 223–252 (1977)
37. Petri, C.A.: Communication with Automata. Ph.D. Thesis, Universitt Hamburg (1966)
38. Polyvyanyy, A., Su, Z., Lipovetzky, N., Sardina, S.: Goal recognition using off-the-shelf pro-
cess mining techniques. In: Proceedings of the 19th International Conference on Autonomous
Agents and MultiAgent Systems, pp. 1072–1080 (2020)
39. Pourbafrani, M., van Zelst, S.J., van der Aalst, W.M.P.: Scenario-based prediction of business
processes using system dynamics. In: Panetto, H., Debruyne, C., Hepp, M., Lewis, D.,
Ardagna, C.A., Meersman, R. (eds.) On the Move to Meaningful Internet Systems: OTM
2019 Conferences—Confederated International Conferences: CoopIS, ODBASE, C&TC 2019,
Rhodes, Greece, October 21–25, 2019, Proceedings, Lecture Notes in Computer Science, vol.
11877, pp. 422–439. Springer, Berlin (2019). https://doi.org/10.1007/978-3-030-33246-4_27
40. Pufahl, L., Wong, T.Y., Weske, M.: Design of an extensible BPMN process simulator. In:
Teniente, E., Weidlich, M. (eds.) Business Process Management Workshops—BPM 2017
International Workshops, Barcelona, Spain, September 10–11, 2017, Revised Papers. Lecture
Notes in Business Information Processing, vol. 308, pp. 782–795. Springer, Berlin (2017).
https://doi.org/10.1007/978-3-319-74030-0_62
34 2 The Analysis of Business Processes
41. Qi, Q., Tao, F.: Digital twin and big data towards smart manufacturing and industry 4.0: 360
degree comparison. IEEE Access 6, 3585–3593 (2018)
42. Roeglinger, M., Poeppelbuss, J., Becker, J.: Maturity models in business process management.
Bus. Process Manag. J. 18, 328–346 (2012). https://doi.org/10.1108/14637151211225225
43. Rooney, J.J., Heuvel, L.N.V.: Root cause analysis for beginners. Quality Progress 37(7), 45–56
(2004)
44. Rumbaugh, J.E., Jacobson, I., Booch, G.: The Unified Modeling Language Reference
Manual—Covers UML 2.0, 2nd edn. (2005)
45. Scheer, A.W.: ARIS Business Process Modeling. Springer, Berlin (2000)
46. Scheer, A.W., Thomas, O., Adam, O.: Process modeling using event-driven process chains.
Process-Aware Inform. Syst. 119 (2005). https://doi.org/10.1002/0471741442.ch6
47. Shishkov, B.: Designing Enterprise Information Systems. Springer, Berlin (2020). https://doi.
org/10.1007/978-3-030-22441-7
48. Siebers, P.O., Macal, C.M., Garnett, J., Buxton, D., Pidd, M.: Discrete-event simulation is dead,
long live agent-based simulation! J. Simul. 4(3), 204–210 (2010). https://doi.org/10.1057/jos.
2010.14
49. Sterling, L., Taveter, K.: The Art of Agent-Oriented Modeling. The MIT Press, Cambridge
(2009). https://doi.org/10.7551/mitpress/7682.001.0001
50. Sulis, E., Amantea, I.A., Boella, G., Marinello, R., Bianca, D., Brunetti, E., Bo, M., Bianco,
A., Cattel, F., Cena, C., Fruttero, R., Traina, S., Feletti, L.C., de Cosmo, P., Armando, L.,
Ambrosini, S.: Monitoring patients with fragilities in the context of de-hospitalization services:
an ambient assisted living healthcare framework for e-health applications. In: 2019 IEEE 23rd
International Symposium on Consumer Technologies (ISCT), pp. 216–219 (2019). https://doi.
org/10.1109/ISCE.2019.8900989
51. Sulis, E., Amantea, I.A., Fornero, G.: Risk-aware business process modeling: a comparison of
discrete event and agent-based approaches. In: 2019 Winter Simulation Conference (WSC),
pp. 3152–3159. IEEE, Piscataway (2019). https://doi.org/10.1109/WSC40007.2019.9004822
52. Sulis, E., Di Leva, A.: Public health management facing disaster response: a business process
simulation perspective. In: 2018 Winter Simulation Conference (WSC), pp. 2792–2802. IEEE,
Piscataway (2018). https://doi.org/10.1109/WSC.2018.8632534
53. Tao, F., Cheng, J., Qi, Q., Zhang, M., Zhang, H., Sui, F.: Digital twin-driven product design,
manufacturing and service with big data. Int. J. Adv. Manuf. Technol. 94(9), 3563–3576.
https://doi.org/10.1007/s00170-017-0233-1
54. Teinemaa, I., Dumas, M., Maggi, F.M., Di Francescomarino, C.: Predictive business process
monitoring with structured and unstructured data. In: International Conference on Business
Process Management, pp. 401–417. Springer, Berlin (2016). https://doi.org/10.1007/978-3-
319-45348-4_23
55. van der Aalst, W.: The application of petri nets to workflow management. J. Circuits Syst.
Comput. 8(1), 21–66 (1998). https://doi.org/10.1142/S0218126698000043
56. van der Aalst, W.: Business process simulation revisited. In: Workshop on Enterprise and
Organizational Modeling and Simulation, pp. 1–14. Springer, Berlin (2010). https://doi.org/
10.1007/978-3-642-15723-3_1
57. van der Aalst, W.: Business process simulation revisited. In: J. Barjis (ed.) Enterprise and
Organizational Modeling and Simulation—6th International Workshop, EOMAS 2010, held at
CAiSE 2010, Hammamet, Tunisia, June 7–8, 2010. Selected Papers. Lecture Notes in Business
Information Processing, vol. 63, pp. 1–14. Springer, Berlin (2010). https://doi.org/10.1007/
978-3-642-15723-3_1
58. van der Aalst, W., Reijers, H., Weijters, A., Dongen, B., Medeiros, A., Song, M., Verbeek,
H.: Business process mining: an industrial application. Inform. Syst. 32(5), 713–732 (2007).
https://doi.org/10.1016/j.is.2006.05.003
References 35
59. van der Aalst, W., Weijters, T., Maruster, L.: Workflow mining: discovering process models
from event logs. IEEE Trans. Knowl. Data Eng. 16(9), 1128–1142 (2004). https://doi.org/10.
1109/TKDE.2004.47
60. Barjis, J. (ed.): Enterprise and Organizational Modeling and Simulation: 6th International
Workshop, EOMAS 2010, held at CAiSE 2010, Hammamet, Tunisia, June 7–8, 2010.
Selected Papers, 1 edn. Lecture Notes in Business Information Processing 63. Springer, Berlin,
Heidelberg (2010). https://doi.org/10.1007/978-3-642-15723-3
61. van der Aalst, W.M.P.: Business process simulation survival guide. In: vom Brocke, J.,
Rosemann, M. (eds.) Handbook on Business Process Management 1, Introduction, Methods,
and Information Systems, International Handbooks on Information Systems, 2nd edn. pp. 337–
370, Springer (2015). https://doi.org/10.1007/978-3-642-45100-3_15
62. Van Looy, A., Shafagatova, A.: Business process performance measurement: a structured
literature review of indicators, measures and metrics. SpringerPlus 5(1), 1797 (2016). https://
doi.org/10.1186/s40064-016-3498-1
63. Weske, M.: Business Process Management—Concepts, Languages, Architectures, 3rd edn.
Springer, Berlin (2019). https://doi.org/10.1007/978-3-662-59432-2
64. WfMC: Workflow management coalition terminology and glossary. Workflow Management
Coalition (1999)
65. Wren, D.A.: The History of Management Thought. Wiley, London (2005)
66. XES Working Group: IEEE standard for extensible event stream (XES) for achieving inter-
operability in event logs and event streams. IEEE Std. 1849, 1–50 (2016). https://doi.org/10.
1109/IEEESTD.2016.7740858
67. Zeigler, B.P., Muzy, A., Kofman, E.: Theory of Modeling and Simulation: Discrete Event &
Iterative System Computational Foundations. Academic Press, New York (2018). https://doi.
org/10.1016/C2016-0-03987-6
Chapter 3
Agents and Organization Studies
Abstract The notion of agent is one of the most relevant concepts in computer
science, within its sub-disciplines of artificial intelligence and information systems.
In this chapter, we introduce the main definitions of the concept in the computer
science literature. We mention the idea of individual-based modeling. To better
understand the topic, we propose an exploration of a database of academic research
articles, with a survey of recent trending topics. Adopting “agent” and “business” as
keywords, we consider abstracts of scientific articles from the last 20 years. We also
report on a semantic graph analysis performed by us to explore the most frequent
co-occurring concepts by using network metrics and clustering.
The concept of agent is one of the most relevant ones in the computer science
literature. Since the origins of artificial intelligence (AI) research, the focus was
on the construction of computational entities with a certain degree of autonomous
behavior. The close relationship between agent and AI is well exemplified by
Russell-Norvig’s famous seminal work, first published in 1995 [39]. In fact, the
textbook Artificial Intelligence: a modern approach by Russell and Norvig includes
the term agent 1564 different times in 348 pages, out of the total of about 950 pages.
The concept of agent has begun to be relevant from the 1990s [38], particularly
in the context of computer science. Nevertheless, the concept of agent has been
quickly adopted with a wide-ranging set of meanings, including the following ones:
a piece of software, an autonomous object, an intelligent system, a technological
entity embedded (i.e., situated) in an environment, and a robot. In socioeconomics
studies, agent mostly refers to active entities (individuals, groups, companies, etc.)
possessing some private and shared knowledge, exhibiting certain behaviors and
being involved in interactions with other agents.
Although the AI discipline has become increasingly popular in recent years, the
concept of agent is no longer closely associated with AI. The feeling is that after
the explosion in the early 2000s of “Big Data” studies, the focus quickly shifted
to data analysis (“Data Science” is a trending topic in the 2020s) with automatic
The classical AI book by Russell and Norvig defines the concept of agent right at
the beginning, as the authors state in the preface: “We define Artificial Intelligence
as the study of agents that receive percepts from the environment and perform
actions” [39]. Nevertheless, the concept of agent assumes slightly different mean-
ings in different areas of computer science, mostly depending on different research
perspectives. In the following paragraphs, we provide a synthetic analysis of the
3.1 The Agent Idea 39
concept of agent and some of the related concepts in different areas of computer
science.
Autonomous Agents An agent’s ability to change its own behavior is in the core
of the concept of autonomy. By following the classical definition by Franklin and
Graesser [23], an autonomous agent is “a system situated within and a part of an
environment that senses that environment and acts on it, over time, in pursuit of its
own agenda and so as to effect what it senses in the future.” The autonomy of an
agent depends on its ability to perceive its environment by using its sensors and act
upon the environment by using its actuators. Both sensors and actuators can be real
or simulated ones.
Abstract Agent Architecture The view of an autonomous agent described in Section
Autonomous agents is illustrated by a simple abstract agent architecture shown in
Fig. 3.1 from [45]. An agent receives information from its environment, including
messages from other agents, through its sensors and stores information received
from them in its knowledge base. The agent’s behavior is determined by a controller
that performs actions affecting the environment, including messages sent to other
agents, through the agent’s actuators. The controller receives its input knowledge
from the knowledge base and from the sensors. Besides acting through actuators,
the controller also performs local actions that change the knowledge stored in the
agent’s knowledge base [45].
Agent-Based System The idea of a system of agents mostly refers to many research
areas in computer science, such as game theory, complex systems, multi-agent
systems, evolutionary programming, and information systems [4, 7, 28]. The idea
of a system mostly refers to architectural features, including features concerned
with design and modeling [33]. According to this perspective, agent-based system
is used as a synonym of multi-agent system, to emphasize the role of relationships
between actors to achieve goals. This approach focuses on the interactions between
autonomous agents in a network [5]. The idea of “system” has also been often
adopted in modeling and simulation of manufacturing [36].
40 3 Agents and Organization Studies
behavior must also be optimized with regard to energy consumption and physical
performance parameters [31]. The terms “software robot” and “agent” are often
used as synonyms [53].
The definition of agent can combine the concepts explained in different subsection
of this section. However, it is difficult to include all the different perspectives. For
example, while the concept of object seemed significant for capturing the interaction
between entities, such as message exchange [27]), these objects are not necessarily
autonomous. The autonomy of objects was taken further by other seminal work [1]
that coined the term “actor” in the context of distributed systems.
In most systems, individual entities are clearly dependent on a central authority,
but it is still relevant to assess how responsible they are for their own actions [8].
In the studies on artificial intelligence, there is currently a lot of debate about an
agent’s ability to reason, deliberate, and decide. A representative example is the
ongoing debate about self-driving cars [6, 11]. Moreover, as agents are situated in
a physical and social environment, perception and cognitive architectures become
relevant areas of research [43, 47, 55].
In the context of this book, a general definition of autonomous agent refers to
the idea of a software program that can act in the environment, perceive events,
and reason. An agent responds to events occurring in the agent’s environment. This
response is independent of direct instructions provided by an external source, such
as the owner or user of the agent. We refrain here from an attempt to provide a
more elaborate definition of the term “agent,” because its meaning can range from a
simple program consisting of a small number of rules to a large and complex system.
We also mention here a classical contribution concerning the definition of tan
agent. Michael Wooldridge and Nicholas Jennings started their book on intelligent
agents with the following general definition of the concept:
An agent is a computer system that is situated in some environment, and that is capable of
autonomous action in this environment in order to meet its design objectives [52]
Based on the seminal definition stated above, the characteristics of an agent can
be described, such as flexibility, autonomy, situatedness, adaptability, proactivity,
and sociability [22]. An intelligent agent should be reactive, proactive, and social.
An agent is reactive if it is able to perceive its environment and respond in a timely
fashion to changes occurring in it. An agent is proactive if it does not simply act
in response to its environment but is able to exhibit opportunistic, goal-directed
behavior and take the initiative where appropriate. An agent is social if it is able to
interact, when appropriate, with other man-made agents (software agents or robots)
and humans in order to complete their own problem-solving, and to help others with
their activities [45].
42 3 Agents and Organization Studies
Types of Agents A typical classification of agents comes from the seminal work by
Stuart Russell and Peter Norvig which introduced five types of agents based on their
perceived degree of intelligence and ability. These are “table-driven agents” who use
a table of stored actions to find the next action; “simple reflective agents” who act
on the basis of condition-action rules, with no memory of past states of the world;
“agents with memory” who use an internal state to keep track of past states of the
world; “agents with goals” who have, in addition to state information, a description
of desirable situations and consider future events; and “utility-based agents” who
adopt utility theory to act more rationally [39].
Rationality The concept of rationality is crucial in social sciences, where it has been
explained by the theory of bounded rationality by Herbert Simon [42]. However,
later studies in this area have shown that an agent can also behave in an irrational
or seemingly irrational way [34]. In particular, researchers have modelled irrational
behaviors of traders in financial markets [18]. By adopting agent-based approaches,
one can build simulation systems that are able to cope with influences arising from
individual decisions and actions by humans. In other words, agents increase the
psychological realism of complex simulation models, as well as improve the quality
of the results of simulations [40].
Emergent Behavior Irrational behavior mentioned in the previous subsection can
lead to emergent behavior. An example of collective irrational behavior is herding,
where in a highly uncertain and stressful situation, an individual tends to follow
others almost blindly [3]. Emergent behavior is a characteristic of a multi-agent
system as a whole that cannot be determined by or predicted from the characteristics
of individual agents, making up the multi-agent system. The purpose of ABM is
mainly directed to understanding the functioning of a system as a whole based on
both expected and emergent behaviors of the involved agents. In many cases, the
output of the ABM results from the interactions between agents obeying simple
rules. The result of running this kind of model is not easily predictable because
of emergent behavior. For example, the spread of COVID-19 can be investigated
by an ABM that represents randomly moving and interacting individuals, where
each agent has been assigned a probability of getting infected upon interacting with
another agent. This probability depends on the strength of one’s immune system but
currently also on vaccinations [17]. Further information on ABMs addressing the
COVID-19 pandemic is presented in Sect. 8.5.1.
Table 3.1 Number of research terms in the titles and abstracts of articles from the IEEE database,
every 5 years from 1999 to 2019
Research term 1999 2004 2009 2014 2019
Agent 1,060 2,457 4,664 3,805 5,127
Multi-agent 238 814 1,749 1,676 2,518
Agent-based 135 362 670 490 439
Simulation 11,993 22,031 43,973 47,653 60,604
Business 1,313 2,466 7,061 5,560 6,953
Organization 1,086 1,736 3,994 4,818 5,367
Management 487 655 1,833 1,805 2,008
Mining 1,557 3,496 11,131 6,358 9,485
Process mining 0 1 29 58 135
Learning 3,179 6,187 12,390 14,742 47,184
Total 78,201 133,955 231,017 242,863 301,521
44 3 Agents and Organization Studies
Fig. 3.2 Occurrence of stems in the IEEE abstracts from 1996 to 2019
To better describe the intersections of agent studies and organization and business
process management topics, we focused on research works, the titles and abstracts
of which contain both agent- and business-related terms. Some pre-processing steps
were initially applied for removing punctuation marks, numbers, and stop words.
We finally applied stemming to consider the root forms—stems—of terms.1
We analyzed the corpus by performing for each abstract a semantic network
analysis of stems co-occurring in the same sentence. In particular, we created an
edge between each pair of co-occurring stems, to represent that the two concepts
are strongly interrelated [46].
The entire resulting indirect graph contains 3203 vertices (stems) and 134,379
edges, represented as one cohesive community of interconnected concepts. The
diameter of the network is 4, indicating the longest of all computed path lengths.
This is a small-world network [50], as our network has both a low-average shortest
path length (also called average geodesic distance) and a high clustering coefficient
(CC). In fact, the stems are very close to each other, because the average path length
is 2.23. At the same time, the average CC (in the range from 0 to 1) is quite high
−0.68.
Degree
A metric involving individual vertices representing stems refers to the number of
connections. This measure is the degree of a vertex, which indicates the most
connected stems. The two concepts that were used to collect data from the abstracts
have the highest degree (“business” 1.456 and “agent” 1.415). Other strongly
connected vertices include “system” (1361), “model” (1331), “service” (1046),
1 The analysis was performed by adopting the Python programming language and NLTK
library [10] as well as the open-source software Gephi for graph analysis [9].
3.2 Agent in Business Management Research 45
Degree Distribution
90
80
70
60
Count
50
40
30
20
10
0
0 200 400 600 800 1.000 1.200 1.400
Value
Fig. 3.3 Gephi diagram for the stem degree distribution in the IEEE abstracts
Fig. 3.4 The network of stems having a degree higher than 400
The graph of terms (stems) and their connections are represented in Fig. 3.4. They
can be further explored with clustering techniques to identify cohesive groups
representing the core areas.
The community detection method allows for the identification of large groups
focusing on the density-based modularity measure [37]. Within the 116 stems
having a degree higher than 400, the clustering technique automatically identifies
three large groups.
Two groups include our root terms and are, respectively, centered on “agent” and
“business,” while the third group is centered on “model” as a high-degree node.
Agent Group The first group of stems is described in Fig. 3.5. It refers to agent-
related issues which mainly involve the following concepts:
• method (system, network, structure, architecture, development, platform, design)
• decision-making (decision, support, do, control)
• communication (communication, information, data, design, present
• practical applications (tool, software, industrial, device)
Business Group The second group of stems is represented in Fig. 3.6. It comprises
the business and management perspectives. The main concepts here are concerned
3.2 Agent in Business Management Research 47
Fig. 3.6 Word cloud of the group of stems including business and management stems
with process, services, organization, and the related elements time, requirements,
environment, change, challenges, and dynamics.
Model Group A third group of stems is represented in Fig. 3.7 and describes a
somewhat different set of concepts from the previous ones, not being related to
the key terms of agent and business.
This word cloud focuses on the concept of model, as well as terms related
to methodological issues. In fact, the group includes stems such as the following
ones: approach, proposal, analysis, problem, results, performance, and simulation.
In particular, some of these terms appear to be associated with management issues,
involving the concepts of cost, market, operative, suppliers, and strategies. This
group of terms referring to efficiency, evaluation, solution, and improvement typ-
ically concerns the modeling effort. Finally, our semantic analysis clearly highlights
the applied, multi-faced, and practical nature, across a wide range of perspectives,
of this type of researches involving agents and business management.
48 3 Agents and Organization Studies
References
18. Dhesi, G., Ausloos, M.: Modelling and measuring the irrational behaviour of agents in financial
markets: Discovering the psychological soliton. Chaos Solitons Fractals 88, 119–125 (2016).
https://doi.org/10.1016/j.chaos.2015.12.015
19. Dignum, V., Dignum, F.: Agents are dead. long live agents! In: Seghrouchni, A.E.F., Suk-
thankar, G., An, B., Yorke-Smith, N. (eds.) Proceedings of the 19th International Conference
on Autonomous Agents and Multiagent Systems, AAMAS ’20, Auckland, New Zealand, May
9–13, 2020, pp. 1701–1705. International Foundation for Autonomous Agents and Multiagent
Systems (2020). https://dl.acm.org/doi/abs/10.5555/3398761.3398957
20. Dignum, V., Gilbert, N., Wellman, M.P.: Introduction to the special issue on autonomous agents
for agent-based modeling. Auton. Agents Multi-Agent Syst. 30(6), 1021–1022 (2016). https://
doi.org/10.1007/s10458-016-9345-5
21. Fortino, G., Guerrieri, A., Russo, W.: Agent-oriented smart objects development. In: Proceed-
ings of the 2012 IEEE 16th International Conference on Computer Supported Cooperative
Work in Design (CSCWD), pp. 907–912 (2012). https://doi.org/10.1109/CSCWD.2012.
6221929
22. Franklin, S., Graesser, A.: Is it an agent, or just a program? A taxonomy for autonomous
agents. In: International Workshop on Agent Theories, Architectures, and Languages, pp. 21–
35. Springer, Berlin (1996)
23. Franklin, S., Graesser, A.: Intelligent Agents III. Lecture Notes on Artificial Intelligence, pp.
21–35. Springer, Berlin (1997)
24. Goodfellow, I.J., Bengio, Y., Courville, A.C.: Deep Learning. Adaptive Computation and
Machine Learning. MIT Press, Cambridge (2016). http://www.deeplearningbook.org/
25. Grimm, V., Railsback, S.F.: Individual-based modeling and ecology. Princeton University
Press, Princeton (2013). https://doi.org/10.1515/9781400850624
26. Hayes-Roth, F., Waterman, D.A., Lenat, D.B.: Building Expert Systems. Addison-Wesley
Longman Publishing, Bostoorth (1983)
27. Hewitt, C.: Viewing control structures as patterns of passing messages. Artif. Intell. 8(3), 323–
364 (1977). https://doi.org/10.1016/0004-3702(77)90033-9
28. Janssen, M.: Complexity and Ecosystem Management: The Theory and Practice of Multi-
Agent Systems. Edward Elgar Publishing, Cheltenham (2002)
29. Jennings, N., Sycara, K., Wooldridge, M.: A roadmap of agent research and development.
Auton. Agents Multi-Agent Syst. 1, 7–38 (1998). https://doi.org/10.1023/A:1010090405266
30. Jennings, N.R.: On agent-based software engineering. Artif. Intell. 117(2), 277–296 (2000).
https://doi.org/10.1016/S0004-3702(99)00107-1
31. Khalil, W., Dombre, E.: Modeling, Identification and Control of Robots. Butterworth-
Heinemann (2004)
32. Liebowitz, J.: Introduction to Expert Systems. Mitchell Publishing, Los Angeles (1988)
33. Lin, H.: Architectural Design of Multi-Agent Systems: Technologies and Techniques: Tech-
nologies and Techniques. IGI Global, Pennsylvania (2007)
34. Masters, P., Sardina, S.: Expecting the unexpected: goal recognition for rational and irrational
agents. Artif. Intell. 297, 103490 (2021). https://doi.org/10.1016/j.artint.2021.103490
35. Mondal, B.: Artificial intelligence: state of the art. Recent Trends Adv. Artif. Intell. Internet
Things 389–425 (2020). https://doi.org/10.1007/978-3-030-32644-9_32
36. Monostori, L., Váncza, J., Kumara, S.R.: Agent-based systems for manufacturing. CIRP Ann.
55(2), 697–720 (2006)
37. Newman, M.E.J.: Modularity and community structure in networks. Proc. Nat. Acad. Sci.
103(23), 8577–8582 (2006). https://doi.org/10.1073/pnas.0601602103
38. Poole, D.L., Mackworth, A.K.: Artificial Intelligence: Foundations of Computational Agents.
Cambridge University Press, Cambridge (2010). https://doi.org/10.1017/9781108164085
39. Russell, S.J., Norvig, P.: Artificial Intelligence: A Modern Approach. Prentice Hall Series in
Artificial Intelligence. Prentice Hall, Englewood Cliffs (1995). https://www.worldcat.org/oclc/
31288015
40. Sibbel, R., Urban, C.: Agent-based modeling and simulation for hospital management. In:
Cooperative Agents, pp. 183–202. Springer, Berlin (2001)
50 3 Agents and Organization Studies
41. Silva, V., Garcia, A., Brandão, A., Chavez, C., Lucena, C., Alencar, P.: Taming agents and
objects in software engineering. In: International Workshop on Software Engineering for
Large-Scale Multi-Agent Systems, pp. 1–26. Springer, Berlin (2002). https://doi.org/10.1007/
3-540-35828-5_1
42. Simon, H.A.: Bounded rationality. In: Utility and Probability, pp. 15–18. Springer, Berlin
(1990)
43. Singh, D., Padgham, L., Logan, B.: Integrating BDI agents with agent-based simulation plat-
forms: (JAAMAS extended abstract). In: Proceedings of the 16th Conference on Autonomous
Agents and MultiAgent Systems, AAMAS ’17, pp. 249–250. International Foundation for
Autonomous Agents and Multiagent Systems, Richland (2017). http://dl.acm.org/citation.cfm?
id=3091125.3091165
44. Sowa, J.F., Zachman, J.A.: Extending and formalizing the framework for information systems
architecture. IBM Syst. J. 31(3), 590–616 (1992). https://doi.org/10.1147/sj.313.0590
45. Sterling, L., Taveter, K.: The Art of Agent-Oriented Modeling. The MIT Press, Cambridge
(2009). https://doi.org/10.7551/mitpress/7682.001.0001
46. Sulis, E., Humphreys, L., Vernero, F., Amantea, I.A., Audrito, D., Di Caro, L.: Exploiting
co-occurrence networks for classification of implicit inter-relationships in legal texts. Inform.
Syst. 101821 (2021). https://doi.org/10.1016/j.is.2021.101821
47. Sun, R., et al.: Cognition and multi-agent interaction: from cognitive modeling to
social simulation. Cambridge University Press, Cambridge (2006). https://doi.org/10.1017/
CBO9780511610721
48. Taveter, K., Wagner, G.: A multi-perspective methodology for modelling inter-enterprise
business processes. In: Arisawa, H., Kambayashi, Y., Kumar, V., Mayr, H.C., Hunt, I. (eds.) ER
2001 Workshops, HUMACS, DASWIS, ECOMO, and DAMA, Yokohama Japan, November
27–30, 2001, Revised Papers. Lecture Notes in Computer Science, vol. 2465, pp. 403–416.
Springer, Berlin (2001). https://doi.org/10.1007/3-540-46140-X_31
49. van der Aalst, W., Bichler, M., Heinzl, A.: Robotic process automation (2018). https://doi.org/
10.1007/s12599-018-0542-4
50. Watts, D.J., Strogatz, S.H.: Collective dynamics of small-world networks. Nature 393(6684),
440–442 (1998). https://doi.org/10.1038/30918
51. Weiss, G.: Multiagent Systems. The MIT Press, Cambridge (2013)
52. Wooldridge, M., Jennings, N.R.: Intelligent agents: theory and practice. Knowl. Eng. Rev.
10(2), 115–152 (1995). https://doi.org/10.1017/S0269888900008122
53. Wright, J.: International Encyclopedia of the Social & Behavioral Sciences, vol. 11. Elsevier,
Amsterdam (2015)
54. Zachman, J.A.: A framework for information systems architecture. IBM Syst. J. 26(3), 276–
292 (1987). https://doi.org/10.1147/sj.263.0276
55. Zimmer, N.: Socio-technical modeling and simulation of airline operations control. Doctoral
Thesis, Technische Universität Braunschweig, Germany (2020)
Part II
The Agent-Based Perspective
Chapter 4
Agent-Based Simulation with NetLogo
Abstract This section introduces the NetLogo tool, which is currently one of
the most widely adopted platforms for agent-based simulations. We first present
an overview of the basic concepts used within NetLogo, such as commands and
procedures for creating a modeling and simulation application. We then provide an
introduction to the main components of a NetLogo program by introducing both
the specific programming language and more advanced features. Understanding the
tool is a necessary step to be taken to better appreciate the examples offered in the
book.
1 http://ccl.northwestern.edu/netlogo/.
4.2 The Modeling Platform 55
address the simulation, some sliders to define variable parameters of the simulation,
and so on; the main area to visualize the simulation results called the “2D view,”
while the view area in the NetLogo 3D version is called the “3D view” (4). The
visualization area is a black screen where agents move and interact with each other
and other entities. When a new empty model is opened, this view is usually placed
on the center-right of the screen.
The NetLogo Top Menu Bar
The NetLogo menu bar shown at the top of the screen has three main areas:
Interface, Info, and Code, as is reflected by Fig. 4.2. The bar includes options for
improving the visualization, such as a slider to set the simulation speed, as well as a
checkbox to enable or disable the view area.
Interface The Interface usually contains the following elements: the output view
of the simulation, some “buttons” for the user to interact with the simulation,
several monitors, and graphs generated to illustrate the simulation results. Figure 4.3
describes a sample layout of buttons and monitors on the interface.
56 4 Agent-Based Simulation with NetLogo
Fig. 4.3 A typical set of buttons on the Interface: switch (“with-infected?”), slider (“propagation-
risk”), chooser (“preset-profiles”), procedure buttons (“setup” and “go”), and two monitors to show
the results (“#people” and “#families”)
Info The Info section includes a description of the purpose and the features, such
as “what the model is,” “how to use it,” and “author references.”
Code The Code area includes a NetLogo program written in the special-purpose
programming language of NetLogo to create and manage the model. In addition
to the declarations of initial variables, every part of the code called a procedure is
enclosed between the keywords “to” and “end.” Comments within the code begin
with a semicolon “;”. The next section focuses on the Code area.
The NetLogo code serves primarily research and educational purposes, demonstrat-
ing a distinctive convenience of writing even by novice programmers. Because of
the readability of the code even by someone completely inexperienced, the resulting
simulation models can be easily understood. This aspect has facilitated the dissem-
ination of ABM among many different research communities by communicating,
comparing, and verifying simulation results.
Skeleton of a Program
The code can be written freely, and there are some conventions that make it easier to
share among the research communities. A program can be typically separated into
the following three main parts:
• 1. Variables declarations. On the first line, a NetLogo program usually begins
with the inclusion of libraries of interest, the so-called extensions. This is
followed by the definitions of the classes or types of agents. In the NetLogo
4.2 The Modeling Platform 57
jargon, agents are termed as turtles, and classes or types of agents are called
turtle breeds. Finally, the initial part defines both the global variables by the
globals construct and the variables specific for each type of agent or other entity
by the turtles-own, or breed_name-own constructs.
• 2. Initial settings. A specific “setup” procedure, which by convention corresponds
to the “setup” button of the NetLogo user interface, first cleans the simulation
environment of previous values of the variables by executing the NetLogo
command clear-all. This is followed by defining the initial values of the variables
at the first step of running the simulation system, including resetting the time
variable.
• 3. The main cycle. Typically, the main procedure corresponds to the “go” button
on the NetLogo user interface. The main loop includes procedures that are
concerned with both the agents and the environment, to be repeated until the
stop condition becomes fulfilled. The time variable is increased by one unit at a
time with the tick command.
The NetLogo platform manages four types of entities, through specific variables
of the corresponding types defined at the beginning of the program. These entity
types are agents (turtles), the environment (patches) in which the agents move
and interact, links between turtles, and the “observer” that refers to the kind of
omniscient agent and controller having a “God’s eye view” of the simulation.
Also patches can contain variables and can be represented within a GIS to be
imported as shapefiles (see Sect. 4.3.2). Similarly, the links between turtles can
contain variables and are likewise modeled as entities to be added to or removed
from to the simulation model.
A typical skeleton of the initial part of a NetLogo program is as follows:
extensions [ <name> ] ; import specific libraries
The conventional names setup and go are commonly adopted to identify the main
procedures for initializing and executing a NetLogo simulation.
The two procedures are associated with the two buttons—setup and go—on the
Interface tab, as in Fig. 4.4. The setup typically procedure includes the following
instructions: (i) initialize the simulation; (ii) set the patches of the environment; (iii)
create the agents—turtles—of the environment by setting their positions, shapes,
58 4 Agent-Based Simulation with NetLogo
Fig. 4.4 Setup and Go buttons in the Interface. Note the loop symbol for Go button, as well as
letters to assign an “action key” to the corresponding procedures
colors, orientations, and so on; and (iv) initialize the simulation time to 0 by means
of reset-ticks. The following code provides an example of the setup:
to setup
clear-all ; clear the screen
setup-patches ; initialize the simulation environment
setup-turtles ; initialize the agents
reset-ticks ; reset the clock
end
Each simulation model typically occurs in space and evolves over time. This is
also the case with the NetLogo simulation platform. In a discretized environment or
“world” consisting of a grid or space (in 3D tool) of “patches,” agents (or “turtles”)
perform different actions at discrete time steps, i.e., “ticks.”
In some cases, the evolution of time or the spatial variations are of a particular
interest. For example, the arrival of patients to the emergency department may
depend on the hour of the day, the day of the week, and the month of the year. On
the contrary, for instance, the arrival of orders to the chain of stores may vary from a
city to another or may change over time. In addition, the agents manipulate variables
related to time and space. For example, an employee’s productivity may vary based
on different internal and external factors. This is the case with individual job skills,
but also with external events occurring at a certain time or involving space, such
as economic incentives, office temperature, and satisfactory relationship with work
colleagues.
Space The environment—“world”—created by NetLogo is composed of grid cells
or “patches,” where each “patch” has two coordinates or three coordinates in the 3D
tool. The size of the display area can be changed by right-clicking on the display—
the black area on the interface—and changing the maximum coordinates as well
as the size of the patches to extend the grid. The NetLogo world wraps, meaning
that when an agent crosses the edge of the world, it reappears from the opposite
edge of the world. The model setup menu allows one to turn wrapping on and off
horizontally or vertically, or in both ways at the same time.
Time The simulation environment is based on discrete time steps (“ticks”), where
a tick counter is updated at each cycle of executing the simulation model. As
was already mentioned before, the setup command initializes the tick using the
instruction reset-ticks. To produce more realistic simulations, one can relate each
tick to a unit of time, such as a second, minute, or day. Specific commands,
such as tick-advance, allow to increase the tick counter to advance the simulation.
This command allows to avoid wasting computation time in idle phases, as in the
ABBPS_Ford-Mazda model discussed in Chap. 8. Another option is to exploit the
Time library2 that allows the simulation to manage real dates presented in various
date-time formats. The Time extension has been recently developed, and it was not
possible to include it in this work.
2 https://ccl.northwestern.edu/netlogo/docs/time.html.
60 4 Agent-Based Simulation with NetLogo
4.2.6 BehaviorSpace
The BehaviorSpace tool built into NetLogo is concerned with the design of
ABM experiments. In particular, the BehaviorSpace tool addresses the verification,
validation, and replication of an ABM. This tool simplifies the study of parameter
variation in the model by automatically changing simulation parameters within
predefined ranges.
Using the BehaviorSpace tool is often called parameter sweeping, intended as a
quick way to conduct a series of simulations by varying parameters and displaying
the output on a graph (see Sect. 6.2.3). As a matter of fact, the BehaviorSpace tool
allows the users to easily visualize the output for the effect by varying simulation
parameters. For instance, the research can specify a subset of values from the ranges
of each variables included in the NetLogo model, in particular in the sliders of the
model interface. The corresponding model can be run by the program modifying
each possible combination of the selected values. In the execution of the model, the
program records the results during each model run. This provides the researcher with
a set of solutions from a subset of the model’s parameter space, in order to be able to
explore relationships between variables, as well as the general system behavior. We
refer the interested reader to the detailed guide included in the program and available
online, so as not to burden the reading of this Chapter (https://ccl.northwestern.edu/
netlogo/docs/behaviorspace.html).
4.2.7 3D Visualization
Fig. 4.5 Simulating agents moving in a building with the 3D NetLogo tool
of agents that move within a spatial structure, instead of an activity diagram, allow
for immediate and better understanding. This is exemplified by the visualization
represented in Fig. 4.5 concerning a 3D NetLogo model which uses “NW,” i.e., the
network extension. This is also similar to the ABM of a hospital emergency service
included in the web repository of this book (ABBPS_ED-3D model).
NetLogo Web is a version of the NetLogo modeling platform that runs entirely in the
browser. The advantages of being able to run a model on the web are the immediacy
of spreading and sharing the model. NetLogo Web enables to represent the behavior
of the simulation, as well as visualize the code. However, not all NetLogo models
can yet be correctly executed in the Web version of NetLogo. In this book, we
provide several examples of models that are directly executable on the web, such as
the introductory business process example ABBPS_Intro_Business_Process model
described in Sect. 4.4.1 and represented in Fig. 4.6.
4.2.9 BehaviorSearch
Fig. 4.6 The online version of the ABBPS_Intro_Business_Process model translated into HMTL
and JavaScript by NetLogoWeb
The tool includes a GUI for providing a convenient way to facilitate design and
execute advanced search and optimization techniques. BehaviorSearch exploits a
combination of Boolean, numerical, and categorical parameters by adopting various
search algorithms and search space representations. Finally, the tool provides a
multi-thread support to improve the computational performance. An external, well-
documented website makes it easy to approach the tool, also describing possible
different practical experiments in this area.3
4.3 Extensions
Fig. 4.7 An example that imports a graphml file to represent path trajectories in a building
(ABBPS_ED-Path-import-graph model)
In ABM, agents can be associated with other agents through links which can be used
for representing relationships or contacts between the agents.
Links can be created by means of the create-link-to construct, which is
thoroughly described in the user manual.5 In addition, the network analysis benefits
from a specific code extension provided by the extensions[nw] library.
The NW extension6 is useful for calculating typical social network metrics, such
as the degree or centrality. The library also allows to import or export the network
in standard formats. For example, to import a network in the graphml format,
the nw:load-gexf "<name_of_the_file>.graphml" construct should
be used. The ABBPS_ED-Path-import-graph model represented in Fig. 4.7 imports
vertex and edges from the graphml format, to create path between two distinct
nodes in the emergency department. This approach is based on the campus model
presented in [2]. Other work presented in this book adopt this library, as in the
cases concerning the dissemination of information (ABBPS_Dissemination-process)
or movements in a building (ABBPS_ED-3D) models.
5 https://ccl.northwestern.edu/netlogo/docs/dictionary.html.
6 Visit: https://ccl.northwestern.edu/netlogo/docs/nw.html.
64 4 Agent-Based Simulation with NetLogo
A guide enriched with examples helps the user understand how this extension
works.7
The extension allows the import of pre-existing GIS data represented as vectors
(points, lines, and polygons) or rasters (grids) into the current model. For example,
the extension supports vector data in the form of ESRI shapefiles (.shp), which is
probably the most common format for storing and exchanging vector data for GIS.
According to [9], “Simulations can be transformed from a basic representation
to one that accurately replicates the characteristics of a map or population.” In
Sect. 8.3, we describe a NetLogo model of a basic reinforcement-learning project
that uses a GIS.
The source code of the NetLogo platform is hosted on GitHub.8 This allows
developers to explore and improve the platform, as well as to add new commands
and reporters by writing code in Java and other languages that can be used in
NetLogo. NetLogo provides some introductory examples that describe how to create
extensions and use them in simulation models.9
A recent feature of NetLogo allows for easier management of new extensions.10
In addition to the user’s guide, some help is offered through the various channels of
the NetLogo community, such as the official website, mailing lists, and Modeling
Commons website.11
In this book, we propose an XES extension to NetLogo for handling the import
and export of a business process event log in the standard XES format, as is
described in Sect. 9.3.
This section introduces three basic examples for the beginners. The first example
is a very simple business process modeling and simulation in NetLogo that handles
patches as tasks and turtles as workers. The second example is the Wumpus world,
which is concerned with classical AI. The third example is the simulation of
7 https://ccl.northwestern.edu/netlogo/docs/gis.html.
8 https://github.com/NetLogo/NetLogo.
9 https://ccl.northwestern.edu/netlogo/docs/extensions.html.
10 https://ccl.northwestern.edu/netlogo/docs/extension-manager.html.
11 Modeling Commons website is for sharing and discussing agent-based models written in
the process can be turtles of a different turtle breed. The corresponding NetLogo
program can start with the following initial code:
breed [ entities entity ]
breed [ workers worker ]
The entity that enters the process is an agent, like a patient, or an object,
like an order, that goes through the activities of the flow. The entity may pos-
sess some local variables to characterize its state, such as the Boolean variable
entity-service? indicating if the entity is currently being served by the
simulation system, the time-begin to keep track of when serving an entity by
the simulation system will start, and the CT-begin to compute the cycle time (see
Sect. 2.2.3) at the end of the simulation. All entities remain in a waiting list (a global
variable list-entities), while they are not being served.
entities-own [ ; define the variables belonging to each breed
entity-service? ; is being served?
time-begin ; the moment serving an entity will start
CT-begin ; the starting time (for computing cycle time)
]
Workers are the agents that serve the entities in the simulation. When they are
free, they search for entities from the waiting list: if there are any, they will start
serving the first entity from the waiting list by performing their corresponding
activities. Therefore, each worker has a Boolean variable is-working? that identifies
the worker’s status of free versus busy. Another variable of a worker agent keeps
track of the entity that the worker is currently serving. In our example, we also
introduced in a worker agent a few variables for managing the simulation, such
as the time to finish the current task w-time-end-act, as well as the variables (w-
time-working and w-time-waiting) for monitoring the working and waiting time.
Other variables could also be included in an entity to be served, such as the
complexity of the work required on the entity. This can be represented as a
dichotomous enumeration value—easy or difficult—or as a factor to be multiplied
by the processing time.
workers-own [ ; define the variables belonging to each worker
is-working? ; a worker is working
working-with ; the entity with which it is serving
The go procedure, on the other hand, includes the main loop with the
following procedures to introduce arrivals of new entities into the process
(new-arrival), to check if workers are free to start serving an entity
(workers-check-entities), and to check when the time of serving an entity
is over and other activities of the business process can continue (check-time).
The final set of procedures includes outputting some monitoring statistics
(monitoring-stats). The main loop also includes the time increment (tick)
and the stop condition.
to go ; main cycle
tick
In NetLogo, multiple variables can be initialized on the interface (see Fig. 4.9),
such as the number of entities arriving in the simulation (n-entities) or the
number of current workers. The monitors and diagrams generated allow for a
quick review of the key results, including the average cycle time as a KPI. The
ABBPS_Intro_Business_Process model is simple and understandable. In addition
to this basic introductory example, Sect. 7.3.1 describes the ability of a particular
NetLogo program to directly import a BPMN model into the program.
To better introduce the tool adopted in the book, and offer homage to classical
work on agents in AI, we created in NetLogo the Wumpus World program
(ABBPS_Wumpus-World.nlogo) represented in Fig. 4.10 for studying knowledge-
based agents, proposed by Michael Genesereth [7].
68 4 Agent-Based Simulation with NetLogo
Fig. 4.9 An introductory business process modeling and simulation example in NetLogo
Description of the Game The Wumpus world takes place in a cave consisting of
rooms connected by passageways. Lurking somewhere in the cave is the terrible
Wumpus, a beast that eats anyone who enters its room. The Wumpus can be shot
by an agent, but the agent has only one arrow. Some rooms contain bottomless
pits that will trap anyone who wanders into these rooms (except for the Wumpus,
which is too big to fall in). The only mitigating feature of this bleak environment is
the possibility of finding a heap of gold. Although this program is rather tamed by
modern computer game standards, it illustrates some very important points about AI.
The typical Performance, Environment, Actuators, Sensors (PEAS) [4] description
about the environment is as follows:
• Performance measure: +1000 for climbing out of the cave with the gold, −1000
for falling into a pit or being eaten by the Wumpus, −1 for each action taken, and
−10 for using up the arrow. The game ends either when the agent dies or when
the agent climbs out of the cave.
4.4 Introductory Examples 69
• Environment A 4 × 4 grid of rooms. The agent always starts in the square labeled
[1,1], facing to the right. The locations of the gold and the Wumpus are chosen
randomly, with a uniform distribution, from the squares other than the start
square. In addition, each square other than the start square can be a pit, with
the probability 0.2.
• Actuators The agent can move Forward, Turn-Left by 90◦ , or Turn-Right by 90◦ .
The agent dies a miserable death if it enters a square containing a pit or the alive
Wumpus. If an agent tries to move forward and bumps into a wall, then the agent
does not move. The action Grab can be used to pick up the gold if it is in the same
square as the agent. The action Shoot can be used to fire an arrow in a straight
line in the direction the agent is facing. The arrow continues until it either hits
(and hence kills) the Wumpus or hits a wall. The agent has only one arrow, so
only the first Shoot action has any effect. Finally, the action Climb can be used
to climb out of the cave, but only from the square [1,1].
• Sensors Each agent has five sensors, each of which gives a single bit of
information: (i) In the square containing the Wumpus and in the directly (not
diagonally) adjacent squares, the agent will perceive a Stench. (ii) In the squares
directly adjacent to a pit, the agent will perceive a Breeze. (iii) In the square
where the gold is, the agent will perceive a Glitter. (iv) When an agent walks into
a wall, it will perceive a Bump. (v) When the Wumpus is killed, it emits a Scream
that can be perceived anywhere in the cave.
The perceptions will be provided to the agent program in the form of a list of
five symbols; for example, if there is a stench and a breeze, but no glitter, bump, or
scream, the agent will get [Stench, Breeze, None, None, None].
The last example that we introduce in this section is the modeling and simulation
of an emergency department (ABBPS_ED-simulation.nlogo). The types of agents in
the emergency department are workers or operators—nurses, physicians, and social
workers—who are involved in a set of activities or tasks with patients.
An ABM focuses on agent behaviors, where active agents in ED are workers,
who start the business process simulation when they are able to begin a service on
a patient, or are engaged in back-office services. The flow of activities is defined by
a business process model represented in the BPMN language. Figure 4.11 shows a
basic diagram of the ED business process in BPMN that includes the main activities,
starting from the arrival of a patient.
In Sect. 7.3.1, we demonstrate a NetLogo program enabling to automatically
import a BPMN diagram to represent the workflow on a NetLogo screen. The ED
business process model represents the 14 main tasks of the ED, containing two
types of start events (i.e., arrival of patients by ambulance or on their own), as well
as multiple gateways (all XOR decisions) of the flow.
70 4 Agent-Based Simulation with NetLogo
Fig. 4.11 Emergency department business process in the standard BPMN language
To improve the visualization of the activities, we also exploit the map of a real
ED, as is shown in Fig. 4.12.
Here we have opted for the typical NetLogo Desktop (2D) version, which is
the most traditional and stable version of NetLogo. The ABBPS_ED-3D model
describes the importation of a map of an emergency department to create a realistic
simulation environment. In the current 2D version, the “patches” or the pavement
where the agents move can be colored according to the different ED sectors as
follows:
• LightGreen—Waiting room
• Gray—Registration desk
• Green—Triage
• Blue—Observation area
• Red— Shock Room
• Pink—Consultation
• Purple—XRay exam
4.4 Introductory Examples
Each patch has a variable for identifying the type of activity included by the
business process. For example, the light green patches in the center correspond to
the Triage activity. Each patch (corresponding to the activity) includes the number of
workers, the types of workers, and the average and standard duration for completing
the service. A Boolean variable free? determines whether the activity is available
for a new patient. At the initial setup of the simulation, all the patches are vacant,
which is represented by assigning the True value to the free? variable. A patch
becomes busy after the workers have started serving a patient, which is represented
by assigning the False value to the free? Boolean variable of the corresponding
patch.
Agents in the ED ABM emphasizes the role of agents. The emergency department
is staffed 24/7 by three physicians or clinical professionals and six nurses certified
in emergency medicine. Patients arrive randomly but with certain regularities
depending on the hour and day of the week.
Moving Agents within ED To determine the movements of the agents—patients
and operators—we can import a graph with the paths between the nodes, where
the weight of each edge corresponds to the time required to cover the distance
between the two nodes by walking. For further information on graph importation,
see Sect. 4.3.1.
Operators As in the real world, operators are the “engine” of the activities by the
ED. The number of operators of different types—nurses, medical doctors, social
workers—can be set by the corresponding sliders on the interface. There is a variable
determining the “state” of each operator: it can perform a service with a patient
(“S”); take a break (“P”); look for a new patient to serve (“L”); move from one
location to another in the ED (“M”); or wait for a task to begin, as is represented in
Table 4.1.
The simulation starts with the arrival of patients in the admission area, the first
task being “Register Patient,” and ends with the exit from the ED, the last task being
“Closure.” Similarly to workers, also each patient has a state variable corresponding
to its current activity.
Regarding the process flow of activities, each agent has the “next task” variable
that includes the name of the following task to be started at the next step. At the
beginning of the simulation, the “next task” is set to “Registration.” Whenever an
agent finishes performing a task, it sets the “next task” variable according to the
Table 4.1 The worker states with the descriptions and names of the variables
Description Var. State
1-The worker looking for a patient to serve W Waiting for a patient to serve
2-Moving to/from ED areas M Moving to next ward
3-Pending/waiting to start working P Pending/Waiting to start
4-Busy, starting service on places with workers S Performing the service
5-Deciding to have a break—stop/pause B Having a break/pause
4.4 Introductory Examples 73
Table 4.2 The description and the variable names of the states of patients
Description Var. State description
1-The patient is waiting a call for the service W Waiting
2-Moving to/from ED areas M Moving
3-Pending/waiting to start working P Pending
4-Busy, starting service on places with workers S Service
5-Deciding to abandon A Abandon
flow of the business process. If there is a gateway, a function determines the next
task according to the probabilities associated with different branches of the gateway.
Time Time scheduling is one of the most relevant aspects of ABM. NetLogo
includes a tick variable for time discretization. We chose to simulate the emergency
department at the time granularity of seconds. A procedure can easily map seconds
to obtain hours (3600 ticks), days (86,400 ticks), and months (2,592,000). Alterna-
tively, the time extension can be used to handle real data values,12 for instance, the
starting date (e.g.,“01.01.2020 00:00:00”).
The Arrival of New Patients Patients arrive every day by following a specific
distribution based on real life. In the model, every 24 h, the simulation computes
an array with a stochastic set of arrival times. To manage different arrival times, we
provide a specific model ABBPS_Interarrival-times on the website associated with
the book.
Main Variables A patient has the following main variables: a status variable
describing its current situation, such as waiting for a provider to arrive (Pending),
being actively served by a worker (Service), or leaving the ED before being seen
by a physician (Abandon); the Emergency Severity Index (ESI) corresponding to
the patient’s level of urgency, i.e., a number from 1 to 5 for the variable ESI; and a
variable describing the next task in the flow (next-task). Table 4.2 describes the
states of patients.
Some variables relate to key indicators of the healthcare process. In particular,
we record the time of the arrival in the hospital time-of-arrival, in order to
compute KPIs as the length of stay (Los) or the door-to-doctor time (DTDT). The
LOS is the time spent by the patient from admission to the hospital to discharge.
DTDT is the time elapsed by the patient from admission to the initial medical
examination in the ED.
Rules The behavior of the ED simulation mostly depends on the behaviors of
healthcare workers that are modelled as active agents. At each time unit, they check
the environment: if a patient is waiting for a service, they will commit to the patient,
whereby the variable “working-with” is set with the agent information. If needed,
they also move to the next spatial area according to the flow of the business process.
12 https://ccl.northwestern.edu/netlogo/docs/time.html.
74 4 Agent-Based Simulation with NetLogo
Finally, they may decide to have a break or work faster, depending on the number
of patients in the waiting list.
Patients are primarily passive agents, as they must wait and follow the instruc-
tions by the healthcare workers. They remain in the queue corresponding to the
activity of remaining in the common “Waiting-Area” until they are called to get the
service. They become “active” when they decide to leave the ED before the normal
end of the activities.
A 3D Model of an Emergency Department The web repository of the book includes
also the ABBPS_ED-3D model describing how to get a nice 3D visualization.
As mentioned before, a good visualization of the simulation improves the overall
readability also to not BPM experts. For example, a 3D view can better describe the
resulting paths or bottlenecks of a simulated scenario. The demo example provides
the visualization of the same emergency department in a 3D perspective, as is shown
in Fig. 4.13.
The code of the ABBPS_ED-3D model contains the creation of the walls based
on a map concerning the healthcare hospital department, which allows to create a
realistic simulation environment.
Fig. 4.14 “Agents on the move” model included in the tutorial for learning NetLogo
(patch). In addition, if they were not already connected, a link is created between
them.
The tutorial with the corresponding model is publicly available at the following
web address, https://abmsim.di.unito.it/tutorial-netlogo/, as well as on the book’s
website.
References
1. Betz, S., Eichhorn, D., Hickl, S., Klink, S., Koschmider, A., Li, Y., Oberweis, A., Trunko, R.: 3d
representation of business process models. In: Loos, P., Nüttgens, M., Turowski, K., Werth, D.
(eds.) Modellierung betrieblicher Informationssysteme (MobIS 2008), pp. 73–87. Gesellschaft
für Informatik e.V., Bonn (2008)
2. Crooks, A., Malleson, N., Manley, E., Heppenstall, A.: Agent-Based Modelling and Geograph-
ical Information Systems: A Practical Primer. SAGE Publications Limited (2018). https://doi.
org/10.4135/9781473916432.n4
3. Eichhorn, D., Koschmider, A., Li, Y., Sturzel, P., Oberweis, A., Trunko, R.: 3d support for
business process simulation. In: 2009 33rd Annual IEEE International Computer Software and
Applications Conference, vol. 1, pp. 73–80. IEEE, Piscataway (2009). https://doi.org/10.1109/
COMPSAC.2009.20
4. Poole, D.L., Mackworth, A.K.: Artificial Intelligence: Foundations of Computational Agents.
Cambridge University Press, Cambridge (2010). https://doi.org/10.1017/9781108164085
5. Railsback, S.F., Lytinen, S.L., Jackson, S.K.: Agent-based simulation platforms: review and
development recommendations. Simulation 82(9), 609–623 (2006). https://doi.org/10.1177/
0037549706073695
6. Richards, D., Taylor, M.: A comparison of learning gains when using a 2d simulation tool versus
a 3d virtual world: an experiment to find the right representation involving the marginal value
theorem. Comput. Educ. 86, 157–171 (2015). https://doi.org/10.1016/j.compedu.2015.03.009
7. Russell, S.J., Norvig, P.: Artificial Intelligence: A Modern Approach. Prentice Hall Series in
Artificial Intelligence. Prentice Hall (1995). https://www.worldcat.org/oclc/31288015
8. Stonedahl, F., Wilensky, U.: Behaviorsearch [computer software]. Center for Connected Learn-
ing and Computer Based Modeling, Northwestern University, Evanston, IL (2010). http://www.
behaviorsearch.org
9. Walker, B., Johnson, T.: NetLogo and GIS: a powerful combination. In: CATA, pp. 257–264
(2019)
Chapter 5
Agent-Oriented Modeling
Abstract The purpose of this book is to use agent-based simulations for studying
business processes of any problem domain with the purpose to optimize them.
When one is faced with a new problem domain and intends to model and simulate
business processes of that domain, a natural question to be asked is “How should I
start?” We answer this question in this chapter. The answer consists of three stages.
First, the purpose and decisions to be supported by business process simulation and
the stakeholders are identified. This entails identifying agents or active entities of
the problem domain and representing their behaviors, knowledge, and interactions.
Second, the models representing the problem domain analysis are mapped to the
business process models. Third, the problem domain analysis models and business
process models are mapped to the NetLogo program. To understand the problem
domain and decisions to be supported, our approach uses a hierarchical abstraction
to help deal with complexity in business processes. We take a typical top-down
approach of focusing on high-level details early in problem domain analysis and
exploring the lower-level details once the high-level understanding is sufficient. The
purpose of this chapter is to describe how this can be done in a holistic and balanced
manner. The methodology put forward in this chapter can also be used for agent-
oriented problem domain analysis for different purposes separately from business
process modeling and NetLogo.
Broadly speaking, business process modeling approaches can be divided into the
following three categories [5]:
• Activity-oriented approaches define a business process as a set of ordered
activities. The emphasis is on what activities take place.
• Agent-oriented approaches specify and analyze the role of the agents that
participate in the process. The focus is on the entities that perform process
elements.
Far too often, agent-based simulations are developed in an ad hoc manner [6].
However, because of the complexity of agent-based simulations, application of
systematic software engineering methodologies is necessary for developing useful
agent-based simulations [2, 10]. A software engineering methodology defines a sys-
tematic process with steps that guide the developer from requirements elicitation to
implementation, validation, and sometimes even maintenance of the software [11].
This chapter describes the AOM software engineering methodology that is tailored
for designing and developing agent-based business process simulations. The AOM
methodology addresses a problem domain at three different abstraction layers and
from three complementary vertical perspectives. In general, many perspectives on
the processes in an organization are possible. The Zachman Framework [12, 18]
was one of the first conceptual frameworks to provide a comprehensive picture
of the possible perspectives. The Zachman Framework classifies perspectives on
a two-dimensional grid. The first dimension indicates the question being asked
by a model’s stakeholders: What? How? Where? Who? When? and Why? The
second dimension indicates the stakeholder: Planner, Owner, Designer, Builder, and
Subcontractor. Zachman proposes that every modeling approach may be categorized
as a combination of one question and one stakeholder [17]. Proceeding from the
philosophy of the Zachman Framework, Sterling and Taveter [13] defined the
viewpoint framework. The viewpoint framework is also a grid with two dimensions
but has only three vertical perspectives and three abstraction layers. The vertical
perspectives are interaction, information, and behavior, and the abstraction layers
are analysis, design, and implementation. The interaction perspective merges the
Who and Where perspectives of the Zachman Framework, dealing with active
entities or agents of the system1 to be modelled and interactions between them.
The information perspective directly corresponds to the What? perspective of the
1 The term “system” is used in this section in the broad sense denoting both a social system—
organization—and a technical system designed and built to support the organization. We elaborate
the term “system” in Sect. 5.1.2.
5.1 Business Processes Modeling Approaches 79
Fig. 5.1 The iterations of the AOM methodology for business process modeling and simulation
Any agent-based simulation system is designed and developed with some purpose
in mind. The purpose is usually concerned with making decisions of some kind.
Such decisions can, for example, be made on where should electric vehicle charging
stations be located, how should land be used in one or another location to minimize
environmental impact, what types of services should be offered to tourists in a
5.1 Business Processes Modeling Approaches 81
Fig. 5.2 The iterations of the AOM methodology for business process modeling and simulation
particular destination, what would be the best way to evacuate the injured from
the disaster zone, what are the most efficient isolation and vaccination strategies
to slow down the spreading of COVID-19, and how to prevent the emergence of
echo chambers of misinformation and fake news. Let us now consider a project
where healthcare stakeholders should make a decision on how to organize in the
most efficient way the work of a hospital’s emergency department (ED). They
need a sociotechnical system for supporting their decision. Sociotechnical system
is defined as a software intensive system that supports human work processes
within an organization and comprises both social and technical subsystems [11].
The decision-support system is called sociotechnical because it is supported by
agent-based simulation decisions made by humans. A sociotechnical system of this
kind can “try out” by means of its technical subsystem—agent-based simulation—
the effects of decisions made by humans on how to organize the ED business
process. The first step of designing and developing a decision-support system
on ED business processes is to understand the problem domain and identify its
stakeholders. We use goal models of AOM to represent the problem domain. Goal
models consist of two types of goals—functional goals and quality goals—and roles.
Functional goals indicate what the (sociotechnical) system should do or achieve.
Quality goals present non-functional requirements of the system describing the
quality aspects of the system—how the system should be. In addition, roles are
identified which represent who are responsible for the attainment of which goals.
All of this information is eventually presented as a simple graph where functional
goals are rendered in a tree-like hierarchy. In the hierarchical goal model, each sub-
goal represents a particular aspect of achieving its parent goal. Functional goals
are represented with tilted rectangles, while roles and quality goals are attached to
the appropriate functional goals. The notation for goal models is shown in Fig. 5.2.
Quality goals and roles that are attached to the given functional goal apply to that
goal and to all of the functional goals located below the given goal in the goal tree.
Finally, a key performance indicator (KPI) is used for evaluating or measuring the
attainment of a quality goal.
We use goal models for representing the motivations for the project as well as
for designing the decision-support system and the agent-based simulation system
included by it. Figure 5.3 presents the project motivation model for the simulation
of the ED business processes. The goal of the project is to develop a system for
decision support on ED business processes. Three quality goals were noted. First,
the decision-support system must be developed using the agent-oriented paradigm.
This is an important quality goal because the purpose of this book is to provide
82 5 Agent-Oriented Modeling
Fig. 5.4 High-level motivation model for the emergency department decision-support system
now present questions Q1–Q6 that should be answered by the project stakeholders
for agent-oriented problem domain analysis:
Q1. What is the purpose of the business process? This question aims to elicit
the main functional goal of the business process to be modelled and simulated.
Information elicited with this question is recorded as the root goal of the goal model.
Example: the root goal of the ED business process is treat a patient.
Q2. For the goal identified in Q1:
Q2.1. Can achieving this goal be elaborated into different aspects? This question
aims to identify sub-goals of the given functional goal. Information elicited with
this question is recorded as the sub-goals in the goal model. Example: In the ED
problem domain, the goal treat a patient has been elaborated into the sub-goals
register, triage, check-up, and exit, each representing a particular aspect of treating
a patient. If the answer to this question is “yes,” add each identified sub-goal to
the “stack” of sub-goals to be recursively analyzed and return to Q2.1 to identify
sub-goals of lower levels of the goal tree.
Q3. For each goal identified in Q1 and Q2:
Q3.1. What are the quality aspects of achieving the goal, if any? This question
aims to identify quality goals that characterize the attainment of the given functional
goal. Quality aspects of achieving the goal are recorded in the goal model by quality
goals attached to the given functional goal. Example: The quality goals correct and
fast characterize the attainment of the functional goal register.
Q4. For each quality goal identified in Q3.1:
Q4.1. What are the key performance indicators required for measuring the
attainment of this quality goal? The aim of this question is to elicit additional
key performance indicators to the ones that were already identified in Sect. 5.1.1
and included in the high-level motivation model of the decision-support system.
The key performance indicators are recorded in the goal model as associated with
the respective quality goal. Example: The key performance indicator required for
measuring the attainment of the quality goal fast is time-to-registration (TTR). The
TTR indicator measures the time from the arrival of a patient to the ED to the start
of the service at one of the registration desks.
Q5. For each goal identified in Q1 and Q2:
Q5.1. Which roles are needed to achieve this goal? This question aims to elicit
the roles needed for achieving the goals defined for the problem domain. These
roles are recorded in the goal model as attached to the corresponding functional
goal. Example: The roles Medical Doctor, Triage Nurse, ED Nurse, and Healthcare
Worker are required for achieving the goals set for the ED problem domain.
The answers to questions Q1–Q5 along with the respective sub-questions are
recorded in the goal model. The goal model for the ED problem domain is shown in
Fig. 5.5. The figure represents the highest-level motivational view of the problem
domain, including the quality goals of the domain. The goal model depicted in
Fig. 5.5 includes the roles required for achieving the goals of the problem domain.
In goal models, we typically annotate roles to either goals that are leaf goals—that
is, are not broken down further—or to non-leaf goals in which the role is responsible
for the non-leaf goal and its sub-goals.
86
Role models describe the capacities or positions that facilitate the achievement
of goals. Roles have responsibilities, which outline what an agent playing the
role must do to achieve the related goals. Organization model represents how
an agent performing a role depends on agents playing other roles for fulfilling
its responsibilities. We now proceed with the question Q6 that helps model in
more detail the roles, relationships between them, the knowledge needed by agents
performing the roles, and the environment where the agents are situated.
Q6. For each role identified in Question Q5.1:
Q6.1. What responsibilities would an agent performing the given role have with
respect to achieving the goals with which the role is associated? This question
aims to elicit the responsibilities of the role. Information elicited with this question
is recorded in the responsibilities attribute of the role model. Example: The
responsibilities of the role Medical Doctor in the ED business process are perform
check-up, perform shock-room activities, diagnose, and consult. Please note that
responsibilities by roles are orthogonal to goals included by the goal model.
Q6.2. What other roles would an agent playing this role depend on for fulfilling
its responsibilities? This question aims to elicit the dependencies between the
roles of the problem domain. For determining a dependency, it is relevant if the
exchange of information takes place between the agents performing the respective
roles. Information elicited with this question is recorded in the organization model.
Examples: For fulfilling its responsibility diagnose, Medical Doctor depends on the
ED Nurse to inform it about the outcome of exercising its responsibilities check
stability and perform exams. For fulfilling its responsibilities observe, discharge,
manage transfer, and manage death, the ED nurse depends on Medical Doctor for
the outcome of performing the responsibility diagnose. For fulfilling all of their
responsibilities, Medical Doctor and ED Nurse depend on Healthcare Worker for
exercising its responsibilities register patient and move patient if the patient is not
capable of independent moving.
Q6.3. What knowledge would an agent require to successfully exercise the
responsibilities defined by the corresponding role? Information about knowledge
elicited with this question is recorded under the knowledge attribute of the role
model. Example: To fulfil its responsibilities, a Medical Doctor is required to be
aware of the Patient Information domain entity.
Q6.4. What resources would an agent require to successfully exercise the
responsibilities of the corresponding role? This question aims to elicit the relevant
aspects of the environment. Information elicited with this question is recorded in
the resources attribute of the role model. Example: The roles Healthcare Worker,
Triage Nurse, and Medical Doctor require the respective environmental resources
Registration Area, Triage Area, and Check-up Area, and all of these roles require
the environmental resource Health Information System. Table 5.2 models the roles
included by the ED where the role name and its responsibilities, knowledge, and
resources are represented in the respective columns of the table. Figure 5.6 depicts
the organization model of the ED, which shows how agents performing particular
roles depend on each other for fulfilling the responsibilities prescribed by the
corresponding roles.
88 5 Agent-Oriented Modeling
Table 5.2 The models of the roles included by the emergency department
Role Responsibilities Knowledge Resources
Healthcare Register patient Patient Registration Area
worker Move patient (if not capable of Information Health Information System
moving)
Medical Perform shock-room activities Triage Area
Doctor Diagnose Check-up Area
Consult Health Information System
Triage Perform shock-room activities Triage Area
Nurse Prioritize Resuscitation equipment
Health Information System
ED Nurse Check stability Check-up Area
Perform exams Observation Area
Observe Health Information System
Discharge Radiology service
Manage transfer Laboratory service
Manage death
Patient Move between the areas (if capable) Registration Area
Triage Area
Check-up Area
Observation Area
Goal model shown in Fig. 5.5 and role models contained by Table 5.2 represent
the purpose and structure of a business process. They model the goals to be
achieved by the business process and how agents performing the roles contribute to
achieving the goals by fulfilling their responsibilities. A role model also represents
the knowledge that is required for performing the role and the environment in which
the role is to be performed. Organization model represents how roles depend on
each other for fulfilling their responsibilities. Neither the goal model nor the role
models specify the order in which the goals have to be achieved by exercising
the corresponding responsibilities. We advocate delaying the definition of the
order of achieving the goals because it leaves the door open for more solution
alternatives until stakeholders have arrived at a shared understanding of the problem
domain. The order is introduced by the business process model. A natural choice
would be to follow an agent-oriented business process modeling approach, such
as the one put forward in [16]. However, as we already stated at the beginning of
Sect. 5.1, historically, agent-oriented business process modeling approaches have
been supplanted by activity-oriented approaches such as Business Process Modeling
Notation (BPMN) [1, 8], which has become an industry standard. Considering this,
we transform agent-oriented problem domain models into a business process model
represented in BPMN. This transformation is based on the mappings between the
modeling constructs of high-level agent-oriented problem domain models and a
business process model in BPMN. These modeling constructs are shown in the
respective first and second column of Table 5.3. We now present Q7–Q10 that
should be answered by the project stakeholders to map from agent-oriented problem
domain models to the corresponding business process model in BPMN.
Q7. What is the overall title of the business process or the name of the
organization whose business process is being modelled? Information elicited with
Table 5.3 Mapping between business process models and NetLogo programming constructs
Agent-oriented problem Business process model in
domain models BPMN NetLogo program
Business process Pool NetLogo procedures
Role Lane Turtle breed or patch
Responsibility Task Procedure
Knowledge Data object or Message Local or global variable or turtle
breed
Resource Lane or Data store Patch
90 5 Agent-Oriented Modeling
this question is recorded as the name of the BPMN pool in which the business
process is modelled. Example: the business process of the emergency department is
modelled within the BPMN pool named “Emergency Department.”
Q8. For each environmental resource identified in Question Q6.4 and included
by Table 5.2:
Q8.1. If the resource is a geographical area or a logical area like a department, add
the corresponding BPMN lane within the pool created in Question Q7. Example: In
the business process model of the emergency department, separate lanes are added
for the registration area, triage area, check-up area, and observation area. Q8.2. If
the resource is an information system, add the corresponding BPMN data store to
the pool. Example: In the business process model of purchasing in a car factory
depicted in Fig. 5.12, the resource Purchasing Information System from Table 5.4 is
mapped to the corresponding BPMN data store.
Q9. For each role identified in question Q5.1 and included by Table 5.2:
Q9.1. Create for the role a sub-lane within the lane representing the geographical
or logical area where the role operates. If there is no lane for the area, create a lane
for the role directly within the pool. Example: The sub-lanes Medical Doctor and
ED Nurse are created within the lane created in question Q8.1 for the geographical
area Check-up Area.
Q9.2. For each responsibility of the role, create a BPMN task with the same
name. Example: The responsibilities diagnose and consult of the role Medical
Doctor are represented as the corresponding BPMN tasks.
Q10. For each task identified in Q9.2:
Q10.1. What triggers the start of this task? This question aims to elicit the BPMN
event that starts the task. Information elicited with this question is recorded as the
trigger of the corresponding task in the business process model. Examples: The
task register patient by a performer of the Healthcare Worker role is triggered by
the arrival of the patient; the task observe by a performer of the ED Nurse role is
triggered by the end of the task diagnose by a performer of the Medical Doctor role.
Q10.2. Under what conditions can this task be started? This question aims to
elicit the precondition for the task, that is, the knowledge states of the environment
that enable this task. Such conditions are recorded as BPMN gateway conditions,
which ultimately define the flow of the business process. Examples: The task
register patient can be performed if the patient is not in a critical condition; the
task perform exams can be executed if the patient is stable.
Q10.3. What happens after this task has been completed? This question aims to
elicit how the task changes the knowledge stored in the environment. Information
elicited with this section is recorded as the post-condition of the corresponding
task. Example: the post-condition of the task diagnose is “The patient has a
diagnosis,” which entails a change in the BPMN data object (not represented in
Fig. 5.7) corresponding to the Patient Information domain entity of the agent-
oriented problem domain models.
5.1 Business Processes Modeling Approaches 91
The final step that needs to be taken before we can start what-if simulation
experiments with the business process model is mapping the business process model
to NetLogo. This is accomplished by mapping the constructs of the agent-oriented
problem domain models and the corresponding constructs of the business process
model in BPMN to the constructs of NetLogo, as is shown in Table 5.3. This
transformation results in the business process model represented as a NetLogo
program. We make this transformation simpler by presenting questions Q11–Q15
that should be answered by the project stakeholders for mapping to NetLogo:
Q11. What types of agents are represented in the model? The answer to this
question is recorded in NetLogo as turtle breeds, which are agent types in NetLogo.
Turtle breeds correspond to roles of the agent-oriented problem domain models.
Example: In the ED business process simulation, the role Patient is mapped to the
92 5 Agent-Oriented Modeling
Healthcare
Worker
Area
No Register
patient
Arrival
Yes
Per f or m
Medical
Tr iage A r ea
Doctor
shockroom
activities
Arrival
by ambulance
Triage Nurse
Pr ior it is e
Check
s t abilit y
E D Nu r s e
Check-upArea
Emergency Department
Yes Per f or m
Stable?
exams
No
Medical
Doctor
Diagnose Consult
Discharge
Observation Area
Manage
Close
t r ans f er
ED Nu rse
Manage
death
Obs er v e
turtle breed patients, and the roles Medical Doctor, ED Nurse, Triage Nurse, and
Healthcare Worker are mapped to the turtle breed workers whose local variable
name defines if the agent models a Medical Doctor, an ED Nurse, a Triage Nurse,
or a Healthcare Worker.
Q12. For each agent type identified in Q11:
Q12.1. By what attributes are agents of this type characterized? The answer
to this question is recorded in NetLogo as local variables of the corresponding
turtle breed. Local variables correspond to the knowledge that is represented for
the corresponding role of the agent-oriented problem domain models. Example: In
the ED business process simulation, the local variables defined for the turtle breed
patients include time-of-arrival (time of entrance of a patient to the emergency
department), next-task (next task of a patient), and urgency-level. These local
variables are mapped from the domain entity Patient Information of the agent-
oriented problem domain models.
Q12.2. What are the states that characterize agents of this type? The answer
to this question is recorded as the local state variables of the corresponding turtle
breed. A state variable is a variable that distinguishes an entity from other entities
of the same type or category or traces how the entity changes over time [3, 4].
Example: In the ED business process simulation, the state of a patient, recorded in
the corresponding local variable state defined for the turtle breed patients, can be
“searching-for,” “waiting,” “moving,” and “busy.” State variables may or may not
have their counterparts in the knowledge defined for the corresponding role of the
agent-oriented problem domain models.
Q12.3. What are the actions by agents of this type? The answer to this question
is recorded in NetLogo as procedures. Procedures correspond to responsibilities
defined for the roles of the agent-oriented problem domain models. Example: In the
ED business process simulation, the procedure arrival-new-patients corresponds to
the responsibility register patient of the role Healthcare Worker, and the procedure
compute-urgency corresponds to the responsibility prioritize of the role Triage
Nurse.
Q13. What global knowledge should be represented in the simulation system?
The answer to this question is recorded in NetLogo as global variables. Global
variables correspond to the knowledge of which the agents performing different
roles should be aware. Example: In the ED business process simulation, the
global variables monitor-duration-LoS and monit-dtdt need to be represented. They
correspond to the respective key performance indicators LOS and DTDT, which
were introduced in Sect. 5.1.2 and of which all of the agents should be aware.
Q14. What environmental resources should be represented in the simulation
system? The answer to this question is recorded in NetLogo as patches. Patches
correspond to resources defined by the agent-oriented problem domain models.
Example: In the ED business process simulation, the resources Registration Area,
Triage Area, and Check-up Area are mapped to the respective patches bearing the
names “Registration,” “Triage,” and “Visit.”
Q15. What attributes of other agents and global knowledge are agents assumed to
sense and consider in their decisions? The answer to this question is recorded in the
94 5 Agent-Oriented Modeling
NetLogo program. Since NetLogo does not directly support interactions between
turtles, this way information exchange by interactions can be indirectly represented.
Examples: A turtle of the workers breed is assumed to sense and consider the value
of the local variable urgency-level of a NetLogo turtle of the patients breed; a turtle
of the workers breed is also assumed to sense and consider the value of the global
variable patients-in-waiting-area, denoting the number of patients currently waiting
to be checked and treated.
Having completed the mappings shown in Table 5.3, we also need to answer
some additional questions that are concerned with agent-based business process
simulation. These questions are based on the ODD protocol for designing agent-
based simulations [3, 4], and they are represented as different aspects of the resulting
NetLogo program. It is important to note here that we do not fully follow the
ODD methodology because, as has been pointed out by [6], it is geared toward
developing multi-agent simulations for ecology, in which organizational and social
aspects are not so important. Differently, our emphasis is on agent-based simulations
of business processes where organizational and social issues are crucial. We now
present the additional questions Q16–Q18 that should be answered by the project
stakeholders to complete transforming a business process model in BPMN to its
representation in NetLogo:
Q16. How is time modeled in the simulation system? The answer to this
question is recorded in the NetLogo program. Example: In the ED business process
simulation, the emergency department is simulated at the time granularity of
seconds, by making use of the NetLogo global variable tick.
Q17. How are instances of a business process generated, based on the arrivals of
entities such as patients or orders? The answer to this question is recorded in the
NetLogo program. Example: In the ED business process simulation, patients arrive
randomly, depending on regularities caused by day of the week and hour of the day.
The regularities are defined by a specific probability distribution, which is computed
by the simulation system in advance for every simulated 24 hours, possibly based on
the probability distribution of a real-life emergency department. The urgency levels
of patients are also randomly set based on the corresponding probability distribution.
Q18. How is the simulation system initialized? How many agents of what type
are there initially, and what are the values of their local variables? The answer to this
question is recorded in the NetLogo program. Example: In the ED business process
simulation, the ED is initially staffed with three medical doctors, five ED nurses,
two triage nurses, and three healthcare workers, but these values can be changed
through the simulation’s NetLogo user interface. The simulation system can also
be initialized with the actual number of medical doctors, ED nurses, triage nurses,
and healthcare workers in the real-life emergency department. This data can be read
from the corresponding data file.
5.2 The Case Study of Purchasing in a Car Factory 95
Fig. 5.8 Project motivation model for the car factory decision-support system
The agent-oriented problem domain models were mapped to two BPMN pools—
“Car Factory” and “Vendor” (Q7). The resource Purchasing Information System
identified in Table 5.4 was mapped to the BPMN data store of the same name
(Q8.2). The roles modeled in Table 5.4 were mapped to the corresponding BPMN
lanes Purchasing Office, Receiving Office, and Accounts Payable (Q9.1), whereby
the responsibilities of each role were mapped to the corresponding tasks within the
respective lane (Q9.2). After that, the triggers of the tasks (Q10.1) were defined, as
well as their preconditions (Q10.2) and postconditions (Q10.3). Finally, incoming
(Q10.4) and outgoing (Q10.5) message and sequence flows were specified for
the tasks. In particular, the domain entities Purchase Order, Invoice, and Product
representing the knowledge in the agent-oriented problem domain models were
mapped to the respective message flows between the pools standing for the vendor
and car factory (Q10.4 and Q10.5).
This case study included reorganizing the original business process, which is
modelled in Fig. 5.11. The reorganized business process modelled in Fig. 5.12 has
gotten rid of the send copy of purchase order, confirm arrival of goods, and check
documents tasks due to introducing the data store Purchasing Information System
that stores purchase orders and invoices and is accessed by performers of all three
roles—Purchasing Office, Receiving Office, and Accounts Payable. Our intention
was to perform agent-based simulation of both business processes to be able to
compare their performance.
As the last step of the methodology, the business process model was transformed
to NetLogo. This was done by answering questions Q11–Q18, which were defined
in Sect. 5.1.5. In the next paragraph, we describe the mappings from the business
Vendor
Purchase Order Invoice Goods Payment
Office
order order order
Purchasing
Receive
goods
5.2 The Case Study of Purchasing in a Car Factory
Receiving Office
Confirm
arrival
Car Factory
of goods
Check Make
documents payment
Accounts Payble
Fig. 5.11 Purchasing business process of the car factory before reorganizing
99
100
Vendor
P ur ch a se Or d e r Payment Product
Prepare Send
pu rc h ase purchase
order order
P urchasing O f f ice
Receive
goods
C a r Fa c t ory
Purchasing
Receiving Office
In fo r ma ti o n
S y s te m
Ma k e
payment
Accounts Payable
Fig. 5.12 Purchasing business process of the car factory after reorganizing
5 Agent-Oriented Modeling
5.2 The Case Study of Purchasing in a Car Factory 101
Fig. 5.13 The NetLogo visualization of the purchasing business process of the car factory
5 Agent-Oriented Modeling
References 103
frequency of a bunch is set to 15, which means that every 15 simulated minutes,
a new bunch of orders is generated. Similarly, the number of purchase orders in a
bunch is set to 80. Both of these values can be changed by the respective sliders of
the NetLogo user interface (Q17).
The simulation can be initialized with different numbers of workers (Q18).
A screenshot of the resulting NetLogo simulation of the car factory is depicted in
Fig. 5.13. We will further discuss agent-based simulation of the business processes
of the car factory in Sect. 8.1.
References
1. Dijkman, R.M., Dumas, M., Ouyang, C.: Semantics and analysis of business process models in
BPMN. Inf. Softw. Technol. 50(12), 1281–1294 (2008). https://doi.org/10.1016/j.infsof.2008.
02.006
2. Fortino, G., North, M.J.: Simulation-based development and validation of multi-agent systems:
AOSE and ABMS approaches. J. Simul. 7(3), 137–143 (2013). https://doi.org/10.1057/jos.
2013.12
3. Grimm, V., Berger, U., Bastiansen, F., Eliassen, S., Ginot, V., Giske, J., Goss-Custard, J.,
Grand, T., Heinz, S.K., Huse, G., Huth, A., Jepsen, J.U., Jørgensen, C., Mooij, W.M., Müller,
B., Pe’er, G., Piou, C., Railsback, S.F., Robbins, A.M., Robbins, M.M., Rossmanith, E., Rüger,
N., Strand, E., Souissi, S., Stillman, R.A., Vabø, R., Visser, U., DeAngelis, D.L.: A standard
protocol for describing individual-based and agent-based models. Ecol. Model. 198(1), 115–
126 (2006). https://doi.org/10.1016/j.ecolmodel.2006.04.023
4. Grimm, V., Berger, U., DeAngelis, D.L., Polhill, J.G., Giske, J., Railsback, S.F.: The ODD
protocol: A review and first update. Ecol. Model. 221(23), 2760–2768 (2010). https://doi.org/
10.1016/j.ecolmodel.2010.08.019
5. Kavakli, V., Loucopoulos, P.: Goal-driven business process analysis application in electricity
deregulation. Inf. Syst. 24(3), 187–207 (1999). https://doi.org/10.1016/S0306-4379(99)00015-
0
6. Klügl, F.: “engineering” agent-based simulation models? In: Müller, J.P., Cossentino, M.
(eds.) Agent-Oriented Software Engineering XIII—13th International Workshop, AOSE 2012,
Valencia, Spain, June 4, 2012, Revised Selected Papers. Lecture Notes in Computer Science,
vol. 7852, pp. 179–196. Springer, Berlin (2012). https://doi.org/10.1007/978-3-642-39866-7_
11
7. Miller, T., Lu, B., Sterling, L., Beydoun, G., Taveter, K.: Requirements elicitation and
specification using the agent paradigm: the case study of an aircraft turnaround simulator. IEEE
Trans. Softw. Eng. 40(10), 1007–1024 (2014). https://doi.org/10.1109/TSE.2014.2339827
8. Object Management Group (OMG): Business Process Model and Notation (BPMN), Version
2.0.2 (2014). https://www.omg.org/spec/BPMN/2.0.2/PDF. Accessed 30 Apr 2021
9. Podgorelec, V., Kokol, P.: Genetic algorithm based system for patient scheduling in highly
constrained situations. J. Med. Syst. 21(6), 417–427 (1997). https://doi.org/10.1023/A:
1022828414460
10. Siebers, P.O., Klügl, F.: What software engineering has to offer to agent-based social
simulation. In: Simulating Social Complexity, pp. 81–117. Springer, Berlin (2017). https://
doi.org/10.1007/978-3-319-66948-9_6
11. Sommerville, I.: Software Engineering, 10th edn. Addison-Wesley, Reading (2015)
12. Sowa, J.F., Zachman, J.A.: Extending and formalizing the framework for information systems
architecture. IBM Syst. J. 31(3), 590–616 (1992). https://doi.org/10.1147/sj.313.0590
104 5 Agent-Oriented Modeling
13. Sterling, L., Taveter, K.: The Art of Agent-Oriented Modeling. The MIT Press, Cambridge
(2009). https://doi.org/10.7551/mitpress/7682.001.0001
14. Sulis, E., Terna, P., Di Leva, A., Boella, G., Boccuzzi, A.: Agent-oriented decision support
system for business processes management with genetic algorithm optimization: an application
in healthcare. J. Med. Syst. 44(9), 1–7 (2020). https://doi.org/10.1007/s10916-020-01608-4
15. Taveter, K., Du, H., Huhns, M.N.: Engineering societal information systems by agent-oriented
modeling. J. Ambient Intell. Smart Environ. 4(3), 227–252 (2012)
16. Taveter, K., Wagner, G.: A multi-perspective methodology for modelling inter-enterprise
business processes. In: Arisawa, H., Kambayashi, Y., Kumar, V., Mayr, H.C., Hunt, I. (eds.) ER
2001 Workshops, HUMACS, DASWIS, ECOMO, and DAMA, Yokohama Japan, November
27-30, 2001, Revised Papers, Lecture Notes in Computer Science, vol. 2465, pp. 403–416.
Springer, Berlin (2001). https://doi.org/10.1007/3-540-46140-X_31
17. Wynn, D.C., Clarkson, P.J.: Process models in design and development. Res. Eng. Design
29(2), 161–202 (2018). https://doi.org/10.1007/s00163-017-0262-7
18. Zachman, J.A.: A framework for information systems architecture. IBM Syst. J. 26(3), 276–
292 (1987). https://doi.org/10.1147/sj.263.0276
Chapter 6
The Agent-Based Business Process
Simulation Approach
Abstract This chapter introduces the ABBPS modeling perspective in Sect. 6.1.
Next, Sect. 6.2 explores the main concepts of practical applications and theoretical
implications of agent-based simulations, while Sect. 6.3 provides a brief review of
the related topics, such as complexity concepts. Finally, Sect. 6.4 describes some
advanced features of ABM adopted in the remainder of the book.
The need to model the reality around us has found valuable support in the recent
development of computational and technological capabilities. Human activities and
natural phenomena include behaviors and patterns that can be represented in an
understandable way. This is known as modeling, which refers to the ability to retain
the most salient features of the real world while discarding the non-essential parts.
The need for simplicity is taken to an extreme in the famous dictum “All models
are wrong, but some are useful,” the phrase by the British statistician George E.
P. Box [15]. In philosophy, one can argue by relying on the well-known problem-
solving principle of Occam’s razor which is interpreted as requiring that the simplest
of competing theories should be preferred to the more complex ones. Following
this principle, a model of a phenomenon is a simplified abstraction of reality, in
which only the essential ingredients are preserved. In this context, the representation
of a phenomenon should be simple but also maintain the accuracy, fidelity, and
Each modeling technique aims to improve the overall comprehensibility of the real
system. Typically, most modeling approaches break the construction of the model
into several actions-steps to be taken [79]. We propose here a set of modeling steps
to be performed in a practical business process analysis and simulation project:
1. the investigation and definition of the main questions that arise about the system;
2. the definition of what the system is, the elements of which it is composed, and
their relationships;
3. establishing an experimental design according to the questions to be answered;
4. adopting one or more paradigms and the associated representation formats to
construct a model of the system;
5. composing the parts of the model and the model as a whole;
6. simulating the model;
7. analyzing the simulation results.
Steps i–vii should be performed in an iterative agile fashion [64].
Waterfall method. In addition to the above agile step-by-step approach, another
approach called the “waterfall method” can be used [5]. According to the “waterfall
method,” each phase of the process should be executed based on the results of the
previous phase. This kind of development methodology has recently been applied
in an agent-oriented methodology for BPM [81].
A de facto standard methodology widely used in the ABM community to
document an agent-based model is the ODD protocol [34]. The second version
of the ODD protocol was recently proposed for document projects of agent-based
simulation [35]. The methodology consists of the three main components: overview,
design concepts, and design details (ODD). These components include seven
subtopics: Purpose, State Variables and Scales, Process Overview and Scheduling,
6.2 Simulation-Based Analysis 107
6.2.1 Stochasticity
Verification and validation are two relevant activities that occur throughout the mod-
eling effort. Verification is applied in the context of evaluating the computational
implementation of a model in terms of the goals by the researchers, as was described
in Chap. 5. Differently from verification, validation typically refers to an assessment
of the credibility of the model as a representation of the subject.
Verification of the simulation model determines whether the output of each
step meets the specification. In other words, the implementation of the model
must conform to the conceptual description of the model, such as the conceptual
description of the kind put forward in Chap. 5. Once the model can be considered
as conforming to the conceptual description, the verification process focuses on the
next step. About verification, a related question can be worded as “Has the right
model been built?” For finding the answer, model verification involves checking
the model with domain experts of the proposed model. The answer to the question
suggests how well the model follows the behavior of actual real-world processes or
phenomena that are to be simulated.
Simulation model validation focuses on the output of the model to investigate
how accurately the model represents the real world. Validation compares the model
and the associated data with real-world perspectives of employing the model. By
analyzing a realistic set of input variables, this step is primarily concerned with
the simulation output, which must be similar to real-world values. The validation
question can be worded as follows: “Has the model been correctly built?” Since
validation is a key issue in simulation modeling, many validation strategies have
been put forward [44, 61]. For example, one of the simplest validation strategies
is ensuring face validity which is based on a subjective assessment to investigate
whether the model appears to be an accurate representation of the real-world process
or phenomenon. More accurate validation strategies include data analysis to focus
1 http://ccl.northwestern.edu/netlogo/docs/dict/random-seed.html.
6.2 Simulation-Based Analysis 109
on comparing the results of the data generated by the model to the actual data [44],
as well as cognitive analysis [30].
Validity entails asking domain experts whether the model performs reasonably,
as well as making subjective judgments about whether the model is sufficiently
accurate. Finally, we mention here that the concept of model validity has been
extensively adopted in studies of management science [29, 47, 53].
Every simulation run produces results that are not reliable considered alone because
of the possibility that they are due to the chance. Similarly, if a model with
random elements is executed only a few times, the performance distribution
is not completely reliable. A deeper analysis should include multiple runs, to
be jointly analyzed by means of statistical measures. Recent improvements in
the infrastructure available for computing have enabled massive increase in the
repetition of such simulations to systematically test the behavior of a model across
a range of different parameters setting. If a model is run multiple times, the relative
distribution of results becomes more precise. Typically, with additional runs of the
model, the mean and standard deviation become more stable, and the standard error
of the mean becomes smaller. Parameter sweeping is the technique of varying a
set of initial values to conduct a series of simulations for analyzing the results.
Parameter sweeping is facilitated by the BehaviorSpace tool built into NetLogo,
which is further described in Sect. 4.2.6. The BehaviorSpace tool allows the users
of NetLogo to run a predefined number of agent-based simulations, making it easy
to set and vary parameters.
Fig. 6.1 Interface on the left and the view area with queues of customers to TVMs on the right in
the ABBPS_TVM-queues model
6.2 Simulation-Based Analysis 111
depends on the management and stakeholders ideas and requires the availability of
high-level expertise. However, a simulation model by ABM can be easily redesigned
to enrich the model with new parameters and unforeseen behaviors.
Sensitivity analysis, also called factor screening, is a technique for evaluating the
performance of simulation output with respect to changes in initial simulation
parameters. Following the experimental design terminology proposed by Averill
Law [43], this type of analysis defines the factors as input parameters and structural
assumptions of a model. The measures of output performance are responses. The
purpose of sensitivity analysis is to study the impact of changing the factors on the
response, i.e., investigating the change in the simulation output with respect to the
change in the input parameters.
The simplest form of sensitivity analysis is where all factors are set to fixed
values, except for one factor which can be varied. This approach is called One-
Factor-At-a-Time (OFAT). In our model of the emergency department of a hospital,
the arrival of ED patients is an important factor that should be carefully considered.
For example, let us focus on the response to the initial registration phase of the
business process. A possible question of interest to be asked is: “How is the
performance of the registration task affected by changes in the values of the
input parameters?” Focusing on the throughput time of the registration phase,
the following three factors appear to be of interest in a sensitivity analysis: (i)
the average number of patients arriving to the ED (in the example mentioned in
Sect. 4.4.3, the mean value is 7.5, but this value depends on several circumstances);
(ii) the implicit severity of patients (some patients can be more difficult to be
registered than others); and (iii) the qualification of the nurses in terms of their
experience and skills (an intern, for instance, may be slower in her or his job than
an experienced caregiver). We have addressed this example more thoroughly in the
Arrivals-to-ED model that is available in the web repository.
In this case, a sensitivity analysis is performed by the 2k factorial design approach
where two levels are chosen for each factor. This allows for better management of
the simulation runs, which can execute 2x k possible factor-level combinations. To
explain this approach more clearly, the following paragraph provides a concrete
example.
Example of Sensitivity Analysis
The ABBPS_ED-Patients-Arrival model in the companion website describes the
arrival of patients at the Registration Office (REG). This is a typical problem
addressed through the use of modeling and process simulation [28, 41]. In particular,
the example proposed here considers three variables of interest: the frequency of
patient arrivals (Factor 1); the inherent complexity (Factor 2) concerned with the
type of the patient; and the skills of the operator working at the counter based on
112 6 The Agent-Based Business Process Simulation Approach
their experience (Factor 3). First, the frequency of the arrivals can be computed
based on real data. Our model considers the average number of arrivals per hour,
which is about seven to eight new patients. This value may change throughout the
day. Moreover, this value can increase in case of some emergency situation. An
improved version of the model takes into account different arrival frequencies in the
course of a day. As a matter of fact, the distribution of arrival frequencies typically
follows a specific pattern. Second, the duration of the registration process depends
on the type of a patient (e.g., an elderly patient typically takes more time than a
young patient). Third, the level of skills of the operator working at the counter
affects the duration of providing the service (an intern or a new operator is less
confident in the procedures). The model considers the last two factors to increase
or decrease the total duration of registration for each patient. In this example of
sensitivity analysis, the 2k factorial design approach reduces each factor into pairs
of values.
Figure 6.2 describes the interface of the model for addressing the OFAT analysis.
On the left, the interface has a slider for each factor. The first factor is the arrival
frequency of patients. We represent it in a discrete manner as “high-freq” (in our
simulation, about 12 patients in an hour) or “low-freq” (in our case, five patients in
an hour). Furthermore, patients may be “easy” or “difficult” to handle. “Easy” and
“difficult” patients are created with the respective probabilities of 25% and 75%.
In a similar manner, “skilled” workers are created with the probability of 75% and
“new” workers—with the probability of 25%.
Table 6.1 represents the 2k factorial design performed by us. In the table, the
response Ri varies in the range of i from 1 to 8. Each row implies the execution of
the simulation with the ith combination of factor levels. The combination C1, for
example, considers Factor 1 (frequency of arrivals) at the “low” level, Factor 2 at
the “easy” level, and Factor 3 at the “skilled” level. The corresponding Response
is R1, resulting from running the simulation with the combination C1. The analysis
continues with examining the change in the response upon changing the value of
one factor while keeping the values of the other factors fixed. For instance, we can
investigate the impact of a change in the experience factor (i.e., the effect of Factor
3) by moving the level of the factor from “skilled” to “new.” We compute this effect
by investigating all responses for which pairs of other factors—Factor 1 and Factor
2—remain the same. This is the case with the pairs (C1, C2), (C3, C4), (C5, C6),
and (C7, C8). Ultimately, we compute the average value of the differences between
these responses to estimate the variation of Factor 3.
More generally, we estimate the effect of the factor Fj denoted by eFj , as the
average change in the response while holding other factors fixed. Formula 6.1
describes the 2k factorial design to estimate the effect of Factor 3 in our ABBPS_ED-
Patients-Arrival model.
(R2 − R1) + (R4 − R3) + (R6 − R5) + (R8 − R7)
eF3 = (6.1)
4
6.2 Simulation-Based Analysis
Table 6.1 Sensitivity analysis with a factorial design approach. Design matrix of the ED-arrivals
model
Factor 1 Factor 2 Factor 3
Combination Frequency Complexity Experience Response
C1 Low Easy Skilled R1
C2 Low Easy New R2
C3 Low Difficult Skilled R3
C4 Low Difficult New R4
C5 High Easy Skilled R5
C6 High Easy New R6
C7 High Difficult Skilled R7
C8 High Difficult New R8
Several tools have been proposed to model human societies, as well as natural
and artificial phenomena as multi-agent systems. One of the first object-oriented
programming language was Simula [24], which was developed in the 1960s by
Kristen Nygaard at the University of Oslo. The features that were added to previous
languages, such as ALGOL, aimed to address the simulation of real-world events
and systems of discrete actors. Simula included the creation of an entity, which could
represent either an object or an agent, with the encapsulation of their properties and
actions.
Since the late 1990s, many agent platforms have been developed to model phe-
nomena in fields as diverse as economics and finance, urban planning, engineering,
healthcare, and social sciences [56]. In the same period, the concept of intelligent
agent was developed, but what it really entails is still debated today. Nowadays, the
agent-oriented research community benefits from many heterogeneous platforms
of agent-based modeling and simulation. A recent review that includes 25 existing
tools states: “Hence, a common problem is how people interested in using multi-
agent systems should choose which platform to use in order to benefit from agent
technology” [42].
Table 6.2 provides an overview of the most popular agent platforms, starting from
the commercial tool AnyLogic, and continuing with the open-source tools Brahms,
Jason, Mason, Repast Symphony, NetLogo, and Swarm. The tools are described
according to the following categories: implementation language, development
Table 6.2 Overview of the most popular agent platforms
Agent platform
and conditions for Implementation Development Complexity of
its usage language interface model creation Scalability Scope or problem domains
AnyLogic (closed Java Visual Average From high to very Interactive 2D and 3D models for different problem
source code; high domains, including complex adaptive systems
commercial
product; free
version for
6.2 Simulation-Based Analysis
personal studying)
Brahms Java Special purpose High From high to very Agent-based models rooted in activity theory [39, 65]
(open-source code; development high for different problem domains
free for studying language
and research work)
Jason (open-source Java Special purpose Average Average Agent-based organizational models and models of
code; free) development cognitive agents
language
Mason Java.net Java High From average to 2D and 3D models for different problem domains
(open-source code; high and very high
free for studying
and research work)
NetLogo Scala and Java Special purpose Low From average to 2D and 3D models for different problem domains
(open-source code; development high
free) language
Repast symphony Java Visual High From high to very 2D and 3D models for different problem domains,
(open-source code; high including complex adaptive systems
free)
Swarm Java and Objective-C High Extremely high Complex adaptive systems for problem domains in
(open-source code; Objective-C and Java social sciences and biology
free)
115
116 6 The Agent-Based Business Process Simulation Approach
6.3.2 Complexity
having different suffixes: first, the main file (shp) containing the geometries; second,
an attribute table in the dBase-format (dbf); and finally, an index file for linking
geometries and attributes (shx). In addition, some information can be stored in other
files, such as projected coordinate system or spatial reference system (prj) or spatial
index (sbn/sbx), or other kind of metadata (shp/xml). The information represented
this way in the ESRI shape format is usually about the physical environment, such as
roads, buildings, and vegetation. GIS has emerged as an essential tool for resource
planning and management by capturing, storing, and displaying data about the
locations of the resources [12]. In ABM, agents and objects can directly interact
with the GIS environment [16].
Addressing georeferenced environments by ABM has rapidly increased in the
last decades [7]. Several works have integrated GIS and ABM [37] in a practical way
by exploiting NetLogo [21]. The applications cover different areas, such as agent
behaviors, georeferenced networks, and spatial statistics [22]. GIS can show many
different kinds of data on a map, such as streets, vegetation, and buildings. Figure 6.3
describes the integration of data sources of GIS with ABM. This enables users to
more easily analyze patterns and relationships within the GIS data. In Sect. 8.3,
we introduce an example of a self-driving vehicle moving within a georeferenced
environment.
Georeferenced systems also play an important role in the business processes
of an organization [45], where the business and organizational environment may
include GIS applications [58]. Some studies have already investigated modeling
business processes that incorporate context information, including ecological and
geographical information [80]. Furthermore, spatial decision-making can be con-
nected to enterprise information systems [32], as well as to customer relationship
management (CRM) systems [73]. An interesting piece of recent work is concerned
Fig. 6.3 GIS and ABM: Integration of data from different sources with the corresponding data
layers
122 6 The Agent-Based Business Process Simulation Approach
In Eq. 6.2, α is the learning rate, i.e., a weight given to the new information
compared with the already known information. The new long-term reward is the
current reward R(s, a) plus all future rewards in the next state s and in the following
states, assuming that the agent always performs its most beneficial actions. The
discount factor γ is a number in the range 0,1 to weigh the immediate rewards and
future rewards.
An introductory example in Chap. 8 describes an agent—a self-driving vehicle
SmartCab—that is supposed to learn the path between the starting and ending
points, by using a grid search algorithm. The basic concepts are the State space,
which is the set of states for an agent; the Action space which is the set of all the
actions that an agent can perform in its given state; a Reward table which includes
for each actions the corresponding reward; and, finally, the Q table which contains
for each pair of states and actions the corresponding Q-values (initialized to 0 and
updated after training).
References
1. Abubakar, A.M., Elrehail, H., Alatailat, M.A., Elçi, A.: Knowledge management, decision-
making style and organizational performance. J. Innovation Knowl. 4(2), 104–114 (2019).
https://doi.org/10.1016/j.jik.2017.07.003
2. Amantea, I.A., Di Leva, A., Sulis, E.: A simulation-driven approach to decision support in
process reorganization: a case study in healthcare. In: Exploring Digital Ecosystems, pp. 223–
235. Springer, Berlin (2020). https://doi.org/10.1007/978-3-030-23665-6_16
3. Amantea, I.A., Leva, A.D., Sulis, E.: A simulation-driven approach in risk-aware business
process management: A case study in healthcare. In: Rango, F.D., Ören, T.I., Obaidat, M.S.
(eds.) Proceedings of 8th International Conference on Simulation and Modeling Methodolo-
gies, Technologies and Applications, SIMULTECH 2018, Porto, Portugal, July 29–31, 2018,
pp. 98–105. SciTePress (2018). https://doi.org/10.5220/0006842100980105
4. Axelrod, R.: Advancing the art of simulation in the social sciences. In: Simulating social phe-
nomena, pp. 21–40. Springer, Berlin (1997). https://doi.org/10.1002/(sici)1099-0526(199711/
12)3:2
5. Balaji, S., Murugaiyan, M.S.: Waterfall vs. v-model vs. agile: a comparative study on sdlc. Int.
J. Inform. Technol. Bus. Manag. 2(1), 26–30 (2012). https://doi.org/10.17950/ijer/v4s4/405
6. Barrat, A., Barthelemy, M., Vespignani, A.: Dynamical Processes on Complex Networks.
Cambridge University Press, Cambridge (2008). https://doi.org/10.1017/CBO9780511791383
7. Batty, M.: Agent-based models for geographical systems: a review (2019). https://doi.org/10.
1007/978-90-481-8927-4. Accessed 15 Jan 2021
8. Bellifemine, F.L., Caire, G., Greenwood, D.: Developing Multi-Agent Systems with JADE,
vol. 7. Wiley, London (2007). https://doi.org/10.1002/9780470058411
9. Bengio, Y.: Learning deep architectures for AI. Found. Trends Mach. Learn. 2(1), 1–127
(2009). https://doi.org/10.1561/2200000006
10. Binci, D., Belisari, S., Appolloni, A.: Bpm and change management: an ambidextrous
perspective. Bus. Process Manag. J. (2019). https://doi.org/10.1108/BPMJ-06-2018-0158
11. Boissier, O., Bordini, R.H., Hübner, J.F., Ricci, A., Santi, A.: Multi-agent oriented program-
ming with JaCaMo. Sci. Comput. Program. 78(6), 747–761 (2013). https://doi.org/10.1016/j.
scico.2011.10.004
12. Bolstad, P.: GIS fundamentals: a first text on geographic information systems. Eider (Press-
Minnesota) (2016)
References 125
13. Bonabeau, E.: Agent-based modeling: Methods and techniques for simulating human systems.
Proc. Nat. Acad. Sci. 99(suppl 3), 7280–7287 (2002). https://doi.org/10.1073/pnas.082080899
14. Bordini, R.H., Hübner, J.F., Wooldridge, M.: Programming multi-agent systems in AgentSpeak
using Jason, vol. 8. Wiley, London (2007). https://doi.org/10.1002/9780470061848
15. Box, G.E.: Science and statistics. J. Am. Stat. Assoc. 71(356), 791–799 (1976). https://doi.org/
10.1080/01621459.1976.10480949
16. Brown, D.G., Riolo, R., Robinson, D.T., North, M., Rand, W.: Spatial process and data models:
toward integration of agent-based models and GIS. J. Geograph. Syst. 7(1), 25–47 (2005).
https://doi.org/10.1007/s10109-005-0148-5
17. Buckley, W.: Society as a complex adaptive system. In: Systems Research for Behavioral
Science Systems Research, pp. 490–513. Routledge, London (2017). https://doi.org/doi.org/
10.4324/9781315130569
18. Burrough, P.A., McDonnell, R., McDonnell, R.A., Lloyd, C.D.: Principles of Geographical
Information Systems. Oxford University Press, Oxford (2015). https://doi.org/10.1111/j.1745-
7939.2000.tb01582.x
19. Caillou, P., Rey Coyrehourq, S., Marilleau, N., Banos, A.: 6—exploring complex models in
netlogo. In: Banos, A., Lang, C., Marilleau, N. (eds.) Agent-Based Spatial Simulation with
NetLogo, vol. 2, pp. 173–208. Elsevier, Amsterdam (2017). https://doi.org/10.1016/B978-1-
78548-157-4.50006-6
20. Collier, N., North, M.: Repast HPC: a platform for large-scale agent-based modeling. Large-
Scale Comput. 81–109 (2012). https://doi.org/10.1002/9781118130506.ch5
21. Crooks, A., Malleson, N., Manley, E., Heppenstall, A.: Agent-Based Modelling and Geograph-
ical Information Systems: A Practical Primer. SAGE Publications Limited (2018). https://doi.
org/10.4135/9781473916432.n4
22. Crooks, A.T., Castle, C.J.: The integration of agent-based modelling and geographical informa-
tion for geospatial simulation. In: Agent-Based Models of Geographical Systems, pp. 219–251.
Springer, Berlin (2012). https://doi.org/10.1007/978-90-481-8927-4_12
23. Curtis, B., Kellner, M.I., Over, J.: Process modeling. Commun. ACM 35(9), 75–90 (1992)
24. Dahl, O.J., Nygaard, K.: Simula: an algol-based simulation language. Commun. ACM 9(9),
671–678 (1966)
25. De Wolf, T., Holvoet, T.: Emergence versus self-organisation: different concepts but promising
when combined. In: Brueckner, S.A., Di Marzo Serugendo, G., Karageorgos, A., Nagpal, R.
(eds.) Engineering Self-Organising Systems, pp. 1–15. Springer, Berlin (2005). https://doi.org/
10.1007/11494676_1
26. Di Francescomarino, C., Dumas, M., Federici, M., Ghidini, C., Maggi, F.M., Rizzi, W.,
Simonetto, L.: Genetic algorithms for hyperparameter optimization in predictive business
process monitoring. Inform. Syst. 74, 67–83 (2018). https://doi.org/10.1016/j.is.2018.01.003
27. Di Francescomarino, C., Ghidini, C., Maggi, F.M., Petrucci, G., Yeshchenko, A.: An eye
into the future: leveraging a-priori knowledge in predictive business process monitoring. In:
International Conference on Business Process Management, pp. 252–268. Springer, Berlin
(2017)
28. Di Leva, A., Sulis, E., De Lellis, A., Amantea, I.A.: Business process analysis and change
management: the role of material resource planning and discrete-event simulation. In: Explor-
ing Digital Ecosystems, pp. 211–221. Springer, Berlin (2020). https://doi.org/10.1007/978-3-
030-23665-6_15
29. Dumas, M., La Rosa, M., Mendling, J., Reijers, H.: Fundamentals of Business Process
Management, vol. 1, 2nd edn. Springer, Berlin (2018). https://doi.org/10.1007/978-3-662-
56509-4
30. Effken, J.A., Brewer, B.B., Logue, M.D., Gephart, S.M., Verran, J.A.: Using cognitive work
analysis to fit decision support tools to nurse managers’ work flow. Int. J. Med. Inform. 80(10),
698–707 (2011). https://doi.org/10.1016/j.ijmedinf.2011.07.003
31. Eliasson, G.: Modeling the experimentally organized economy: complex dynamics in an
empirical micro-macro model of endogenous economic growth. J. Econ. Behav. Organ. 16(1–
2), 153–182 (1991). https://doi.org/10.1016/0167-2681(91)90047-2
126 6 The Agent-Based Business Process Simulation Approach
32. Farkas, D., Hilton, B., Pick, J., Ramakrishna, H., Sarkar, A., Shin, N.: A tutorial on geographic
information systems: a ten-year update. Commun. Assoc. Inform. Syst. 38(1), 9 (2016). https://
doi.org/10.17705/1CAIS.03809
33. Georgeff, M., Pell, B., Pollack, M., Tambe, M., Wooldridge, M.: The belief-desire-intention
model of agency. In: International Workshop on Agent Theories, Architectures, and Languages,
pp. 1–10. Springer, Berlin (1998). https://doi.org/10.1007/3-540-49057-4_1
34. Grimm, V., Berger, U., Bastiansen, F., Eliassen, S., Ginot, V., Giske, J., Goss-Custard, J.,
Grand, T., Heinz, S.K., Huse, G., Huth, A., Jepsen, J.U., Jørgensen, C., Mooij, W.M., Müller,
B., Pe’er, G., Piou, C., Railsback, S.F., Robbins, A.M., Robbins, M.M., Rossmanith, E., Rüger,
N., Strand, E., Souissi, S., Stillman, R.A., Vabø, R., Visser, U., DeAngelis, D.L.: A standard
protocol for describing individual-based and agent-based models. Ecol. Model. 198(1), 115–
126 (2006). https://doi.org/doi.org/10.1016/j.ecolmodel.2006.04.023
35. Grimm, V., Berger, U., DeAngelis, D.L., Polhill, J.G., Giske, J., Railsback, S.F.: The ODD
protocol: a review and first update.Ecol. Model. 221(23), 2760–2768 (2010). https://doi.org/
10.1016/j.ecolmodel.2010.08.019
36. Hart, P.E., Nilsson, N.J., Raphael, B.: A formal basis for the heuristic determination of
minimum cost paths. IEEE Trans. Syst. Sci. Cybern. 4(2), 100–107 (1968). https://doi.org/
10.1109/TSSC.1968.300136
37. Heppenstall, A.J., Crooks, A.T., See, L.M., Batty, M.: Agent-Based Models of Geographical
Systems. Springer, Berlin (2011). https://doi.org/10.1007/978-90-481-8927-4
38. Holland, J.: Adaptation in natural and artificial systems: an introductory analysis with
application to biology. Control and artificial intelligence (1975)
39. Kaptelinin, V., Nardi, B.A.: Acting with Technology: Activity Theory and Interaction Design.
MIT Press, Cambridge (2006). https://doi.org/10.5210/fm.v12i4.1772
40. Kechagioglou, X., Lemmens, R., Retsios, V.: Sharing geoprocessing workflows with business
process model and notation (BPMN). In: Proceedings of the 2019 2nd International Conference
on Geoinformatics and Data Analysis, pp. 56–60 (2019). https://doi.org/10.1145/3318236.
3318239
41. Kleijnen, J.P.: Sensitivity analysis and optimization in simulation: design of experiments and
case studies. In: Winter Simulation Conference Proceedings, 1995., pp. 133–140. IEEE, IEEE
(1995). https://doi.org/10.1109/WSC.1995.478715
42. Kravari, K., Bassiliades, N.: A survey of agent platforms. J. Artif. Soc. Soc. Simul. 18(1), 11
(2015). https://doi.org/10.18564/jasss.2661
43. Law, A.M.: Simulation Modeling & Analysis, 5th edn. McGraw-Hill, New York (2015)
44. Law, A.M.: How to build valid and credible simulation models. In: 2019 Winter Simula-
tion Conference (WSC), pp. 1402–1414. IEEE, Piscataway (2019). https://doi.org/10.1109/
WSC40007.2019.9004789
45. Longley, P.A., Clarke, G.: GIS for Business and Service Planning. Wiley, London (1996).
https://doi.org/10.1016/S0969-6989(97)81473-7
46. Macy, M.W., Willer, R.: From factors to actors: Computational sociology and agent-based
modeling. Ann. Rev. Sociol. 28(1), 143–166 (2002). https://doi.org/10.1146/annurev.soc.28.
110601.141117
47. Mansar, S.L., Reijers, H.A.: Best practices in business process redesign: validation of a
redesign framework. Comput. Ind. 56(5), 457–471 (2005). https://doi.org/10.1016/j.compind.
2005.01.001
48. Marchiori, M., Possamai, L.: Micro-macro analysis of complex networks. PLoS ONE 10(1),
1–27 (2015). https://doi.org/10.1371/journal.pone.0116670
49. de Medeiros, A.K.A., Weijters, A.J., van der Aalst, W.: Genetic process mining: an experimen-
tal evaluation. Data Mining Knowl. Discovery 14(2), 245–304 (2007). https://doi.org/10.1007/
s10618-006-0061-7
50. Meisel, C., Gross, T.: Adaptive self-organization in a realistic neural network model. Phys.
Rev. E 80(6), 061917 (2009). https://doi.org/10.1103/PhysRevE.80.061917
References 127
51. Micolier, A., Taillandier, F., Taillandier, P., Bos, F.: Li-bim, an agent-based approach to
simulate occupant-building interaction from the building-information modelling. Eng. Appl.
Artif. Intell. 82, 44–59 (2019). https://doi.org/10.1016/j.engappai.2019.03.008
52. Mitchel, A., et al.: The ESRI Guide to GIS Analysis, vol. 2: Spartial Measurements and
Statistics. ESRI Press (2005)
53. Naylor, T.H., Finger, J.M.: Verification of computer simulation models. Manag. Sci. 14(2),
B–92 (1967). https://doi.org/10.1287/mnsc.14.2.B92
54. Newman, M.E.J.: The structure and function of complex networks. SIAM Rev. 45(2), 167–256
(2003). https://doi.org/10.1137/S003614450342480
55. North, M.J., Collier, N.T., Ozik, J., Tatara, E.R., Macal, C.M., Bragen, M., Sydelko, P.:
Complex adaptive systems modeling with repast simphony. Complex Adapt. Syst. Model. 1(1),
1–26 (2013). https://doi.org/10.1186/2194-3206-1-3
56. Pal, C., Leon, F., Paprzycki, M., Ganzha, M.: A review of platforms for the development of
agent systems. CoRR abs/2007.08961 (2020). https://arxiv.org/abs/2007.08961
57. Pászto, V., Jürgens, C., Tominc, P., Burian, J.: Spationomy: Spatial Exploration of Economic
Data and Methods of Interdisciplinary Analytics. Springer, Berlin (2020). https://doi.org/10.
1007/978-3-030-26626-4
58. Pick, J.B.: Geo-Business: GIS in the Digital Organization. Wiley, London (2008). https://doi.
org/10.1002/9780470259955
59. Rao, A.S.: Agentspeak (l): Bdi agents speak out in a logical computable language. In: European
Workshop on Modelling Autonomous Agents in a Multi-Agent World, pp. 42–55. Springer,
Berlin (1996)
60. Sakellariou, I.: Agent based modelling and simulation using state machines. In: SIMULTECH,
pp. 270–279. https://doi.org/10.5220/0004164802700279
61. Sargent, R.G.: Verification and validation of simulation models. J. Simul. 7(1), 12–24 (2013).
https://doi.org/10.1109/WSC.2010.5679166
62. Sawyer, R.K.: Artificial societies: multiagent systems and the micro-macro link in soci-
ological theory. Sociol. Methods Res. 31(3), 325–363 (2003). https://doi.org/10.1177/
0049124102239079
63. Sawyer, R.K., Sawyer, R.K.S.: Social Emergence: Societies as Complex Systems. Cambridge
University Press, Cambridge (2005). https://doi.org/10.1017/CBO9780511734892
64. Sharifi, H., Zhang, Z.: Agile manufacturing in practice-application of a methodology. Int. J.
Oper. Prod. Manag. (2001). https://doi.org/10.1108/01443570110390462
65. Sierhuis, M., Clancey, W.J., Van Hoof, R.J.: Brahms: a multi-agent modelling environment for
simulating work processes and practices. Int. J. Simul. Process Model. 3(3), 134–152 (2007).
https://doi.org/10.1504/IJSPM.2007.015238
66. Solé, R.V., Bascompte, J.: Self-Organization in Complex Ecosystems.(MPB-42). Princeton
University Press, Princeton (2006). https://doi.org/10.1515/9781400842933
67. Soon, K.L., Lim, J.M.Y., Parthiban, R., Ho, M.C.: Proactive eco-friendly pheromone-based
green vehicle routing for multi-agent systems. Expert Syst. Appl. 121, 324–337 (2019). https://
doi.org/10.1016/j.eswa.2018.12.026
68. Stonedahl, F.J.: Genetic algorithms for the exploration of parameter spaces in agent-based
models. Ph.D. Thesis, Northwestern University (2011)
69. Sulis, E., Terna, P., Di Leva, A., Boella, G., Boccuzzi, A.: Agent-oriented decision support
system for business processes management with genetic algorithm optimization: an application
in healthcare. J. Med. Syst. 44(9), 1–7 (2020). https://doi.org/10.1007/s10916-020-01608-4
70. Taillandier, P., Gaudou, B., Grignard, A., Huynh, Q.N., Marilleau, N., Caillou, P., Philippon,
D., Drogoul, A.: Building, composing and experimenting complex spatial models with the
gama platform. GeoInformatica 23(2), 299–322 (2019). https://doi.org/10.1007/s10707-018-
00339-6
71. Teinemaa, I., Dumas, M., Maggi, F.M., Di Francescomarino, C.: Predictive business process
monitoring with structured and unstructured data. In: International Conference on Business
Process Management, pp. 401–417. Springer, Berlin (2016). https://doi.org/10.1007/978-3-
319-45348-4_23
128 6 The Agent-Based Business Process Simulation Approach
72. Tisue, S., Wilensky, U.: NetLogo: A simple environment for modeling complexity. In:
International Conference on Complex Systems, vol. 21, pp. 16–21. Boston (2004)
73. Treiblmayr, M., Tso-Sutter, K.H.L., Krüger, A.: Interfacing business processes and spatial
processes. In: Proceedings 2011 IEEE International Conference on Spatial Data Mining and
Geographical Knowledge Services, pp. 174–180. IEEE, Piscataway (2011). https://doi.org/10.
1109/ICSDM.2011.5969027
74. Uhrmacher, A.M., Weyns, D.: Multi-Agent Systems: Simulation and Applications. CRC Press
(2009). https://doi.org/10.1201/9781420070248
75. Watkins, C.J., Dayan, P.: Q-learning. Mach. Learn. 8(3-4), 279–292 (1992). https://doi.org/10.
1007/BF00992698
76. Watkins, C.J.C.H.: Learning from Delayed Rewards. King’s College, Cambridge (1989).
https://doi.org/10.1201/9781420070248
77. Whitley, D.: A genetic algorithm tutorial. Stat. Comput. 4(2), 65–85 (1994). https://doi.org/10.
1007/BF00175354
78. Wilensky, U., Rand, W.: An Introduction to Agent-Based Modeling: Modeling Natural, Social,
and Engineered Complex Systems with NetLogo. MIT Press, Cambridge (2015). https://doi.
org/10.1063/PT.3.2884
79. Wynn, D.C., Clarkson, P.J.: Process models in design and development. Res. Eng. Design
29(2), 161–202 (2018). https://doi.org/10.1007/s00163-017-0262-7
80. Zhu, X., Zhu, G., vanden Broucke, S., Recker, J.: On merging business process management
and geographic information systems: modeling and execution of ecological concerns in
processes. In: International Conference on Geo-Informatics in Resource Management and
Sustainable Ecosystem, pp. 486–496. Springer, Berlin (2014). https://doi.org/10.1007/978-3-
662-45737-5_48
81. Zouad, S., Boufaida, M.: An agent-oriented methodology for business process management. In:
International Symposium on Business Modeling and Software Design, pp. 287–296. Springer,
Berlin (2020). https://doi.org/10.1007/978-3-030-52306-0_19
Part III
Agent-Based Modeling for
Business Process Management
Chapter 7
Multi-Agent Systems and Business
Process Management
Abstract This chapter provides an insight into applying autonomous agents and
multi-agent systems (MAS) to BPM. The first section presents an overview of recent
applications of agents in BPM. After that, some tools are introduced that enable to
import to NetLogo models represented in typical BPM formats, such as BPMN,
Petri nets, and the eXtensible Event Stream standard language.
agents and MAS. Accordingly, we list below the main areas where agent-oriented
approaches have demonstrated promising results:
• Multi-agent (deep) reinforcement learning. Applying the techniques of reinforce-
ment learning [30] and deep learning to MAS [18] is one of the recent research
areas that is relevant for BPM. For example, [37] describes a multi-agent Q-
learning algorithm for service composition. Moreover, neural networks have been
applied to improve the learning processes [5].
• Conversational applications. A proactive chatbot [7] can interact with its users in
a natural language, performing actions on their behalf, and initiating interactions
to inform users about the relevant behaviors of the information system. Moreover,
conversational agents or chatbots in human-computer interaction [7] can employ
natural language processing for business process automation. One way to do this
is to create a multi-agent system consisting of conversational assistants [23].
• Cognitive agents. The adoption of cognitive agents in BPM relies on “proactivity
and self-adaptation of the running processes against the evolving conditions of
the application domains in which they are enacted” [14]. Cognitive agents may
adopt the Belief, Desire, and Intention (BDI) architecture in an agent-based
business process management framework [10, 38]. A promising area to apply
cognitive agents is modeling and simulating humans within business processes
as software agents emulating different personality traits and varying emotions
and moods [9, 24, 25]. A good recent example is the simulation study based on
cognitive agents of how the job performance of airline employees is affected by
personality traits, such as conscientiousness, extroversion, and neuroticism [42].
• Micro-macro interactions in complex systems. Complexity studies are co-
interactions between agents and also between agents and objects of their
environment. Practical applications of business process complexity are
investigated in ABMS [19], whereas typical examples are markets, organizations,
and emergency services [27]. More recently, the research on Internet of things
has also focused on complex systems involving interactions between autonomous
agents [8].
• Agent-oriented decision-support systems. As we have emphasized in Chap. 5,
a typical scenario of conducting an agent-based simulation involves the what-
if analysis to improve the decision-making performed in an organization. The
corresponding agent-based decision-support system can optimize key parameters
in an agent-based business process simulation by applying, for example, heuristic
search [2] or genetic algorithms [28, 29].
• Agents and robotic process automation. Robotic process automation (RPA) is a
recent research area involving software agents that emulate humans in process-
aware systems [31]. One of the purposes of agents in RPA is “to explore and
manipulate a portion of their environment in order to find and collect information
and data” [35].
• Agent-oriented modeling and business process simulation. As has already been
mentioned above, agent-oriented approaches can be helpful for both model-
ing [26, 33, 41] and for simulating business processes [6, 19, 27], as well as
for combining business process modeling and simulation [36].
7.2 Agents in the BPM Lifecycle 133
• Agents and process mining. Event log data about utilizing resources by an
organization can define the creation of agents in an ABM [15, 32]. For example,
employees of an organization can be reflected by the corresponding number of
agents in the model. Similarly, the arrival of new cases, such as patients in a
healthcare service, can be represented by the creation of the corresponding agents
in the model. PM has also recently been employed for identifying the goals by
individual agents [21, 40].
Fig. 7.1 Agent-based business process lifecycle. After identifying a business process to be
analyzed, the event logs are recorded and are then used to define ABM. The mutual influence
between variables of the micro and macro levels is also considered
in the process. One can also consider how the resulting system interacts with
its external environment. Doing that involves the identification of the contextual
variables that may impact the model. The analysis must also include micro-macro
aspect of complex systems’ analysis that was treated in Chap. 6. Finally, another
reason why agent-oriented approaches are increasingly relevant is that traditional
business processes within organizations are currently being supplanted by more
dynamic ecosystems of organizations [20], which conceptually consist of many
parts, such as institutional agents, human agents, and man-made agents—software
agents and robots—acting on their behalf [39].
world by focusing on automatic extraction of event data and process models [34].
To utilize the accumulated experience, this section investigates how to import
models represented in standard business process languages into NetLogo and how
to manage such models in NetLogo.
After defining or importing the business process model in terms of sequences
of activities and main decision points, one can also explicitly define the agents
required for performing the business process and their behaviors. In NetLogo, the
programmer can add the behaviors of the agents and other typical elements of an
ABM, beyond the imported standard business process model. For example, the
starting point of conducting a scenario analysis (what-if ) can be a BPMN diagram.
However, as we have pointed out in Chap. 5, being an activity-oriented approach,
the emphasis of BPMN is on what activities take place rather than on which agents
perform them. Therefore, “swimlanes” of BPMN models should be represented as
agents, which can be done by following the methodology described in Chap. 5.
In particular, employees of an organization can be modeled as agents that have
knowledge about their hours of work and skills or abilities. Similarly, for an ABM,
one should also elaborate the representation of activities by including their different
possible duration in the form of a fixed or uniform distribution. In addition, process
performance indicators should be introduced, allowing one to track the process by,
for example, calculating the wait time or resource utilization, as is described in
Sect. 2.2.3.
As has been mentioned before, to investigate the adoption of NetLogo to BPM, it
is worth noting that: “In all of the proposed tools for simulation in process mining,
interaction with the user and user knowledge is an undeniable requirement for
designing and running the simulation models” [22]. Considering that, the following
two sections describe how to import a standard BPMN model and a Petri net model
into NetLogo. These sections are reinforced by the resources available online.1
As introduced in Sect. 2.1.5, Petri nets are a well-known business process modeling
language in the specialized BPM literature. In the web repository, the ABBPS_PN-
Demo-example model describes the functioning of simple PN models, which can be
loaded by the program or created by the user.
In addition, this section presents a practical example of automatically importing
a BPMN model into NetLogo to obtain the corresponding workflow diagram in
NetLogo. The ABBPS_Import-BPMN model loads a BPMN file to reproduce in
the display area the elements of the business process, such as tasks, events, and
gateways. This program is illustrated by Fig. 7.2).
1 Visit http://www.processmining.org/event_logs_and_models_used_in_book.
136 7 Multi-Agent Systems and Business Process Management
Fig. 7.4 Interface of the CCC-19 example with the Petri net of the model automatically created
from the PNML file in NetLogo
The demonstration models presented in this section, for both BPMN and Petri
net cases, are very simple and introductory examples for managing, opening, and
importing business processes in the standard notation language. They allow to get
an idea of how a business process simulation of an organization could work by
using an agent modeling platform. Furthermore, reading parameters via file could
allow characterization of both operators and simulation parameters, as in the case of
activities duration. The models presented in the next chapter allow to deepen these
aspects by examining multiple possible applications.
References
1. Amantea, I.A., Sulis, E., Boella, G., Marinello, R., Bianca, D., Brunetti, E., Bo, M., Fernandez-
Llatas, C.: A process mining application for the analysis of hospital-at-home admissions. Stud.
Health Technol. Inform. 270, 522–526 (2020). https://doi.org/10.3233/shti200215
2. Ben Othman, S., Zgaya, H., Dotoli, M., Hammadi, S.: An agent-based decision support system
for resources’ scheduling in emergency supply chains. Control Eng. Practice 59, 27–43 (2017).
https://doi.org/10.1016/j.conengprac.2016.11.014
3. Di Francescomarino, C., Ghidini, C., Maggi, F.M., Milani, F.: Predictive process monitoring
methods: Which one suits me best? In: International Conference on Business Process Man-
agement, pp. 462–479. Springer, Berlin (2018). https://doi.org/10.1007/978-3-319-98648-7_
27
4. Dumas, M., La Rosa, M., Mendling, J., Reijers, H.: Fundamentals of Business Process
Management, vol. 1, 2nd edn. Springer, Berlin (2018). https://doi.org/10.1007/978-3-662-
56509-4
5. Foerster, J., Assael, I.A., De Freitas, N., Whiteson, S.: Learning to communicate with deep
multi-agent reinforcement learning. In: Advances in Neural Information Processing Systems,
pp. 2137–2145 (2016)
6. Gómez-Cruz, N.A., Saa, I.L., Hurtado, F.F.O.: Agent-based simulation in management and
organizational studies: a survey. Eur. J. Manag. Bus. Econ. (2017). https://doi.org/10.1108/
EJMBE-10-2017-018
7. Io, H., Lee, C.: Chatbots and conversational agents: A bibliometric analysis. In: 2017 IEEE
International Conference on Industrial Engineering and Engineering Management (IEEM), pp.
215–219. IEEE, Piscataway (2017). https://doi.org/10.1109/IEEM.2017.8289883
References 139
8. Janiesch, C., Koschmider, A., Mecella, M., Weber, B., Burattin, A., Di Ciccio, C., Fortino, G.,
Gal, A., Kannengiesser, U., Leotta, F., et al.: The internet of things meets business process
management: a manifesto. IEEE Syst. Man Cybern. Mag. 6(4), 34–44 (2020). https://doi.org/
10.1109/MSMC.2020.3003135
9. Jones, H., Saunier, J., Lourdeaux, D.: Personality, emotions and physiology in a bdi agent
architecture: The pep-bdi model. In: 2009 IEEE/WIC/ACM International Joint Conference on
Web Intelligence and Intelligent Agent Technology, vol. 2, pp. 263–266. IEEE, Piscataway
(2009). https://doi.org/10.1109/WI-IAT.2009.160
10. Kir, H., Erdogan, N.: A knowledge-intensive adaptive business process management frame-
work. Inform. Syst. 95, 101639 (2021). https://doi.org/10.1016/j.is.2020.101639
11. Lira, R., Salas-Morales, J., de la Fuente, R., Fuentes, R., Sepúlveda, M., Arias, M., Herskovic,
V., Munoz-Gama, J.: Tailored process feedback through process mining for surgical procedures
in medical training: the central venous catheter case. In: International Conference on Business
Process Management, pp. 163–174. Springer, Berlin (2018). https://doi.org/10.1007/978-3-
030-11641-5_13
12. Maggi, F.M., Di Ciccio, C., Di Francescomarino, C., Kala, T.: Parallel algorithms for the
automated discovery of declarative process models. Inf. Syst. 74(P2), 136–152 (2018). https://
doi.org/10.1016/j.is.2017.12.002
13. Maggi, F.M., Di Francescomarino, C., Dumas, M., Ghidini, C.: Predictive monitoring of
business processes. In: Jarke, M., Mylopoulos, J., Quix, C., Rolland, C., Manolopoulos, Y.,
Mouratidis, H., Horkoff, J. (eds.) Advanced Information Systems Engineering, pp. 457–472.
Springer, Cham (2014)
14. Marrella, A., Mecella, M.: Cognitive business process management for adaptive cyber-physical
processes. In: International Conference on Business Process Management, pp. 429–439.
Springer (2017)
15. Martin, N., Depaire, B., Caris, A.: The use of process mining in business process simulation
model construction. Bus. Inform. Syst. Eng. 58(1), 73–87 (2016). https://doi.org/10.1007/
s12599-015-0410-4
16. Munoz-Gama, J., de la Fuente, R., Sepúlveda, M., Fuentes, R.: Conformance checking
challenge 2019; 4tu. Centre for Research Data: Delft, The Netherlands (2019). https://doi.org/
10.4121/uuid:c923af09-ce93-44c3-ace0-c5508cf103ad
17. Munoz-Gama, J., et al.: Conformance Checking and Diagnosis in Process Mining. Springer
(2016). https://doi.org/10.1007/978-3-319-49451-7
18. Nguyen, T., Nguyen, N., Nahavandi, S.: Deep reinforcement learning for multiagent systems:
a review of challenges, solutions, and applications. IEEE Trans. Cybern. 50(9), 3826–3839
(2020). https://doi.org/10.1109/TCYB.2020.2977374
19. North, M., Macal, C.: Managing Business Complexity: Discovering Strategic Solutions With
Agent-Based Modeling and Simulation. Oxford University Press (2007). https://doi.org/10.
1093/acprof:oso/9780195172119.001.0001
20. Pasmore, W., Winby, S., Mohrman, S.A., Vanasse, R.: Reflections: sociotechnical systems
design and organization change. J. Change Manag. 19(2), 67–85 (2019). https://doi.org/10.
1080/14697017.2018.1553761
21. Polyvyanyy, A., Su, Z., Lipovetzky, N., Sardina, S.: Goal recognition using off-the-shelf pro-
cess mining techniques. In: Proceedings of the 19th International Conference on Autonomous
Agents and MultiAgent Systems, pp. 1072–1080 (2020)
22. Pourbafrani, M., Vasudevan, S., Zafar, F., Xingran, Y., Singh, R., van der Aalst, W.: A python
extension to simulate petri nets in process mining (2021). arXiv preprint arXiv:2102.08774
23. Rizk, Y., Bhandwalder, A., Boag, S., Chakraborti, T., Isahagian, V., Khazaeni, Y., Pollock,
F., Unuvar, M.: A unified conversational assistant framework for business process automation
(2020). arXiv preprint arXiv:2001.03543
24. Salvit, J., Sklar, E.: Toward a myers-briggs type indicator model of agent behavior in multiagent
teams. In: International Workshop on Multi-Agent Systems and Agent-Based Simulation, pp.
28–43. Springer, Berlin (2010). https://doi.org/10.1007/978-3-642-18345-4_3
140 7 Multi-Agent Systems and Business Process Management
25. Santos, R., Marreiros, G., Ramos, C., Neves, J., Bulas-Cruz, J.: Personality, emotion, and mood
in agent-based group decision making. IEEE Intell. Syst. 26(6), 58–66 (2011). https://doi.org/
10.1109/MIS.2011.92
26. Sterling, L., Taveter, K.: The Art of Agent-Oriented Modeling. The MIT Press (2009). https://
doi.org/10.7551/mitpress/7682.001.0001
27. Sulis, E., Di Leva, A.: An agent-based model of a business process: the use case of a hospital
emergency department. In: Teniente, E., Weidlich, M. (eds.) Business Process Management
Workshops—BPM 2017 International Workshops, Barcelona, Spain, September 10–11, 2017,
Revised Papers, Lecture Notes in Business Information Processing, vol. 308, pp. 124–132.
Springer, Berlin (2017). https://doi.org/10.1007/978-3-319-74030-0_8
28. Sulis, E., Terna, P.: An agent-based decision support for a vaccination campaign. J. Med. Syst.
45(11), 1–7 (2021). https://doi.org/10.1007/s10916-021-01772-1
29. Sulis, E., Terna, P., Di Leva, A., Boella, G., Boccuzzi, A.: Agent-oriented decision support
system for business processes management with genetic algorithm optimization: an application
in healthcare. J. Med. Syst. 44(9), 1–7 (2020). https://doi.org/10.1007/s10916-020-01608-4
30. Sutton, R.S., Barto, A.G.: Reinforcement Learning: An Introduction. MIT Press (2018)
31. Syed, R., Suriadi, S., Adams, M., Bandara, W., Leemans, S.J., Ouyang, C., ter Hofstede,
A.H., van de Weerd, I., Wynn, M.T., Reijers, H.A.: Robotic process automation: contemporary
themes and challenges. Comput. Ind. 115, 103162 (2020). https://doi.org/10.1016/j.compind.
2019.103162
32. Szimanski, F., Ralha, C.G., Wagner, G., Ferreira, D.R.: Improving business process models
with agent-based simulation and process mining. In: Enterprise, Business-Process and Infor-
mation Systems Modeling, pp. 124–138. Springer, Berlin (2013)
33. Taveter, K., Wagner, G.: A multi-perspective methodology for modelling inter-enterprise
business processes. In: Arisawa, H., Kambayashi, Y., Kumar, V., Mayr, H.C., Hunt, I. (eds.) ER
2001 Workshops, HUMACS, DASWIS, ECOMO, and DAMA, Yokohama Japan, November
27–30, 2001, Revised Papers, Lecture Notes in Computer Science, vol. 2465, pp. 403–416.
Springer, Berlin (2001). https://doi.org/10.1007/3-540-46140-X_31
34. van der Aalst,W.: Process Mining—Data Science in Action, 2nd edn. Springer (2016). https://
doi.org/10.1007/978-3-662-49851-4
35. Vidoni, R., García-Sánchez, F., Gasparetto, A., Martínez-Béjar, R.: An intelligent framework
to manage robotic autonomous agents. Expert Syst. Appl. 38(6), 7430–7439 (2011). https://
doi.org/10.1016/j.eswa.2010.12.080
36. Wagner, G., Taveter, K.: Towards radical agent-oriented software engineering processes based
on AOR modeling. In: Proceedings. IEEE/WIC/ACM International Conference on Intelligent
Agent Technology, 2004.(IAT 2004)., pp. 509–512. IEEE, Piscataway (2004). https://doi.org/
10.1109/IAT.2004.1343007
37. Wang, H., Chen, X., Wu, Q., Yu, Q., Hu, X., Zheng, Z., Bouguettaya, A.: Integrating
reinforcement learning with multi-agent techniques for adaptive service composition. ACM
Trans. Auton. Adapt. Syst. 12(2), 1–42 (2017). https://doi.org/10.1145/3058592
38. Wautelet, Y., Kolp, M.: Business and model-driven development of bdi multi-agent systems.
Neurocomputing 182, 304–321 (2016). https://doi.org/10.1016/j.neucom.2015.12.022
39. Winby, S., Mohrman, S.A.: Digital sociotechnical system design. J. Appl. Behav. Sci. 54(4),
399–423 (2018). https://doi.org/10.1177/0021886318781581
40. Yan, J., Hu, D., Liao, S.S., Wang, H.: Mining agents’ goals in agent-oriented business
processes. ACM Trans. Manag. Inform. Syst. 5(4), 1–22 (2014). https://doi.org/10.1145/
2629448
41. Zacarias, M., Pinto, H.S., Magalhães, R., Tribolet, J.: A ‘context-aware’ and agent-centric
perspective for the alignment between individuals and organizations. Inform. Syst. 35(4), 441–
466 (2010). https://doi.org/10.1016/j.is.2009.03.014
42. Zimmer, N.: Socio-technical modeling and simulation of airline operations control. Doctoral
Thesis, Technische Universität Braunschweig, Germany (2020)
Chapter 8
Practical Applications
This first example describes re-engineering of the purchasing business process of the
merged Ford-Mazda company, after the acquisition of Mazda by Ford in 1979 [7].
This is a well-known example of business process re-engineering. To summarize the
Ford-Mazda case study, Ford started reviewing its purchasing business process at the
end of the 1970s in order to improve the throughput. At that time, the acquisition of
Mazda enabled Ford to compare the execution of the same type of business process
in the two companies. The differences were really striking: while Ford employed
about 500 employees for performing the whole purchasing process, the size of the
staff at Mazda working on the same purchasing process was about 100 workers.
Consequently, the same back office in Mazda was a lot cheaper than the Ford
one. Moreover, the purchasing process in Mazda was faster because of a reduced
turnaround time [5].
The decision support concerned with the re-engineering case study of Ford and
Mazda was explored in a generalized manner in Sect. 5.2. In the Ford-Mazda case
study, the main organizational units involved in the organization of Ford are the
following ones:
• Purchasing Office (PO)—the department with the function of procuring supplies
or services; each request to a Vendor is accompanied by a Purchase Order.
RECEIVING RECEIVING
8.1 Strategic Thinking: Ford-Mazda Case Study
INF.SYSTEM
FORD MAZDA
Fig. 8.1 The main organizational units of Ford (on the left) and Mazda (on the right) represented in the ABBPS_Ford-Mazda model
143
144 8 Practical Applications
Orders are visualized in NetLogo as small, randomly colored dots that first
arrive in PO. From PO, the flow of the business process continues into different
organizational units. Workers are visualized as circles in the lower area of the screen.
The color of a worker represents its state: it is gray when the worker is not working,
green when the worker is ready to start, and red when the worker is working on an
order.
Workers
Each worker in the ABM is characterized by the state variable state-worker, the
values of which represent one of the following three conditions:
• “waiting"—the state of the worker during working hours when the worker is not
working but is waiting for an order
• “service"—the worker is working on an order
• “not-working-time"—the state of the worker during out-of-office time, such as
lunch time, nights, and weekends.
Workers in the “waiting” state look for an order in the “waiting-for-worker” state
by committing to work for the period of time recorded in their “duration” variable.
Orders
An order is a passive agent implemented as a NetLogo turtle that has its own
variables, such as the one representing its state (“state-order”). In the course of
performing different activities of the business process, the state of the order can
change between “waiting-for-worker,” “service,” “moving,” and “delay.” Other
variables of an order define the movements of the order in the NetLogo visualization
(destination, moving?) and the worker that the order is associated with (working-
with). In the business process model of Ford, two additional variables represent the
arrival of the corresponding invoice from the vendor (my_invoice_arrived?) and the
copy of the order issued by the PO (my_copy_order_arrived?). Finally, two global
8.1 Strategic Thinking: Ford-Mazda Case Study 145
variables register the KPI values of the average cycle time and the average service
time, respectively.
In business process modeling, two other relevant aspects are concerned with the
choices of rendering the passage of time and the flow of activities.
Time
In the Ford-Mazda case study, one time unit is represented by 1 tick, which
corresponds to 1 minute. The arrival of the orders depends on two values: the
frequency of arrival of new bunches of orders and the number of orders in a bunch.
The frequency value is set to 15, meaning that every 15 min a new bunch of orders
arrives. The number of orders in a bunch is set to 80, but it can be changed by
a slider in the interface (n-of-orders) in the range from 10 to 100. To change this
initial setting, you can have a look at the model ABBPS_Interarrival-times.nlogo
in the companion website, which describes how different uniform and triangular
distributions of order arrival times can be defined in NetLogo.
The working time depends on the number of ticks, whereby 60 ticks represent
1 hour and 3600 ticks 1 day. The corresponding global variable working-time
specifies four different “working times" every day. In addition to the “night” time,
they include three slots representing different periods of the 9 hours’ working time
between 9 and 18: the morning working time (“wt-morning”), the break for lunch
(“lunch-time”), and the afternoon working time (“wt-afternoon”).
In the go procedure, the sub-procedure “pass-time” modifies the four “working-
time” values, depending on the values of the ticks variable. Similarly, the sub-
procedure check-time modifies also the state-worker variable in accordance with the
simulated time of the day. To avoid unnecessary cycles, the sub-procedure “pass-
time” moves the simulation time forward during non-working time: at night and
during lunch breaks.
Sequence of Activities
The purchasing business process model of Ford begins with passing an order from
PO to V, which is accompanied by sending a copy of the order to AP. Within the final
activity of the purchasing business process, the workers at AP check the following
three conditions: whether they have a copy of the order from PO and the invoice
from V and whether the goods have arrived in R. As soon as all the three conditions
have been satisfied, the payment is made to V.
In the following NetLogo code, the flow of activities is defined by the compute-
next-state procedure, while the send-order-to-destination procedure sends an order
to the next organizational unit. Finally, the compute-next-state procedure updates
146 8 Practical Applications
Table 8.1 Simulation output for ten runs of the Ford and Mazda cases, with 500 workers and
100 workers, respectively. Average values and standard deviations of the number of completed
orders (Avg. Completed), process cycle time (Avg. Cycle Time), and service time by workers
(Avg. Service Time)
Case Avg. completed Avg. cycle time Avg. service time
Ford-500 11,434 (17.1) 633.7 (1.81) 78.5 (0.22)
Mazda-100 11,554 (24.7) 522.3 (6.45) 81.5 (0.04)
the variables used to indicate that the order is ready to move by setting the value of
the variable moving? to true and the value of the variable state-order to “moving”:
to send-order-to-destination [ d ]
let dest one-of patches with [pname = d]
set heading towards dest
set destination-patch dest
set moving? true
set state-order "moving"
end
To reflect more adequately real life, performing each activity instance of the
business process takes a different amount of time. The duration of the corresponding
type of activity is represented as a uniform distribution between minimum and
maximum values.
The purchasing business process of Mazda also includes as a resource the
Purchasing Information System (IS) for recording (i) orders sent by PO; (ii) arrival
of products in R; and (iii) making payments by AP.
Simulation Scenario
In accordance with the numbers provided in the research literature [1, 3, 12], the
business process simulation of Ford was initiated with 500 workers, while the
business process simulation of Mazda was initiated with 100 workers. We assume
that workers are interchangeable in the NetLogo model of the purchasing business
processes. Table 8.1 summarizes the simulation results. According to the table, the
case of Mazda seems to be performing better than the case of Ford by having a
shorter average cycle time (522 min instead of 633 min), while the shares of average
working times of workers are very similar (78.5 % and 81.5 %). Table 8.1 also
clearly shows that about 11,500 orders are completed in both cases, despite the
different numbers of the workers involved.
%2Fhtml%2F_ELT%2FBank+Model.html.
2 https://pythonhosted.org/SimPy/Tutorials/TheBank.html.
148 8 Practical Applications
The serpentine queue model includes two types of agents: operators as active agents
who work at the counter and customers as passive agents who enter the queue and
move to the counter. Operators are modelled as active agents because they call
customers to work on their cases. In addition, operators may decide to perform
back-office work instead of providing front-office services.
In the NetLogo simulation, customers arrive at certain times at the top left of
the serpentine queue illustrated by Fig. 8.2. New customers can arrive according
to a uniform time distribution, in the range from min-value to max-value as
defined through the NetLogo interface. Different types of distributions can be
considered, such as a triangular distribution, or a normal distribution defined by
the ABBPS_Interarrival-times.nlogo model in the web repository of this book.
The current state of each agent of the simulation is represented by the agent’s
state variable. In the main loop, the procedures are called that involve different
agents depending on their corresponding states modelled in Fig. 8.3. The procedures
of the main loop are described in more detail in the next section. In the NetLogo
model, other options include setting a short or long serpentine queue or tracking
paths by customers. The simulation stops when there are no more agents in the
queue. Finally, the values of performance indicators are calculated to evaluate the
entire process and the workloads by individual agents involved. The performance
indicators include time-related indicators for measuring the duration of the main
steps, such as the time spent in the queue or at the desk, and the cycle time.
Systematic variations of the model’s configuration settings can be obtained by
BehaviorSpace, as described in Sect. 4.2.6.
The view in the interface represented in Fig. 8.4 maintains the original dimension;
we have just reduced the zcor value—the maximum z coordinate of the patches—
to better manage the rotation of the screen. The initial setting modifies the 3D
environment, which is included at the beginning of the program by means of the
command:
__includes [‘‘environment.nls’’]
The user can customize the display through the user interface by changing the
color of the barriers in the serpentine queue. In fact, a variable in the Interface can
be set to a different color.
The following setup procedure initializes the general variables of interest (setup-
variables), as well as the worker variables (worker-variables):
to setup
ca
build-walls ;; create the environment
setup-variables ;; initialize the variables
setup-workers ;; initialize the operators
reset-ticks
end
150 8 Practical Applications
The simulation is carried out by repeating for each time unit a series of procedures
until the end condition becomes true, like reaching a certain time limit or the absence
of customers in the queue. A time unit is a tick, whereas a tick corresponds to one
second, as a rule. An example of a procedure is a set of commands concerning
a customer or worker. The main cycle procedures are as follows: check-arrival
(to set the arrival of a new customer); check-moving (manages the movement of
agents while their state is “moving”); check-workers-backoffice (“free” workers
may start back-office operations according to the probability defined through the
interface with the slider backoffice-%); check-workers-waiting-cust (“free” workers
may check for the waiting customers); check-workers-working-cust (workers have
arrived at the place of the next task but are still “waiting” for the arrival of a
customer to start the service); check-working-time (when a task is finished, the
workers involved become “free”).
to go
tick
if ticks = 28880
or (kpi-tot-served > 0 and not any? customers) [ stop ]
; the stop condition: 1 day or no more customers
check-arrival ; start (new) agents to move
check-moving ; move agents with state "moving"
check-workers-backoffice ; workers check back-office
check-workers-waiting-cust ; workers wait for customers
check-workers-working-cust ; workers work with customers
check-working-time ; check if the working time is finished
end
If there are workers available to start their service (any? workers with
[state = "free"]) with a customer, they select the first customer ready on
the waiting line (one-of customers with [. . .]) and call it by applying
the corresponding procedure (call a customer). Finally, they commit to work
with the agent by setting state and working-with variables accordingly. To
provide the reader with an idea of the NetLogo program code, we present here the
corresponding procedure:
to check-workers-waiting-cust
if any? workers with [state = "free"]
[ ask one-of workers with [state = "free"]
[ if any? customers with [state = "waiting"
and [pname] of patch-here = "waiting-line"]
[
let cust one-of customers with [state = "waiting"
and [pname] of patch-here = "waiting-line"]
set state "waiting"
set working-with cust
]
]
The call-a-customer procedure includes the code for calling a customer based on
the following two parameters: the worker (w) and the customer (c). Specifically, the
NetLogo agent—turtle—representing the client is asked to engage with the worker
(set working-with w), turn its face toward the desk of the corresponding
worker ([worker-desk] of w), set its variable destination, and start
moving:
to call-a-customer [w c]
ask c [
set working-with w
face [worker-desk] of w
set destination "worker-desk"
set state "moving"
]
end
Finally, we comment here on one of the most relevant procedures of the main
loop, i.e., the check-workers-working-cust procedure. This procedure
addresses the situation where workers, who are sitting at their desks, check if a
customer has arrived and is ready to be served by them. The procedure therefore
requires the worker to check whether the desk in front of her is free or occupied by
a customer who is ready to be serviced. This situation occurs when the customer has
the variable pname set to “worker-desk,” as can be seen in the following procedure:
if any? customers with
[state = ‘‘waiting’’ and patch-here = [worker-desk] of myself]
If the customer is ready to be serviced, the workers start working with the
customer (set state “working”). It is worth noting that the duration of a
task (work-duration) can be improved by considering workers’ skills (experienced
or novice) and average task duration. In the code presented below, the task duration
is between 60 and 120 ticks.
to check-workers-working-cust
if any? workers with [state = "waiting"] [
ask one-of workers with [state = "waiting"] [
if any? customers with [state = "waiting"
and patch-here = [worker-desk] of myself ] [
set state "working"
set work-duration ticks + 60 + random 60
compute-kpi-queue-to-desk
(kpi-time-starting-served-at-desk -
kpi-time-arrival-at-serpentine-start )
]
]
]
]
end
Fig. 8.5 Monitors and plots of the serpentine model process performance indicators
NetLogo turtles representing workers to indicate when the worker starts working
with a customer (kpi-time-start-working), starts back-office work (kpi-time-start-
backoffice), or starts waiting for a customer (kpi-time-start-waiting).
There are also global variables monitoring the process trends by computing the
average values of the total waiting time (kpi-worker-time-waiting), the total working
time (kpi-worker-time-working), and the total back-office time (kpi-backoffice-time-
working) of the operators. Finally, the interface includes a plot visualizing the
performance indicators in the interface (Fig. 8.5).
by the agent with their respective identifiers: moving south (0), north (1), east (2),
or west (3) or pick up (4) or drop off a passenger (5).
Reward Table When the environment is created for the SmartCab, an initial reward
table is created. We can think of it as of a matrix with the numbers of states as
rows and the numbers of actions as columns. In a more elaborate version, we can
include for each action the corresponding probability to perform this action, as
well as the next state where performing the action would take the system. Other
elements attached to the action are the expected reward, and a variable for checking
the completion of the task, such as the completion of a trip by SmartCab.
Q Table The Q table is a matrix where we have a row for each state and a column
for each action. The values in the Q table are first initialized to 0 and are updated
after training. Note that the Q table has the same dimensions as the reward table.
A typical self-learning system is a self-driving vehicle that needs to learn the path
between the starting and ending points of its route. In the NetLogo simulation
of a self-driving car (ABBPS_RL-demo-8-directions model), we considered the
movements of an agent within a grid of 8 × 8 cells. The environment of the agent
contains obstacles like trees and houses. The NetLogo simulation developed by us
is based on the Maze program of Reinforcement Learning (RL), which originates
in the NetLogo User Community Models.3 Our implementation improves the basic
model in the following three ways. First, the car can move in eight directions—
horizontally, vertically, and even diagonally—rather than just in four directions.
Second, the learning process records a sequence of actions each time and saves
only the shortest path that is displayed at the end of the program by means of the
“View best route” button. A third improvement is concerned with the final choice
of the shortest path instead of paths of the same length but with more curves, by
executing the count-diagonal procedure. Finally, the 3D View of the NetLogo
model improves the visualization of the path learned by the self-driving car. This is
reflected by Fig. 8.7.
Figure 8.6 describes the self-driving car model user interface with sliders and
buttons for setting up the main variables. Once the modeler has decided how
many obstacles should be randomly added to the map, the learning process will
be performed. The learning process ends when the car collides with an obstacle or
moves outside the simulation area, as well as when the goal of the simulation is
reached, i.e., the car reaches its destination (Fig. 8.7).
Fig. 8.8 A program to import a GIS map of the city of Turin, Italy
Fig. 8.9 An agent (robot) on a GIS map of the city of Turin, Italy
A decision-making task that may have a complex solution can benefit from
genetic algorithms (GA), which is a technique for solving an optimization problem
by exploring a large search space. This section describes a simple agent-based
business process model for demonstrating the application of GA that is described
in Sect. 6.4.2. This example represents a typical decision-making process about
allocating human workers to different activities. A manager can estimate the output
of the whole process based on the settings of initial parameters.
The purpose of the model (ABBPS_GA-example) is to investigate a simple
business process in an organization where workers perform a consequence of
activities of the three types A, B, and C. These three types of activities may
correspond to three types of production facilities, three types of medical units, or
three functional areas of a company. Activities of the types A, B, and C are followed
by the final activity of the type D. The example is illustrated by Fig. 8.10. Two
sliders on the NetLogo interface enable defining the total number of workers in the
organization, as well as allocating the corresponding percentages of workers to the
activities of the types A, B, and C. In addition, the user interface of the NetLogo
program includes sliders that enable modifying the duration of activities of each
type.
The three types of activities can be easily distinguished by their different
positions in the main view of the NetLogo user interface. Accordingly, new cases
enter the business process at the position with the coordinates 0 (xcor) and 0 (ycor),
while activities of the type A have the coordinates (8, 0), activities of the type B the
coordinates (16, 0), activities of the type C the coordinates (24, 0), and activities of
the type D the coordinates (32, 0).
158 8 Practical Applications
Fig. 8.10 Interface of GA_BPM example to apply GA to a simple business process consisting of
activities of the types A,B, and C, and including different numbers of workers as defined by the
corresponding slider buttons
In the following, we will briefly explore the program code. First, the “operators”
variable of patches, standing for workers, is initially declared with the following
statement:
patches-own [operators]
The setup procedure initializes the workers (operators) for activities of all three
types as follows:
ask patch 8 0 [set operators int(totOp.s * Op.s_inA / 100)]
ask patch 16 0 [
set operators
int((totOp.s - [operators] of patch 8 0) * Op.s_inB / 100)
]
ask patch 24 0 [
set operators
totOp.s - [operators] of patch 8 0 - [operators] of patch 16
]
Activities of a different type are created at each iteration of the main loop by the
instructions shown for the activities of type A here:
set actions A [operators] of patch 8 0
At each iteration, for every NetLogo turtles that arrives in a patch representing
activity of a certain type, the value of the variable representing the action to be
performed is decreased by the command set steps steps - 1. The final activity of the
8.4 Using Genetic Algorithms in a Decision-Making Process 159
type D of the business process includes the sub-procedure go-out for computing
the throughput time and updating the corresponding monitor before disappearing
(die), as follows:
if xcor = 8
[
if actionsA > 0
[
set steps steps - 1
set actionsA actionsA - 1
]
] (...)
if xcor = 32
[
set steps steps - 1
if steps = 0 [ go-out die ]
]
Fig. 8.11 BehaviorSearch settings for the GA_BPM model to optimize the fitness score of throughput time, with the level of granularity 0.1, the initial
population of 50 solutions, the crossover rate 0.7, and the mutation rate 0.03
8 Practical Applications
8.5 Diffusion Processes 161
“tournament selection" is 0.7, while the tournament size is 3. This means that three
solutions are randomly retrieved from the previous generation, and the best one
among them is selected to be reproduced. The initial settings of the BehaviorSearch
tool are illustrated by Fig. 8.11.
The simulation allows one to define how many times the search should be
repeated to improve confidence; for example, 20 or 30 times may be enough to
find the best configuration of parameters. Moreover, several files contain different
previous results of the algorithm in order to provide basis for further analysis.
The output of the BehaviorSearch algorithm consists of the values of the
parameters of interest to obtain from all searches the best performance or fitness
score. The trend of each individual search is represented by the plot like the one
shown in Fig. 8.12.
For example, the optimal solution to minimize the throughput time can be 1.4
workers for activities of the type A and 33.1 workers for activities of the type
B. These parameters are obtained by 20 searches with 500 steps in each search.
Consequently, this example of applying the BehaviorSearch tool describes how
decision-making can be reliably improved within a reasonable time using a standard
medium-capacity computer.
internal processes and the micro-macro interactions between the organization and its
environment. The last case is typically regarded as a macro-level analysis that has
consequences for interactions within business processes at the micro level. Micro
and macro levels are more thoroughly defined in Sect. 6.3.1).
We already mentioned how agent-based simulation are well suited to understand
diffusion processes. Analysis of diffusion processes offers interesting suggestions as
to when these processes occur over a large space, or when the impact of a diffusion
process involves a large population in sociotechnical systems [16]. Recently, several
studies have focused on the impact of diffusion processes in the spread of viruses in
complex networks [8]. Computational epidemiology has achieved authority to direct
policymakers and health managers [6, 11]. In particular, studies in computational
epidemiology have had a remarkable impact on understanding the spread of the
2020 COVID-19 virus [17]. Some of these studies have also adopted ABM [2].
This section presents three introductory and practical ABM models of diffusion
phenomena. The first model is concerned with the spread of a virus in a typical
epidemic process that considers agents of the types susceptible, infected, and recov-
ered (SIR). In particular, we describe the recent S.I.s.a.R simulation model [15]. The
second example introduces the diffusion of entities in an environment, such as new
products, ideas, or technologies spreading to a specific market or population. Our
example is about studying a model of information diffusion by means of ABM. We
conclude this section by exploring an introductory framework for utilizing both GIS
and SNA extensions, the tool described in Sect. 4.3, for modeling supply chains.
Indeed, the network of customers, subcontractors, and suppliers can be modelled by
positioning them as nodes on a map. The resulting model can be applied for further
simulation-based analysis.
ABM also facilitates the studying of spread phenomena and their dynamic inter-
actions among large collection of individuals. For example, an information dis-
semination model can describe the diffusion between people initially connected to
164 8 Practical Applications
each other according to a particular network topology. The purpose of this kind of
model is to investigate the dissemination processes corresponding to the network
topology [13].
The ABBPS_Dissemination-process model in the web repository relies on the
values of several parameters that can be configured by means of the NetLogo
user interface, while the output area of the user interface displays the network
of agents as nodes connected by curved gray edges. A 3D view of the model is
shown in Fig. 8.14. In the Interface, buttons control the simulation setup, while
monitors display the simulation results. The setup procedure initializes the patches
and variables of agents, while the main loop go includes the following procedures
corresponding to the functions for changing the internal state of each agent:
spreading, forgetting, and verifying. At the beginning of the simulation, each agent
is in a particular state according to a set of initial probabilities defined through the
user interface. The state variable records one of the following three states of a person
modelled by the agent: susceptible (“S”), believer (“B”), or fact checker (“F”).
During the simulation, an agent can change its state according to the probabilities
defined by the model.
In this model, the agent network is generated with the help of the nw library
(see Sect. 4.3.1). The type-of-network drop-down menu button enables the user
to select simulating the dynamics of the diffusion processes according to either
the “Barabasi-Albert” algorithm (by default) or the “Erdos-Renyi” algorithm. The
initial settings of the model always lead to creating a network in which agents are
mostly susceptible (90%) rather than believers (10%). The topology of the network
is visualized in Fig. 8.15. The visualization of the graph shown in the figure can
be further improved by adopting a spring layout [4], as well as by expanding the
distances between the nodes. The output of the simulation focuses on counting
the three different types of agent states, describing the evolution of the diffusion
process.
From the perspective of BPM, the diffusion process may be about a particular
innovation in a network of companies. For example, there may be companies
that are able to diffuse a certain innovative practice, such as the adoption of
RFID technologies in warehouse management, while some other companies may
not be yet ready to accept the innovation. Studying phenomena of this kind
can take advantage of the NetLogo implementation of the dissemination process
8.5 Diffusion Processes 165
Fig. 8.15 Network analysis in NetLogo: A representation of the network of customers, suppliers,
and subcontractors of an Italian company
model described in this section, as well as of the following model concerning the
distribution and supply of products.
– i. links to the customers standing for shipping orders of products by the given
company;
– ii. links from the suppliers standing for purchasing orders by the given
company;
– iii. links from and to the subcontractors of the given company
For the three kinds of links, the weight of a link represents the number of
items in the particular order.
The user interface of the NetLogo program of network analysis offers the
following types of analyses:
• Computing network metrics. Visualizes in the output area of the program
additional information on the network. Typical metrics concern the number of
connections (network degree) or the properties of individual nodes in the network
(e.g., centrality).4
• Data analysis. Counts the number of companies linked to the company being
analyzed.
• Temporal network analysis. Represents for each order its location and time.
Enables to describe the temporal dynamics of the network between the company
being analyzed and its stakeholders.
• Network visualization. Represents the star type of network between the company
being analyzed and other companies with the appropriate weights of the links,
standing for numbers of items in the corresponding orders.
4 https://ccl.northwestern.edu/netlogo/docs/nw.html.
8.6 Registration Process 167
Fig. 8.16 The business process of registration to a service in BPMN (above) and the correspond-
ing Petri net (below)
Business Process Model The business process model of registering for a service
consists of the following major parts, which are specified by the business process
diagram in BPMN, represented in Fig. 8.16:
• The start event (“Incoming Patients”) and end event of the process.
• Two activities that involve human labor (“Registration” and “Operation”) and
can be performed if the following two conditions hold: a patient is waiting in the
corresponding queue, and a worker is available to start performing the activity.
If this is the case, both the worker and the patient commit to working on the
corresponding activity.
• Two automated tasks (“Take the number” and “Paying the ticket”), in which a
patient starts performing an activity when an activity of the corresponding type
becomes available. Otherwise, the patient continues waiting in the queue.
• A gateway dividing the flow of the business process after the registration between
the “Ticket Payment” and “Operation,” standing for service provision.
In NetLogo, the business process model of registering for a service is rendered
as explained below, where the activities of a business process model are mapped to
the corresponding tasks of NetLogo.
Agents In the model, agents are patients and operators which act accordingly to
their “states.” In particular, both types of agents [ag_op and ag_pat], respectively,
standing for workers and patients, can be in one of the following states:
• Moving. Agent is moving in order to reach the next task.
• Waiting. Agent is waiting for the next task and is ready to start the task.
• Service. Agent is performing a particular task and is engaged in the service.
In addition, an agent can be in a fourth state—Looking. In that state, the agent is
looking for a “free” task, while customers are waiting to receive the corresponding
service.
168 8 Practical Applications
Actions The process includes both tasks performed by humans and automated
tasks:
• Regarding the tasks performed by the workers, the program behaves as follows:
if an agent performing the role of worker has no service to perform, it will start
looking for a patient ready for receiving the service. A patient is ready to start
being served if the following three conditions occur: (i) the variable representing
the patient’s next task to be performed does not have a value; (ii) the patient is
the first agent to be served in the corresponding queue; and (iii) a worker is free
and available to start performing the service. If these three conditions occur, the
worker will engage with the patient by sending a message that will prompt the
patient to move on to the next task, and at the same time the worker will also
move on to the same task. When both have arrived and are waiting to start, they
engage in the intended service by staying on that task for a certain period of time.
If they have finished their scheduled time on that service, the patient will move
on to the next task, while the worker will resume looking for a new patient to
work with.
• In automated tasks, such as receiving a ticket from a ticket machine, patients
wait in the corresponding queue until the task becomes available. If this happens,
the patient on the top of the queue will move to the task and will start the
corresponding service for the scheduled time, after which it will move to the
next task in the flow of the business process.
Duration of Tasks All the tasks include a “duration” variable to identify the number
that is randomly assigned, based on realistic values. There is a table describing the
duration and types of assets required by each task. For example, the duration of the
automated task “Take number” is 5 seconds on average with a standard deviation
of 0.5 seconds. As another example, the duration of the task “Record” is defined by
a triangular distribution of 2.5 (minimal value), 5 (mean), and 9.5 min (maximum
value).
Flow Representation In the NetLogo user interface, tasks as well as the start and
end event of the process are represented by NetLogo patches, which are visually
rendered as small squared pieces of pavement on the screen. Using colors helps
distinguish between different types of tasks. The arrangement of tasks in the final
representation can be similar to the flow that is depicted in Fig. 8.17.
A Glance at the Code
Declaration of Variables The initial part of the program includes the declaration
of variables of various types. First, the breeds—types of agents or turtles according
to the NetLogo terminology—should be defined. The types of agents in the given
NetLogo program are worker and patient. Second, local variables should be defined
for each agent type, which are declared as own-variables according to the NetLogo
terminology:
8.6 Registration Process 169
Fig. 8.17 The flow of the tasks in the registration process and its NetLogo representation
(ABBPS_Registration_process model)
tokens-own [
state ;; ‘‘M’’: Moving (to the next task or queue)
;; ‘‘W’’: Waiting (for the task)
;; ‘‘S’’: Service (performing the service)
next-task ;; name of the next task
destination ;; ‘‘patch’’ where the agent is supposed to move
arrival-time ;; the time at the arrival in NetLogo ticks
work-durat-task ;; the duration of the task
]
The Go procedure begins with the time increment command (tick), as well as
the “stop condition.” They are followed by other procedures of the process. Their
traversal by the agents depends mainly on the states of the corresponding agents.
The final procedure checks if the agents have finished working on the task:
170 8 Practical Applications
to go
tick ; increasing time
if ticks = 10000 [ stop ]; stop condition
arrival-tokens ; create new tokens
move-agents ; move agents in the screen
check-agent-in-queue ; ask agent in queue
start-automatic-tasks ; check if both operator and token
;; are waiting for an automated task: if yes, start service
"S" start-human-tasks ; check if both operator and token
;; are waiting for a human task: if yes, start service "S"
operators-looking ; look for operators
check-time ; check the duration for agents
end
Flow Representation The patients move toward different tasks, which are rep-
resented by patches, depending on their properties declared in the patches-own
procedures. Each patch has been defined as being located in the desired position
by setting its coordinates (pxcor and pycor), as well as the other variables such as
the color ([set pcolor gray]) and the name (set name ”Take number”).
The next task in the flow is computed by the following dedicated procedure which
starts from the actual task at hand:
to-report compute-next-task [ actual-task ]
let nt nobody
if actual-task = "Arrival customer" [set nt "Take number"]
if actual-task = "Take number" [set nt "Registration" ]
if actual-task = "Registration" [
ifelse random 100 < 70 [ set nt "Ticket payment" ]
[ set nt "Operation" ]
]
if actual-task = "Ticket payment" [ set nt "Operation" ]
if actual-task = "Operation" [ set nt "end" ]
report one-of patches with [name = nt]
end
The new element can be added by means of the lput (meaning "last put")
command to the end of the list:
set myList lput newValue myList
To remove the first or the last element of a list, the corresponding item can be
stored in a temporary variable (e.g., “el”) as follows:
let el first myList
Thereafter, the list can be stored by removing the first item—the one located by
the index 0:
set myList remove-item 0 myList
Another way to perform the same operation is to use for that purpose dedicated
built-in commands, as follows:
set myList but-first myList
set myList but-last myList
Fig. 8.18 A view of the ABBS_Interarrival-times model to explore the distribution of the arrivals
of entities
References
1. Alameemi, A.: Business process reengineering. Ford’s accounts payable study. https://bprford.
wordpress.com/2014/03/12/business-processreengineering-fords-accounts-payable-case-
study. Accessed 1 Sept 2021
2. Aleta, A., Martin-Corral, D., y Piontti, A.P., Ajelli, M., Litvinova, M., Chinazzi, M., Dean,
N.E., Halloran, M.E., Longini Jr, I.M., Merler, S., et al.: Modelling the impact of testing,
contact tracing and household quarantine on second waves of covid-19. Nat. Hum. Behav.
4(9), 964–971 (2020). https://doi.org/10.1038/s41562-020-0931-9
3. Davenport, T.H.: Process Innovation: Reengineering Work Through Information Technology.
Harvard Business Press (1993)
4. Eades, P.: A heuristic for graph drawing. Congressus numerantium 42, 149–160 (1984)
5. Hammer, M.: Reengineering work: don’t automate, obliterate. Harvard Bus. Rev. 68(4), 104–
112 (1990)
References 173
6. Liu, J., Xia, S.: Computational Epidemiology: From Disease Transmission Modeling to
Vaccination Decision Making. Springer, Berlin (2020). https://doi.org/10.1007/978-3-030-
52109-7
7. O’Neill, P., Sohal, A.S.: Business process reengineering a review of recent literature. Techno-
vation 19(9), 571–581 (1999). https://doi.org/10.1016/S0166-4972(99)00059-0
8. Pastor-Satorras, R., Castellano, C., Mieghem, P., Vespignani, A.: Epidemic processes in com-
plex networks. Rev. Mod. Phys. 87, 925–979 (2015). https://doi.org/10.1103/RevModPhys.87.
925
9. Pescarmona, G., Terna, P., Acquadro, A., Pescarmona, P., Russo, G., Sulis, E., Terna, S.: An
agent-based model of COVID-19 diffusion to plan and evaluate intervention policies (2021).
https://arxiv.org/abs/2108.08885
10. Pescarmona, G., Terna, P., Acquadro, A., Pescarmona, P., Russo, G., Terna, S.: How can abm
models become part of the policy-making process in times of emergencies-the sisar epidemic
model (2020)
11. Salathe, M., Bengtsson, L., Bodnar, T.J., Brewer, D.D., Brownstein, J.S., Buckee, C., Campbell,
E.M., Cattuto, C., Khandelwal, S., Mabry, P.L., et al.: Digital epidemiology. PLoS Comput.
Biol. 8(7), e1002616 (2012). https://doi.org/10.1371/journal.pcbi.1002616
12. Schäl, T.: Workflow Management Systems for Process Organisations, vol. 1096. Springer,
Berlin (1998)
13. Sulis, E., Tambuscio, M.: Simulation of misinformation spreading processes in social networks:
an application with netlogo. In: Webb, G.I., Zhang, Z., Tseng, V.S., Williams, G., Vlachos, M.,
Cao, L. (eds.) 7th IEEE International Conference on Data Science and Advanced Analytics,
DSAA 2020, Sydney, Australia, October 6–9, 2020, pp. 614–618. IEEE, Piscataway (2020).
https://doi.org/10.1109/DSAA49011.2020.00086
14. Sulis, E., Terna, P.: An agent-based decision support for a vaccination campaign. J. Med. Syst.
45(11), 1–7 (2021). https://doi.org/10.1007/s10916-021-01772-1
15. Terna, P., Pescarmona, G., Acquadro, A., Pescarmona, P., Russo, G., Terna, S.: An agent-based
model of the diffusion of covid-19 using NetLogo. https://terna.to.it/simul/SIsaR.html (2021)
16. Vespignani, A.: Predicting the behavior of techno-social systems. Science 325(5939), 425–428
(2009). https://doi.org/10.1126/science.1171990
17. Vespignani, A., Tian, H., Dye, C., Lloyd-Smith, J.O., Eggo, R.M., Shrestha, M., Scarpino, S.V.,
Gutierrez, B., Kraemer, M.U., Wu, J., et al.: Modelling covid-19. Nat. Rev. Phys. 2(6), 279–281
(2020). https://doi.org/10.1038/s42254-020-0178-4
Chapter 9
Beyond Process Simulation
Fig. 9.1 The implementation of the Alpha algorithm in NetLogo with the footprint matrix on the
left and the Petri net on the right
• (iii) Parallel (A || B) activities, if there are traces with both A >> B and B >> A;
• (iv) Independence between two activities is denoted as (A # B).
The set of all discovered existing relations can be represented by the footprint
matrix. In the NetLogo program, the results of each step of the Alpha algorithm
are presented in the output area, while the corresponding Petri net appears in the
main window. The program interface has a set of buttons on the left for configuring
the model. The output area visualizes textual results, such as the footprint matrix
explained above. Finally, the view area is on the right. Figure 9.1 represents the
output area in the standard desktop version of NetLogo. We already described in
Sect. 7.3.1 how to simulate the arrival of tokens in a Petri net model.
The main interest here is to introduce the reader to a process discovery algorithm
and its individual steps. From the “EventLog” drop-down menu, one can select a
trace. The program comes with two main functionalities. The first functionality can
be invoked by pushing the “Alpha Algorithm” button. This functionality entails
performing all the individual procedures to print the results in the output area,
as well as to display the graphical representation of the results in the view area.
The second functionality is invoked by pushing the “Footprint Matrix” button.
This functionality consists of printing in the output area the corresponding matrix.
It also includes a number of dedicated buttons associated with the individual
procedures. By pressing each button, one can more closely explore the execution
of the individual procedures of the Alpha algorithm. To improve the readability, one
can exploit the “3D view” by right-clicking in the view area, as is shown in Fig. 9.2.
Finally, the model is directly accessible online by means of NetLogoWeb intro-
duced in Sect. 4.2.8. This helps improve the usability, as well as the dissemination
of the model. The corresponding web page allows to execute the program in a web
browser, as in the web repository.
9.2 Conformance Checking 177
Fig. 9.2 The 3D version of the NetLogo program implementing the Alpha algorithm
Here we explore the second part of the program for addressing the arrival
of tokens in a Petri net model based on real data. In particular, we exploit
the corresponding file proposed in a recent conformance checking competition,1
included in the web repository of the book.
Our goal is to introduce the reader to how the conformance of the business
process model with the process behavior manifested by the corresponding event
log file can be checked. In the NetLogo implementation of the Petri net model, the
“New Tokens” button introduces new arrivals in the starting place by creating one
or more tokens. The “Go” button starts the execution of the model. The movement
of the tokens can be slowed down either by means of the “normal speed” bar on the
top of the NetLogo screen or with the “speed-of-viz” button in the NetLogo user
interface.
From the conformance checking perspective, it is relevant to compare the
expected behavior of the model with the real data about the events that have
occurred. Therefore, in the NetLogo user interface, the “event log” area includes
monitors and buttons to manage the real business process behavior. In this example,
1https://icpmconference.org/2019/icpm-2019/contests-challenges/1st-conformance-checking-
challenge-2019-ccc19/.
178 9 Beyond Process Simulation
Fig. 9.3 First ten rows of the CCC-19 healthcare process event log, from the CSV file imported
by the ABBPS_Import-PNML-CC model
NetLogo opens a CSV file containing the logs of real events and visualizes them in
the form of the corresponding animation. In particular, Fig. 9.3) describes a small
example of the CSV file, containing the event log.
In the NetLogo user interface, the “Import event log” button starts the execution
of the corresponding procedure for visualizing in the main output area of NetLogo
the real behavior extracted from the file. In addition, some sliders allow the selection
of specific assets and other configuration settings for the emulation of the business
process extracted from event logs. This way, we can perform the replay step which
is a PM technique for replaying real events from event logs. The visualization
immediately conveys how the real behavioral patterns of agents executing the
business process do not correspond to the expected workflow. In fact, the real traces
of events highlight the tasks to be executed in the order they appear, allowing for
an immediate understanding of discrepancies between the event log representing
the observed behavior and the model representing the expected behavior. Such
discrepancies can then be further investigated and quantified by means of the
NetLogo program (Fig. 9.4).
The XES standard format [1] defines a grammar of a tag-based language, the
purpose of which is to capture system behaviors in terms of event logs and event
streams, represented as was explained in Sect. 2.3.1. In this section, we describe a
NetLogo program that enables parsing and writing XES files to demonstrate how
to generate, write, and read objects according to the XES standard. This model is
based on an open-source NetLogo extension written in Scala. The program consists
of the library complying with the GNU General Public License v3.0, which is hosted
in a freely available Git-repository.2 The extension implements the following four
classes: XeScalaClassManager, XeScalaExtension, XesReader, and XesWriter. It
also utilizes OpyenXES3[8].
Fig. 9.4 A comparative analysis of two different cases from a compliance control perspective
4 https://ccl.northwestern.edu/netlogo/docs/logging.html.
180
Fig. 9.5 Interface of the CCC-19 example with a DFG automatically created from a PNML file
9 Beyond Process Simulation
9.4 Perspectives of Agent-Based Modeling 181
in the simulation as agents or patches of the environment. For example, the “Vis.
Staff” button creates a number of agents corresponding to the assets represented
in the XES file, including their local variables. Similarly, the “Vis. Tasks” button
creates the NetLogo patches corresponding to the tasks represented in the event
log. Finally, the XES extension enables creating a Direct Follower Graph (DFG),
which is a graphical representation of business processes widely used in the BPM
community. Pushing the “Direct Follower Graph” button performs all the steps
toward creating the corresponding DFG, which can be filtered to discover competing
relationships and finally pruned to enhance the view as depicted in the main output
area of NetLogo. To enhance the visualization, the “3D view” option can be selected
by right-clicking on the view area to enhance the visualization.
This exploratory chapter described some directions for investigating the relationship
between agent simulation and business process analysis based on real data. This is
an interdisciplinary perspective between agent-oriented studies and the PM research
area, which aims to extract knowledge about an organization’s business processes
based on event data recorded in business information systems. In particular,
modeling and simulation based on real data such as the log data collected by an ERP
is one of the most recent challenges with wide repercussions on both research and
industry. We focused on the subject through some exploratory models that allow
to introduce aspects of the PM discipline. Recent works have already addressed
the use of agent-based perspective within the new scenario [6, 7]. As a matter of
fact, some of the main problems to be faced are those of data availability and
data quality [4]. The challenges for process mining in organizations include the
reliability and the transparency of the adoption of computational and mathematical
tools to predict future trends [5], as well as integrating different forms of knowledge
from different disciplines [3]. This is the current situation of the integration of
business studies, with computer science and its algorithms or applications, from
machine learning to computational simulations, of which this work intends to be
part, with its didactic examples and multiple practical cases. The examples and
models described in the book once again demonstrate that one can start using an
ABM platform (NetLogo) as a versatile tool for various applications, providing an
educational tool for both parties: ABM and BPM and Industry and Research. The
business process management applications tested in the platform, with the practical
examples described throughout the book, pave the way for further exploration to
apply agent-oriented modeling and simulation based on real-world process analysis.
182 9 Beyond Process Simulation
References
1. Acampora, G., Vitiello, A., Stefano, B.N.D., van der Aalst, W., Günther, C.W., Verbeek, E.:
IEEE 1849: The XES standard: the second IEEE standard sponsored by IEEE computational
intelligence society [society briefs]. IEEE Comput. Intell. Mag. 12(2), 4–8 (2017). https://doi.
org/10.1109/MCI.2017.2670420
2. Carmona, J., van Dongen, B.F., Solti, A., Weidlich, M.: Conformance Checking—Relating
Processes and Models. Springer, Berlin (2018). https://doi.org/10.1007/978-3-319-99414-7
3. Martin, N., Fischer, D.A., Kerpedzhiev, G.D., Goel, K., Leemans, S.J.J., Röglinger, M., van der
Aalst, W., Dumas, M., Rosa, M.L., Wynn, M.T.: Opportunities and challenges for process
mining in organizations: Results of a Delphi study. Bus. Inf. Syst. Eng. 63(5), 511–527 (2021).
https://doi.org/10.1007/s12599-021-00720-0
4. Martin, N., Van Houdt, G., Janssenswillen, G.: Daqapo: Supporting flexible and fine-grained
event log quality assessment. Expert Syst. Appl. 191, 116274 (2022). https://doi.org/10.1016/j.
eswa.2021.116274
5. Rizzi, W., Francescomarino, C.D., Maggi, F.M.: Explainability in predictive process monitoring:
When understanding helps improving. In: Fahland, D., Ghidini, C., Becker, J., Dumas, M. (eds.)
Business Process Management Forum - BPM Forum 2020, Seville, Spain, September 13–18,
2020, Proceedings, Lecture Notes in Business Information Processing, vol. 392, pp. 141–158.
Springer, Berlin (2020). https://doi.org/10.1007/978-3-030-58638-6_9
6. Sulis, E., Di Leva, A.: An agent-based model of a business process: the use case of a hospital
emergency department. In: Teniente, E., Weidlich, M. (eds.) Business Process Management
Workshops—BPM 2017 International Workshops, Barcelona, Spain, September 10–11, 2017,
Revised Papers. Lecture Notes in Business Information Processing, vol. 308, pp. 124–132.
Springer, Berlin (2017). https://doi.org/10.1007/978-3-319-74030-0_8
7. Tour, A., Polyvyanyy, A., Kalenkova, A.A.: Agent system mining: vision, benefits, and chal-
lenges. IEEE Access 9, 99480–99494 (2021). https://doi.org/10.1109/ACCESS.2021.3095464
8. Valdivieso, H., Lee, W.L.J., Munoz-Gama, J., Sepúlveda, M.: Opyenxes: a complete python
library for the extensible event stream standard. In: van der Aalst, W., Casati, F., Conforti,
R., de Leoni, M., Dumas, M., Kumar, A., Mendling, J., Nepal, S., Pentland, B.T., Weber, B.
(eds.) Proceedings of the Dissertation Award, Demonstration, and Industrial Track at BPM 2018
co-located with 16th International Conference on Business Process Management (BPM 2018),
Sydney, Australia, September 9–14, 2018, CEUR Workshop Proceedings, vol. 2196, pp. 71–75.
CEUR-WS.org (2018)
9. van der Aalst, W.: Process discovery from event data: Relating models and logs through
abstractions. Wiley Interdiscip. Rev. Data Min. Knowl. Discov. 8(3) (2018). https://doi.org/10.
1002/widm.1244