Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Master ThesisBuilding an open sourceBusiness Process Simulationtoolwith JBoss jBPM<br />Stuttgart University of applied sc...
Objective<br />Building an open source Business Process<br />Simulation toolwithJboss jBPM<br />Examine simulation of busi...
Agenda<br />Basics<br />Business Process Management (BPM) <br />Business Process Simulation (BPS)<br />Typical Simulation ...
What is a business process?<br />Create defined output from a given input<br />Ordered activities<br />Creates business va...
How are they supported by software?<br />Gui 1<br />Gui 2<br />Gui 3<br />Customer<br />Component<br />GUI<br />Paper<br /...
Types of integration<br />App 1<br />App 2<br />Processes<br />BPM<br />Activity 1<br />    Activity 2<br />    Activity 3...
Business Process Engine<br />Administrator<br />Clerk<br />Business Analyst<br />Developer<br />Task<br />Management<br />...
The BPM life-cycle<br />Analysis<br />Design<br />Control<br />Iterative Improvement<br /> Implementation<br />Execution<b...
The problem with process changes<br />The future is hard to predict<br />Unintuitive results, especially if different proc...
Simulation<br />Simulation is the process of describing a real system and using this model for experimentation, with the g...
Business Process Simulation (BPS)<br />Model of reality = business process + additional information<br />Helps to predict ...
BPS vision<br />Same model as for process execution<br />process model & additional info<br />Analysis<br />benchmarks,<br...
Typical Simulation Goals<br />Identify cycle times for new or changed processes<br />Identify process costs<br />Benchmark...
Example: Returned Goods<br />Swimlane<br />Avg, duration (standard derivation)<br />process runs: 195<br />100<br />95<br ...
Example<br />Questions:<br /><ul><li> How many people do I need for a special amount of work?
What is the best tradeoff between too much and too less people?</li></ul>Swimlane<br />Avg, duration (standard derivation)...
Example<br />Questions:<br /><ul><li> Is it maybe cheaper to skip the extended tests and so also refund some not defect goods
 Is it maybe cheaper to skip all tests?</li></ul>Swimlane<br />Avg, duration (standard derivation)<br />process runs: 195<...
Simulation input<br />distribution of start events (amount and time)<br />distribution of waiting time<br />resource pools...
Simulation<br />discrete simulation<br />Discrete Event Simulation (DES)<br />continuous simulation<br />
Discrete Event Simulation<br />State changes happen at discrete events in time<br />Nothing happens between 2 neighboring ...
Event oriented modeling style<br />1<br />3<br />2<br />2<br />1<br />3<br />
Components of DES<br />Model state<br />Simulation clock<br />Event list<br />Central controller<br />Random number genera...
Statistics<br /><ul><li>Theoretical Distributions</li></ul>Warm up period<br />
My BPS tool – used components<br />JBoss jBPM<br />Business Process Engine<br />Open Source (LGPL)<br />Backed by RedHat /...
Business Process Engine:<br />JBoss jBPM<br />DES-Framework:<br />DESMO-J<br />Combination of BPM & DES<br />?<br />
Combination of BPM & DES in action<br />21:33<br />21:33<br />Eventlist<br />21:40 start process<br />Distributions<br />C...
21:33<br />Combination of BPM & DES in action<br />21:40<br />21:40<br />Eventlist<br />21:40 start process<br />21:40 sta...
22:55 parcel arrived<br />Combination of BPM & DES in action<br />22:55<br />22:55<br />Eventlist<br />22:55 parcel arrive...
Combination of BPM & DES in action<br />23:41<br />23:41<br />Eventlist<br />Distributions<br />Counters & <br />data <br ...
What was needed for combination?<br />Special Events in DESMO-J<br />Clock-Synchronization<br />Event-Generation at specia...
jBPM Simulation<br />Architecture<br />jBPM Designer<br />support planned<br />jBPM (used for simulation)<br />Configurati...
Simulation configuration example<br />&lt;experiment name=&apos;ReturnDefectiveGoods&apos; time-unit=&apos;second&apos; <b...
Live Demo & Result<br />Live-Demo<br />
Further topics<br />Analyzing simulation results<br />Results are just “samples”<br />Repetitions are needed<br />Use stat...
Upcoming SlideShare
Loading in …5
×

20080215 jbpm Business Process Simulation with Jboss jBPM

2,172 views

Published on

  • Be the first to comment

