ADONIS

®
ADONIS -BPM-Toolkit
Simulation
Component
© 2005, BOC
www.boc-group.com
Overview
1 Basics
© 2005, BOC
2
Pre-requisites
3
Path Analysis
4
Capacity Analysis
5
Workload Analysis
www.boc-group.com
-2-
Components
Path analysis
Capacity analysis
Workload analysis
(steady state)
Agents
Free simulation
cache
Delete simulation
results
Offline animation
Workload analysis
(fixed time period)
© 2005, BOC
www.boc-group.com
-3-
Definition
The simulation of a system means working with a
model, that shows reality
in consideration to the
characteristics that have to be taken into account.
Parameters:
• abstract
• interpret
© 2005, BOC
www.boc-group.com
-4-
Objective of Simulation Studies
Process times
Process costs
 Imitation
 Study
 Analysis
of the behaviour of complex, dynamic systems.
© 2005, BOC
www.boc-group.com
-5-
Proceeding
Objectives
Model
creation
Validity
check
?
© 2005, BOC
www.boc-group.com
Simulation
execution
-6-
Proceeding according to BPMS Methodology
Objectives
Analysis
Model
Criteria
definition
creation
Evaluation
Validity
check
Acquisition
?
© 2005, BOC
www.boc-group.com
Simulation
Design
execution
-7-
Phase of the Objective Definition
Defining precisely the tasks enables:
 to evaluate whether the simulation results correspond
to the objective guidelines
 to identify factors of decision making
Definition of a general framework and
of restrictions of factors of decision making
© 2005, BOC
www.boc-group.com
-8-
Simulation Algorithms
 Path analysis
 Capacity analysis
 Workload analysis
23443
321312
5435
3243
4343434
54354
53454
5454
 Steady state
 Fixed time period
100%
80%
60%
40%
20%
0%
1
Anticipation of potential restructuring
measures and consideration of the effects
from different points of view
© 2005, BOC
www.boc-group.com
-9-
2
3
4
Simulation Algorithms
Path analysis:
("Play through the processes")
Simulation without consideration of the working environment (structure
organisation)
 Expected values of times and costs
 Critical paths
 Determination of the dimension of the personnel needs in person days
Capacity analysis:
Simulation with assignment of the activities to the performers
 Exact determination of the personnel requirements
 Consideration of the personnel costs
Workload analysis:
Simulation including calculation of waiting times (queue model)
 Activity and process costs
 Capacity planning by means of process and person calendar
© 2005, BOC
www.boc-group.com
- 10 -
Algorithms: For and Against the Execution
Path analysis:
+ Less costs for the Acquisition phase
+ Easy interpretation of results
- Acquisition costs for waiting times cannot be calculated
Capacity analysis:
+ Evaluation of the organizational structure is possible
+ Includes personnel costs
- Acquisition costs for waiting times cannot be calculated
Workload analysis:
+ Dynamic capacity planning determination
- Acquisition costs for the arrival times of processes
© 2005, BOC
www.boc-group.com
- 11 -
Overview
1 Basics
© 2005, BOC
2
Pre-requisites
3
Path Analysis
4
Capacity Analysis
5
Workload Analysis
www.boc-group.com
- 12 -
General Pre-requisites
Business process models have to fit the following general prerequisites in order to be able to simulate them:
 Each model has to contain exactly one start object
 Each model has to contain at least one end object
 An unbroken and logical connection has to be created between start object(s) and
end object(s) via other modelling objects (e.g. activities, decisions) and/or connectors
 The transition conditions or transition probabilities after a decision
have to be defined correctly
 The parallelities must be modelled correctly
© 2005, BOC
www.boc-group.com
- 13 -
Special Pre-requisites
For the simulation algorithms "Capacity analysis" and "Workload
analysis", there are in addition, the following requirements:
 In each activity, a performer assignment has to be defined
 An application model (consisting of at least one business process model and exactly
one working environment model) has to be defined.
 By modeling resources, a resource assignment has to be defined
