In the final part of this series, you will learn about two advanced analytics features provided by SCPM: the extended process simulation and the Performance Analyzer. The extended process simulation extends the WebSphere Business Modeler process simulation function by allowing users to write scripts for simulation modeling, which makes the tool flexible enough to support more complicated business logic and analysis requirements. The Performance Analyzer enables the quantitative analysis of the causal relations among different performance metrics by using System Dynamics, which is a theory for studying and managing complex feedback systems.
After reading this article, you are expected to be able to do the following:
- Understand SCPM advanced process simulation concepts.
- Recognize SCPM process simulation methodology.
- Understand Performance Analyzer concepts and functions.
This section introduces the advanced simulation functions of SCPM, as well as SCPM process simulation methodology.
As a best-in-class business process modeling and simulation product, WebSphere Business Modeler provides powerful process simulation functions that enable users to conduct what-if analysis by taking cost, revenue, duration, and resource utilization into consideration. It also provides animation to facilitate visual debugging and ease of communication. However, WebSphere Business Modeler is designed to be a generic, all-purpose and easy-to-use tool, which leads to some limitations in handling complex business logic and complex data structures.
Figure 1. Process simulation in WebSphere Business Modeler
SCPM enhances WebSphere Business Modeler simulation by allowing users to write Java™ scripts for each WebSphere Business Modeler process element. You can leverage the scripts to model highly complex logic, read and write external files, and call external Java libraries. Figure 2 depicts the SCPM simulation window with three highlighted areas. The highlighted Expression and Monitor tabs are used to edit scripts and to control SCPM simulation, respectively. The highlighted area on the bottom contains the simulation scripts.
Figure 2. SCPM simulation
Using Java scripts, SCPM enables the following highly flexible process simulation:
- Select decision branches easily
- Easy to define conditions
- Define complex data structure
- Bill of Material (BOM)
- Customer order queue
- Implement complex operations
- Complex mathematical functions
- Complex logics
- Monitor simulation status
- Inventory level
- Queue length
- Leverage third-party Java libraries
This sections shows you how to run a SCPM simulation step by step.
Step 1: Edit scripts for process elements
The first step is writing the simulation scripts. You build the basic process flows in the WebSphere Business Modeler process editor, select the target process element and then switch to the Expression tab. A script editor displays for you to write Java script. For details on the grammar and guidelines for writing SCPM simulation scripts, an "SCPM Process Simulation Reference Guide" is available upon request from SCPM support at email@example.com.
Users can write simulation scripts for process elements, including process steps and decision branches. Below are the six basic types of scripts that SCPM supports:
- Pre-process scripts are executed as soon as the process/task is activated.
- Post-process scripts are executed at the end of the process or task (after a delay time).
- Delay scripts define the delay time for the process or task.
- Cost scripts define the cost for the process or task.
- Revenue scripts define the revenue for the process or task.
- Duration scripts define the duration for the process or task.
Step 2: Create the simulation snapshot
After building the process flow and simulation scripts, the next step is to create a simulation snapshot in WebSphere Business Modeler. The simulation snapshot is created the same way as the WebSphere Business Modeler simulation snapshot. When you are presented with the Check Paths for Terminate Nodes prompt, shown in Figure 3, click No to bypass the check and generate the simulation snapshot directly.
Figure 3. Check Paths for Terminate Nodes dialog
Step 3: Select the simulation method
Step 3 is required to ensure that SCPM simulations run correctly. Once the simulation snapshot is successfully created, you need to open the General tab of the Attributes tab for the simulation snapshot, scroll down and change the Method of selecting an output path to Based on an expression. This configuration enables the parsing of simulation scripts during the simulation run.
Figure 4. Configure simulation method
Step 4: Select whether to run with animation (optional)
This step is optional. As with WebSphere Business Modeler simulation, you can choose to run a simulation with or without animation. You specify this in the simulation settings. Note that using animation significantly slows the simulation progress.
To activate or deactivate animation, do the following:
- Go to the Simulation Control Panel.
- Click Menu.
- Click Settings to launch the Simulation Settings.
- Click Yes or No for simulation animation.
Step 5: Initiate the simulation
After the simulation configuration, switch to the Monitor tab and click the green Run Simulation button, as shown in Figure 5, to start the SCPM simulation.
Figure 5. Run the simulation
You should now be able to see the progress and information of the simulation in the Monitor tab, as shown in Figure 6. Note that the SCPM simulation run is controlled by SCPM Monitor tab, not by the WebSphere Business Modeler Simulation Control Panel.
Figure 6. Monitor tab
Step 6: Save simulation chart and output
You can also use simulation scripts to pop up charts to monitor the real-time trends of certain variables during the simulation run, as shown in Figure 7. Both the charts and the console outputs can be exported to files for further analysis.
Figure 7. Pop-up chart
In this sample ABC Project, we'll use a process called EP.4 Manage ISC Inventory, or Inventory Control, to demonstrate SCPM process simulation. In this inventory control model:
- Customers generate random demands every few days. The demands are put to an order queue for fulfillment.
- A distribution center (DC) checks all the demands in the order queue every three days, and if its inventory can fulfill the demand, the demand is fulfilled immediately.
- The DC checks its inventory every five days. If the inventory level is under safe stock levels, the DC replenishes inventory based on the inventory control policy. There are two policies evaluated in this model, (s, S) and (r, q). These are two typical inventory control policies. For more information on inventory control, refer to the Resources section.
- The inventory is replenished immediately without delay.
Using the WebSphere Business Modeler process editor, we build the process flow, as shown in Figure 8.
Figure 8. Simulation example in ABC project
We develop four process branches to model this business. The demands are generated and aggregated in the first branch. In the second branch, DC checks whether its inventory can fulfill the demands. The third branch decides when to terminate the simulation. The last branch is used for DC inventory control.
We define five timetables and associate them with timers in the process model. Each timetable triggers a particular event at specified time intervals. For example, every five days, a timetable triggers the inventory review at DC, and replenishes inventory when needed.
Figure 9. Set timers
We pre-set Java scripts for the activities and the output branches of the decisions. If you right-click a blank space on the editor, you can view definitions and declarations of the global variables in the Initial tab of the Expression tab, as shown in Figure 10.
Figure 10. Define global variables and make global declarations
One of the goals of this simulation is to compare inventory levels and
evaluate two inventory control policies (s, S) and (r, Q) by switching the
Please note that we use a completely random number generator to generate demands in this application. However, we need random variants generated from some probability distribution. Probability distribution not only allows you to observe the average behavior of your system, but also the extremities. To insert a distribution, right-click the edit area in the Expression tab and select Insert => Distribution Function, as shown in Figure 11.
Figure 11. Insert probability distribution
|Discrete||Binomial, Hypergeometric, Possion|
|Continuous||Beta, Cauchy, Chi square, Exponential, F, Gamma, Normal, t, Uniform|
IBM has developed a methodology that accompanies the simulation tool, and guides you through the whole simulation modeling and analysis, from Key Performance Index (KPI) creation to output analysis. Figure 12 shows a roadmap of the SCPM simulation project methodology
Figure 12. SCPM simulation project methodology roadmap
Effective collaboration between business consultants and the technology team is essential for successful SCPM model creation. The consulting team focuses on project scope, defining simulation scenarios and KPIs, developing AS-IS and TO-BE models and logic, collecting data, and analyzing simulation results. The technical team focuses on developing simulation scripts, running simulations, and providing feedback to the consulting team. Ideally, the technical team should be involved at the start of the project to ensure understanding and control. Figure 13 provides details about each of the nine project steps, as well as roles and responsibilities.
Figure 13. SCPM simulation project methodology - details
This section covers the Performance Analyzer feature of SCPM.
The Performance Analyzer is designed to clarify the intra- and inter-relationship between processes and metrics. You can design four kinds of models in the Performance Analyzer, which are used to analyze performance models with different level of details,
Each one of these models provides a different viewpoint of problems in supply chain management. The ABC Project contains one of each as examples. Performance Analyzer models are located under Supporting Tools in the SCPM Navigator, as shown in Figure 14.
Figure 14. Performance Analyzer models in SCPM Navigator
Now let's briefly go through the four kinds of models one by one.
The Linkage model provides the most simplistic view of the linkage between different elements like KPIs, Critical Success Factors (CSF), and objectives. It is used to link the Value Driver Tree and Metrics Tree elements together. The Linkage model example in Figure 15 shows how improved customer service is linked to supply chain flexibility, responsiveness, and reliability.
Figure 15. The Linkage model
The Qualitative model enhances the Linkage model by assigning a qualitative impact to each link, which can be a positive, negative, or unknown impact. This model analyzes the qualitative effect of a KPI change on the basis of linkage. It is also used to perform simple analysis by identifying trend changes between child and parent nodes. The example model in Figure 16 shows how increase in source, make, and delivery cycle times leads to an increase in order fulfillment cycles, which ultimately leads to a decrease in customer responsiveness.
Figure 16. The Qualitative model
The Semi-quantitative model is also known as the Analytical Hierarchy Process (AHP) model. It helps to analyze the priorities of different KPIs. The example in Figure 17 shows shows how flexibility, the most influential factor in improving customer service, would be used to support engagement efforts focusing on this area.
Figure 17. AHP Model (Semi-Quantitative)
The Quantitative model, also known as the Systems Dynamics (SD) model, helps to analyze the impact of the quantitative relationships among critical model elements. This model utilizes the System Dynamics engine for driving the simulation and optimization. SCPM provides an editor to input the mathematical equations for building these quantitative relations. The example in Figure 18 shows how, with increase in SCM cost and Cost of Goods Sold, profits decrease unless there is a significant increase in sales.
Figure 18. The SD Model (Quantitative>
System Dynamics is a theory for studying and managing complex feedback systems. For further reading on System Dynamics, please refer to the Resources section.
The exercise in this section shows you how to use SD to analyze complex problems. In this exercise, we will use a very easy-to-understand example – the Rabbits in Australia. Initially, there are 24 rabbits. As rabbits are born and die, the populations change over time. Our goal is to model the changes in the rabbit populations given different birth rates and different average life times.
- The first step is to build the rabbit population model as follows:
- Create a new Quantitative Performance Analyzer model named Rabbit Population.
- Add five Other nodes to the model, called
average life time,
- Link the nodes together as shown in Figure 19.
Figure 19. Rabbit Population
- The second step is to set the values of the variables and quantify the
relations of the nodes.
Birthsis proportional to
birth rate, and
deathsvaries inversely with
average life time.
- Specify the following equations using the Quantitative
- birth rate = 0.125
- average life time = 8
- births = birth rate * Rabbit Population
- deaths = Rabbit Population / average life time
- Edit the Rabbit Population node as shown in Figure 20:
- Set Variable Type to Level.
- Set Expression to = Integral and
- Set Init Value =
Figure 20. Edit the Rabbit Population node
- Specify the following equations using the Quantitative Relations editor:
- The third step is to run the model.
- Set the time span of the simulation from 1859 to 2000 years,
as shown in Figure 21.
Figure 21. Set simulation configuration
- Click the Run Simulation icon in the toolbar of the
view to run the simulation. At end of simulation, you can save
the simulation results, and switch to the Simulation
Result tab to view them, as shown in Figure 22.
Figure 22. Simulation results
Note that this model has been designed to show equilibrium conditions in the rabbit population since we set the values of birth rate and average life time (death rate) to be a constant (12.5%).
- Set the time span of the simulation from 1859 to 2000 years, as shown in Figure 21.
- The fourth step is to play with parameters and conduct what-if
analysis. Let's change the birth rates to generate unconstrained
growth. This results in one of the simplest possible dynamic
behaviors, known as exponential growth.
- Right-click the
birth ratenode and select Scrollbar Setting.
- Set the Maximum to
1and the Step Increment to
- Use the scroll bar to change the birth rate to
- Right-click the
- Run simulation again, and you will see the exponential growth, as
shown in Figure 23.
Figure 23. Analyze the model
- Run the model and readjust the sliders until you get as good a match as possible. Also, try other variables that you think may have an impact. You can also compare a model between different time spans. After a model is built, you can select another time period in which to run the model.
In the final part of this series you learned about advanced SCPM process simulation concepts, SCPM process simulation methodology, and the Performance Analyzer.
In this series of articles you gained a holistic understanding of the Supply Chain Process Modeler tool. You learned the positioning, methodology, key functions and operations, and advanced analytics features of SCPM. You should now be able to begin to use SCPM to do supply chain process modeling and analysis.
|Sample ABC Project||ABC_Project.zip||1.3MB||HTTP|
- Towards a flexible business process modeling and simulation
environment, 2008, Changrui Ren, Wei Wang, Jin Dong, Hongwei Ding,
Bing Shao, Qinhua Wang, in Proceedings of the 2008 Winter Simulation
Conference, ed. S. J. Mason, R. Hill, L. Moench, and O. Rose,
- Linking Strategic Objectives to Operations: Towards a More Effective
Supply Chain Decision Making, 2006, Changrui Ren, Jin Dong,
Hongwei Ding, Wei Wang. 2006, in Proceedings of the 2006 Winter Simulation
Conference, ed. L. F. Perrone, F. P. Wieland, J. Liu, B. G. Lawson, D. M.
Nicol, and R. M. Fujimoto, 1422 - 1430.
- Inventory Control (Second Edition), 2006, Sven Axsater,
- Industrial Dynamics, Forrester, J. W., 1961, The MIT
- Rabbits in
WebSphere Business Modeler : Get product information.
WebSphere Business Modeler V7 Information Center: Get complete
developerWorks BPM zone: Get the latest technical resources on
IBM BPM solutions, including downloads, demos, articles, tutorials,
events, webcasts, and more.
Journal: Get the latest articles and columns on BPM solutions in
this quarterly journal, also available in both Kindle and PDF versions.
Changrui Ren is the manager of Supply Chain Optimization team at IBM Research in Beijing, China. He joined IBM in 2005 after receiving his Ph.D. in Control Science and Engineering from Tsinghua University in Beijing, P.R. China. He has led multiple research projects on business process management, performance management, and supply chain management.
Bing Shao is a Staff Researcher at IBM Research in Beijing, China. He joined IBM in 2006 and has been driving activities to integrate industry process standard models with end-to-end supply chain transformation. He holds a Master's degree in Computer Science from Harbin Institute of Technology, Harbin, P.R. China.
Miao He is a Researcher at IBM Research in Beijing, China. She joined IBM in 2009 after receiving her M.S. degree in Industrial Engineering from Tsinghua University in Beijing, P.R. China. Her research interests include supply chain management, business process management, clinical decision making and stochastic dynamic programming.
Jin Dong is the Cluster Executive of Industry Solutions at IBM Research in China. He is also the Leader of the IBM China Analytics Center. He received his Ph.D. from Tsinghua University P.R. China in 2001. Before joining IBM, he was the Research Assistant Professor in the Industrial Engineering Department of Arizona State University in the US.