IBM FileNet Process Simulator is a fully integrated component of the IBM FileNet Business Process Manager (BPM) suite. Process Simulator can perform process simulation and what-if scenario analysis based on live or assumed data. Thus, you can discover how to remove bottlenecks, better align resources, and reduce overall costs to maximize your business processes.
Process Simulator has the following components or tools to perform its functions:
- Simulation Designer defines the scenario, specifying which workflow to simulate, as well as the work schedules (shifts) and resources for the simulation.
- Simulation Animator provides views of simulations generated from scenarios graphically as the workflow progresses from one step to another, displaying key statistics.
- Simulation Console manages the scenarios (simulation definitions) and animations (simulation instances).
What is more, Process Simulator can work closely with the other two IBM FileNet BPM components, Process Designer and Process Analyzer, to ensure that a closed loop optimization can be continually practiced and enforced.
Figure 1. Closed loop process optimization diagram
- Process Designer and Process Simulator share the same workflow maps — one workflow is designed in Process Designer, and then it is imported into Simulation Designer to define the simulation scenario.
- Process Simulator simulates the business process, and the statistics data can be fed into Process Analyzer to help validate assumptions and reduce implementation risks.
- The analytics data can be fed into the process design and simulation scenario to optimize the business process.
This article is intended to show step-by-step instructions about using Process Simulator, including Simulation Designer, Simulation Console, and Simulation Animator, to enable process simulation for what-if analysis based on the sample claim process of XYZ Company.
XYZ Company wants to control its claim process with IBM FileNet BPM. To simplify the scenario, the sample process only contains three phases. In the claim initialization phase, the claimer fills out a form and submits it to start a claim process. In the claim review phase, if the claim amount is less than $5000, the claim is checked with the claimer's fraud history by the reviewer and goes into the next phase. If the claim amount is equal to or larger than a $5000, the proof check branch is also initiated at the same time. Only when the fraud history check and the proof check finishes can the workflow go into the next phase. In the claim approval phase, the manager approves the claim if none of the checks needed fails.
Figure 2. The sample claim process of XYZ Company
To open Simulation Designer, log in to FileNet Workplace with an administrative privilege. Navigate to Author > Advanced Tools, and select Process Simulation Designer. By default, an empty scenario is created for you.
- The Workflows area lists the workflow definitions included in the scenario. You can use the buttons on the Workflows toolbar to add and delete workflow definitions.
- The Map area displays a map of the selected workflow. You can select each step on the map to specify the processing duration on the Step tab.
- The Arrivals tab displays start and end settings and arrival frequencies for the selected workflow. You can specify multiple arrivals for a workflow.
- The Step tab displays step duration and route weight for the selected step. You can specify the amount of requests for each branch in proportion.
Figure 3. Simulation Designer overview
Select Import Workflow from the Simulation Designer Tools menu to import an existing workflow definition. You can pick up the definition from Local Storages, Content Services, or Process Engine. Here, select Local Storage to find and select the definition file ClaimProcess.pep. The Simulation Designer validates the workflow during the import process. Ensure you receive no error message when importing it into the scenario.
Figure 4. Import a workflow into the scenario
Once you've imported the workflow definition, you have to specify the arrivals for the workflow. The arrivals defines how the simulation data is generated.
- First, click on the workflow ClaimProcess in the Workflow area in the left column, then select Custom Arrival Data for Arrival Type. If you select Production Data, you need to import the actual data from the Process Analyzer.
- A default arrival named Default_Arrival is created for you. Select the default arrival.
- Under Start Data & Time, select Use Scenario Start Date and Time. You may also specify your own date and time by selecting Data & Time and picking up the time.
- Under End Data & Time, select No End Time. You may also specify a time to end the simulation if necessary.
- Under Occurrence, enter
1for the number of times (Quantity) this workflow will arrive. Then select Each Interval and enter
15 Minutesto specify how often the workflow will arrive.
In this example, you specify 1 (quantity) every 15 minutes. The simulation will start one workflow at the start of every fifteen minutes. Once the workflows start arriving, they will continue at the specified interval until the quantity limit of the system is reached or the simulation is ended. You may also select Distributed Over to specify an amount of time over which the specified quantity of arrivals will occur. The arrival interval for the quantity will be distributed over that time. For example, if you specify 10 (Quantity) distributed over 2 minutes, the simulation will start one workflow every 12 seconds.
Figure 5. Specify arrivals for the workflow
When you finish specifying the arrivals at the workflow level, you need to specify simulation properties for each steps and routes in the Step tab. These properties determine how the simulation goes.
- Click on the step Initialize Claim, and then click on the Step tab in the right column.
- Under Duration, enter
1 Minuteto specify the time it takes for the participant to process the selected step when the participant works at 100% efficiency.
- Under Route Weight, you may specify the weighted percent for
each route. Enter
100%for the "To Fraud Check" route and
20%for the "To Proof Check" route.
Because in this example there are multiple routes and all true routes can be taken (a parallel route), each route can have a route weight of 0% to 100%. For a single route, the weight is 100% and cannot be changed. Where there are multiple routes, the total of the route weights should be less than or equal to 100%; each route weight should be 0% to 100% inclusive.
Figure 6. Specify simulation properties for steps and routes
Repeat the previous steps for each step in the workflow.
Table 1. Simulation properties for each step
|Step name||Duration||Route weight|
|Initialize claim||5 minutes||To Fraud Check: 100% ; To Proof Check: 20%|
|Fraud history check||1 minute||Fraud Check Result: 100%|
|Proof check||30 minutes||Proof Check Result: 100%|
|Approve claim||2 minutes||N/A|
You now need to specify the properties of the scenario to make the simulation workable. This includes defining the general properties, shifts, jobs, and resources.
Under the View menu, select Scenario Properties... and
display General tab. Enter
ClaimProcessScenario for Scenario Name,
and keep the others default. You may also specify your own simulation
start and end time.
Figure 7. Specify the general properties of the scenario
A shift defines a work schedule — frequency, start time, duration, and other options, such as delayed start.
- On the Shifts tab, click on Default_Shift on the left column and display Schedule tab on the right column.
- On the Schedule tab, select Once, and specify the date and time when this shift takes effect. This means that the shift will take place exactly once at the specified time when the simulation is running. Note that the time specified in the schedule MUST be consistent with the simulation data start and end time. This example sets the simulation data active from 8:00 to 17:00 on the date 9/27/2008. The date and time on the Schedule tab should be within this period, or no resource will process the data. You may also select Daily or Weekly to specify a different schedule.
8hours for Duration of the default schedule.
Figure 8. Specify the Shifts properties
A job defines an activity that corresponds with work in a specific queue. "Take a job" means the assignee will deal with the work items in the job-related queue.
- On the Job tab, delete the default job if it exists and select Add on the Job toolbar to add a job. You can define the jobs on the Job tab.
- Rename the job to
ClaimerJob, and select Inbox queue. You may also select multiple queues and sort them. The queues on the top take priority of the processing list.
- Repeat this to create
FraudReviewerJobwith FraudReviewer queue,
ProofReviewerJobwith Inbox queue, and
ManagerJobwith Inbox queue.
Figure 9. Specify the Job properties
A resource specifies one or more human users or other resources available to do the work. You can define the resources on the Resources tab.
By default, three resources named claimer_jack, proof_reviewer_lily, and manager_tom are created for you. They are recognized as a human participant in the workflow step definition. Do NOT change the names of the three resources, or the designer will complain about it during the validation.
Because the step Fraud Check is associated with a work queue, you can create a new abstract resource for the related job FraudReviewerJob.
- Under the Resources tab, select Add on the Resources toolbar to add a new resource.
- Rename the resource to
fraud_reviewer_sysand select System for Resource Type. You may also select Participant to indicate one user. Workgroup indicates one or more users, where you then enter the quantity. System indicates other resources, such as printers.
1for the quantity of the resource.
1.0for Cost/Hour for the resource of the assigned shift. The Cost/Hour represents the cost you might have to pay per hour for the resource such as an employee salary and so on.
- Under Assigned Shifts, select Modify on the toolbar, and then select Default_Shift.
- Change the job to FraudReviewerJob.
- Repeat the previous steps to modify the resources claimer_jack, proof_reviewer_lily, and manager_tom.
Figure 10. Specify the resources properties
Table 2. The properties of the resources
|Name||Resource type||Quantity||Cost/Hour||Assigned shifts|
|claimer_jack||Participant||1||1.0||Default_Shift - ClaimerJob - 100%|
|fraud_reviewer_sys||System||1||1.0||Default_Shift - FraudReviewerJob - 100%|
|proof_reviewer_lily||Participant||1||1.0||Default_Shift - ProofReviewerJob - 100%|
|manager_tom||Participant||1||2.0||Default_Shift - ManagerJob - 100%|
When you finish creating the scenario in the Simulation Designer, you need to validate the scenario to catch any errors, then save the scenario in your object store before you run the simulation.
- Select Validate Scenario on the Simulation Designer toolbar. Please ensure that you eliminate any error or warning and see the validation success message.
- Click on Start Simulation on the Simulation Designer toolbar. Select the folders to store the scenario definition file and animation file that contains simulation result respectively in the object store.
- If there is no error, you will see the success message, and the simulation is started.
Figure 11. Validate and run the simulation
To open the Simulation Console, you have to log in to FileNet Workplace with an administrative privilege. Navigate to Author > Advanced Tools, and select Process Simulation Console. In the Simulation Console, you use a scenario to generate a simulation that contains an animation of the running workflows and statistics you can examine. The Simulation Console is organized into three panes:
- The Folder pane, which shows the folders that you have mapped, that is, the location (in an object store) of the scenario and simulation files.
- The Content pane, which displays the scenarios and simulations in the folder you select that you have access rights to.
- The Message pane, which contains error, warning, and informational messages.
Figure 12. Simulation Console overview
If the folder where you store the scenario and simulation files does not exist on the left folder pane, you first need to map it:
- Suppose you put the files in a folder named Simulation under the object store during the "Validate and run the simulation" step. Right-click on Root on the folder pane, and select Map Folder.
- Navigate to the Simulation folder, and select it.
Now the folder is displayed on the left column and you can find the scenario and simulation files you stored.
Figure 13. Map a folder
You can manage the scenario and simulation files with the Simulation Console:
- You can delete unnecessary files in the mapped folder.
- You can double-click the scenario definition file to check it out and open the Simulation Designer to edit it.
- You can select Start Simulation on the Simulation Console toolbar to start a simulation.
- You can also double -lick the simulation file to open the Animator to view the animation.
You can start Simulation Animator from the Simulation Console. Double-click the animation file generated, which has a green check on the left, and you can open the Animator console.
Figure 14. Simulation Animator overview
Select Start animation on the Animator toolbar to start animation. When an animation is played back, you can watch the work items graphically move from one step to the next on the displayed map. The simulation time and the statistics are updated as the animation plays. A work item indicator represents a work item when it is moving from one step to another. The number on top of each step indicates the number of active work items at the step at the time.
Figure 15. Play an animation
When the animation is completed, you can check the workflow status during the animation with statistics at the bottom pane.
- The Simulation Statistics tab displays the scenario file name, simulation start time, simulation end time, and duration.
- The Workflow Statistics tab displays statistics for each workflow as well as the combined statistics for all the workflows in the scenario.
- The Step Statistics tab displays statistics for each step from the currently displayed workflow map.
- The Queue Statistics tab displays statistics for each queue used by the scenario.
- The User Statistics tab displays statistics for each user that performed work in the simulation.
With the five perspectives the Animator offers, you can analyze the performance of the workflows. If you are interested in the cost of the resources, you can refer to the User Statistics tab.
Figure 16. User statistics
You can see that the resource proof_reviewer_lily gets the highest Average Cost measured in dollars. To get further information, select the Step Statistics tab. You know that proof_reviewer_lily is assigned with the Proof Check step. You can see that although the cost of the Proof Check step is not very high, its average cost is the highest.
Figure 17. Step statistics
If you scroll the view left, you can see the statistics of the processing time for each step. You may easily find out the reason why the cost is so high is because the average completion time of this step is too long.
Figure 18. Step statistics (continued)
So the workflow may need to be modified to reduce the processing time of the Proof Check step. It may look similar to Figure 19.
A step named Proof Check Plug-in is inserted between the Initialize Claim step and the Proof Check step. This step may automatically connect to the police office to get the claim-related material, which can greatly reduce the effort of the proof checker.
Figure 19. A modified workflow to reduce processing time
To keep things simple in this example, the bottleneck of the workflow is very easy to find. However, in an actual large workflow system, things become complex. The Process Simulator offers you an ability to view the simulated runtime status of the system before you really deploy it.
This article introduced how to simulate your business process using IBM FileNet Process Simulator. It first reviewed the overview of Process Simulator and its position in the closed loop process optimization. Given the sample claim process of XYZ Company, it then used step-by-step screen shots to illustrate how to implement a simulation scenario with Simulation Designer, how to manage the scenarios and simulations with Simulation Console, and how to play an animation and analyze the statistics with Simulation Animator.
After simulation, all the simulated statistic data can be collected into Process Analyzer for OLAP-based reporting and analysis for process optimization.
|Sample Claim Process Definition Files||ClaimProcess.zip||4KB||HTTP|
developerWorks resource page for Enterprise Content Management:
Find articles and tutorials, and connect to other resources to expand your
skills on FileNet and other content management products.
FileNet Business Process Manager:
Learn how IBM FileNet Business Process Manager manages workflow among
people and systems for content and human-centric processes.
- developerWorks Information Management zone:
Learn more about Information Management. Find technical documentation,
how-to articles, education, downloads, product information, and more.
- Stay current with
developerWorks technical events and webcasts.
- Technology bookstore:
Browse for books on these and other technical topics.
Get products and technologies
- Build your next
development project with
IBM trial software,
available for download directly from developerWorks.
- Participate in the discussion forum.
- Participate in
and get involved in the developerWorks community.
Xiong Fei Pan is a software engineer from IBM China Development Lab in Shanghai, China. He is working on Federated Integration Test projects, and his expertise includes Enterprise Content Mangement and Service-Oriented Architecture (SOA).