Rule Building with Decision Tables

As a business user, you check out projects from RMS, build decision tables, and submit them for approval.

Decision tables provide a graphical way to build complex business rules. You create table columns by dragging and dropping predefined properties onto the decision table framework. The properties belong to ontology resources defined in the TIBCO BusinessEvents project. You can only use the properties specified in the VRF; however, Columns can be created in other ways too. You then define threshold values (conditions) and actions in the cells of the table. Each row can be thought of as one rule in a table made up of many rules. The individual rules are often straightforward, as in the following examples.

  • Three Rule Conditions:
    Person.age < Max(20, Parent.age)
    Person.creditscore >= Math.function(...)
    Person.gender == "female"
  • Three Rule Actions:
    Application.status = "ACCEPTED"
    Application.credit = 4000
    sendNotification()

However, one decision table can consist of hundreds, even thousands of rules each of which is executed only when its specific conditions are satisfied.

Exception Tables

Each decision table can optionally have another table known as an exception table. The purpose of the exception table is organizational: it enables you to separate the business logic of the main decision table (added by business users) from any non-business logic (generally added by technical users). For example, in the exception table, you could capture situations where fields are blank or contain invalid values, and define actions that send notifications or set return values. The rows of a decision table plus the rows of its exception table are considered in an RTC. If you prefer, you can put non-business logic in the main table instead of using an exception table.

Table Analyzer

The Table Analyzer feature analyzes decision tables and reports problems, such as uncovered ranges for conditions, uncovered domain entries, different set of actions for identical conditions. Table Analyzer creates a sparse matrix data structure representing an optimized form of decision tables in memory.