[Home: Demos and Tutorials][e2gRuleEngine Mini-Course Index]

Building and Using Expert Systems: a Mini-Course Introducing the e2gRuleEngine/e2gDroid Expert System Shell

e2gRuleWriter Tutorial and Reference Documentation: Building, Validating and Maintaining e2gRuleEngine Knowledge Bases in a Decision Table Format

e2gRuleWriter Tutorial and Reference Table of Contents


Overview of the e2gRuleWriter tutorial

The objectives of this tutorial are to:

  1. Introduce classic decision tables as a well established systems analysis support tool.
  2. Present the benefits and limitations of using decision tables to develop and maintain expert system knowledge bases.
  3. Introduce the e2gRuleWriter software as a tool for building and validating decision tables that generate e2gRuleEngine knowledge bases.
  4. Provide a variety of examples that demonstrate the capabilities of e2gRuleWriter.
  5. Provide detailed reference documentation for e2gRuleWriter.


Introduction to decision tables

Decision table definition: A decision table is a rectangular array of cells with rows representing conditions and actions and columns representing rules. The condition part of the decision table is called the condition stub shown in yellow in the figure below and the action part the action stub shown in green. Each column represents a rule, and when all of the conditions in a column are satisfied, the action or actions designated in that column represent the recommended decision.

Rule1Rule2Rule3
Condition1
Condition2
Action1
Action2

Early uses: Representing decision logic with decision tables predates the advent of expert systems, and probably the invention of the computer. They have long been employed in printed form as a device for communicating decision logic that is both transparent and unambiguous. They have also been used as a systems analysis tool for documenting and verifying software logic, especially in business applications, and their use for that purpose is described in many systems analysis textbooks. There is some variation in both terminology and technique in these texts. In this tutorial we will generally follow the treatment provided in the following reference:

Analysis and Design of Information Systems, 2nd ed.
James A. Senn
© 1989 by McGraw-Hill, Inc.
ISBN 0-07-056236-9

This book is no longer in print, but is available in libraries and in the used book market, and is highly recommended. Many systems analysis and design texts cover the topic, but most provide only cursory coverage compared to Senn.

The high cost of developing software has long motivated an interest in automated tools to support the computer programming process. Many of the attempts at automatic program generation, developed as early as the 1960's, employed decision tables as an input to software that could generate parts of computer programs. Rule columns in a decision table can easily be converted into if...then... program statements, and the decision table itself is an effective tool for defining and verifying decision logic with non-programmers. Decision tables are often employed in modern business rules applications, either as an input to program generators or to provide the input to a rule engine that operates as a forward-chaining inference engine.

Decision tables and rule-based expert systems: The connection between decision tables and rules in a rule-based expert system is easily seen in the following decision table adapted from the eXpertise2Go Mini-Course Knowledge Engineering module. "Y" and "N" in the condition stub represent "Yes" and "No" ("T" and "F" could be used representing "True" and "False") and an "X" in the action stub means the action is recommended. "-" in a cell means the condition or action is irrelevant:

Rule1Rule2Rule3
does the starter run? Y Y N
do you smell gas when the starter cranks? Y N -
replace the dead battery - - X
refuel the car - X -
wait 10 minutes, restart flooded car X --

Limited, extended and mixed formats: This form of a decision table is called a Limited Entry Form, employing only Y, N, X, and blank or irrelevant entries. An Extended Entry Form of the table allows multiple values for conditions or actions. Here is the automobile diagnosis decision table in this alternative format:

Rule1Rule2Rule3
the result of trying the starterthe car cranks normallythe car cranks normallynothing happens
the smell of gasolinepresent while trying the starternot present while trying the starter-
the recommended actionwait 10 minutes, restart flooded carrefuel the carrecharge or replace the battery

Although either decision table form is easily mapped into expert system rules, the extended entry form is probably most effective for this purpose as the following rules extracted from the three columns of the table illustrate:

Rule1 Rule2 Rule3
If the result of trying the starter = the car cranks normally and
the smell of gasoline = present while trying the starter
Then the recommended action = wait 10 minutes, restart flooded car
If the result of trying the starter = the car cranks normally and
the smell of gasoline = not present while trying the starter
Then the recommended action = refuel the car
If the result of trying the starter = nothing happens
Then the recommended action = recharge or replace the battery

It is possible to combine the limited and extended entry formats in a Mixed Form decision table, and e2gRuleWriter supports this approach.