Note:
© 2005, BOC
By storing times, costs and quantities in the models, no pre-requisite is necessary for
executing the evaluations.
However, if no value has been assigned, the evaluation results could be incomplete.
www.boc-group.com
- 14 -
Setting Overview
Business process
Variable assignment 1)
Resource assignment 2)
Activity times 1)
Performer assignment 2)
Condition of transition 1)
Subprocess 1)
Note:
© 2005, BOC
1)
2)
Path- and capacity analysis
Capacity analysis
In the ADONIS notebook, a help input is available for the settings described: it can be opened
by clicking on the smart icon
.
www.boc-group.com
- 15 -
Other Relevant to Simulation Attributes
Business process
Quantity 2)
Time period 2)
Activity costs 1)
Working environment
Wage per hour 2)
1)
Availability
© 2005, BOC
www.boc-group.com
2)
2)
Path and capacity analysis
Capacity analysis
- 16 -
Sub Process
Clicking on the "Add" button
in the ADONIS® notebook
(subprocess object - attribute "referenced subprocess") enables to
create a reference to a business process model, i.e. a subprocess
call.
1. Select the process to be referenced
2. Assign an attribute value
1.
1.
Clicking on the "New" button
enables to create a new process
model and then reference it.
© 2005, BOC
www.boc-group.com
- 17 -
Activity Times
1. Enter an attribute
value
2. Assign the attribute
value
(and close window)
1.
The values entered in the fields
"Years", "Days", "Hours",
"Minutes" and "Seconds" are
automatically transposed in the
ADONIS time format
(jj:ttt:hh:mm:ss) and
represented
in the field "Value".
2.
Note:
© 2005, BOC
Storing times in the models is not a pre-requisite for executing the evaluations.
However, if no value has been assigned, the evaluation results could be incomplete.
www.boc-group.com
- 18 -
Random Generator (discrete)
1. Select "discrete" distribution
2a. Enter symbol names
2b. Enter a probability
2c. Enter an attribute value
Repeat, until all the symbols and their
probabilities are entered
3. Assign the definition
(the syntactically correct assignment expression
is displayed in the field "Value")
4. Assign the attribute value
© 2005, BOC
www.boc-group.com
- 19 -
Random Generator (exponential)
1. Select "exponential" distribution
2. Enter an expected value
3. Assign the definition
(the syntactically correct
assignment expression
is displayed in the field "Value")
1.
2.
4. Assign the attribute value
3.
4.
© 2005, BOC
www.boc-group.com
- 20 -
Random Generator (uniform)
1. Select "uniform" distribution
2. Enter a lower bound
1.
3. Enter an upper bound
4. Assign the definition
(the syntactically correct assignment
expression
is displayed in the field "Value")
2.
3.
5. Assign the attribute value
4.
5.
© 2005, BOC
www.boc-group.com
- 21 -
Random Generator (normal)
1. Select "normal" distribution
2. Enter an expected value
1.
3. Enter a standard deviation
4. Assign the definition
(the syntactically correct assignment
expression
is displayed in the field "Value")
2.
3.
5. Assign the attribute value
4.
5.
© 2005, BOC
www.boc-group.com
- 22 -
Transition Condition
Define transition condition
1a. Select a variable
1b. Select operator
1c. Select value (symbol)
2. Assign the definition
(the syntactically correct assignment expression
is displayed in the field "Value")
© 2005, BOC
www.boc-group.com
3. Assign the attribute value
The buttons "AND", "OR", "NOT" enable to logically link
several elementary expressions.
- 23 -
Variable Type
In addition to the definition of a distribution in the random
generator object, the variable type must be defined
accordingly.
 In case of a discrete distribution, the variable
type "Enumeration" has to be assigned.
Excerpt from the
ADONIS notebook
of a variable object
 In case of an exponential, uniform or normal
distribution, the variable type "float" has to be
assigned.
© 2005, BOC
www.boc-group.com
- 24 -
Variable Scope
The definition of the variable scope enables to determine in
which places this variable can be read out in transition
conditions.
 The locally valid variables can be read out
only in the model in which they are modelled.
 The globally valid variables can be read out
