There is a class of application called "Product Configuration" where the user is invited to select on a form from the lists of available components, attributes, features and options. Invariably, not all combinations of features and options are valid. In traditional user interface design, the user is given a warning when he selects an option that results in an invalid combination. In state of the art Constraint Data Capture, the user is prevented from selecting an invalid combinations of options and features of products. This is done by constraining the choices presented to the user at any point based on the selections he has already made. For example if the customer had selected a Unix operating system, their choice of a Word processor would exclude MS-Word. To achieve this advanced capability, XpertRule supports an optional constraints engine.
XpertRule uses similar knowledge structures used for decisioning to define constraints. Constraints Trees, tables and procedures are supported in the Rules authoring studio. The inference engine supports a constraints mode which maintains a list of valid selections for each attribute as other attributes are being captured (a process known as truth maintenance).
Both of the .NET and Javascript engines support the constraints option. See the product configurator on the solutions section and also try the PC Configurator Demo.
Examples of constraints tree and table and runtime form
In some applications, the business rules are not documented but represent the expertise of people gained through years of experience in applying their skills. Such people can find it difficult to articulate their expertise as a set of rules or decision trees or tables. XpertRule Rules Studio has a unique feature that allows experts to express their know-how in one of two easy to express knowledge representations:
Knowledge Builder features a unique tree induction algorithm which can automatically derive decision trees from decision or exception cases as shown in the example below: