CONTENTS
Creating Rule Projects
Getting Started
Overview: A Vocabulary for Rule Editing
Tutorial: Defining a Vocabulary
Before You Start
Tutorial Scenario
Viewing the Completed Tutorial
Step 1: Create a BOM Entry
Step 2: Verbalize New Business Elements
Step 3: Test the Vocabulary in a Business Rule
Step 4: Extend the Business Object Model
Step 5: Refine the Vocabulary
Step 6: Create a Domain
Concepts
Execution Object Model (XOM)
Rule Project
Rule Project and Content
Rule Project Templates
Rule Project References
Guidelines for Defining an Architecture for Large Rule Projects
Guidelines for Improving Build Performance on Large Rule Projects
Business Object Model (BOM)
The Purpose of the BOM
Domains
Collections
Object State Update
BOM and XOM
BOM to XOM Mapping
Business Elements Originating from a Java XOM
The BOM to XOM Mapping Mechanism
IRL and Extender Mapping
Execution Class
IRL Mapping
Extender Mapping
Vocabulary
Verbalization
Vocabulary Elements
Phrase Templates
Phrase Template Elements
Placeholders
Simplified Phrase Templates
Default Verbalization
Vocabulary Errors and Warnings
Categories
Functions
Tasks
Setting Up a Rule Project
Creating a Rule Project
Defining Rule Project References
Defining a Structure for Rule Project Items
Defining the Execution Object Model
Defining a Java XOM
Defining a Dynamic XOM
Creating a Rule Package
Exploring a Rule Project
Opening the Rule Perspective
Opening Rule Explorer
Using the Rule Explorer
Setting Filter Elements
Creating a Function
Searching
Searching Rule Project Elements
Searching the Execution Object Model
Searching the Business Object Model
Working With BOM Entries
BOM Entries
Creating an Empty BOM Entry
Disabling BOM to XOM Mapping Checks
Associating an Empty BOM Entry to a XOM
Creating a BOM Entry from a XOM
Ordering BOM Entries
Working With Business Elements
Creating New Business Elements
Defining Domains
Notifying the Rule Engine of Object Updates
Adding Custom Properties to Business Elements
Defining How Business Elements Map to the XOM
Mapping Business Elements to the XOM
Mapping Classes
Mapping a Business Class to An Execution Class
Adding Tests to Filter Out Class Instances
Mapping an Attribute to a Computed Value
Mapping an Attribute Assignment to a Function
Mapping a Method Call to an Expression
Mapping a Constructor Call to an Expression
Accessing Ruleset Variables and Parameters from IRL Mapping Code
Accessing Functions from IRL Mapping Code
Accessing Rule Instances from IRL Mapping Code
Implementing Synthetic Objects
Managing XOM Changes in the BOM
Managing Changes to the XOM from a Java Project
Managing Changes to the XOM from a Rule Project
Defining a Vocabulary
Defining the Vocabulary for a BOM Entry
Editing Terms
Editing and Creating Phrases
Editing a Phrase
Editing the Subject of a Phrase
Creating New Phrases
Using a Reduced Verbalization for Simpler Rules
Editing Constants
Editing the Verbalization of Ruleset Variables
Editing the Verbalization of Ruleset Parameters
Documenting the Vocabulary
Defining Categories
Setting Up Automatic Variables