SlideShare a Scribd company logo
1 of 10
Download to read offline
The Simulation Summit
At 8,848 m (29,029 ft), Mount Everest is the highest point on earth. Once simply known
as "Peak 15", the mountain was named after Sir George Everest in 1865 ,the once
British surveyor-general of India. In 1953, the New Zealander Edmund Hillary and Tenzig
Norgay of Nepal became the first to ascent to the top of the world. Since then, there
have been 4,102 ascents, and Everest has claimed 216 lives.

Mount Everest also sits on the border between China and Nepal. Most people climbing
Everest follow the southeast ridge from Nepal. It is technically easier, and is in fact the
route that was used by Hillary and Norgay. However, this route was dictated more by
politics than by design as the Chinese border was closed to the western world in the
1950's. It turns out that Everest can also be climbed along the northeast ridge from
China. In fact, since there has been access to the Chinese side, many ascents start from
there.




This provides a decent metaphor for business process simulation. The ascent to this
capability has typically been made by business process management suite (BPMS)
vendors wishing to satisfy the criteria of Gartner's "Magic Quadrant" for BPM suites
which includes the following requirement:



      Process simulation and optimization using real-time, historical and estimated
                   1
      data values.
A Fake Feature
In attempting to provide simulation functionality, it would appear that most BPMS and
BPMN process modeling tool vendors have taken the apparently logical (or perhaps
technically convenient) route of starting from an existing BPMN process model editor and
adding on simulation features. The result is often a simulation capability of limited value,
to the point where BPM commentator Bruce Silver describes simulation provided by BPM
                          2
vendors as a fake feature .




Bruce goes on to articulate some of the criteria under which simulation could be
considered a real feature of BPMN process modeling software. According to Bruce, BPMN
tools with simulation capabilities support the following to varying degrees, but none
                                                                         3
appear to support a critical mass of what I will call the Silver Criteria :


Activity Duration
Actual activity duration consists of the actual time spent processing an item of work at
an activity (the "active time") and the time an item of work waits (the "lag time") at an
activity before being processed due to a queue of waiting work, limited processing

1. Magic Quadrant for Business Process Management Suite, 2007. Gartner Core
Research.
2. See Is Simulation Fake? by Bruce Silver, BPMS Watch (http://www.brsilver.com/
wordpress/2007/03/08/is-simulation-fake/)
3. This list has been compiled based on various posts in Bruce Silver's BPMS Watch. For
example, see http://www.brsilver.com/wordpress/2007/03/08/is-simulation-
fake/ and http://www.brsilver.com/wordpress/2009/02/15/making-simulation-useful/
capacity at an activity (e.g. a physical constraint) or the required processing resources
being unavailable. The ability to both model and report on both of these components of
the activity's total duration is a real world requirement, often ignored by many
simulation tools.


Events
Simulation needs to model event probability and time of occurrence. In BPMN, events
provide a visual representation for describing the exceptions that occur in real life
processes. Such exceptions are often the root of performance issues in existing
processes. To accurately model what-if scenarios, the ability to assign a probability and
mean time of occurrence for events defined in the process model is a requirement. Most
simulation tools simply ignore events.


Iterative Activities
BPMN supports two types of repeating activities: looping and multi-instance that
represent feedback based on a condition or size/components of the item of work.
Simulation must model the number of iterations based on a parameter or property of the
work being processed.


Instance Attributes
In most simulation tools, probabilities assigned at various nodes (e.g. activities or
gateways) are uncorrelated. In actuality, these probabilities are usually highly correlated
in real world business processes. Specifically, the duration of a particular activity, the
probability of a particular gateway output, and/or the probability of some event
occurring are often related to each other. For example, the longer an activity takes (e.g.
scanning documents), the more likely an exceptional event might occur (e.g. a jam).
 One needs to be able to specify simulation parameters as an expression of one or more
instance attributes, such as "size" or "claim value", which could take specific values
rather than simple numbers like an absolute value or a mean and standard deviation.
While this makes defining a scenario to simulation more complex, it stands to provide
more realistic output.


Schedules & Resource Contention
In business processes, an activity will only be executed when work and resources are
available for the activity in question. The availability of specific resources, whether
human, machine or otherwise, is driven by their schedules and contention for equivalent
resources by other activities. Simulation software should accurately model resource
contention and allow detailed schedules to be defined for all resources which show when
they are available to work in specific roles, or specific sets of activities.


