Glossary of Terms



"B"

Backtracking

Backward-Chaining



"C"

CLIPS

C Language Integrated Production System. See the FAQ for details.

Conflict (and conflict resolution)

A rule engine works like this: It determines which rules can fire for the currently known facts. If two or more rules can fire, we have a conflict: Which one goes first?

Now conflict resolution comes into play: Several strategies exist, for example:

  • Specificity: The more specific rule fire first, that's the one with more conditions.
  • Recency: The timestamps of the matching facts determine execution order. The newer the facts the earlier the corresponding rule shall fire.
  • Priority: Let users assign priorities (also known as salience) to rules. Makes rulebases much more complex, as users explicitly have to care for priorities.


"D"

Drools

Original project name of the rule-engine that is now called "JBoss-Drools".

DSL

Domain-Specific-Language. In context of (business) rules: Define your own concrete syntax for rules, let the rule-engine convert this to its internal representation. JBoss-Drools allows one to define her own syntax for rules.



"F"

Fact

Forward-Chaining



"J"

JBR

JBoss Drools, formerly known as Drools or JBoss-Rules. As I base many examples on this open-source rule engine, I invented this abbreviation.

JESS

Java Expert System Shell. Java-version of CLIPS, with similar syntax.



"L"

LEAPS

LHS

Left-Hand-Side. Condition part of rules.



"O"

OPS5

Official Production Systems" (OPS) developed at Carnegie Mellon University by Dr. Allen Newell. OPS5 was the first production system language based on the Rete Algorithm.



"P"

Prolog



"R"

RBS

Rule-Based-System. Any software system which uses a rule-engine.

Recognize-Act Cycle

The fundamental execution-cycle of any (serious!) rule-engine: Recognize matching rules first, act afterwards.

You find some more detail here (external link).

RETE

RHS

Right-Hand-Side. Consequence part of rules, which is executed if all conditions on LHS are met AND the appropriate rule is scheduled by the rule-engine to fire.



"S"

Salience

Priority of a rule, used in JBR. See conflict-resolution

Select-Match-Act (SMA)

See the Recognize-Act-Cycle



"W"

Working Memory