Business Process

Modeling and Simulation

with

DPMN

Gerd Wagner

Brandenburg University of Technology

Germany

See also

  1. Gerd Wagner: Information and Process Modeling for Simulation – Part I: Objects and Events. Journal of Simulation Engineering, volume 1, 2018.
  2. Gerd Wagner: Information and Process Modeling for Simulation – Part II: Activities and Processing Networks. 2019.

Modeling Language Usage

Modeling LanguageBPMDES
Petri Nets (1939)+-
Event Graphs (1983)--+
UML Activity Diagrams (1997)+--
BPMN (2004)++-
UML Class Diagrams (1997)--

Some Observations

  1. Modeling resource-constrained activities has been a major issue in DES since the 1960'ies, while it has been neglected in BPM(N).
  2. In process simulation with DES tools, queuing (of planned activities waiting for the availability of resources) has always been an important issue, while BPM(N) does hardly consider it.
  3. GPSS and SIMAN/Arena have pioneered the M&S of queuing/processing networks.
  4. GPSS has introduced the modeling pattern Seize-Delay-Release for resource-dependent processing activities.

What's wrong with BPMN?

  1. Insufficient integration of the objects that participate in a process
  2. Insufficient support of resource-constrained activities
  3. No support of processing activities
  4. Underdetermined/ambiguous meaning of sequence flow arrows
  5. No convincing formal semantics

Ontological Principles (1)

  1. Individuals Core Ontology
    There are two main categories: objects ("endurants") and events ("perdurants").
  2. Objects participate in events.
  3. Actions and activities are events that are performed by an agent.
  4. Activities are composite events composed of at least a start and an end event with a duration greater than zero.

Ontological Principles (2)

  1. Processes are governed by causal regularities, which relate events with (1) state changes of affected objects and (2) follow-up events.
  2. A discrete process consists of a partially ordered set of events that happen in a spatio-temporal region determined by the events' participants and the causal regularities involved.
  3. A business process is a discrete process that "happens in the context of an organization".

Implications for Modeling (1)

  1. Since events depend on objects, we first need to model object types and then event types.
  2. A process model that does not model the participating objects is incomplete!
  3. A process model is based on an underlying information model, which defines the types of objects and events involved in the process model.
  4. A conceptual process model describes the causal regularities of a real world process.

Implications for Modeling (2)

  1. A simulation design model consists of an information design model and a process design model.
  2. An information design model defines object types and event types (e.g., in the form of classes in a Class Diagram).
  3. A process design model defines event rules that represent causal regularities (e.g., in a DPMN Process Diagram).

DPMN =

Event Graphs with BPMN's Conditional Sequence Flow arrows +

  1. Exclusive/Inclusive/Parallel Gateways for conditional/parallel branching
  2. Data Objects for replacing "state variables" (like Q) with attributes (like ServiceDesk::queueLength)
  3. Activities composed of a Start and End event
  4. Resource-Dependent Event Flow arrows Resource-Dependent Event Flow
  5. Object Flow arrows Object Flow

An Event Graph
with Conditional Sequence Flow Arrows

Service Desk Event Graph

OEM&S: Modeling Object and Event Types

Service Desk Information Model

DPMN: Using Objects instead of State Variables

Service Desk Event Graph

The model specifies two event rules: one for Arrival events and one for Departure events.

Event Rules

ON (event type)DO (event routine)

Arrival( sd) @ t

with sd : ServiceDesk

INCREMENT sd.queueLength
IF sd.queueLength = 1 THEN
  sTime := ServiceDesk.serviceTime()
  SCHEDULE Departure( sTime, sd) @(t + sTime)

Departure( sd) @ t

with sd : ServiceDesk

DECREMENT sd.queueLength
IF sd.queueLength > 0 THEN
  sTime := ServiceDesk.serviceTime()
  SCHEDULE Departure( sTime, sd) @(t + sTime)

Introducing Activities as Paired Start/End Events

Introducing Activities as Paired Start/End Events

Modeling Resources in an Information Model

Model with an Activity

A Conceptual Model of a
Resource-Dependent Activity

Service Desk Event Graph

Using a Resource-Dependent Event Flow Arrow

Service Desk Event Graph

The new symbol of a Resource-Dependent Event Flow Arrow implicitly expresses the resource management logic of queuing a planned activity if the required resources are not available.

Operational Semantics of DPMN

  1. Gerd Wagner: An Abstract State Machine Semantics For Discrete Event Simulation, Proc. of the 2017 Winter Simulation Conference.
  2. A simulation state consists of (1) a system state and (2) a list of future events.
  3. An event rule represents a function that maps a given system state to a set of state changes (of affected objects) and to a set of follow-up events.
  4. A set of event rules represents a transition function that maps a given simulation state to a successor simulation state.

Conclusions

  1. DPMN allows BPMN-like high-level simulation modeling
  2. Open question: can workflow modeling benefit from the semantics and new modeling concepts of DPMN?