Excerpt from the
ADONIS notebook
of a variable object
in subordinated models, as well as in Global
valid variables, and can be called in
proceeding and subsequent models
Note:
© 2005, BOC
Linking the random generator to the nodes (e.g. activities, process start) in the process model
has to occur in the flow sequence before reading out the corresponding variable in the
transition condition of a subsequence connector.
www.boc-group.com
- 25 -
Performer Assignment
1. Select working environment model
(the model has to be opened; the
objects
necessary for the performer
assignment have
to be contained in the model)
2. Select a class or object
3. Select a relation
4. Assign the definition
(the syntactically correct performer
expression is displayed in the field
"Performer")
1.
5. Assign the attribute value
3.
2.
4.
5.
The buttons "AND", "OR", "NOT" enable to logically
link several elementary expressions.
© 2005, BOC
www.boc-group.com
- 26 -
Performer Assignment
(hierarchical working environment models)
By using hierarchical working environment models, the position of the
performer has to be specified after the performer assignment.
 Option „Objects that refer to the main model"
The performer to be assigned is searched only in the main
model (the main model is the working environment model
defined in the application model)
 Option „Objects that refer to the current model"
The performer to be assigned is searched only in the current
model.
(The current model is the working environment model selected by
defining the performer assignment)
 Option „Objects that refer to the whole model tree"
The performer to be assigned is searched over the whole
working environment model hierarchy.
© 2005, BOC
www.boc-group.com
- 27 -
Performer Assignment for Sub Processes
The performer assignment is possible in subprocess objects as well,
(on the condition that they have been defined accordingly). It enables to
define "standard performer assignment expressions", which are
evaluated when no performer assignment has been made to the
activities of the subprocess.
Performer assignment (simplified)
Example:
In the main model, the performer "Responsible person" has
been assigned in the subprocess.
During the simulation, the performer "Responsible person"
is assigned to "Activity-3" in the submodel, since no
performer assignment has been made in "Activity-3".
In submodel (2d level), no performer has been defined as
well. Therefore, the standard value from the subprocess
object is used in the submodel during the simulation. Since
there was no assignment for this value as well, the standard
value from the main model – i.e. responsible person – is
assigned to "Activity-4" .
© 2005, BOC
www.boc-group.com
- 28 -
Resource Assignment
1. Select a working environment model
(the model has to be opened; the objects
needed for the performer assignment
have to be contained in the model)
2. Select a class or object
3. Select a relation
4. Assign the definition
(the syntactically correct performer
expression is displayed in the field
"Value")
5. Assign the attribute value
1.
3.
2.
4.
5.
The buttons "AND", "OR", "NOT" enable to logically link
several elementary expressions.
© 2005, BOC
www.boc-group.com
- 29 -
Overview
1 Basics
© 2005, BOC
2
Pre-requisites
3
Path Analysis
4
Capacity Analysis
5
Workload Analysis
www.boc-group.com
- 30 -
Overview
"Play through" a process:
Business process model (inclusive subprocesses)
Input
Expected times (WT, ET, RT, TT, CT) and costs for
a single path
Expected times and costs for the process
Output
Determination of "critical paths"
Determination of personnel needs, in person days
© 2005, BOC
www.boc-group.com
- 31 -
Execution
 Smart Icon
or
 Menu „Algorithm“
 Menu item „Path
analysis“
 Button „OK“
2.
1.
3.
4.
1. Select a (main) process model
2. Define the numbers
3. Determine the options
4. Activate the passive
components
5. Start the path analysis
© 2005, BOC
www.boc-group.com
5.
- 32 -
Numbers
 "Number of simulations"
Indicates how many processes have to be „run through". The number of simulations is a
measure of precision, i.e. the higher the number is, the more precise the simulation results
are.
 "Working days per year"
Serves to determine the enterprise time, together with the value entered in the field
"Hours per working day".
 "Hours per working day"
Serves to determine the enterprise time, together with the value contained in the field
"Working days per year".
© 2005, BOC
www.boc-group.com
- 33 -
Number of Simulation Runs
Quality criterion
Random generator
Simulation result
90%
e.g.:
Runs = 1
100%
0%
10%
90%
e.g.:
Runs = 2
100%
0%
10%
89%
90%
e.g.:
Runs = 1000
© 2005, BOC
www.boc-group.com
11%
10%
- 34 -
Options
 "Input parameters"
Select which input parameter combination
has to be used as input for the simulation.
 "Info"
Explanations to the currently selected input
parameter combination.
 "Agents"
Open the agent overview of the selected
model.
© 2005, BOC
www.boc-group.com
- 35 -
Passive Components
Program calls:
– This option is not available in the path analysis.
Deterministic simulation:
– Every simulation run generates random numbers,
to calculate probabilities. When the deterministic
simulation is activated, the „random” numbers
have the same value with every simulation run as
long as the model remains unchanged..
– The „Start value“ parameter is the basis of the
random number calculation. If you change it, you
will obtain new – however deterministic – result.
Protocol:
– This option is not available in the path analysis.
© 2005, BOC
www.boc-group.com
- 36 -
The Algorithm
Σ0
Σ1 = Σ0 + Σ1.1
Path 1
Path 2
Σ2 = Σ0 + 0
© 2005, BOC
www.boc-group.com
- 37 -
Result Selection
1. Sort the path results
5.
2. Show the path result
3. Show the (whole) results
6.
1.
4. Show agent results
5. Save path results
2.
6. Save simulation results in
the models
3.
4.
© 2005, BOC
www.boc-group.com
- 38 -
Single Path Results
•Display of the selected path in the model graphic
•Expected values of times and costs for each path
•Flow description for the selected path
(list of all the nodes contained in the path)
© 2005, BOC
www.boc-group.com
- 39 -
(Whole) Results of the Path Analysis
Expected values of times and costs
for the whole process
© 2005, BOC
www.boc-group.com
- 40 -
Attention: Determination of the Personnel
Needs
The path analysis enables to determine a scope for the personnel needs, i.e. it is possible
to calculate the personnel needs for the whole process.

If the process is executed by different employees or by employees with
different roles, this cannot be taken into account during the path analysis.

The determination of the personnel needs on the basis of the path analysis
occurs on the one hand, depending on the expected value for the execution
time and on the other hand, depending on the frequency of the simulated
process.
Example:
Execution time:
16 min 23 sec (= 983 sec)
Frequency:
10.000 times per year
Whole working time per person per year: 170 Days for 8 h = 1.360 h = 4.896.000 sec
Gives as personnel needs:
983  10.000  4.896.000 = 2,0077  2 persons
© 2005, BOC
www.boc-group.com
- 41 -
Overview
1 Basics
© 2005, BOC
2
Pre-requisites
3
Path Analysis
4
Capacity Analysis
5
Workload Analysis
www.boc-group.com
- 42 -
Overview
"Assignment of performers to activities"
 Application model
Input
Costs of activities and processes
Output
Exact determination of personnel needs
Reference to personnel costs
© 2005, BOC
www.boc-group.com
- 43 -
Application Models (1)
Application model
one or several
BP models
Business process models
Note:
© 2005, BOC
exactly one
WE model
Working environment models
Application models consist only of main models (BP and WE models).
The referenced models are automatically determined during the simulation.
www.boc-group.com
- 44 -
Application Models (2)
Business process models
Working environment models
Application
models
© 2005, BOC
www.boc-group.com
- 45 -
Defining Application Models
Simulation component:
2. Maßzahlen definieren
 Menu „Algorithm“
 Menu itemt „ Capacity
analysis“
 Button „Add“
Modelling component:
 Menu „Algorithm“
 Menu item „Capacity
analysis“
 Button „Add“
or
1. Select the main BP model(s)
2. Select the main WE model
3. Enter the name of the application model
1.
2.
4. Define the application model
3.
4.
© 2005, BOC
www.boc-group.com
- 46 -
Execution
 Smart Icon
or
 Menu „Algorithm“
 Menu item „Capacity