Generating all possible condition stub combinations: The number of possible decision table rules that can be generated from a set of conditions is the product of the number of values of each of the conditions. To make sure all possible rules are considered, a step-by-step procedure for constructing condition stubs is useful. Here is an example that illustrates one such procedure:

Condition1 with 2 values: T and F for True and False
Condition2 with 3 values: A, B and C
Condition3 with 2 values: 5 and 10

There are 2 x 3 x 2 = 12 possible combinations of these three conditions' values. To generate the condition stub:

  1. Write down the product of value counts, dropping the count for the first condition and adding a one (1) after the last condition: 3 x 2 x 1 for this example.
  2. To produce the first row of decision table values, write down each value of Condition1, repeating the value according to the count from the product of the value counts: 3 x 2 x 1 = 6, so each value will be repeated 6 times: T T T T T T F F F F F F and there will be 12 columns.
  3. Drop the left most value from the product of value counts and write down each value of the next condition, repeating the value according to the count from the remaining value counts: 2 x 1 = 2 so each value will be repeated 2 times: A A B B C C This sequence is repeated until all columns (12 in this case) of the table are filled in. The second row of the table will have the following appearance: A A B B C C A A B B C C again including 12 columns.
  4. The process is repeated until all conditions have been incorporated into the table. Dropping the next value from the product of the value counts leaves a 1, so the final condition values are written down once, with the sequence repeated until the 12 columns of the table are filled in: 5 10 5 10 5 10 5 10 5 10 5 10.

Inserting these sequences of values for the three conditions into a decision table's condition stub produces the following result:

Rule 1Rule 2Rule 3Rule 4Rule 5Rule 6Rule 7Rule 8Rule 9Rule 10Rule 11Rule 12
Condition1TTTTTTFFFFFF
Condition2AABBCCAABBCC
Condition3510510510510510510

At this point, action rows can be added to the table and each rule column examined to determine the appropriate action value(s). If a rule column is considered irrelevant it is dropped from the table.

Decision table simplification: It will often be possible to simplify a decision table, eliminating unnecessary conditions or combining rule columns before generating a knowledge base. The table simplifications supported by the e2gRuleWriter will be presented in more detail in a later section of this tutorial, but to illustrate the point, consider the following example table:

Rule1Rule2Rule3
Condition1YYN
Condition2YYY
Condition3YNY
Action1XX-
Action2--X

Rule1 and Rule2 have the same actions, have the same condition values for all but one condition (condition3) and all values of condition3 are represented by the two rules. Condition3 is thus irrelevant, and can be set to blank ("-") in Rule1 and Rule2. Once this is done, the two rules are identical and either one of the rules may be removed from the table.

Rule validation: It is also possible to examine rules in the decision table for errors and contradictions. In the following table:

Rule1Rule2Rule3
Condition1YNY
Condition2NYN
Action1XX-
Action2--X

Rule1 and Rule3 have identical conditions, but different actions -- a contradiction if Action1 and Action2 are mutually exclusive. The possible contradiction should be resolved before generating a knowledge base from the decision table. If it is possible for both actions to be taken simultaneously, the table should be simplified by combining the two rule columns:

Rule1Rule2
Condition1YN
Condition2NY
Action1XX
Action2X-

Rule aggregation during conversion to knowledge base format: Depending on the format permitted for rules used in a specific expert system shell, it may be possible to aggregate decision table rule columns when the knowledge base is generated. Since all conditions in a decision table column must be satisfied for the action or actions in that column to be recommended, the conditions are connected by the "and" logical operator. Expert system rules typically allow use of the "or" logical operator:

Rule1Rule2Rule3
Condition1Y--
Condition2-Y-
Condition2--Y
Action1XXX
Action2---

In this table, each rule has a single condition, and in all three rules the same action is concluded. Therefore, the three rules are equivalent to the following single rule that could be generated for an expert system knowledge base:

IF Condition1=true OR
Condition2=true OR
Condition3=true
THEN Action1=true

Benefits and limitations of decision tables for developing knowledge bases:

What's good:

What's not so good:


Acquiring and using the e2gRuleEngine/e2gRuleWriter software from eXpertise2Go.com

The conditions of use for e2gRuleWriter are similar to the e2gRuleEngine conditions of use:

Conditions of use that you accept when you download e2gRuleEngine/e2gRuleWriter from eXpertise2Go.com

