skip to main content
Corticon Studio: Rule Modeling Guide : Troubleshooting Rulesheets and Ruleflows : Using Corticon Studio to reproduce the behavior : Identifying the breakpoint
 

Try Corticon Now
Identifying the breakpoint
To understand why your rules are producing incorrect results, it’s important to know where in the Rulesheet or Ruleflow the rules stop behaving as expected. At some point, the rules stop acting normally and start acting abnormally – they “break”. Once we identify where the rule breaks, the next step is to determine why it breaks.
An important tool to help identify the breakpoint is the Ruletest’s message box. By choosing values for Post and Alias columns in the Rule Messages window, you can generate a trace or log of the rules that fire during execution. The message box in a Ruletest will display those messages in the order they were generated by Corticon Server. In other words, the order of the messages in the box (top to bottom) corresponds to the order in which the rules were fired by Corticon Server. While messages in the message box can also be sorted by Severity or Entity by clicking on the header of those columns, clicking on the Message column header will always sequence according to the order in which the rules fired. Inserting attribute values into rule statements can also provide good insight into rule operation. But beware; a non-existent entity inserted into a rule statement will prevent the rule from firing, becoming the cause of another failure!
Enabling and disabling individual Condition/Action rows, entire rule columns, Filter rows, and even whole Rulesheets is another powerful way to isolate problems in your Rulesheets. Right-clicking Condition or Action row headers, column headers, Filter row headers, or Rulesheet boxes in the Ruleflow will display a pop-up menu containing enable/disable options. Disabled rows and columns will be shaded in gray on the Rulesheet, while disabled Rulesheets turn dark gray in the Ruleflow diagram. Be sure to save these changes before running a Ruletest to ensure the changes take effect.
Figure 257. Rulesheet with Rule Column #2 Disabled.
Figure 258. Disabled Rulesheet, Tab Label Circled.
Disable rows, rule columns, and/or Rulesheets until the strange or unexpected behavior stops.