Business Process Modelling

and Simulation

with DPMN, Anylogic and Simio

Discrete Event Process Modeling Notation

Gerd Wagner

Brandenburg University of Technology

Germany

This tutorial presentation is available from
https://dpmn.info/presentations/2023-SW.

Introductory Remarks

  • Business Process (BP) Modelling and Simulation (M&S) has been a core research topic both in Discrete Event Simulation (DES) and in Business Process Management (BPM) for a long time.
  • However, both areas have developed their own concepts and approaches (GPSS/SIMAN/Arena versus BPMN), largely ignoring each other’s research results.
  • Both DES and BPM approaches have many severe issues, including the lack of a formal semantics.
  • A new DES paradigm, Object Event Modelling and Simulation (OEM&S), and a new process modelling language for OEM&S, DPMN, proposed by Wagner (2017,2018,2020,2021) allows solving these issues.

Overview

  • Issues in BP Modeling and Simulation
  • Ontological and Conceptual Foundations of DES
  • Event-Based Modeling of Discrete Processes
  • Modeling Activity Networks with DPMN
  • Modeling Processing Networks with DPMN
  • Modeling the Load-Haul-Dump AN with AnyLogic
  • Modeling the Diagnostic Department PN with AnyLogic and Simio
  • Summary

Issues in
BP Modeling
and Simulation

resource
cardinality constraints
multitasking
constraints
task priorities
activity preemption

Issues in BP Modeling in IS/BPM

  • Using a simplistic concept of BPs due to a focus on administrative workflows (as in Banking, Insurance, etc.), not supporting important resource modeling concepts:
    • passive resources such as equipment, rooms, vehicles, etc. (as in Health Care, Manufacturing, etc.),
    • resource cardinality constraints and multitasking constraints,
    • alternate resource pools,
    • task priorities and activity preemption.
  • Unnatural semantics of BP models (by translating them to Petri Nets)

Resource Cardinality and Multitasking Constraints 1:1

  • Resource cardinality constraint: an examination involves exactly one doctor.
  • Multitasking constraint: a doctor performs at most one examination at a time.

Resource Cardinality and Multitasking Constraints M:N

  • Resource cardinality constraint: teaching a course involves at least one and at most two teachers.
  • Multitasking constraint: a teacher is teaching at most seven courses (during a semester).

Unnatural Semantics of BP Models

  • It has been an unfortunate choice in the history of BPM to view business process models as Petri Nets.
  • Event Graphs are the natural foundation of business process models.

BPMN

The Business Process Modeling Notation (BPMN) does not support simulation.

However, BPMN models can be turned into limited forms of simulation models by...

  • adding probability distributions for the rate of incoming "cases" and for activity durations,
  • assigning probabilities to the outgoing branches of decision nodes,
  • defining human resources and assigning them to performer pools.

as defined by the BPSim standard.

BPMN-Based Simulation

... has severe limitations:

  • Artificial/ad-hoc "token flow" semantics (instead of Event Graph semantics)
  • No conditional, but only probabilistic, branching
  • Only one performer resource per activity (a BPMN swimlane)
  • Neither resource cardinality constraints nor multitasking constraints
  • No alternate resource pools, no task priorities, no activity preemption

What's Wrong with BPMN?

  1. Overloading/ambiguity of sequence flow arrows
  2. Insufficient integration of the objects that participate in a process
  3. Insufficient resource modeling
  4. No support of processing activities
  5. No convincing formal/operational semantics