Purpose of e2gRuleWriter and disclaimers: This software has been developed and is being distributed for educational and experimental purposes. It is a work in progress, and will continue to be a development prototype for some time to come. No claims are made for its serviceability, and eXpertise2Go.com assumes no responsibility for financial or other harm that occurs due to the use of e2gRuleWriter or knowledge bases developed with the software to work with e2gRuleEngine or due to decisions made based on use of these knowledge bases. While reasonable effort is being expended in the ongoing effort to test and debug the program, when you download and use eXpertise2Go software you become an informal member of the test team!
You may not sell e2gRuleWriter: e2gRuleWriter is free software: eXpertise2Go.com isn’t selling it, so you can’t either. It is OK to use e2gRuleWriter to generate knowledge bases you develop for compensation, but your client must understand that e2gRuleWriter is not part of what they are paying for.
Re-engineering/reverse engineering e2gRuleWriter is prohibited: You agree that you will not de-compile and/or modify the e2gRuleWriter application.
Use of e2gRuleWriter to develop commercial Web sites is allowed: You may use e2gRuleWriter to develop e2gRuleEngine knowledge bases that are incorporated in commercial Web sites.

The download package: For ease of installation, the download is in the form of a compressed (.zip) file. This file contains the software for both e2gRuleWriter and e2gRuleEngine in the form of archives (.jar files) and a collection of decision table and .htm files that will be useful in testing your installation and learning to use the software. Download e2g3g.zip by clicking on the link below the list of files in the .zip and choosing the "save file" option. Then, unpack e2g3g.zip into a subdirectory using a program like WinZip. In some versions of Windows, you can unpack the files by right-clicking the e2g3g.zip file name, then clicking on the "extract all files" option. You may also download the files individually by right-clicking the name of the file you want in the list below, then clicking the "save link" option and specifying the subdirectory into which the file should be saved. When you examine your target subdirectory, you will find e2gRuleEngine.jar and e2gRuleWriter.jar included with the .htm, .kb and .kbt files. Do NOT unpack these archives: they are intended to be used as .jar files, and none of the test files will work if they are unpacked. Here are the files that should be extracted into your subdirectory:

FileDescription
e2gRuleWriter.jare2gRuleWriter software: keep the .jar, do not extract!
e2gRuleEngine.jare2gRuleEngine applet software: keep the .jar, do not extract!
test.htmgeneric .htm file with e2gRuleEngine applet tags
auto.htm.htm file with applet tags to run auto.kb
auto.kbtdecision table to generate auto.kb
auto.kbknowledge base
autofr.htm.htm file with applet tags to run autofr.kb (Unicode)
autofr.kbtdecision table to generate autofr.kb
autofr.kbknowledge base (Unicode)
french16.txttranslation table to incorporate in autofr.kb (Unicode)
weatherch.htm.htm file with applet tags to run weatherch.kb (Unicode)
weatherch.kbtdecision table to generate weatherch.kb
weatherch.kbknowledge base (Unicode)
chinese16.txttranslation table to incorporate in weatherch.kb (Unicode)
wine.htm.htm file with applet tags to run wine.kb
wine.kbtdecision table to generate wine.kb
wine.kbknowledge base
yesno.htm.htm file with applet tags to run yesno.kb
yesno.kbtdecision table to generate yesno.kb
yesno.kbknowledge base

I agree to the eXpertise2Go.com conditions of use, download the .zip file

To use e2gRuleWriter (or e2gRuleEngine) you must have a recent version (1.6.x is current as this is written) of the Java Runtime Engine (JRE) installed and properly configured on your computer. Installing Java to work with a Web browser will normally accomplish the proper installation and configuration including setting the CLASSPATH variable.

e2gRuleWriter is a Java application, not an Applet. This means it does not run within a Web browser. To start the software, you should navigate to the subdirectory that contains e2gRuleWriter.jar. Then, using a command line entry such as the Windows "Run" command or the MSDOS window, type:

java -jar e2gRuleWriter.jar
This should open the decision table software.

If you will be using e2gRuleWriter frequently on the same Windows computer, you may want to create a desktop shortcut. To do this, navigate to your subdirectory that contains e2gRuleWriter.jar and right-click on the .jar file. Then, click on the Create Shortcut option. This will create a new entry in your subdirectory named e2gRuleWriter.jar - Shortcut. Right click on this entry and select Open With and Choose Default Program... options. Then, select the Java Runtime Engine (Java (TM) Platform SE Binary) as the program for this purpose and click the Always use the selected program to open this kind of file check box. Finally, drag the entry on to the desktop and you will be able to double click the icon to start e2gRuleWriter.


