SlideShare uma empresa Scribd logo
1 de 15
BPMN 4 Sim How to Use Simulation With BPMN Based Models: Best Practices, Misperceptions & Pitfalls John Januszczak Meta Software Corporation
 
Top Of The World Nepal China
Business Process Simulation BPM Simulation
” “ …  this is a fake feature if ever there was one Bruce Silver BPMS Watch
The  “Silver”  Criteria ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Serious  Simulation
Key Amount Fix Keying Error A Particular Role Start End Keyed Item Error // Acquire Resources Get(A_Particular_Role); // Duration Logic double  dur = ItemsPerHour(keying); wait(dur); // Free Resources Free(); // Condition Logic int  w1 = goodKey; int  w2 = 100-goodKey; int  randVal = 1+Trunc(Rand(w1 + w2)); if (randVal <= w1) { Route(1); } else { Route(2); }
 
// Acquire Resources Get(A_Particular_Role); // Duration Logic double  dur = ItemsPerHour(keying); wait(dur); // Free Resources Free(); // Condition Logic int  w1 = goodKey; int  w2 = 100-goodKey; int  randVal = 1+Trunc(Rand(w1 + w2)); if (randVal <= w1) { ToTransition(1); } else { ToTransition(2); } Volumes &  Arrival Patterns Resources Activity  Parameters Business Rules
Simulation Scenario Parameters BPMN
Standards Based API Simulation Scenario Parameters BPMN Client 1 Client 2 Client 2
BPMN Necessarily, But Not Necessarily BPMN
Optimization Capacity Planning Workforce Management Activity Based Costing Workforce Management
Credits ,[object Object],[object Object],[object Object]

Mais conteúdo relacionado

Mais procurados

Node.js System: The Landing
Node.js System: The LandingNode.js System: The Landing
Node.js System: The LandingHaci Murat Yaman
 
JProfiler8 @ OVIRT
JProfiler8 @ OVIRTJProfiler8 @ OVIRT
JProfiler8 @ OVIRTLiran Zelkha
 
Androsia: A step ahead in securing in-memory Android application data by Sami...
Androsia: A step ahead in securing in-memory Android application data by Sami...Androsia: A step ahead in securing in-memory Android application data by Sami...
Androsia: A step ahead in securing in-memory Android application data by Sami...CODE BLUE
 
DotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NETDotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NETMaarten Balliauw
 
NSC #2 - D2 06 - Richard Johnson - SAGEly Advice
NSC #2 - D2 06 - Richard Johnson - SAGEly AdviceNSC #2 - D2 06 - Richard Johnson - SAGEly Advice
NSC #2 - D2 06 - Richard Johnson - SAGEly AdviceNoSuchCon
 

Mais procurados (6)

Node.js System: The Landing
Node.js System: The LandingNode.js System: The Landing
Node.js System: The Landing
 
JProfiler8 @ OVIRT
JProfiler8 @ OVIRTJProfiler8 @ OVIRT
JProfiler8 @ OVIRT
 
Androsia: A step ahead in securing in-memory Android application data by Sami...
Androsia: A step ahead in securing in-memory Android application data by Sami...Androsia: A step ahead in securing in-memory Android application data by Sami...
Androsia: A step ahead in securing in-memory Android application data by Sami...
 
Java Performance Tuning
Java Performance TuningJava Performance Tuning
Java Performance Tuning
 
DotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NETDotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NET
 
NSC #2 - D2 06 - Richard Johnson - SAGEly Advice
NSC #2 - D2 06 - Richard Johnson - SAGEly AdviceNSC #2 - D2 06 - Richard Johnson - SAGEly Advice
NSC #2 - D2 06 - Richard Johnson - SAGEly Advice
 

Destaque

Eid bytes Powerpoint
Eid bytes PowerpointEid bytes Powerpoint
Eid bytes Powerpointfarhanaismail
 
Weekly news from 13 19 sept
Weekly news from 13 19 sept Weekly news from 13 19 sept
Weekly news from 13 19 sept nagender0707
 
