skip to main content
Corticon Studio: Rule Modeling Guide : Advanced Ruleflow techniques and tools : Conditional Branching in Ruleflows : Logical analysis of a branch container
 

Try Corticon Now
Logical analysis of a branch container
A Ruleflow branch container is subject to two significant types of logical errors: completeness and conflicts.

Completeness in a branch

A branch is complete when all of its possible values have been accounted for in branch nodes. When first defining branch activity, instead of selecting each possible value on each line, you can click Check branch for completeness, as shown:
This will add all missing values as branch targets.
When branching by a Boolean attribute, three values are added, as shown:
When branching by an enumerated Custom Data Type attribute, each label in the enumeration is added, as illustrated:
If the completeness check adds additional branch values, these will be highlighted in green. Clicking Clear analysis results removes color highlighting:
Assign nodes in the branch to appropriate listed value values. When you are done, click Cleanup to remove any branch values which do not have corresponding branch nodes. Unless you specify the keyword other as a branch value and assign it a branch node, your branch would be incomplete; you have not accounted for some of the possible branch values.

Conflicts in a branch

When branch nodes include logic that creates conflicts or ambiguities, those conflicts are difficult to identify. You can evaluate whether there are logical conflicts in a branch by clicking Check branch for conflicts, as shown:
Conflict or ambiguity in a Ruleflow branch container might be:
*Different branches modify a shared entity - You are informed of the attribute/association being modified.
*A branch accesses the branch entity through an association that is not being filtered by the branch - For example, the branch is on Policy.type while some rules act on Customer.policy.type. That creates a conflicting branch node, each of which is highlighted in red, as illustrated:
Note: For more about this type of conflict, see the topic, How branches in a Ruleflow are processed
Click the Clear analysis results button to remove the highlights.