e2gRuleWriter quick start

The development process: An e2gRuleEngine knowledge base is constructed and maintained with e2gRuleWriter through iterative application of the following steps:

To provide a quick tour of the major features of the software, we will use e2gRuleWriter to redevelop the very simple "weather" knowledge base introduced in an earlier eXpertise2Go mini-course module. This presentation assumes the reader is familiar with the operation of e2gRuleEngine and the format of an e2gRuleEngine knowledge base.

Start up the software (java -jar e2gRuleWriter.jar) and you should see the following screen that represents the condition mode:

e2gRuleWriter startup

e2gRuleWriter navigation: Input screens representing three modes (condition, action and rule) are color coded: yellow for condition, green for action and blue for rule. e2gRuleWriter starts operation in condition mode. Clicking the left mouse button on an action row (green row) changes to action mode. Clicking on a rule number at the top of the table, or the gray row under the rule numbers (where rule names will appear) moves to rule mode. When you are in rule mode, clicking on a row in the left-most column (under the Condition or Action headers) moves back to condition or action mode.

The program always initializes with an empty decision table containing 5 conditions, 3 actions and 5 rules. Conditions, actions and rules may be added or deleted throughout the development process.

The currently selected row in condition or action mode is highlighted in blue. The currently selected rule column in rule mode is also highlighted in blue. A row or column is selected by clicking anywhere in the row or column. It is possible to drag-and-drop rule columns to rearrange them: click on a rule number and drag the column to the desired position while holding down the mouse button. Rules are output to the knowledge base in left-to-right order of the columns in the decision table.

To change the displayed width of a rule column, click on the bar between rule number headers and, while holding down the left mouse button, drag the bar left or right to decrease or increase the column's width.

Tooltips or "hints" are available for many of the data input fields. If the mouse pointer hovers above a control or data entry field, and a tooltip is available, it will be displayed in the vicinity of the mouse pointer location. To disable tooltips, uncheck the "Tooltips enabled?" checkbox.

The "weather" example problem: To help clarify the e2gRuleWriter development process, let's first examine the demonstration e2gRuleEngine knowledge base we will derive with our decision table example:

REM Test Knowledge Base (weather.kb)

RULE [Is it going to rain?]
If [precipitation] = "expected" and
[the expected temperature] > 32
Then [the recommendation] = "wear a raincoat"

RULE [Is it going to snow?]
If [precipitation] = "expected" and
[the expected temperature] < 33
Then [the recommendation] = "wear your boots" @ 95

PROMPT [precipitation] MultChoice CF
"According to the weather forecast, precipitation is:"
"expected"
"not expected"

PROMPT [the expected temperature] Numeric CF
"The expected daytime temperature (degrees Fahrenheit) is:"
"-30"
"120"

DEFAULT [the recommendation] = "wear whatever you want" @ 90

GOAL [the recommendation]

The elements of this example, in the terminology of a decision table are:

Conditions and possible condition values:

Actions and possible action values:

Information requested from the user (prompts) and attributes of the prompts

Defining conditions: The appearance of the condition mode data entry screen after entering data describing the first condition is shown on the following screen:

e2gRuleWriter condition mode

The steps required to define the "precipitation" condition include:

  1. With the first condition row selected, click in the text entry field labeled EDITING
  2. Type the value precipitation
  3. Press the ENTER key: you should see precipitation displayed as the first condition label in the decision table
  4. Click in the text entry field labeled NEW LIST VALUE
  5. Type the value expected and press the ENTER key: you should see expected displayed in the list box to the left of NEW LIST VALUE
  6. Repeat, typing not expected in the text entry field labeled NEW LIST VALUE then pressing the ENTER key
  7. Select MultChoice as the prompt type by clicking the radio button beside this value
  8. Type the prompt stem: According to the weather forecast, precipitation is: in the text entry field labeled Prompt:, press ENTER
You may save your work at any time by clicking the Save decision table button. The dialog box below will appear, and you may navigate to the desired directory, type the file name (which must have a .kbt file extension) and click the Save decision table button to complete the action.

e2gRuleWriter save decision table

Once you have saved the file, you can re-save by double clicking the file name in this dialog box. The dialog for loading a decision table (requested with the Load decision table button) is similar in appearance. When a decision table is loaded from a .kbt file, the file name is displayed in parentheses at the end of the frame header.

The decision table is saved in a format meaningful only to e2gRuleWriter. Attempting to modify this file in any way will likely render it ususable.

