Your SlideShare is downloading. ×
0
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

20080215 jbpm Business Process Simulation with Jboss jBPM

1,491

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,491
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. 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. 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. 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. 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. 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. 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. The BPM life-cycle<br />Analysis<br />Design<br />Control<br />Iterative Improvement<br /> Implementation<br />Execution<br />
  • 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. 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. 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. 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. 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. 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. Example<br />Questions:<br /><ul><li> How many people do I need for a special amount of work?
  • 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. Example<br />Questions:<br /><ul><li> Is it maybe cheaper to skip the extended tests and so also refund some not defect goods
  • 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. 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. Simulation<br />discrete simulation<br />Discrete Event Simulation (DES)<br />continuous simulation<br />
  • 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. Event oriented modeling style<br />1<br />3<br />2<br />2<br />1<br />3<br />
  • 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. Statistics<br /><ul><li>Theoretical Distributions</li></ul>Warm up period<br />
  • 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. Business Process Engine:<br />JBoss jBPM<br />DES-Framework:<br />DESMO-J<br />Combination of BPM & DES<br />?<br />
  • 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. 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. 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. Combination of BPM & DES in action<br />23:41<br />23:41<br />Eventlist<br />Distributions<br />Counters & <br />data <br />collectors<br />
  • 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. 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. 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. Live Demo & Result<br />Live-Demo<br />
  • 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. 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. Thankyou!<br />Questions?<br />bernd.ruecker@camunda.com<br />Thesis availableonline: www.camunda.com<br />

×