Balanced Scorecard Designer automatically generates one rule file for each Balanced Scorecard. This rule file contains the following sections.
Initialization. This section creates an infopad containing the weights of the perspectives. The Perspective Weight infopad contains one row for each perspective in the scorecard. The lone slot in the cell provides the weight for that perspective, and each slot has an alarm that is triggered with the weight changes. This event triggers a rule that updates the overall score. Initialization creates a dynamic infopad for the overall score, with one row created for each month. The lone slot in the definition cell provides the score. Initialization also creates a dynamic infopad for each perspective, with one row for each month and one column for each KPI in that perspective. For more information, see Main Scorecard Group Rule.
Finalize. This section contains an entry for each of the infopads created that will destroy them when the rules are unloaded.
The rule file also contains the following rule groups:
Update Values. Updates the current values of the appropriate infopads. The Update Values rule vary depending on the KPI type and the number and type of data sources. If the KPI type is additive, then the Business Process Portal adds the value of the data source to the KPI’s current value slot. If the KPI type is averaging, then the Business Process Portal averages the value of the data source to the KPI’s current value slot. If the KPI type is replace, then the Business Process Portal action replaces the current value with the value of the data source.
Main Scorecard Group. Contains the escalation rules for calculation, rules that update the infopads when the collection process completes; and a rule that adds a row to all the dynamic infopads on the last day of a month and schedules the next month’s event. Cells in each infopad have an alarm that trigger a different update rule. Rules included in this group include:
Perspective BestValue Rule: Each perspective contains one best value rule, which is triggered when a BestValue slot has changed in a cell. It recalculates the score for the relevant KPI.
Perspective WorstValue Rule: Each perspective contains one worst value rule, which is triggered when a WorstValue slot has changed in a cell. It recalculates the score for the relevant KPI.
Perspective CurrentValue Greater Than Rule: Each perspective contains one CurrentValue Greater Than rule, which is triggered when a CurrentValue slot has changed, and the NegativeRange for that cell is ‘F’, meaning that the BestValue is greater than the WorstValue. The rule checks that the CurrentValue is less than BestValue; or it sets BestValue to the CurrentValue and checks that the CurrentValue is greater than WorstValue; or it sets WorstValue to the CurrentValue. It then generates an event that triggers a rule to recalculate the score.
Perspective CurrentValue Less Than Rule: Each perspective contains one CurrentValue Less Than rule, which is triggered when a CurrentValue slot has changed, and the NegativeRange for that cell is ‘T’, meaning that the BestValue is less than the WorstValue. The rule checks that the CurrentValue is greater than the BestValue; or it sets BestValue to the CurrentValue and checks that the CurrentValue is less than the WorstValue; or it sets WorstValue to the CurrentValue. It then generates an event that triggers a rule to recalculate the score.
Perspective CurrentValue Update Rule: Each perspective contains one CurrentValue Update rule, which is triggered by the event generated by the CurrentValue Greater than rule or the CurrentValue Less than rule. It then recalculates the score of the affected cell.
Perspective RelativeWeight Rule: Each perspective contains one RelativeWeight rule, which is triggered when the relative weight slot has changed in a cell and the affected cell is not in the last row of the infopad. It updates the sum of the weights in the last column. Then it issues an event for each KPI in the perspective that recalculates the score for each cell, triggering the CurrentValue Update rule.
Perspective Score Rule: Each perspective contains one Score rule, which is triggered when the score slot has changed in a cell. It then recalculates the perspective score.
Perspective BSCard Rule: Each perspective contains one BSCard rule, which is triggered when the Perspective score slot has changed. It issues an event that triggers a rule to recalculate the main overall score.
Perspective BPServerUpdate Rule: Each perspective contains one BPServerUpdate rule, which is triggered when the perspective subprocess W_COMPLETED event is sent. It then updates the CurrentValue for every KPI in the perspective.
Perspective Weight BSCard Rule: Each perspective contains one Perspective Weight BSCard rule, which is triggered when the weight for a perspective has been updated. It then triggers a rule to recalculate the main overall score.
Overall UpdateMainBSC Rule: Each perspective contains one UpdateMainBSC rule, which is triggered when perspective weights or scores change. It then updates the main overall score.
AddRowsToScorecardInfopads Rule: Each perspective contains one AddRowsToScorecardInfopads rule, which is triggered when the scheduled event is sent. For each of the dynamic infopads (i.e., each of the perspective infopads and the main scorecard infopad), a row is added and the values from the previous row are copied into the new row. Finally, an event is scheduled to trigger the rule on the last day of the next month.