20080215 jbpm Business Process Simulation with Jboss jBPM

  1. 1. Master ThesisBuilding an open sourceBusiness Process Simulationtoolwith JBoss jBPM<br />Stuttgart University of applied science<br />15.02.2007<br />Bernd Rücker<br />
  2. 2. Objective<br />Building an open source Business Process<br />Simulation toolwithJboss jBPM<br />Examine simulation of business processes<br />business perspective<br />technical perspective<br />Implement a business process simulation tool based on open source components<br />Develop a tutorial & use the tool in a real life case study<br />
  3. 3. Agenda<br />Basics<br />Business Process Management (BPM) <br />Business Process Simulation (BPS)<br />Typical Simulation goals<br />Discrete Event Simulation<br />The developed tool<br />Used Open Source components<br />Combine BPM & Simulation<br />Example & Demo<br />
  4. 4. What is a business process?<br />Create defined output from a given input<br />Ordered activities<br />Creates business value / business motivated<br />Long running (maybe months or years)<br />Contain wait states<br />Activities can be automated or done by humans<br />
  5. 5. How are they supported by software?<br />Gui 1<br />Gui 2<br />Gui 3<br />Customer<br />Component<br />GUI<br />Paper<br />Email<br />Software systems<br />SAP<br />Server<br />EAI-Tool<br />Web-Service<br />
  6. 6. Types of integration<br />App 1<br />App 2<br />Processes<br />BPM<br />Activity 1<br /> Activity 2<br /> Activity 3<br />Process-<br />integration<br />SOA<br />Services<br />Applications<br />Function-<br />integration<br />Middleware<br />Data<br />Logical DB<br />Data-<br />integration<br />DB 2<br />DB 1<br />
  7. 7. Business Process Engine<br />Administrator<br />Clerk<br />Business Analyst<br />Developer<br />Task<br />Management<br />Business ProcessEngine<br />Process<br />Execution<br />Other systems<br />Process<br />definitions<br />Administration<br />Process<br />Logs<br />Persistence<br />
  8. 8. The BPM life-cycle<br />Analysis<br />Design<br />Control<br />Iterative Improvement<br /> Implementation<br />Execution<br />
  9. 9. The problem with process changes<br />The future is hard to predict<br />Unintuitive results, especially if different processes are involved<br />Changes in processes are<br />Expensive<br />Explosive for e.g. “team spirit” in companies<br />Lots of risks<br />
  10. 10. Simulation<br />Simulation is the process of describing a real system and using this model for experimentation, with the goal of understanding the system’s behavior or to explore alternative strategies for its operation.<br />Shannon<br />
  11. 11. Business Process Simulation (BPS)<br />Model of reality = business process + additional information<br />Helps to predict outcome without putting new processes into production<br />Use cases:<br />Process changes<br />New processes (“Business Process Reengineering”)<br />Changed environment<br />
  12. 12. BPS vision<br />Same model as for process execution<br />process model & additional info<br />Analysis<br />benchmarks,<br />KPI, …<br />Design<br />Control<br />(stochastic)<br />simulation<br />alternative process structures<br />Iterative Improvement<br /> Implementation<br />Execution<br />BAM<br />Life data from history<br />
  13. 13. Typical Simulation Goals<br />Identify cycle times for new or changed processes<br />Identify process costs<br />Benchmark alternative process structures<br />Forecast effects of changing amount of input events (for example the double amount of orders)<br />Support capacity or staff planning<br />Benchmark different parameter configurations<br />
  14. 14. Example: Returned Goods<br />Swimlane<br />Avg, duration (standard derivation)<br />process runs: 195<br />100<br />95<br />Accountant<br />180 (30)<br />195<br />Clerk<br />180 (60)<br />165<br />Tester<br />732,25 (448)<br />30<br />145<br />20<br />Accountant<br />180 (30)<br />dispatcher<br />325.50 (182)<br />175<br />20<br />
  15. 15. Example<br />Questions:<br /><ul><li> How many people do I need for a special amount of work?
  16. 16. What is the best tradeoff between too much and too less people?</li></ul>Swimlane<br />Avg, duration (standard derivation)<br />process runs: 195<br />100<br />95<br />Accountant<br />180 (30)<br />195<br />Clerk<br />180 (60)<br />165<br />Tester<br />732,25 (448)<br />30<br />145<br />20<br />Accountant<br />180 (30)<br />dispatcher<br />325.50 (182)<br />175<br />20<br />
  17. 17. Example<br />Questions:<br /><ul><li> Is it maybe cheaper to skip the extended tests and so also refund some not defect goods
  18. 18. Is it maybe cheaper to skip all tests?</li></ul>Swimlane<br />Avg, duration (standard derivation)<br />process runs: 195<br />100<br />95<br />Accountant<br />180 (30)<br />195<br />Clerk<br />180 (60)<br />165<br />Tester<br />732,25 (448)<br />30<br />145<br />20<br />Accountant<br />180 (30)<br />dispatcher<br />325.50 (182)<br />175<br />20<br />
  19. 19. Simulation input<br />distribution of start events (amount and time)<br />distribution of waiting time<br />resource pools<br />distribution of duration/processing time for task<br />distribution of duration/processing time for task<br />
  20. 20. Simulation<br />discrete simulation<br />Discrete Event Simulation (DES)<br />continuous simulation<br />
  21. 21. Discrete Event Simulation<br />State changes happen at discrete events in time<br />Nothing happens between 2 neighboring points in time<br />Finite sequence of model states<br />Model time is independent of real time<br />
  22. 22. Event oriented modeling style<br />1<br />3<br />2<br />2<br />1<br />3<br />
  23. 23. Components of DES<br />Model state<br />Simulation clock<br />Event list<br />Central controller<br />Random number generator / Distributions<br />Statistical counters / data collectors<br />
  24. 24. Statistics<br /><ul><li>Theoretical Distributions</li></ul>Warm up period<br />
  25. 25. My BPS tool – used components<br />JBoss jBPM<br />Business Process Engine<br />Open Source (LGPL)<br />Backed by RedHat / JBoss<br />DESMO-J<br />Java Simulation Framework (DES)<br />Developed & maintained by the University of Hamburg<br />Open Source (Apache License)<br />JasperReports as reporting generator<br />
  26. 26. Business Process Engine:<br />JBoss jBPM<br />DES-Framework:<br />DESMO-J<br />Combination of BPM & DES<br />?<br />
  27. 27. Combination of BPM & DES in action<br />21:33<br />21:33<br />Eventlist<br />21:40 start process<br />Distributions<br />Counters & <br />data <br />collectors<br />
  28. 28. 21:33<br />Combination of BPM & DES in action<br />21:40<br />21:40<br />Eventlist<br />21:40 start process<br />21:40 start process<br />22:07 start process<br />22:55 parcel arrived<br />Distributions<br />Counters & <br />data <br />collectors<br />
  29. 29. 22:55 parcel arrived<br />Combination of BPM & DES in action<br />22:55<br />22:55<br />Eventlist<br />22:55 parcel arrived<br />Distributions<br />Counters & <br />data <br />collectors<br />
  30. 30. Combination of BPM & DES in action<br />23:41<br />23:41<br />Eventlist<br />Distributions<br />Counters & <br />data <br />collectors<br />
  31. 31. What was needed for combination?<br />Special Events in DESMO-J<br />Clock-Synchronization<br />Event-Generation at special points in the process execution<br />Additionally:<br />Resource pools<br />Queues<br />Automatic decision taking<br />Influence on service calls<br />
  32. 32. jBPM Simulation<br />Architecture<br />jBPM Designer<br />support planned<br />jBPM (used for simulation)<br />Configuration<br />BAM<br />Production jBPM<br />DESMO-J<br />Reporting<br />Data source<br />Event Generator & Queue<br />In memory objects<br />DB<br />JasperReports<br />
  33. 33. Simulation configuration example<br />&lt;experiment name=&apos;ReturnDefectiveGoods&apos; time-unit=&apos;second&apos; <br /> run-time=&apos;28800&apos; real-start-time=&apos;30.03.1980 00:00:00:000&apos; <br /> currency=&apos;EUR&apos; unutilized-time-cost-factor=&apos;0.0&apos;&gt; <br /> &lt;!-- 28800 seconds = 8 hours = 1 working day --&gt; <br />&lt;scenario name=&quot;status_quo&quot;&gt;<br /> &lt;distribution name=&quot;start&quot; sample-type=&quot;real&quot; <br /> type=&quot;erlang&quot; mean=&quot;95&quot;/&gt; <br /> &lt;distribution name=&quot;parcel&quot; sample-type=&quot;real&quot; <br /> type=&quot;normal&quot; mean=&quot;28&quot; standardDeviation=&quot;17&quot;/&gt;<br /> ...<br /> &lt;resource-pool name=&quot;tester&quot; pool-size=&quot;5&quot; costs-per-time-unit=&quot;0.025&quot;/&gt;<br /> ...<br /> &lt;sim-process path=&quot;/.../ReturnDefectiveGoods/processdefinition.xml&quot;&gt;<br /> &lt;process-overwrite start-distribution=&quot;start&quot;/&gt;<br /> &lt;state-overwrite state-name=&quot;wait for parcel&quot; time-distribution=&quot;parcel&quot;&gt;<br /> &lt;transition name=&quot;parcel arrived&quot; probability=&quot;195&quot;/&gt;<br /> &lt;/state-overwrite&gt;<br /> &lt;decision-overwrite decision-name=&quot;ordered within the last two weeks?&quot;&gt;<br /> &lt;transition name=&quot;YES&quot; probability=&quot;100&quot;/&gt;<br /> &lt;transition name=&quot;NO&quot; probability=&quot;95&quot;/&gt;<br /> &lt;/decision-overwrite&gt;<br /> ...<br /> &lt;/sim-process&gt;<br />&lt;/scenario&gt;<br />
  34. 34. Live Demo & Result<br />Live-Demo<br />
  35. 35. Further topics<br />Analyzing simulation results<br />Results are just “samples”<br />Repetitions are needed<br />Use statistical theory to calculate confidence<br />Optimization<br />Not addresses by simulation itself<br />Simulation only evaluate given scenarios<br />Open Issues / Possible future work<br />GUI, support all jBPM features, better reporting, process animation, optimization<br />
  36. 36. Conclusion<br />Tool was developed and is working<br />Source Code contributed to JBoss jBPM<br />A showcase / tutorial was developed and is available on camunda homepage<br />A real-life case study was done with dataphone (Vienna)<br />Tool can leverage BPS to a wider range of people<br />
  37. 37. Thankyou!<br />Questions?<br />bernd.ruecker@camunda.com<br />Thesis availableonline: www.camunda.com<br />

×