Resource Definition
To achieve successful simulation, you need a complete process model without serious errors. Like any complex system design activity, process modeling is best suited to iterative approaches. Capturing general flow is very important, including the flow direction and control flow of the required tasks and flows. You can also set various dependencies for the process, such as timelines and resource availability.
The most difficult aspect of Process Modeling involves understanding the business context-business goals and how to define metrics to ensure that goals are achieved. Even the most sophisticated business analysts need to visualize multiple scenarios to better understand how the process can be optimized.
IBM Redbook Business Process Management: Modeling through monitoring using WebSphere V6 products provides detailed case studies for the analysis involved in filling the process model attributes. This case study tracks an order processing process and develops the following requirement matrix:
-
Roles and costs
-
Indicates the number of employees in each role and the cost allocation of activities.
-
Duration
-
Indicates the duration of a person or system task for a specific role or activity.
-
Availability
-
Resource availability is indicated by the resource allocation schedule.
-
Process Decision Probability
-
The probability of using certain process paths with multiple branches.
Once this analysis is completed, you must complete the following tasks to prepare the Websphere Business Modeler simulation environment:
- Fill role resources with cost and availability
- Fill in the duration of all activities
- Fill in the probability of all decision output branches
When creating a process model, it includes the required tasks and indicates the data in the process and the flow of control. You can also set various dependencies for the process, such as timelines and resource availability. Access the simulated environment by defining a simulated snapshot with a simulated summary. Simulate the snapshot capture process at a specific time point, including all the current default values and the input data of the included tasks and activities.
Simulate Snapshot
To create a simulated snapshot, perform the following operations:
- Select the process to be simulated in the project tree:
- Right-click the process and selectSimulate.
In this case, you can see a new simulated snapshot in the project tree, as shown in figure 1 below. It is named by the original process name and time stamp. The simulated snapshot contains a local simulated preference folder named ults and a simulated overview. These default local simulation preferences are copies of the global simulation preferences when a snapshot is created.
Figure 1. Process Simulation Snapshot
A simulated snapshot is a record of the process model at a specific time point. This record contains copies of all process elements (such as business items, resources, and global tasks. Each simulated snapshot contains an initial simulation overview. This simulation includes a copy of the process model when a simulated snapshot is created. You can customize the processes included in the simulation summary and create other simulation summaries in the same simulation snapshot. Generally, when you operate the fields in the simulation summary to determine the impact on the process results, multiple simulation summaries will be created for the simulation snapshot.
After making changes to the project or process itself, we recommend that you create additional simulated snapshots for the process to compare the effects of these changes. A simulated snapshot is a copy of the process model and other project elements at a specific time point. If you make changes to the process model or other process elements, your changes will not be reflected in the simulated snapshot and the simulation summary it contains.
Process Simulation settings
Simulation properties allow you to configure a process so that it works in a similar way as a real business process. When running a simulation, you can define the variables you want to measure and analyze.
There are multiple ways to set simulated attributes: Global, local, or process or task level. The priority of these settings is:
-
Global simulation attributes
-
All simulated snapshots inherit those attributes.
-
Partial simulation attributes
-
The value in the ults folder of the simulated snapshot. The initial value is a copy of the global attribute when a snapshot is created. If these values are changed, they take precedence over global values.
Note that when the local attributes in the ults folder are updated, all subsequent simulation summaries will inherit those new attributes.
-
Process and task attributes
-
It is specific to a single simulation summary and covers both global and local simulation attributes. You can use the attributes view to update attributes of each simulation summary.
Global simulation preferences
Similarly, the global simulation preferences include the default values of the local preferences of any newly created simulated snapshots. To view and set global simulation properties, perform the following operations:
- SelectWindow> preferencesTo openPreferencesWindow.
- In the navigation tree, expandBusiness modeling> SimulationFolder to view the global simulation attributes. You can set simulated attributes in the following categories:
- Database Connection
- General
- Labels
- Tasks
- Token Creation
- Visual attributes
- Select a category and update the value as needed.
- SelectOKClose the preferences window.
Figure 2 shows the general category.
Figure 2. Global simulation preferences
Local simulation preferences
The local preference indicates the default value of the simulated attribute of the summary in the process snapshot. These values are included in the defaults folder, and the initial values are inherited from the global simulation preference. These local simulation preferences are then used as the default values of any new simulation profiles created by the current snapshot, but the existing profiles are not affected. Because local preferences take precedence over global preferences, they are useful if you want to change the basic preferences of a running simulation without modifying Standard settings.
To modify the local simulation preferences, perform the following operations:
- Expand the simulated snapshot folder in the project tree.
- Double-click SnapshotUltsFolder to open the simulated default settings in the simulation local preferences Editor, as shown in 3.
- In the navigation tree of the editor, select an attribute category and update the value as needed.
- Save the changes.
Figure 3. Local simulation preferences
Similarly, if you make changes to the local settings, we recommend that you create a new simulation overview. Each time a process or project is changed, a new simulated snapshot must be created.
Process Simulation attributes
Process Simulation attributes are defined as the overall process conditions and behaviors. The attributes set at the process level take precedence over global and local settings. For example, if you want to run a simulation with a specific input but do not want the input to continue to any other simulation, you can update the process simulation settings.
To set the process simulation attribute, perform the following operations:
- Double-click the target simulation summary to open it in the simulation editor.
- To view the process attributes, make sure that you select the process instead of an activity in the process. In the figure, click the area other than the activity to select the process as a whole.
- In the attributes view, select the corresponding attribute Category tab and update the value as needed. See the example in figure 4 below.
- SelectFile> SaveTo save the changes.
Figure 4. Process Simulation preferences
The updated Process Simulation attributes are only applied to the current simulation summary. As described earlier in this tutorial, if a new simulation overview is created, it inherits the global and local simulation preferences, rather than the modified process simulation attributes.
For more information about the process property preferences, see online help.
Activity simulation attributes
Now you have seen three different ways to set attributes for the simulated process. You can also set values for the simulated attributes that define the conditions and behaviors of each activity in the process. If you want to run the "what if" scenario only for the cost or performance of one or two tasks in a large process, you can adjust the attributes of those specific tasks, the attribute values of other tasks and activities in the simulation are not affected.
To update the attributes of a separate task, follow the same process as setting the simulated attribute value of the process, but make sure to select activity rather than the process. Alternatively, you can update the attributes of each task in a convenient table format.
5. To use the task attribute summary table to set simulation values for a specific task, perform the following operations:
- At the bottom of the simulation chart, select the simulation attributes tab to display the simulation Attribute Table.
- Locate the attribute value field in the row of the target task and update it as needed.
- SelectEnterAccept changes in the table.
- SelectFile> SaveSave all changes.
Figure 5. Task Simulation preferences
For more information about task property preferences, see online help.
Now you have seen how to update global, local, process, and task attributes. Next, we can start to run the simulation and analyze the results under different conditions.
Create Token
To run a process simulation, you must provide one or more inputs to the process. In the simulation summary, the token represents the input of the Flow Process and the activity in the process. A token corresponds to a unit of work received and transmitted between different activities in the process flow. Some tokens indicate data transmission between activities, while other tokens only indicate transfer control.
You can specify the token creation settings for any input associated with the data, whether it is the input to the process or the input to the activity in the process. By setting a time trigger, you can specify the rate at which tokens are created for an input. The time trigger can be a periodic interval or a variable interval defined by a certain distribution. You can also set the number of tokens to be generated, the number of tokens to be generated at one time (the number of tokens in each batch), and the one-time cost of each token. You can set each attribute to a constant value or a variable value defined as a certain distribution. You can also select a time table to define the token creation cycle.
Simulation result
The simulation provides information about two types of processes:
-
Simulation statistics
-
Generated during simulation.
-
Simulation result
-
Compile upon completion of Simulation
Terms
Simulate sessionProcess snapshot at a certain time point. Each simulated operation creates a set of results retained in the database and is represented by a result node in the simulation summary in the project tree.
Each running process is calledProcess instance. Each process instance represents a specific execution path orCaseThe possibility of selecting one path instead of another is defined by probability. Finally, each running task in the process instance is calledTask instance.
Simulation statistics and result settings
You can select the drop-down menu icon () in the upper-right corner of the simulation control panel ()> SettingAccess the simulation settings, as shown in figure 6.
Figure 6. Simulation statistics and result settings menu
You can enable or disable collection of statistics and results, and specify the number of processes to be displayed. You can disable the animation During the simulation so that the simulation can run faster. If an animation is enabled, you can use the speed slider to adjust the animation pace, as shown in 7. Finally, you can choose to retain the final result.
Figure 7. Simulation statistics and result settings
Simulation statistics indicate detailed information about the tasks and connections in the overall process and process. SelectProcesses,TasksAndConnectionsTab to view the generated data, as shown in Figure 8-10.
SelectProcessesTo view data related to the simulated process, including start time, revenue, cost, and profit.
Figure 8. Simulation statistics -- Processes
SelectTasksTo view statistics related to the tasks executed in the process, including the number of currently activated instances for each task and the cumulative cost, revenue, and profit for each task. Each token passing through the process will display a row of data separately.
Figure 9. Simulation statistics-Tasks
SelectConnectionsTo view the number of tokens transmitted between each activity in the process.
Figure 10. Simulate statistical information-connections
These details are constantly updated when the simulation is in progress. You can choose to display the statistics of each process instance or the statistics collected based on all process instances. If collected statistics are displayed, the statistics include average values such as cost and duration, and standard deviations for each displayed average.
When you run the simulation, the tool stores the simulation results in the database, and adds a simulation result node to the project tree as the subnode of the simulation summary. If multiple consecutive copies of a simulation are run, each copy generates its own simulation result node.
Probability and Expression
A process usually contains multiple paths. Each simulated operation represents a potential case or process instance. These changes are generated by assigning probabilities or expressions to decision points in the process. The expression specifies the method for selecting the path through the process. Therefore, to truly understand the process behavior as a whole, you should run multiple simulations-enough to cover the defined probability in order to obtain a statistically meaningful result set.
In most cases, you only specify the probability of decision selection and loop. In addition to low-level analysis that requires a lot of detail, it is sufficient to perform most of the simulation. Alternatively, you can use expressions for low-level future business models and models that clearly define the inbound and outbound interfaces of tasks and other elements (such as decision-making. When you set expression-based simulation, you will model how the data is processed when the specific data passes through the process. Expressions are ideal for capturing information about conditions and business rules in the model.
Probability distribution can be assigned to the following objects:
- Create Token
- Task completion time
- Task cost
- Task income
- Decision Path
Websphere Business Modeler supports the following distribution:
Beta |
Indicates the validity of the result. |
Continuous |
The generated value is evenly distributed. |
Erlang |
Used to indicate the waiting time in the queue system |
Exponential |
Useful when raw data is highly skewed; used to describe economic phenomena and scientific events such as Attenuation |
Gamma |
Used for consecutive random variables with a constraint of> = 0, which is related to the waiting time. |
Johnson |
Optimal Distribution |
Lognormal |
Used for Random Variables greater than 0 |
Normal |
Typical symmetric distribution, with values mainly concentrated in the middle ("bell-shaped curve ") |
Poisson |
Use with low probability and high chance |
Random list |
Random probability of Value Selection |
Triangular |
Most likely value |
Uniform |
Even Distribution of Values |
Weibo |
Model Reliability |
Weighted list |
Weighted probability of each value |
The setting of each distribution depends on the selected type. For more information about setting probabilities and expressions in the process model, see online help.
Resource allocation
A task generally depends on associated resources, and technically, it will not start execution until it obtains the most basic necessary resources. The resource allocation of a task is affected by the creation settings of the input token, the input logic, and the resource availability. The overall processing time of a task is based on its resource allocation schedule and associated resource schedule, as shown in Figure 11.
Figure 11. Task Resource Allocation
Summary
A process indicates a complex system that contains various cases or potential paths. The statistical information of each group of paths is affected by the decision-making probability and group task behavior. The process behavior during the simulation may be quite complex and depends on the probability and expression defined for each branch and the task Resource requirements involved