Lessons from the Flat World
Lessons from the Flat WorldLessons from the Flat World
Lessons from the Flat WorldDebasish Patra
 
ET News Presentation
ET News PresentationET News Presentation
ET News Presentationnagender0707
 
Four things you need to know to feel more confident about reaching your retir...
Four things you need to know to feel more confident about reaching your retir...Four things you need to know to feel more confident about reaching your retir...
Four things you need to know to feel more confident about reaching your retir...april_d_thurman
 
Weekly news from 11 oct 16 oct
Weekly news from 11 oct   16 octWeekly news from 11 oct   16 oct
Weekly news from 11 oct 16 octnagender0707
 
BPMN4Sim Speaking Notes
BPMN4Sim Speaking NotesBPMN4Sim Speaking Notes
BPMN4Sim Speaking Notesjjanuszczak
 
Simulation for Business Process Management
Simulation for Business Process ManagementSimulation for Business Process Management
Simulation for Business Process Managementjjanuszczak
 

Destaque (9)

Eid bytes Powerpoint
Eid bytes PowerpointEid bytes Powerpoint
Eid bytes Powerpoint
 
Weekly news from 13 19 sept
Weekly news from 13 19 sept Weekly news from 13 19 sept
Weekly news from 13 19 sept
 
La pizara digital interactiva
La pizara digital interactivaLa pizara digital interactiva
La pizara digital interactiva
 
Lessons from the Flat World
Lessons from the Flat WorldLessons from the Flat World
Lessons from the Flat World
 
ET News Presentation
ET News PresentationET News Presentation
ET News Presentation
 
Four things you need to know to feel more confident about reaching your retir...
Four things you need to know to feel more confident about reaching your retir...Four things you need to know to feel more confident about reaching your retir...
Four things you need to know to feel more confident about reaching your retir...
 
Weekly news from 11 oct 16 oct
Weekly news from 11 oct   16 octWeekly news from 11 oct   16 oct
Weekly news from 11 oct 16 oct
 
BPMN4Sim Speaking Notes
BPMN4Sim Speaking NotesBPMN4Sim Speaking Notes
BPMN4Sim Speaking Notes
 
Simulation for Business Process Management
Simulation for Business Process ManagementSimulation for Business Process Management
Simulation for Business Process Management
 

Semelhante a BPMN4Sim

Concurrency on the JVM
Concurrency on the JVMConcurrency on the JVM
Concurrency on the JVMVaclav Pech
 
Much ado about randomness. What is really a random number?
Much ado about randomness. What is really a random number?Much ado about randomness. What is really a random number?
Much ado about randomness. What is really a random number?Aleksandr Yampolskiy
 
Operationalizing Clojure Confidently
Operationalizing Clojure ConfidentlyOperationalizing Clojure Confidently
Operationalizing Clojure ConfidentlyPrasanna Gautam
 
Writing Custom Python Detection with Panther (Part 1)
Writing Custom Python Detection with Panther (Part 1)Writing Custom Python Detection with Panther (Part 1)
Writing Custom Python Detection with Panther (Part 1)Panther Labs
 
Quantifying the Performance of Garbage Collection vs. Explicit Memory Management
Quantifying the Performance of Garbage Collection vs. Explicit Memory ManagementQuantifying the Performance of Garbage Collection vs. Explicit Memory Management
Quantifying the Performance of Garbage Collection vs. Explicit Memory ManagementEmery Berger
 
Functional (web) development with Clojure
Functional (web) development with ClojureFunctional (web) development with Clojure
Functional (web) development with ClojureHenrik Eneroth
 
Defcon 22-paul-mcmillan-attacking-the-iot-using-timing-attac
Defcon 22-paul-mcmillan-attacking-the-iot-using-timing-attacDefcon 22-paul-mcmillan-attacking-the-iot-using-timing-attac
Defcon 22-paul-mcmillan-attacking-the-iot-using-timing-attacPriyanka Aash
 