What's wrong with DES "Process Modeling"?

  1. ArenaSimul8SimioAnyLogic
    EntityWork ItemTokenAgent
    CreateStart PointSourceSource
    Process Queue+ActivityServerService or Seize+Delay+Release
    DisposeEnd PointSinkSink
    There is no common conceptual/theoretical foundation for Arena/Simio/AnyLogic/etc. (therefore, it's hard to compare and evaluate them)
  2. Proprietary terminologies and diagram languages
  3. Only proprietary forms of Processing Networks are supported
  4. No support for Activity Networks
  5. Procedural (Seize-Delay-Release) instead of declarative resource modeling
  6. No formal semantics

What's Good about DPMN?

  1. It has an ontological/conceptual foundation based on objects, events and causal regularities in the form of event rules
  2. It has a formal semantics based on the semantics of Event Graphs of (Wagner 2017)
  3. It integrates the objects that participate in events and activities
  4. It allows general forms of declarative resource modeling with resource roles, resource pools and constraints
  5. It allows modeling both Activity Networks and Processing Networks

Ontological

and Conceptual

Foundations of DES

objects
events
causal regularities
activities

Objects and Events

Objects-Events

(1) Objects ("endurants") and events ("perdurants") are the two most fundamental ontological categories.

(2) Objects participate in events.

(3) Events need not be atomic, nor instantaneous. They may be composite and have non-zero duration.

For instance, a soccer match is a composite event that has a duration of 90 minutes.

Causal Regularities

Objects-Events

Events may cause state changes of affected objects and follow-up events.

Activities

... are composite events that are composed of a start event and an end event.

... have a performer, which is an agent.

Resource Constrained Activities

In a BP, a performer is a resource.

Processing Activities

Processing activities are performed at processing stations, such that processing objects move from one processing station to the next one.

Two Kinds of Business Processes

  1. Activity Networks
    • with a flow of events
    • with queues of planned activities (task queues)
    • ⇒ BPMN-style business processes
  2. Processing Networks
    • with a flow of processing objects and a flow of events
    • with queues of processing objects, in addition to task queues
    • generalizing the Queuing Networks of Operations Research
    • ⇒ GPSS/SIMAN/Arena-style business processes

Discrete Processes

  • A discrete process consists of a set of events that is partially ordered by their occurrence times.
  • Example process: Arrival@1, ServiceStart@1.01, Arrival@5.4, Arrival@6.5, ServiceEnd@8.47, ServiceStart@8.48, ServiceEnd@11.95, ServiceStart@11.96, ServiceEnd@17.48

Event-Based Modeling of
Discrete Processes

The Layers of DPMN

   LayerConceptsDiagrams
Event-Based
Simulation
Event Graphs (Schruben 1983)Events, Event Scheduling Arrows, Assignments
Object Event Simulation Object Event Graphs (Basic DPMN)+ Objects w/ State Changes
Activity Networks (DPMN-AN) Activities, ... ...

Event Graphs

Have been proposed by Schruben (1983) for event-based simulation.

service station model

The integer variable Q denotes the length of the queue.
The Boolean variable B denotes the busy/available status of the service station.

The semantics of an Event Graph is obtained by decomposing it into event rules.

Strengths and Weaknesses of Event Graphs

Strengths:

  1. They provide an intuitive visual modeling language.
  2. They capture the fundamental ES paradigm.

Weaknesses:

  1. They lack a visual notation for (conditional and parallel) branching.
  2. They do not support OO state structure modeling (with objects/classes and attributes).
  3. They do not support activities.

Object Event Graph Models

An Object Event Graph simulation model is defined by two submodels:

  1. A special form of UML class model, called Object Event (OE) class model, as an information design model
  2. An Object Event Graph as a process design model based on an underlying OE class model
Service Desk Information Model

An OE Class Model

«rv» = random variable

{Tri(3,4,8)} is a constraint requiring the operation to implement (or comply with) the triangular probability distribution with lower bound 3, mode 4 and upper bound 8.

{Exp(1/6)} is a constraint requiring the operation to implement (or comply with) the exponential probability distribution with an event rate of 1/6 (that is, on average 1 event every 6 time units).

An Object Event Graph as Process Design Model

Service Desk Information Model

The Complete Simulation Design Model

Service Desk Information ModelService Desk Information Model

Modeling Activity Networks with DPMN

The Layers of DPMN (1)

   LayerConceptsDiagrams
Event-Based
Simulation
Event Graphs (Schruben 1983)Events, Event Scheduling Arrows, Assignments
Object Event Simulation Object Event Graphs (Basic DPMN)+ Objects w/ State Changes
Activity Networks (DPMN-AN)
  • Activities
  • Resource-Dependent Activity Scheduling Arrows
  • Resource Roles
  • Resource Multiplicity Constraints
  • Resource Pools

Introducing Activities
as Pairs of Start and End Events

Resource-Dependent Activity Scheduling Arrows

DPMN Process Design Model Pizza-Server-1

DPMN Process Design Model Pizza-Server-2

The Load-Haul-Dump Model

  • A haul service company accepts requests for hauling large quantities of earth from a loading site to a dump site,
  • using dump trucks and wheel loaders.
Run the model
OE Class Design Model Pizza Service

OE Class Model

«rv» = random variable

{Tri( l, u, m)} is a constraint requiring the operation to comply with the uniform probability distribution with lower bound l, upper bound u and median m.

DPMN Process Design Model

process design model Load-Haul-Dump

Modeling Processing Networks with DPMN

Processing Networks

  1. ... generalize Queueing Networks (M/M/c, etc.)
  2. ... have been pioneered by GPSS (1961), SIMAN (1982) and Arena (1992)
  3. ... are often characterized by "entities flowing through a system"
  4. More precisely:
    1. A Processing Object enters a Processing Network via an Arrival event at an Entry Station,
    2. is subsequently routed along a chain of Processing Stations where it is subject to Processing Activities,
    3. and finally exits the network via a Departure event at an Exit Station.

The Layers of DPMN (2)

   LayerConceptsDiagrams
Object Event Simulation Activity Networks (DPMN-AN) Activities, RDAS Arrows, ...
Processing Networks (DPMN-PN)
  • Processing Activities
  • Entry/Processing/Exit Nodes
  • Processing Flow Arrows

Example:
A Single Workstation System as a Processing Network

A Processing Flow arrow represents a combined object and event flow.

The Real Meaning of PN Nodes

Event/activity flows are complemented by corresponding flows of processing objects.

Processing Networks extend Activity Networks, which extend Object Event Graphs.

Modeling the Load-Haul-Dump AN with AnyLogic

Modeling an AN as a PN

  1. Since "process modeling" tools (such as Arena, Simio and AnyLogic) do not support ANs, but only PNs, we need to impose a PN view on the Load-Haul-Dump AN.
  2. This requires to figure out what could be used as "entities" for being able to make a PN model.
  3. In the case of Load-Haul-Dump, one option is using the 5 trucks of the haul service company as the entities (called "agents" in AnyLogic), which
    1. arrive at a truck entry node and
    2. flow through the processing nodes Load, Haul and Dump before
    3. they leave the system via a truck exit node.

The AnyLogic Load-Haul-Dump Model

DPMN
AnyLogic

Modeling the Diagnostic Department PN with AnyLogic and Simio

The Diagnostic Department Model

A diagnostic department of a hospital performs electrocardiography (ECG) and ultrasound scans (US).

Run the model with OESjs
DPMN
AnyLogic
Simio

Summary

  • OEM&S is a new modeling and simulation paradigm with a formal semantics and an ontological foundation.
  • The preferred modeling languages for OEM&S are OE/UML Class Diagrams and DPMN Process Diagrams.
  • OES has been implemented in JavaScript (OESjs), a Python implementation is work in progress.
  • DPMN supports
    • Activity Network Modeling and Simulation (in the style of BPMN)
    • Processing Network Modeling and Simulation (in the style of Arena)
    • Agent-Based Modeling and Simulation

References

DPMN-AN element

Corresponding AnyLogic element/pattern

Start Event node

  1. eventType
  2. eventRate
  3. recurrence()
  4. numberOfStartEvents
  5. onEvent()

Source

  1. (not available)
  2. Arrivals defined by: Rate + Arrival rate
  3. Arrivals defined by: Interarrival time + Interarrival time
  4. Limited number of arrivals: true + Max. number of arrivals
  5. “On exit” action

End Event node

  1. eventType
  2. onEvent()

Sink

  1. (not available)
  2. “On enter” action

Activity node

  1. activityType
  2. duration()
  3. onActivityStart()
  4. onActivityEnd()

Service or [Seize+]Delay[+Release]

  1. (not available)
  2. Delay time
  3. “On enter” action
  4. “On exit” action

Resource Pool (by default, implicitly defined per resource role type or per organizational position)

Resource Pool defines an individual resource pool (with resource objects of the default type Agent or of a user-defined type)

Resource Role (defined per activity type in the underlying OE class model)

A resource pool assignment in the Resource pool field of the Service element (or the Seize element in a Seize+Delay+Release pattern)

Resource Cardinality Constraints of the form l..u

Only available in the limited form of l = u by entering u in the field Number of units of the Service element (or the Seize element in a Seize+Delay+Release pattern)