Contingent Resource Assignment
Most simulation tools let you assign roles to activities. However, business processes are
often characterized by contingent resource assignment. For example, an activity may
assign Role A as the primary resource, but if no member of Role A is available, the
activity may pull a resource from Role B.
Priorities
It should be possible to base resource acquisition at various steps in a process based on
priorities, or some kind of priority logic. For example, oldest item in the pipeline gets
worked on first, of items get worked on based on an attribute of the work items. Priority
could be based on activity or an attribute of the items to be processed.


Pre-Population of Work in Progress
Simulation models generally start empty, reflecting no work present initially in the
system. This causes a distortion in the simulation results at the beginning of the
simulation period. Continuous processes are always in a state where resources are
already constrained by the work in progress. One method to address this situation is
with a warm up period where results are not collected until the system is "loaded" with
work. However, populating the simulation model with work in progress at the various
activities at the beginning of the simulation period best reflects reality.


Detailed Reporting & Data Access
Simulation results should provide breakdown of metrics at the process, activity, resource
and potentially work attribute level. Resource utilization and excess capacity should be
reported for any given period. There should also be access to the raw simulation output.
Pre-built metrics and charts provided by simulation tools are convenient but they rarely
provide the detail you need for real analysis. One should be able to access records for
each process instance, and for each activity or event instance. It should be possible to
import this data into a spreadsheet or a database.


Serious Simulation
Just like climbing Everest from the northeast ridge, there is another approach to
business process simulation. One starts on the other side: from the domain of serious,
robust simulation software that satisfies the "Silver" criteria a priori and then build in
support for authoring these simulations using BPMN process models.
This approach is similar to what Meta Software did in 1989. Meta developed a capability
to generate simulation models for their pre-existing industrial simulation software from
                             4
IDEF0/SADT process models . IDEF0 is a graphical modeling notation that provides the
syntax and semantics to diagram the decisions, actions, and activities of an organization
or system. A common application of IDEF0 was to document business processes, in the
same way that BPMN is used today. In 1989 IDEF0 was a promising emerging standard
for drawing business process diagrams. Perhaps, if this work had been done today, Meta
would have chosen BPMN as the process modeling methodology.

We can look to Meta's experience in developing IDEF0/SADT support for authoring
simulation models to understand how robust BPMN based simulation models that satisfy
the Silver Criteria can be made possible. The lessons learned in providing a way to
generate business process simulations from IDEF0 business process models can easily be
                  5
applied to BPMN . There are two significant considerations that have to be made when
exposing simulation through a process model diagram:

     • There must be a generalized mapping of process diagram work flow patterns to
       the underlying simulation code.
     • Process models must be extended to include the specific assumptions that define
       a scenario.




4. See: Modeling an NORAD Command Post Using SADT and Colored Petri Nets by
Valerio Pinci and Robert Shapiro.
5. In fact, this has been done. Meta Software's METAFORE supports simulation of
process models defined in BPMN via an XPDL interface.
Process Definition
Process model diagrams will support varying numbers of work flow patterns such as
sequential flows, exclusive gates, parallel processing, matching, etc. The work flow
patterns supported by the diagramming methodology have to be mapped to simulation
code in a generalized way. This usually results in code that is parameterized to reflect
the basic work flow pattern, yet support variation and correlation amongst the various
process instances (e.g. tokens of work) which will be populated into the simulation
model.




Scenario Definition
Secondly, the parameters and placeholders in the resulting simulation code have to
specified for each specific process instance. Common resources used to perform
activities in the process model need to be specified so that semaphores in the simulation
code constrain the availability of these resources to reflect schedules and resource
contention. These constitute a set of business process assumptions built into a given
scenario, and these parameters have a definite business sense, representing items that
would not be foreign to the average business user.
For example, we need to know when and where items of work will enter or "arrive" in
the process. To specify this, we need to capture the following types of data:

     • The process the work item will arrive in.
     • The destination activity. This is usually the model start or input point, but may
       be any process activity when we are trying to simulate work in progress at the
       beginning of the simulation period.
     • Arrival times.
     • Quantity if more than one unit of work item is arriving at this particular time with
       the same attributes.
     • Data field values. These represent the properties of the work item (process
       instance) arriving into the process.



