Table of Contents

Articles

Adder DT Designer Manual (ver. 0.9.2)

Introduction

A rule-based system (RBS) designed in Adder Designer is represented by a single decision table. To construct such a decision table, we draw a column for each condition (or stimulus) that will be used in the process of taking a decision. Next, we add columns for each action (or response) that we may want the system to perform (or generate). Then, for every possible combination of values of those conditions a row should be drawn. We fill cells so as to reflect which actions should be performed for each combination of conditions. Each such row is called a decision rule. A cell in a decision table may contain a formula that evaluates to a boolean value for conditional attributes, and to a single value (that belongs to the corresponding domain) for decision attributes. Thus, in this approach decision rules should be treated as decision rules' patterns (or generalized decision rules). The number of rules' patterns is significantly less than the number of simple decision rules. In spite of this, we will use the name decision rules for decision rules' patterns

Designing of an RBS

To design a decision table using Adder Designer we define attributes, select conditional and decision attributes and construct decision rules.

The verification stage is included into the design process. At any time, during the verification stage, users can check whether an RBS is complete, consistent and optimal. For intuition, a decision table is considered to be complete if for any possible input situation at least one rule can produce a decision. A decision table is deterministic if no two different rules can produce different results for the same input situation. A set of rules is considered optimal if it does not contain dependent (redundant) rules. For a complete and consistent set of rules, a dependent rule means a rule that can be eliminate without changing these two properties. The algorithm that searches for dependent rules does not change rules in the considered RBS.

Attributes domains examples

with a | b | c          enumeration
int with 0..3           integer
bool with ( off, on )   boolean
name                    alias

Operators

+, -, *, div, mod, and, or, not, <, <=, >, >=, <>, =.

Moreover, round brackets may be used.

Table menu

Other commands are accessible in pop-up menus.

Positive and negative rules

From a practical point of view rules are divided into positive and negatives ones. By positive rules we mean the ones providing a decision or conclusion. On the other hand, negative rules are the ones stating in an explicit way that the particular combination of input values (values of conditional attributes) is either impossible or not allowed. Negative rules are constructed with empty formulae for decision attributes.

Analysis