• Save
20080215 jbpm Business Process Simulation with Jboss jBPM
Upcoming SlideShare
Loading in...5
×
 

20080215 jbpm Business Process Simulation with Jboss jBPM

on

  • 2,307 views

 

Statistics

Views

Total Views
2,307
Views on SlideShare
2,293
Embed Views
14

Actions

Likes
3
Downloads
0
Comments
0

2 Embeds 14

http://www.slideshare.net 13
http://webcache.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

20080215 jbpm Business Process Simulation with Jboss jBPM 20080215 jbpm Business Process Simulation with Jboss jBPM Presentation Transcript

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