Professional Documents
Culture Documents
The business process modelling space as laid out in Chapters 1 and 2 is orga-
nized using conceptual models. Figure 3.1 introduces a model of the concepts
at the core of business process management. While the terms mentioned have
been used in the previous chapters informally, the concepts behind these terms
and their relationships will now be discussed in more detail, using conceptual
models. These models are expressed in the Unified Modeling Language, an
object-oriented modelling and design language.
Business processes consist of activities whose coordinated execution real-
izes some business goal. These activities can be system activities, user inter-
action activities, or manual activities. Manual activities are not supported by
information systems. An example of a manual activity is sending a parcel to
a business partner.
User interaction activities go a step further: these are activities that knowl-
edge workers perform, using information systems. There is no physical activity
involved. An example of a human interaction activity is entering data on an
insurance claim in a call centre environment. Since humans use information
systems to perform these activities, applications with appropriate user inter-
faces need to be in place to allow effective work. These applications need to
be connected to back-end application systems that store the entered data and
make it available for future use.
Some activities that are conducted during the enactment of a business
process are of manual nature, but state changes are entered in a business
System activities do not involve a human user; they are executed by in-
formation systems. An example of a system activity is retrieving stock in-
formation from a stock broker application or checking the balance of a bank
account. It is assumed that the actual parameters required for the invoca-
tion are available. If a human user provides this information, then it is a user
interaction activity. Both types of activities require access to the respective
software systems.
Certain parts of a business process can be enacted by workflow technology.
A workflow management system can make sure that the activities of a business
process are performed in the order specified, and that the information systems
are invoked to realize the business functionality. This relationship between
business processes and workflows is represented by an association between
the respective classes. We argue that workflow is not a subclass of business
process, since a workflow realizes a part of a business process, so a workflow
is not in an “is-a” relationship with a business process, but is an association.
With regard to the types of activities mentioned, system activities are as-
sociated with workflows, since system activities can participate in any kind
3.2 Abstraction Concepts 73
Along the lines of the levels of abstraction identified by the Object Manage-
ment Group, the metamodel level, the model level, and the instance level play
important roles in the design and analysis of complex systems in general and
software systems in particular. It is instructive to explain these levels in a
bottom-up order, starting with the instance level.
The instance level reflects the concrete entities that are involved in business
processes. Executed activities, concrete data values, and resources and persons
are represented at the instance level.
To organize the complexity of business process scenarios, a set of similar
entities at the instance level are identified and classified at the model level.
74 3 Business Process Modelling Foundation
For instance, a set of similar business process instances are classified and rep-
resented by a business process model. In object modelling, a set of similar
entities is represented by a class, and in data modelling using the Entity Re-
lationship approach, a set of similar entities is represented by an entity type,
and similar relationships between entity types are represented by a relation-
ship type.
M3: Meta-Metamodel
Instance-of describes
M2: Metamodel
Notation
Instance-of describes
ess
es
pr
ex
M1: Model
Instance-of describes
M0: Instance
Process Modelling
Fig. 3.3. Business process modelling includes multiple modelling domains, inte-
grated by process modelling
Value System
Supplier Value Supplier Value
Supplier Value
Chain Supplier
ChainValue
Supplier Value
Chain Enterprise E Channel Value
Chain
Chains Chains
1
OrderManagement
* 1
Business Function *
GetOrder CheckOrder
*
OrderManagement
Business Function
1
GetOrder CheckOrder
1..*
Business Process
SimpleCheck
AnalyzeOrder
1
AdvCheck
Activity
AnalyzeOrder
Fig. 3.5. Business functions of small granularity are organized as a business process
3.3 From Business Functions to Business Processes 79
Receive
Request
Request Quota Mgt
Analysis
Value System
Supplier Value Enterprise Value Consumer Value
Chain Chain Chain
*
Enterprise Value
Chain
*
Value Chain
* 1
*
OrderManagement
Business Function
1
GetOrder CheckOrder
1..*
Business Process
SimpleCheck
AnalyzeOrder
1
AdvCheck
*
Activity
AnalyzeOrder
Activity Implementation
AnalyzeOrder Component
Fig. 3.7. Levels of business process management. From value systems to activity
implementations
1 OrderManagement
Business Function *
1 GetOrder CheckOrder
MOF 1..*
M1
Activity Model
0..*
skipped
skip
described as follows. When it is created it enters the init state; by the enable
state transition the activity instance can enter the ready state.
If a particular activity instance is not required, then the activity instance
can be skipped, represented by a skip state transition from the not started
state to the skipped state. From the ready state, the activity instance can
use the begin state transition to enter the running state. When the activity
instance has completed its work, the terminate state transition transfers it to
the terminated state. When an activity instance is in the terminated or the
skipped state, then it is closed.
While the state transition diagram shown in Figure 3.9 properly repre-
sents the states of most activity instances in business processes, in real-world
settings, activity instances are likely to expose a more complex behaviour.
Reasons for this complex behaviour include disabling and enabling activities,
suspending running activities, and skipping or undoing activities. The re-
spective state transition diagram is shown in Figure 3.10. It provides a more
detailed view on the states of activity instances.
3.4 Activity Models and Activity Instances 83
open closed
failed
init ready
undone
disabled
cancelled
suspended
skipped
Fig. 3.10. State transition diagram for activity instances, detailed version
But the detailed state transition diagram shown in Figure 3.10 allows
more complex behaviour of activity instances. When an activity instance can
be activated, it enters the ready state. If during the execution of a process
instance certain activity instances are currently not available for execution,
they can be disabled. Activity instances that are in the init, disabled, or ready
state are also in the not started state. Once an activity instance is ready, it can
be started, entering the running state. Running activities can be temporarily
suspended, to be resumed later. An activity instance can terminate either
successfully or in failure. Terminated activity instances can be undone, using
compensation or transactional recovery techniques.
Based on the description of the behaviour of an activity instance, the
question now arises on how to capture the actual behaviour of a concrete
activity instance, that is, on how to specify the trace of states and state
transitions that the activity instance went through. In this section, events and
event orderings are introduced to properly represent the essence of activity
instances.
The basic idea of using events for representing activity instances is quite
simple: each state transition of an activity instance is represented by an event.
These events have a temporal ordering. Based on the state transition diagram
84 3 Business Process Modelling Foundation
(a)
init skipped
initialize skip
(b)
Fig. 3.11. Event diagram for (a) executed activity instance and (b) skipped activity
instance
ready state can be started, represented by the begin state transition. Finally,
the terminate state transition completes the activity instance.
Events are points in time, that is, events do not take time. The time
interval in which an activity instance is in one state is delimited by two events,
the event representing the state transition to enter the state and the event
representing the state transition to leave the state. For example, the time
interval in which the activity instance is in the running state is delimited by
the begin and terminate events.
The ordering of events of multiple activity instances in the context of a
business process instance is an important instrument to capturing the execu-
tion semantics of business processes, as will be discussed in Chapter 4.
M2: Metamodel
(process meta model)
Notation
(process notation)
Instance-of describes
s
se
es
pr
M1: Model
ex
(process model)
Instance-of describes
M0: Instance
(process instance)
process model in the model layer M1. Process models are described by process
metamodels, building the M2 layer.
In order to express process models, there needs to be a notation in place
that provides notational elements for the conceptual elements of process meta-
models. For instance, if the process metamodel has a concept called activity
model, then there needs to be a notational element for expressing activity
models.
Therefore, in Figure 3.12, a process notation is associated with the pro-
cess metamodel level and with the process model level; each process model is
expressed in a process notation associated with the process metamodel that
describes the process model.
• Edge: Directed edges are used to express the relationships between nodes
in a process model.
• Node: A node in a process model can represent an activity model, an event
model, or a gateway model.
– Activity Models: Activity models describe units of work conducted in a
business process. Each activity model can appear at most once in a pro-
cess model. No activity model can appear in multiple process models.
This stipulation can be relaxed by qualifying activity model identifiers
with process model identifiers; to keep the process metamodel simple,
this extension is not covered. Activity model nodes do not act as split
or join nodes, that is, each activity model has exactly one incoming
edge and exactly one outgoing edge.
– Event models: Event models capture the occurrence of states relevant
for a business process. Process instances start and end with events, so
process models start and end with event models.
– Gateway Models: Gateways are used to express control flow constructs,
including sequences, as well as split and join nodes.
Each process model contains elements at the model level, for instance, activity
models. Process instances consist of activity instances. The model level and
the instance level do not hold only for activities, but also for events and
gateways. For instance, the start event model in a process model rules that
each process instance begins with a start event instance. Since events are by
definition singular entities, event instances are also called events.
Control flow in process models is represented by gateway models. As with
activities and events, gateways are represented in process models by gateway
models. This explicit representation allows our considering gateway instances
for process instances. This is very useful, since each gateway model can be
used multiple times in a given process instance, for instance, if it is part of a
loop.
The different occurrences of a given gateway can have different properties.
For instance, an exclusive or gateway can in one instance select branch 1 while
in the next iteration it can use branch 2. This situation can be represented
properly if there are multiple gateway instances for a given gateway model
in the context of a given process model. In the example discussed, the first
gateway instance would select branch 1, while the second gateway instance
would select branch 2.
The next step in modelling concerns the identification and formalization of
the relationships between these concepts. Figure 3.13 provides a representation
of the concepts and their relationships by a structure diagram, defining a
process metamodel.
Each process model consists of nodes and edges. The nodes represent ac-
tivity models, event models and gateway models, while the edges represent
control flow between nodes. Each edge is associated with exactly two nodes,
relating them in a particular order.
88 3 Business Process Modelling Foundation
Process Model
2..* 1..*
Node Edge
2 1..*
Fig. 3.13. Model for process models: process metamodel, MOF level M2
Each node is associated with at least one edge. The different types of nodes
are represented by the generalization relation. Activity models reflect the work
units to be performed, event models represent the occurrence of states relevant
for the business process, and gateway models represent execution constraints
of activities, such as split and join nodes.
While the association between nodes and edges are defined at the node
level, the cardinality of the association between special types of nodes (activity
models, event models, and gateway models) differs. Each activity model has
exactly one incoming and one outgoing edge.
Each process starts with exactly one event, the initial event, and ends
with exactly one event, the final event. Therefore, certain events can have
no incoming edges (initial event) or no outgoing edges (final event). Gateway
models represent control flow. Therefore, they can act as either split nodes
or join nodes, but not both. Hence, each gateway model can have multiple
outgoing edges (split gateway node) or multiple incoming edges (join gateway
node).
Figure 3.14 shows a process model based on the process metamodel in-
troduced. The notation used to express this process model is taken from the
Business Process Model and Notation:
• Event model nodes are represented by circles; the final event model is
represented by a bold circle.
• Activity models are represented by rectangles with rounded edges.
• Gateway models are represented by diamonds.
• Edges are represented by directed edges between nodes.
3.5 Process Models and Process Instances 89
N4
SimpleCheck
N1 N2
N3 N7
N6
AnalyzeOrder
N5
AdvCheck
Initial event Final event
model model
Fig. 3.14. Process notation used to express concepts from process meta model
To ease discussion of this example, nodes are marked with identifiers. The
process model represents the checking of an order. The process starts with
an initial event model node N 1, represented by a circle. This event model
represents the occurrence of a state relevant for the business process.
In the example, an order has been received, which now needs to be checked.
Once this event occurs, the order needs to be analyzed, represented by activity
model AnalyzeOrder and the edge connecting event node N 1 to AnalyzeOrder.
After the order is analyzed, a gateway node is used to decide whether a simple
or an advanced check is required. When the chosen checking activity is com-
pleted, the gateway model N 6 is activated and the process completes with the
final event model N 7.
Before the process instance level is addressed, a formalization of the process
metamodel shown in Figure 3.13 is introduced.
Figure 3.15 shows in part (a) a process model with an explicit representation
of a sequence gateway. The set of control flow constructs includes sequential
execution, that is, Seq ∈ C. The process model is defined by P = (N, E, type),
such that
90 3 Business Process Modelling Foundation
N1 N2
G
A B
N1 N2
A B
NA = {A, B}
NE = {N 1, N 2}
NG = {G}
E = {(N 1, A), (A, G), (G, B), (B, N 2)}
type(G) = Seq ∈ C
Whenever there is a direct control flow edge connecting two activity models
in a process model, the gateway node G with type(G) = Seq representing the
sequence flow can be omitted, as shown in part (b) of that figure. This stipula-
tion simplifies process model representations without introducing ambiguity.
1 1
* 2..* 1..*
2 1..*
stance the events and event orderings of its activity instances by imposing
execution constraints, such as sequential execution of activity instances. Ex-
ecution constraints need to be satisfied by all process instances based on a
particular process model.
The execution constraints can be precisely specified by events and their
ordering. For example, the execution constraint A → B dictates that the start
event of the activity instance corresponding to B can only happen after the
termination event of the activity instance corresponding to A. This is the
basic idea of characterizing the execution semantics of process instances.
To illustrate these concepts, a process instance based on the process model
shown in Figure 3.14 on page 89 is investigated. Each process instance based
on this process model starts with an analyze order activity. Depending on
a decision, either the simple check activity or the advanced check activity
is enacted. This process model makes room for different process instances.
Depending on the decision made at the gateway node, either the simple check
activity instance or the advanced check activity is executed.
AdvCheck
i s
End event
n1 e AnalyzeOrder
i b t n7
i SimpleCheck
Start event
e b t
Time t
Fig. 3.17. Event diagram of sample process instance (subscripts of init, enable,
terminate and skip events omitted)
Event diagrams are also useful for capturing process instances. The event
diagram of a particular process instance is shown in Figure 3.17, where a
process instance is shown during which the simple check activity instance is
selected.
When the process starts, activity instances for all three activity models
are generated. In event diagrams, the subscripts of the init, enable, terminate,
and skip events can be omitted, if the activity instance to which the event
belongs is clear.
The start event is represented by the event node N 1 in the process model.
The occurrence of this event is represented in the event diagram by event n1.
Once this event has occurred, the AnalyzeOrder activity instance can start,
that is, it can enter the ready state, represented by an enable event.
3.5 Process Models and Process Instances 93
AdvCheck s
Start i
event i AnalyzeOrder e N6 t n7
n1 e b t N3 i
End event
i e t
i SimpleCheck e b t
Fig. 3.18. Event diagram of sample process instance, with initial and final events
and gateway events
The abstraction from the event diagram shown in Figure 3.18 is shown in
Figure 3.19
AdvCheck is
skipped
AdvCheck
AnalyzeOrder
SimpleCheck