Rule Designer API

The APIs listed in this documentation are the only supported APIs - any API (class, interface, method, constructor or member) in a package not explicitly listed in this documentation is subject to change or removal without prior deprecation in any subsequent release (including technical releases), and its use in customer code is not supported.

Business rules are an expression of business policy in a form that is comprehensible to business users and executable by a rule engine. From a business perspective, a business rule is a precise statement that describes, constrains, or controls some aspect of your business. From the IT perspective, business rules are a package of executable business policy statements that can be called from an application.

The APIs documented here provide the means to automate and extend business rules-driven applications.

Rule Designer

The Rule Designer API, also known as Rules Development Tooling (RDT), allows Eclipse developers to create, edit, and customize rule artifacts inside the Eclipse platform.

Because RDT is intended to be a first class citizen in the Eclipse platform, it makes use of many of the platform extension points and frameworks. A prerequisite of using the Rule Designer API is to understand the concepts of plug-ins, extension points, workspace resources, and to have a basic knowledge of the Eclipse Modeling Framework (EMF). EMF is the standard framework used in Eclipse to define advanced models such as the Business Rules Model.

You can use RDT to:

  • Manage rule artifacts. For example:
    • configure rule projects
    • create business rules
    • define rule applications
    • change properties
    • navigate the rule model
  • Generate ruleset archives from the platform
  • Create and add new generators for Java projects from rule applications
  • Add new callbacks and extensions to customize Rule Designer

You can use this API in:

  • Eclipse plug-ins. The plug-ins should be deployed and launched accordingly to Eclipse Plug-In Development Environment (PDE) guidelines. An Eclipse workbench UI is needed to run these plug-ins.
  • Headless external programs. These programs run in the Eclipse platform infrastructure and can be automated. The Eclipse UI is not visible.

Using embedded data models and web components to author rules outside of Rule Designer

APIs and schemas are also provided to support writing rules in external applications. In such cases, the data model can be in the embedding application. Before you can write rules in an external application you must:

  • Define a vocabulary from an external source or asset, for example you could extract the terms used in a COBOL program. The vocx.xsd schema and a read/write API is provided for this purpose:
  • Create a set of global variables to help authors use the vocabulary and write rules in the Business Action Language (BAL). Use IlrBRLVariableProvider to declare your variables.
  • Provide a rule authoring environment for BAL by integrating a web-based editor, for example decision table components, into your web application.

You can then write structured business rules that represent the application logic in BAL, instantiate a BAL parser, and import these rules into Rule Designer to implement an executable rule application.

To track the rule artifacts in Rule Designer, you can use an extension model to add a dedicated rule property to store the ID. Use the following API to manage the vocabulary:

Managing both the terminology life cycle and keeping it up-to-date with your rules poses the major problem with authoring rules outside of Rule Designer. See Reviewing a rule project to manage rule project items and run queries and reports on them using the features provided in Rule Designer. The following choices are available:

  • Accept that your rules and your terminology become desynchronized, and fix the errors when they occur.
  • Refactor the rules systematically when your terminology changes.
  • Prohibit modification/deletion of any terminology element that is used by a rule.
  • Deprecate terms and phrases and put in place a build system to report deprecated element usage. Use the getVocabularyElements method to collect all vocabulary elements used in your BAL rules.

Decision Validation Services

Decision Validation Services provides business rule testing and simulation solutions to developers and business users.

You use the DVS API to:

  • Run an existing scenario suite (a test suite or simulation).
  • Create key performance indicators (KPIs) to display the business outcomes of simulations.
  • Customize the scenario providers, which determine how input data is provided to the test invalid input: '&' simulation engine for execution.
  • Read and write test and simulation data using Excel formats.

The main packages and classes for this group are:

Package Name Description Main classes
ilog.rules.dvs.excel Provides the classes and intefaces to read and write test and simulation data using the default Excel formats. IlrExcel2003ScenarioSuiteReaderFactory
IlrExcel2003ScenarioSuiteWorkbookFactory
IlrExcel2003ScenarioSuiteWriterFactory
Package
Description
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Contains classes related to the Business Rule Language Definition Framework (BRLDF).
Contains classes related to Business Action Language (BAL).
Contains classes related to Business Query Language (BQL).
Contains classes related to the definition of new business rule languages with the Business Rule Language Definition Framework (BRLDF).
Contains classes related to the BRL converter, which allows conversion of a rule from one grammar to another, or from one vocabulary to another.
Contains classes related to editors, that is, BRL mechanisms that allow a user to edit text throw user interface.
Contains classes related to the BRL parser.
Contains classes and interfaces related to prediction in the BRL framework.
Contains classes for managing the semantics of business rule languages.
Contains classes related to the business rule language abstract syntax tree.
Contains classes related to the BRL translation framework.
Contains classes related to code generation in the IRL translation framework for business rules.
Contains classes related to UI components for value editors.
Contains utility classes related to the BRL defintion framework.
Value descriptors are a BRL mechanism designed to manage literal values in the BRL framework.
Contains classes related to value editors, that is, BRL mechanisms that allow a user to edit literal values.
Contains classes related to value info, value providers, and value checkers.
 
 
Contains classes related to decision tables and decision trees.
Contains classes related to Error Management in Decision Table and Decision Tree.
Contains expression implementations.
Contains interfaces defining a decision table or decision tree model and all its structural elements.
Contains interfaces defining a decision table or decision tree model and all its structural elements.
Provides interfaces and class adapters defining the event system of a decision table model.
Provides interfaces defining the expression model of a decision table or tree model.
Contains companion classes for a DT model.
Contains the interface of a data provider that you use to populate a decision table model.
Contains classes related to Decision Tree User Interface.
 
 
 
 
 
 
 
 
 
 
Contains the ruleflow model, the definitions of the enumerated values are used in model attributes.
Contains the ruleflow model event-related classes.
Contains I/O related classes for ruleflow model.
 
 
Provides the command line tools.