A Standards Based API for Simulation
Assuming that a mapping between process diagram work flow patterns and simulation
code exists, what we find is that a simulation model can be defined by a process diagram
and a complete set of scenario parameters. Critically, if the process diagram and the
scenario parameters are both specified using a standard, we have a vendor neutral,
standards based API for simulation.
While there has been considerable effort in standardizing process diagrams (e.g. BPMN),
there has been little to no effort in standardizing the scenario parameters described
above. The Scenario Definition Language is an attempt to standardize scenario
parameters. For example, the Scenario Definition Language describes the following
format for process instances:


 Schema           Representation
                                                Notes
 Item             (XPath)

 Arrival ID       //arrivals/arrival/@id        A unique identifier for the arrival.

 Process          //arrivals/arrival/           The work flow process name or id (e.g.
 Name             process                       as defined in the process model).

                  //arrivals/arrival/           Specifies the source system or scenario
 Data Source
                  datasource                    for the arrivals.

                                                The activity in the process where the
                                                arrival takes place. Arrivals may occur at
                                                activities other than the start of a
 Destination
                  //arrivals/arrival/activity   process to represent the work in
 Activity
                                                progress at the start date/time of the
                                                scenario. In general, this is a reference
                                                to an activity in the process model.
//arrivals/arrival/        The date and time at which the arrival
 Arrival Time
                  arrivalTime                into the process takes place.

                  //arrivals/arrival/        How many times the arrival occurs. This
 Occurrences
                  occurrences                could be a statistical distribution.

                  //arrivals/arrival/        The time between occurrences. This
 Frequency
                  frequency                  could be a statistical distribution.

                                             Allows multiple arrivals of entities with
                  //arrivals/arrival/        the same attributes to occur at the
 Quantity
                  quantity                   arrival time. This could be a statistical
                                             distribution.

                  //arrivals/arrival/
 Field Values                                Data field values for the arrival
                  fieldValues


See the complete Scenario Definition Language specification for a complete description
of this business process scenario schema. Given support for a standards based API,
exposing the API via web services makes vendor neutral simulation as a service possible.
Simply imagine http://www.mysimulationservice.com/myscenario/arrivals.xml
returning a list of arrivals defined according to the Scenario Definition Language
described above.


BPMN Necessarily But Not Necessarily BPMN
One last item worth discussion is the loose coupling between the process modeling
standard and the proposed Scenario Definition Language (SDL). While elements in the
SDL schema will reference items in the BPMN diagram, SDL remains separate from
BPMN. The path of not extending BPMN to support simulation directly is chosen on
purpose. BPMN is used for many applications besides simulation, and benefits from a
process centric purity. By only loosely coupling SDL to BPMN, the two standards used for
simulation can evolve separately. SDL can survive a change to a new modeling notation
standard and vice versa for BPMN.

Secondly, there are other consumers of the scenario parameters defined in SDL that
may not require a process model, or even use simulation for that matter. For example,
activity based costing, and workforce management for simple processes.

More Related Content

Similar to BPMN4Sim Speaking Notes

Analytics for Process Excellence
Analytics for Process ExcellenceAnalytics for Process Excellence
Analytics for Process ExcellenceDenis Gagné
 
4_5821003798000177081.pdf
4_5821003798000177081.pdf4_5821003798000177081.pdf
4_5821003798000177081.pdfozgenn4242
 
Using Simulation and Optimization to Inform Hiring Decisions_Ginger_Castle
Using Simulation and Optimization to Inform Hiring Decisions_Ginger_CastleUsing Simulation and Optimization to Inform Hiring Decisions_Ginger_Castle
Using Simulation and Optimization to Inform Hiring Decisions_Ginger_CastleGinger Castle
 