Analysis“
2.
1.
3.
1. Select an application model
2. Define the numbers
4.
3. Determine the options
4. Activate the passive components
5. Start capacity analysis
5.
© 2005, BOC
www.boc-group.com
- 47 -
Numbers
 Number of simulations
Indicates how many processes have to be „run through". The number of simulations is a
measure of precision, i.e. the higher the number, the more precise the simulation results
are.
 Working days per year
Serves to determine the enterprise time, together with the value entered in the field
"Hours per working day".
 Hours per working day
Serves to determine the enterprise time, together with the value containted in the
field "Working days per year".
© 2005, BOC
www.boc-group.com
- 48 -
Number of Simulation Runs
Quality criterion
Random generator
Simulation result
90%
e.g.:
Runs = 1
100%
0%
10%
90%
e.g.:
Runs = 2
100%
0%
10%
89%
90%
e.g.:
Runs = 1000
© 2005, BOC
www.boc-group.com
11%
10%
- 49 -
Options
 Input parameter
Select which input parameter combination has to be used as input for the simulation.
 Info
Explanations for the currently selected input parameter combination.
 Agents
Open the agent overview of the selected model.
© 2005, BOC
www.boc-group.com
- 50 -
Capacity Analysis - Passive Components
 Program calls
If this option is active, program calls are executed during
the simulation, according to the definition of the input
parameters.
 Path analysis
If this option is active, the results of the capacity analysis
(cycle time) are determined.
 Computation
If this option is active, the results of the capacity analysis (times and costs) are determined.
 Deterministic simulation:
Every simulation run generates random numbers, to calculate probabilities. When the deterministic
simulation is activated, the „random” numbers have the same value with every simulation run as
long as the model remains unchanged.
The „Start value“ parameter is the basis of the random number calculation. If you change it, you
will obtain new – however deterministic – result.
 Protocol
If this option is active, a protocol (brief form for later offline animation) is generated in the file
indicated.
© 2005, BOC
www.boc-group.com
- 51 -
Algorithm
During simulation, the performer assignment expression is
evaluated in the activities and a performer from the working
environment model, is assigned to each activity.
0
 Herbertson
Path 1
Path 2
© 2005, BOC
www.boc-group.com
 Summer
 Winter
 1 =  0 +  1.1
2 = 0 + 
- 52 -
Capacity Analysis
1.
1. Reference values for the
calculation
2.
2. Select the structure to be
used for the resource results
3. Time period for the calculation
3.
4. Show the results
5. Save the simulation
results in the models
6. Show the agent results
© 2005, BOC
www.boc-group.com
4.
5.
6.
- 53 -
Results (tabular)
Structure of the simulation results
Determined times and costs
Number
© 2005, BOC
www.boc-group.com
- 54 -
Results (graphical)
Bar chart
Pie chart
© 2005, BOC
www.boc-group.com
- 55 -
Attention: Determination of the Personnel
Needs
In contrast to the determination of a scope for the personnel needs based on the path
analysis, the capacity analysis offers automatic personnel needs calculation (per
month or per year).
The working environment, that is the basis for the capacity analysis, is here taken into
account, so that the personnel needs can be determined for each single group (e.g.
roles, organisational units).
Personnel needs related to roles per year
© 2005, BOC
www.boc-group.com
- 56 -
Overview
1 Basics
© 2005, BOC
2
Pre-requisites
3
Path Analysis
4
Capacity Analysis
5
Workload Analysis
www.boc-group.com
- 57 -
Capacity versus Workload Analysis
Workload
analysis
Capacity
analysis
Path
analysis
Simulation
200 x BP Open account per day
How many resources are required?
20 employees, 10 PCs, 2 fax machines,
15 telephones, ... (resources given)
Why are the waiting times created?
How do cycle times develop?
© 2005, BOC
www.boc-group.com
- 58 -
Overview
"Queue model"
 Application model
Input
 Waiting times
 Workloads
 Activity and process costs
Output
 Evaluation of the process behaviour under a given resource amount
 Costs
© 2005, BOC
www.boc-group.com
- 59 -