C1000-010 practice question 13 of 15

How can a developer help the business users to author rules in a way that improves performance?

Full set: 61 questions
Answer options
A: Rewrite complex BAL rules as technical rules. Correct answer
B: The way in which rules are written have no impact on performance.
C: Modify the BOM to remove the {this} placeholder to make the rules less verbose.
D: Make sure that conditions that test a collection of objects come before simpler conditions, to reduce the number of objects that later conditions in the rule must test.
Correct Answer:
A. Rewrite complex BAL rules as technical rules.
Explanation

A developer can significantly improve performance by rewriting complex or poorly performing Business Action Language (BAL) rules as technical rules (ILOG Rule Language - IRL). This approach is a recognized optimization technique that provides more granular control over the rule's execution logic. While business users author in BAL for readability, a developer can identify performance bottlenecks and implement a more efficient technical rule that achieves the same business logic. This directly helps by making the business user's ruleset perform better in production.

Why Incorrect

B. This is false. The structure of rules, particularly the order of conditions and the use of complex constructs, has a major impact on rule engine performance.
C. The {this} placeholder is a fundamental part of the Business Object Model (BOM) verbalization. Modifying it affects rule readability and authoring convenience, not execution performance.
D. This is incorrect. Official performance guidelines recommend placing simple, inexpensive, and highly selective conditions before conditions that iterate over collections to prune the search space and reduce the engine's workload.

References

1. IBM Knowledge Center for IBM Operational Decision Manager: In the section on "Improving performance for rule execution," it states, "You can also write rules directly in IRL, which gives you more control over the execution of the rules. For example, you can write explicit loops instead of using the in construct." This directly supports option A.

Source: IBM Operational Decision Manager 8.10.x Documentation, "Developing rules," -> "Improving performance for rule execution" -> "Rule authoring."

2. IBM Redbooks - IBM Operational Decision Manager V8.5 Performance Tuning Guide (SG24-8180-00): This guide contradicts option D. In Chapter 4, "Performance considerations for rule authoring," section 4.2.1 "Condition order," it states, "Another guideline is to place the least expensive tests first. Tests against constants are generally inexpensive. Tests that require computation or iteration over collections are more expensive."

Source: IBM Redbooks, SG24-8180-00, Chapter 4.2.1, Page 78.

3. IBM Knowledge Center for IBM Operational Decision Manager: The documentation also explicitly contradicts option D regarding condition order with collections: "If you have other conditions, place them before the in and from constructs to reduce the number of objects that are iterated over."

Source: IBM Operational Decision Manager 8.10.x Documentation, "Developing rules," -> "Improving performance for rule execution" -> "Rule authoring" -> "Condition order."

Scroll to Top