Proposing a Formal Method for Workflow Modelling: Temporal Logic of Actions (...
Proposing a Formal Method for Workflow Modelling: Temporal Logic of Actions (...Proposing a Formal Method for Workflow Modelling: Temporal Logic of Actions (...
Proposing a Formal Method for Workflow Modelling: Temporal Logic of Actions (...ijcsta
 
SOLIDWORKS reseller Whitepaper by Promedia Systems
SOLIDWORKS reseller Whitepaper by Promedia Systems SOLIDWORKS reseller Whitepaper by Promedia Systems
SOLIDWORKS reseller Whitepaper by Promedia Systems Cavien Clever
 
Process-Oriented Business Requirements
Process-Oriented Business RequirementsProcess-Oriented Business Requirements
Process-Oriented Business RequirementsDafna Levy
 
Analyzing Business Requirements in a Visible Enterprise
Analyzing Business Requirements in a Visible EnterpriseAnalyzing Business Requirements in a Visible Enterprise
Analyzing Business Requirements in a Visible EnterpriseDafna Levy
 
Towards executable models within BPM
Towards executable models within BPMTowards executable models within BPM
Towards executable models within BPMAlexander SAMARIN
 
Serverless ML Workshop with Hopsworks at PyData Seattle
Serverless ML Workshop with Hopsworks at PyData SeattleServerless ML Workshop with Hopsworks at PyData Seattle
Serverless ML Workshop with Hopsworks at PyData SeattleJim Dowling
 
05 fse requirementsengineering
05 fse requirementsengineering05 fse requirementsengineering
05 fse requirementsengineeringMohesh Chandran
 
Improving Business Performance: Demystifying Simulation and Optimization
Improving Business Performance: Demystifying Simulation and OptimizationImproving Business Performance: Demystifying Simulation and Optimization
Improving Business Performance: Demystifying Simulation and OptimizationNathaniel Palmer
 
AUTOMATING AUTOMATION: MASTER MENTORING PROCESS
AUTOMATING AUTOMATION: MASTER MENTORING PROCESSAUTOMATING AUTOMATION: MASTER MENTORING PROCESS
AUTOMATING AUTOMATION: MASTER MENTORING PROCESScscpconf
 
BUSINESS PROCESS REENGINNERING MODULE 4
BUSINESS PROCESS REENGINNERING MODULE 4BUSINESS PROCESS REENGINNERING MODULE 4
BUSINESS PROCESS REENGINNERING MODULE 4POOJA UDAYAN
 
Get the Gist: Universal Modelling Language (UML)
Get the Gist: Universal Modelling Language (UML)Get the Gist: Universal Modelling Language (UML)
Get the Gist: Universal Modelling Language (UML)russellgmorley
 
Week 3 data journey and data storage
Week 3   data journey and data storageWeek 3   data journey and data storage
Week 3 data journey and data storageAjay Taneja
 
A short theory on bpm
A short theory on bpmA short theory on bpm
A short theory on bpmPinaki Ghosh
 

Similar to BPMN4Sim Speaking Notes (20)

Analytics for Process Excellence
Analytics for Process ExcellenceAnalytics for Process Excellence
Analytics for Process Excellence
 
Data Mining and Analytics
Data Mining and AnalyticsData Mining and Analytics
Data Mining and Analytics
 
4_5821003798000177081.pdf
4_5821003798000177081.pdf4_5821003798000177081.pdf
4_5821003798000177081.pdf
 
Using Simulation and Optimization to Inform Hiring Decisions_Ginger_Castle
Using Simulation and Optimization to Inform Hiring Decisions_Ginger_CastleUsing Simulation and Optimization to Inform Hiring Decisions_Ginger_Castle
Using Simulation and Optimization to Inform Hiring Decisions_Ginger_Castle
 
Proposing a Formal Method for Workflow Modelling: Temporal Logic of Actions (...
Proposing a Formal Method for Workflow Modelling: Temporal Logic of Actions (...Proposing a Formal Method for Workflow Modelling: Temporal Logic of Actions (...
Proposing a Formal Method for Workflow Modelling: Temporal Logic of Actions (...
 
SOLIDWORKS reseller Whitepaper by Promedia Systems
SOLIDWORKS reseller Whitepaper by Promedia Systems SOLIDWORKS reseller Whitepaper by Promedia Systems
SOLIDWORKS reseller Whitepaper by Promedia Systems
 
Carasik BPM ECM
Carasik BPM ECMCarasik BPM ECM
Carasik BPM ECM
 
Process-Oriented Business Requirements
Process-Oriented Business RequirementsProcess-Oriented Business Requirements
Process-Oriented Business Requirements
 
Analyzing Business Requirements in a Visible Enterprise
Analyzing Business Requirements in a Visible EnterpriseAnalyzing Business Requirements in a Visible Enterprise
Analyzing Business Requirements in a Visible Enterprise
 
0.3 aim phases_and_documentations
0.3 aim phases_and_documentations0.3 aim phases_and_documentations
0.3 aim phases_and_documentations
 
Towards executable models within BPM
Towards executable models within BPMTowards executable models within BPM
Towards executable models within BPM
 
Serverless ML Workshop with Hopsworks at PyData Seattle
Serverless ML Workshop with Hopsworks at PyData SeattleServerless ML Workshop with Hopsworks at PyData Seattle
Serverless ML Workshop with Hopsworks at PyData Seattle
 
05 fse requirementsengineering
05 fse requirementsengineering05 fse requirementsengineering
05 fse requirementsengineering
 
Improving Business Performance: Demystifying Simulation and Optimization
Improving Business Performance: Demystifying Simulation and OptimizationImproving Business Performance: Demystifying Simulation and Optimization
Improving Business Performance: Demystifying Simulation and Optimization
 
AUTOMATING AUTOMATION: MASTER MENTORING PROCESS
AUTOMATING AUTOMATION: MASTER MENTORING PROCESSAUTOMATING AUTOMATION: MASTER MENTORING PROCESS
AUTOMATING AUTOMATION: MASTER MENTORING PROCESS
 
BUSINESS PROCESS REENGINNERING MODULE 4
BUSINESS PROCESS REENGINNERING MODULE 4BUSINESS PROCESS REENGINNERING MODULE 4
BUSINESS PROCESS REENGINNERING MODULE 4
 
Get the Gist: Universal Modelling Language (UML)
Get the Gist: Universal Modelling Language (UML)Get the Gist: Universal Modelling Language (UML)
Get the Gist: Universal Modelling Language (UML)
 
Business Analyst
Business AnalystBusiness Analyst
Business Analyst
 
Week 3 data journey and data storage
Week 3   data journey and data storageWeek 3   data journey and data storage
Week 3 data journey and data storage
 
A short theory on bpm
A short theory on bpmA short theory on bpm
A short theory on bpm
 

Recently uploaded

Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 

BPMN4Sim Speaking Notes

  • 1.
  • 2. The Simulation Summit At 8,848 m (29,029 ft), Mount Everest is the highest point on earth. Once simply known as "Peak 15", the mountain was named after Sir George Everest in 1865 ,the once British surveyor-general of India. In 1953, the New Zealander Edmund Hillary and Tenzig Norgay of Nepal became the first to ascent to the top of the world. Since then, there have been 4,102 ascents, and Everest has claimed 216 lives. Mount Everest also sits on the border between China and Nepal. Most people climbing Everest follow the southeast ridge from Nepal. It is technically easier, and is in fact the route that was used by Hillary and Norgay. However, this route was dictated more by politics than by design as the Chinese border was closed to the western world in the 1950's. It turns out that Everest can also be climbed along the northeast ridge from China. In fact, since there has been access to the Chinese side, many ascents start from there. This provides a decent metaphor for business process simulation. The ascent to this capability has typically been made by business process management suite (BPMS) vendors wishing to satisfy the criteria of Gartner's "Magic Quadrant" for BPM suites which includes the following requirement: Process simulation and optimization using real-time, historical and estimated 1 data values.
  • 3. A Fake Feature In attempting to provide simulation functionality, it would appear that most BPMS and BPMN process modeling tool vendors have taken the apparently logical (or perhaps technically convenient) route of starting from an existing BPMN process model editor and adding on simulation features. The result is often a simulation capability of limited value, to the point where BPM commentator Bruce Silver describes simulation provided by BPM 2 vendors as a fake feature . Bruce goes on to articulate some of the criteria under which simulation could be considered a real feature of BPMN process modeling software. According to Bruce, BPMN tools with simulation capabilities support the following to varying degrees, but none 3 appear to support a critical mass of what I will call the Silver Criteria : Activity Duration Actual activity duration consists of the actual time spent processing an item of work at an activity (the "active time") and the time an item of work waits (the "lag time") at an activity before being processed due to a queue of waiting work, limited processing 1. Magic Quadrant for Business Process Management Suite, 2007. Gartner Core Research. 2. See Is Simulation Fake? by Bruce Silver, BPMS Watch (http://www.brsilver.com/ wordpress/2007/03/08/is-simulation-fake/) 3. This list has been compiled based on various posts in Bruce Silver's BPMS Watch. For example, see http://www.brsilver.com/wordpress/2007/03/08/is-simulation- fake/ and http://www.brsilver.com/wordpress/2009/02/15/making-simulation-useful/
  • 4. capacity at an activity (e.g. a physical constraint) or the required processing resources being unavailable. The ability to both model and report on both of these components of the activity's total duration is a real world requirement, often ignored by many simulation tools. Events Simulation needs to model event probability and time of occurrence. In BPMN, events provide a visual representation for describing the exceptions that occur in real life processes. Such exceptions are often the root of performance issues in existing processes. To accurately model what-if scenarios, the ability to assign a probability and mean time of occurrence for events defined in the process model is a requirement. Most simulation tools simply ignore events. Iterative Activities BPMN supports two types of repeating activities: looping and multi-instance that represent feedback based on a condition or size/components of the item of work. Simulation must model the number of iterations based on a parameter or property of the work being processed. Instance Attributes In most simulation tools, probabilities assigned at various nodes (e.g. activities or gateways) are uncorrelated. In actuality, these probabilities are usually highly correlated in real world business processes. Specifically, the duration of a particular activity, the probability of a particular gateway output, and/or the probability of some event occurring are often related to each other. For example, the longer an activity takes (e.g. scanning documents), the more likely an exceptional event might occur (e.g. a jam). One needs to be able to specify simulation parameters as an expression of one or more instance attributes, such as "size" or "claim value", which could take specific values rather than simple numbers like an absolute value or a mean and standard deviation. While this makes defining a scenario to simulation more complex, it stands to provide more realistic output. Schedules & Resource Contention In business processes, an activity will only be executed when work and resources are available for the activity in question. The availability of specific resources, whether human, machine or otherwise, is driven by their schedules and contention for equivalent resources by other activities. Simulation software should accurately model resource contention and allow detailed schedules to be defined for all resources which show when they are available to work in specific roles, or specific sets of activities. Contingent Resource Assignment Most simulation tools let you assign roles to activities. However, business processes are often characterized by contingent resource assignment. For example, an activity may assign Role A as the primary resource, but if no member of Role A is available, the activity may pull a resource from Role B.
  • 5. Priorities It should be possible to base resource acquisition at various steps in a process based on priorities, or some kind of priority logic. For example, oldest item in the pipeline gets worked on first, of items get worked on based on an attribute of the work items. Priority could be based on activity or an attribute of the items to be processed. Pre-Population of Work in Progress Simulation models generally start empty, reflecting no work present initially in the system. This causes a distortion in the simulation results at the beginning of the simulation period. Continuous processes are always in a state where resources are already constrained by the work in progress. One method to address this situation is with a warm up period where results are not collected until the system is "loaded" with work. However, populating the simulation model with work in progress at the various activities at the beginning of the simulation period best reflects reality. Detailed Reporting & Data Access Simulation results should provide breakdown of metrics at the process, activity, resource and potentially work attribute level. Resource utilization and excess capacity should be reported for any given period. There should also be access to the raw simulation output. Pre-built metrics and charts provided by simulation tools are convenient but they rarely provide the detail you need for real analysis. One should be able to access records for each process instance, and for each activity or event instance. It should be possible to import this data into a spreadsheet or a database. Serious Simulation Just like climbing Everest from the northeast ridge, there is another approach to business process simulation. One starts on the other side: from the domain of serious, robust simulation software that satisfies the "Silver" criteria a priori and then build in support for authoring these simulations using BPMN process models.
  • 6. This approach is similar to what Meta Software did in 1989. Meta developed a capability to generate simulation models for their pre-existing industrial simulation software from 4 IDEF0/SADT process models . IDEF0 is a graphical modeling notation that provides the syntax and semantics to diagram the decisions, actions, and activities of an organization or system. A common application of IDEF0 was to document business processes, in the same way that BPMN is used today. In 1989 IDEF0 was a promising emerging standard for drawing business process diagrams. Perhaps, if this work had been done today, Meta would have chosen BPMN as the process modeling methodology. We can look to Meta's experience in developing IDEF0/SADT support for authoring simulation models to understand how robust BPMN based simulation models that satisfy the Silver Criteria can be made possible. The lessons learned in providing a way to generate business process simulations from IDEF0 business process models can easily be 5 applied to BPMN . There are two significant considerations that have to be made when exposing simulation through a process model diagram: • There must be a generalized mapping of process diagram work flow patterns to the underlying simulation code. • Process models must be extended to include the specific assumptions that define a scenario. 4. See: Modeling an NORAD Command Post Using SADT and Colored Petri Nets by Valerio Pinci and Robert Shapiro. 5. In fact, this has been done. Meta Software's METAFORE supports simulation of process models defined in BPMN via an XPDL interface.
  • 7. Process Definition Process model diagrams will support varying numbers of work flow patterns such as sequential flows, exclusive gates, parallel processing, matching, etc. The work flow patterns supported by the diagramming methodology have to be mapped to simulation code in a generalized way. This usually results in code that is parameterized to reflect the basic work flow pattern, yet support variation and correlation amongst the various process instances (e.g. tokens of work) which will be populated into the simulation model. Scenario Definition Secondly, the parameters and placeholders in the resulting simulation code have to specified for each specific process instance. Common resources used to perform activities in the process model need to be specified so that semaphores in the simulation code constrain the availability of these resources to reflect schedules and resource contention. These constitute a set of business process assumptions built into a given scenario, and these parameters have a definite business sense, representing items that would not be foreign to the average business user.
  • 8. For example, we need to know when and where items of work will enter or "arrive" in the process. To specify this, we need to capture the following types of data: • The process the work item will arrive in. • The destination activity. This is usually the model start or input point, but may be any process activity when we are trying to simulate work in progress at the beginning of the simulation period. • Arrival times. • Quantity if more than one unit of work item is arriving at this particular time with the same attributes. • Data field values. These represent the properties of the work item (process instance) arriving into the process. A Standards Based API for Simulation Assuming that a mapping between process diagram work flow patterns and simulation code exists, what we find is that a simulation model can be defined by a process diagram and a complete set of scenario parameters. Critically, if the process diagram and the scenario parameters are both specified using a standard, we have a vendor neutral, standards based API for simulation.
  • 9. While there has been considerable effort in standardizing process diagrams (e.g. BPMN), there has been little to no effort in standardizing the scenario parameters described above. The Scenario Definition Language is an attempt to standardize scenario parameters. For example, the Scenario Definition Language describes the following format for process instances: Schema Representation Notes Item (XPath) Arrival ID //arrivals/arrival/@id A unique identifier for the arrival. Process //arrivals/arrival/ The work flow process name or id (e.g. Name process as defined in the process model). //arrivals/arrival/ Specifies the source system or scenario Data Source datasource for the arrivals. The activity in the process where the arrival takes place. Arrivals may occur at activities other than the start of a Destination //arrivals/arrival/activity process to represent the work in Activity progress at the start date/time of the scenario. In general, this is a reference to an activity in the process model.
  • 10. //arrivals/arrival/ The date and time at which the arrival Arrival Time arrivalTime into the process takes place. //arrivals/arrival/ How many times the arrival occurs. This Occurrences occurrences could be a statistical distribution. //arrivals/arrival/ The time between occurrences. This Frequency frequency could be a statistical distribution. Allows multiple arrivals of entities with //arrivals/arrival/ the same attributes to occur at the Quantity quantity arrival time. This could be a statistical distribution. //arrivals/arrival/ Field Values Data field values for the arrival fieldValues See the complete Scenario Definition Language specification for a complete description of this business process scenario schema. Given support for a standards based API, exposing the API via web services makes vendor neutral simulation as a service possible. Simply imagine http://www.mysimulationservice.com/myscenario/arrivals.xml returning a list of arrivals defined according to the Scenario Definition Language described above. BPMN Necessarily But Not Necessarily BPMN One last item worth discussion is the loose coupling between the process modeling standard and the proposed Scenario Definition Language (SDL). While elements in the SDL schema will reference items in the BPMN diagram, SDL remains separate from BPMN. The path of not extending BPMN to support simulation directly is chosen on purpose. BPMN is used for many applications besides simulation, and benefits from a process centric purity. By only loosely coupling SDL to BPMN, the two standards used for simulation can evolve separately. SDL can survive a change to a new modeling notation standard and vice versa for BPMN. Secondly, there are other consumers of the scenario parameters defined in SDL that may not require a process model, or even use simulation for that matter. For example, activity based costing, and workforce management for simple processes.