Core Rules Engine Features - These supported features of the JBoss Rules engine implementation can be expressed in the JBoss Rules language.
Full Rete Implementation -- with high performance indexing and optimisations
An alternative to RETE, a complete LEAPS algorithm
Literal, Bound Variable, ReturnValue and Predicate Constraints
And, Or, Not, Exists and Eval
Conflict Resolution (Salience+Depth)
No loop for recursion control
Truth Maintenance with Logical Assertions
Temporal Rules -- allows rules to fire based on time requirements
Dynamic runtime addition and removal of rules
Complete Event Model
Execution Audit logging
Working Memory Query support.
Language independent Engine
Drools is interface driven using the Rule Assembly API to construct rules
Intermediate String based, Descr, API.
Authoring -- The Drools Rule Language supports all the previously mentioned features and uses Java to express Field Constraints, Functions and Consequences; other languages, such as Groovy, will eventually be added as an alternative to Java. The Drools Rule Language is extendable and provides, via mapping properties file, support for Natural Language. Both the standard DRL and Natural Language extensions are supported by JBoss Rules Workbench. DRL files can be generated from Excel and Open Office Decision Tables.
Drools Rule Language
Natural Language extensions
Excel, Open Office, CSV
JBoss Rules Workbench IDE features
WorkingMemory, Globals, Agenda, Execution Audit
A new Rule wizard
Basic Rule validation and error reporting
Dynamic runtime compile and use.
Precompiled Rule Sets.