Secrets of JavaScript Libraries
Secrets of JavaScript LibrariesSecrets of JavaScript Libraries
Secrets of JavaScript Librariesjeresig
 
PHP CLI: A Cinderella Story
PHP CLI: A Cinderella StoryPHP CLI: A Cinderella Story
PHP CLI: A Cinderella StoryMike Lively
 
JUDCon London 2011 - Bin packing with drools planner by example
JUDCon London 2011 - Bin packing with drools planner by exampleJUDCon London 2011 - Bin packing with drools planner by example
JUDCon London 2011 - Bin packing with drools planner by exampleGeoffrey De Smet
 
Testing outside of the Ruby World
Testing outside of the Ruby WorldTesting outside of the Ruby World
Testing outside of the Ruby WorldJoseph Wilk
 
JMC/JFR: Kotlin spezial
JMC/JFR: Kotlin spezialJMC/JFR: Kotlin spezial
JMC/JFR: Kotlin spezialMiro Wengner
 
Test driven node.js
Test driven node.jsTest driven node.js
Test driven node.jsJay Harris
 
Dynamic Tracing of your AMP web site
Dynamic Tracing of your AMP web siteDynamic Tracing of your AMP web site
Dynamic Tracing of your AMP web siteSriram Natarajan
 
Node.js Event Loop & EventEmitter
Node.js Event Loop & EventEmitterNode.js Event Loop & EventEmitter
Node.js Event Loop & EventEmitterSimen Li
 

Semelhante a BPMN4Sim (20)

Concurrency on the JVM
Concurrency on the JVMConcurrency on the JVM
Concurrency on the JVM
 
Much ado about randomness. What is really a random number?
Much ado about randomness. What is really a random number?Much ado about randomness. What is really a random number?
Much ado about randomness. What is really a random number?
 
Sane Async Patterns
Sane Async PatternsSane Async Patterns
Sane Async Patterns
 
Complex Event Processing
Complex Event ProcessingComplex Event Processing
Complex Event Processing
 
Operationalizing Clojure Confidently
Operationalizing Clojure ConfidentlyOperationalizing Clojure Confidently
Operationalizing Clojure Confidently
 
Writing Custom Python Detection with Panther (Part 1)
Writing Custom Python Detection with Panther (Part 1)Writing Custom Python Detection with Panther (Part 1)
Writing Custom Python Detection with Panther (Part 1)
 
Quantifying the Performance of Garbage Collection vs. Explicit Memory Management
Quantifying the Performance of Garbage Collection vs. Explicit Memory ManagementQuantifying the Performance of Garbage Collection vs. Explicit Memory Management
Quantifying the Performance of Garbage Collection vs. Explicit Memory Management
 
Functional (web) development with Clojure
Functional (web) development with ClojureFunctional (web) development with Clojure
Functional (web) development with Clojure
 
Defcon 22-paul-mcmillan-attacking-the-iot-using-timing-attac
Defcon 22-paul-mcmillan-attacking-the-iot-using-timing-attacDefcon 22-paul-mcmillan-attacking-the-iot-using-timing-attac
Defcon 22-paul-mcmillan-attacking-the-iot-using-timing-attac
 
Secrets of JavaScript Libraries
Secrets of JavaScript LibrariesSecrets of JavaScript Libraries
Secrets of JavaScript Libraries
 
PHP CLI: A Cinderella Story
PHP CLI: A Cinderella StoryPHP CLI: A Cinderella Story
PHP CLI: A Cinderella Story
 
Performance patterns
Performance patternsPerformance patterns
Performance patterns
 
JUDCon London 2011 - Bin packing with drools planner by example
JUDCon London 2011 - Bin packing with drools planner by exampleJUDCon London 2011 - Bin packing with drools planner by example
JUDCon London 2011 - Bin packing with drools planner by example
 
Polyglot parallelism
Polyglot parallelismPolyglot parallelism
Polyglot parallelism
 
Testing outside of the Ruby World
Testing outside of the Ruby WorldTesting outside of the Ruby World
Testing outside of the Ruby World
 