Similar steps are used to define the expected temperature as shown in the next screen image. Because this is a numeric quantity (determined by the selection of the Numeric prompt type) you may enter minimum and maximum acceptable values beside the Range, ENTER: label. The e2gRuleEngine inference engine will not accept a numeric input from the prompt unless it is in this range.

e2gRuleWriter condition mode

Also note the use of inequality operators in the list values: < 32 and > 33. When the relational operator in rules generated for e2gRuleEngine is the = for equality, the operator is not explicitly entered with the list values. When any other relational operator is employed, it is entered with the list value.

Defining actions: Inputs that are accepted when defining conditions but not used by actions are disabled or "grayed" on the action mode screen:

e2gRuleWriter action mode

The steps used to define "the recommended action" action as shown above include:

  1. With the first action row selected, click in the text entry field labeled EDITING
  2. Type the value the recommendation
  3. Press the ENTER key: you should see the recommendation displayed as the first action label in the decision table
  4. This condition will be the goal for the expert system consultation, so click the checkbox labeled Goal?
  5. Click in the text entry field labeled NEW LIST VALUE
  6. Type the value wear a raincoat and press the ENTER key: you should see wear a raincoat displayed in the list box to the left of NEW LIST VALUE
  7. Repeat, typing wear your boots in the text entry field labeled NEW LIST VALUE then pressing the ENTER key
  8. Prompts are entered with conditions, not with actions. If it is necessary to set the data type to "True/False" or "Numeric" rather than the default "Text" for an action, this can be done with the radio buttons at the right side of the EDITING row of controls -- not necessary for this action
  9. To specify a DEFAULT value for the recommendation provided as the result if e2gRuleEngine cannot determine a result from prompts or rules, type wear whatever you want in the text entry field labeled DEFAULT VALUE, then press the ENTER key: you should see wear whatever you want displayed in the DEFAULT field (the text field that has a gray background)
  10. To assert this DEFAULT value with a Certainty Factor (CF) of 90%, choose 90 from the combo box at the left of the Set CF for DEFAULT button, then click the button and @ 90 will be displayed at the end of the DEFAULT value
  11. The DEFAULT CF value may be changed by selecting a new value in the combo box and clicking the set CF for DEFAULT button: if the selected CF is the default 100%, no value is displayed beside the DEFAULT.
Defining rules: The final knowledge base construction step involves entering condition and action values to form the rules, then generating the e2gRuleEngine knowledge base.

e2gRuleWriter rule mode

The steps used to build the rules shown above are:

  1. Click on any rule number to navigate to e2gRuleWriter's rule mode
  2. Click on the Rule 1 heading to select that rule for editing
  3. Type the rule name Is it going to rain? in the text entry field named EDITING, then press the ENTER key: the rule name should appear below the rule number in the decision table
  4. Double click in the precipitation row of Rule1 to open a combo box containing all possible values of precipitation
  5. Click the desired value: expected in this case
  6. Double click in the temperature and the recommendation rows and select the values > 32 and wear a raincoat
  7. Build Rule 2 in a similar fashion using Is it going to snow? as the rule title and selecting the precipitation, temperature and the recommendation values shown in the screen above
  8. To set the Confidence Factor (CF) of 95% for the recommendation in Rule 2, select the recommendation in the decision table, select 95 in the combo box to the left of the button labeled Set CF for selected action, then click the button: the @ 95 value will be added to the action in the decision table
  9. The CF for an action may be changed at any time by selecting the action, selecting a new value from the CF combo box then clicking the button: if the selected value is 100%, the CF value will be blanked in the action (@100 is assumed for all actions by default)
Generating the knowledge base: The final step is to select the minimum Certainty Factor (CF) for the e2gRuleEngine inference engine to consider a value to be known from the combo box labeled MINCF, then click the Display knowledge base button. A listing of the knowledge base will appear in a new window:

weather rule set

After reviewing the knowledge base, you may generate the same text as an e2gRuleEngine .kb file by clicking the Save knowledge base button. A file dialog will open to allow selection of a knowledge base file name. This name must have a .kb file extension.

To test the weather.kb knowledge base, you will need a Web page with appropriate Applet tags. Here is a sample:

<HTML></TITLE></HEAD>
<BODY>
<APPLET CODE="e2gRuleEngine.class" ARCHIVE="e2gRuleEngine.jar" WIDTH=450 HEIGHT=300>
<PARAM NAME="KBURL" VALUE="weather.kb">
<PARAM NAME="DEBUG" VALUE="false">
<PARAM NAME="APPTITLE" VALUE="Weather Demonstration">
<PARAM NAME="APPSUBTITLE" VALUE="by The Weather Wiz">
<PARAM NAME="TITLECOLOR" VALUE="#FF0000">
<PARAM NAME="PROMPTCOLOR" VALUE="#FF0000">
<PARAM NAME="BGCOLOR" VALUE="#00FFFF">
<PARAM NAME="STARTBUTTON" VALUE="Recommend what to wear">
Java is required to view this page!
</APPLET>
</BODY>
</HTML>

If this .htm file is in the same subdirectory as the weather.kb file generated by e2gRuleWriter and the e2gRuleEngine.jar file, loading it into a Web browser will run the weather expert system demonstration. When developing a knowledge base with e2gRuleWriter, an efficient procedure is to create a test .htm file for the application and store it in a working subdirectory along with e2gRuleWriter.jar and e2gRuleEngine.jar. Generating the .kb file in this subdirectory lets you quickly move between developing and testing your expert system application.

Rule generation and rule simplification: e2gRuleWriter supports automated creation of all possible condition stubs for a user-selected set of conditions. To illustrate this capability with the weather example, hold down the ctrl key while clicking the precipitation and the expected temperature entries in the Automatic rule generation list box to select both entries. Then, click the Generate rules for selected conditions button. There are two condition values for each of the selected conditions, so four rules are possible including the two already defined. The following screen shows the result of automated rule generation:

e2gRuleWriter rule generation

Rule names and actions could be added to the two new rules to extend the weather example.

Rule generation must be used with caution: the number of rules generated is the product of the number of values of each of the selected conditions, and it is possible to generate a very large number of rules with this capability. e2gRuleEngine will display a dialog box showing the number of rules that will be generated and provide an option to continue or cancel rule generation. If more than 500 rules would be generated, an error dialog is generated: clicking the "Cancel" key cancels the proposed rule generation process. When developing a knowledge base it is easy to ignore combinations of condition values that could represent important rules, and this function helps assure that all the possibilities are considered.

Finally, it is possible to clean up and validate the knowledge base by selecting options from the Rule simplification/validation... panel. To observe a simple example, check the Remove unused condition/actions and incomplete rules checkbox, then click the Simplify and error check table button. You will be offered a chance to save the decision table before the process continues. All unused rows (conditions and actions) and incomplete rules (including the two new rules generated with the Generate rules... function) will be deleted, and a new window will open that summarizes modifications made to the decision table.


Detailed tour of e2gRuleWriter features: condition/action modes

This section presents a detailed description of the e2gRuleWriter's condition and action mode controls. When in the condition or action modes, the control background color matches the background color of the condition or action rows in the decision table.

Conditions or actions are selected by left clicking anywhere in the desired row or by selecting a row, then holding down the left mouse button and dragging the selection to a different row. The current properties associated with a condition or action will be displayed when its row is selected.

Controls that are not appropriate for use in the current state of the decision table are disabled and "grayed" (presented in a light gray color).

e2gRuleWriter condition mode screen


Detailed tour of e2gRuleWriter features: rule mode - rule construction

In this section we will examine the process of building rules defined by values associated with the conditions and actions created in the condition/action modes. Rule mode is entered from condition/action mode by clicking on any rule number at the top of the decision table or on a rule name in the row below the rule numbers.

Rules may be repositioned by dragging and dropping the rule number. A rule column may be resized by dragging the vertical bar between rule numbers left or right. Rules are output to the knowledge base in left-to-right order of the columns as they appear in the decision table when the knowledge base is generated.

Controls that are not appropriate for use in the current state of the decision table are disabled and "grayed" (presented in a light gray color).

e2gRuleWriter rule mode screen

Condition and action values are assigned to rules by double clicking a cell entry in the decision table, then clicking the desired value in the drop down combo box that opens at the cell. The combo box will contain the values that were entered in the value list for a condition or action while working in condition/action mode.


Detailed tour of e2gRuleWriter features: rule mode - simplifying and validating rules

e2gRuleWriter provides a comprehensive collection of rule simplification and validation options. It is recommended that the decision table be saved before executing any of these options. The option selection check box settings are saved with the decision table.


Detailed tour of e2gRuleWriter features: rule mode - generating an e2gRuleEngine knowledge base

Several options are available for the decision table to e2gRuleEngine knowledge base conversion process. Check box selections are saved with the decision table and restored when it is reloaded.