JMC/JFR: Kotlin spezial
JMC/JFR: Kotlin spezialJMC/JFR: Kotlin spezial
JMC/JFR: Kotlin spezial
 
Test driven node.js
Test driven node.jsTest driven node.js
Test driven node.js
 
Node.js
Node.jsNode.js
Node.js
 
Dynamic Tracing of your AMP web site
Dynamic Tracing of your AMP web siteDynamic Tracing of your AMP web site
Dynamic Tracing of your AMP web site
 
Node.js Event Loop & EventEmitter
Node.js Event Loop & EventEmitterNode.js Event Loop & EventEmitter
Node.js Event Loop & EventEmitter
 

BPMN4Sim

  • 1. BPMN 4 Sim How to Use Simulation With BPMN Based Models: Best Practices, Misperceptions & Pitfalls John Januszczak Meta Software Corporation
  • 2.  
  • 3. Top Of The World Nepal China
  • 5. ” “ … this is a fake feature if ever there was one Bruce Silver BPMS Watch
  • 6.
  • 8. Key Amount Fix Keying Error A Particular Role Start End Keyed Item Error // Acquire Resources Get(A_Particular_Role); // Duration Logic double dur = ItemsPerHour(keying); wait(dur); // Free Resources Free(); // Condition Logic int w1 = goodKey; int w2 = 100-goodKey; int randVal = 1+Trunc(Rand(w1 + w2)); if (randVal <= w1) { Route(1); } else { Route(2); }
  • 9.  
  • 10. // Acquire Resources Get(A_Particular_Role); // Duration Logic double dur = ItemsPerHour(keying); wait(dur); // Free Resources Free(); // Condition Logic int w1 = goodKey; int w2 = 100-goodKey; int randVal = 1+Trunc(Rand(w1 + w2)); if (randVal <= w1) { ToTransition(1); } else { ToTransition(2); } Volumes & Arrival Patterns Resources Activity Parameters Business Rules
  • 12. Standards Based API Simulation Scenario Parameters BPMN Client 1 Client 2 Client 2
  • 13. BPMN Necessarily, But Not Necessarily BPMN
  • 14. Optimization Capacity Planning Workforce Management Activity Based Costing Workforce Management
  • 15.

Notas do Editor

  1. 8,848 m (29,029 ft) height. 4,102 ascents, Everest had claimed 216 lives. Most people climb the southeast ridge from Nepal. It is technically easier. This is how Edmund Hillary and Tenzig Norgay did it in 1953. However, this route was dictated more by politics than by design as the Chinese border was closed to the western world in the 1950s.
  2. 8,848 m (29,029 ft) height. 4,102 ascents, Everest had claimed 216 lives. Most people climb the southeast ridge from Nepal. It is technically easier. This is how Edmund Hillary and Tenzig Norgay did it in 1953. However, this route was dictated more by politics than by design as the Chinese border was closed to the western world in the 1950s.
  3. 8,848 m (29,029 ft) height. 4,102 ascents, Everest had claimed 216 lives. Most people climb the southeast ridge from Nepal. It is technically easier. This is how Edmund Hillary and Tenzig Norgay did it in 1953. However, this route was dictated more by politics than by design as the Chinese border was closed to the western world in the 1950s.
  4. Simulation can be of great value in projecting the expected performance improvement from a process change  before committing the resources needed to make that change. The reason I call it useless is that in most process improvement projects, the problem is not too few widget-tweakers assigned to the widget-tweaking step, causing a backlog when there is a spike in widget orders.� That simulation use case, which I call optimizing resouce allocation , is real in certain heads-down scenarios, such as call centers and backend clerical processes, but it’s not the main one BPM project teams are dealing with. Far more common is the  process improvement  use case, which aims for improvement in some metric, usually cycle time but occasionally cost or quality, based on changing flow of process activities.� The resource assigned to an activity – approval by a manager, for instance -�is not fully dedicated to that activity, nor even other activities described in concurrent simulation models.� The active time to perform the task bears no relationship to the actual time to complete it.