Monday, May 15, 2006

JBoss Rules

Features

Core Rules Engine Features
These supported features of theJBoss Rules engine implementation can be expressed in the JBoss Rules language.

  • Full Rete Implementation -- with high performanceindexing
  • An alternative to RETE, a complete LEAPS algorithm (Experimental)
  • Field Constraints
    • Literal, Bound Variable, ReturnValue and PredicateConstraints
  • Conditional Elements
    • And, Or, Not, Exists and Eval
  • Agenda Management
    • Conflict Resolution (Salience+Depth)
    • Agenda Groups
    • Xor Groups
    • Agenda Filters
    • No loop for recursion control
  • Truth Maintenance with Logical Assertions
  • Temporal Rules -- allows rules to fire based on time requirements
  • Dynamic Rules -runtime addition and removal of rules
  • Event Model
    • Working Memory Actions
    • Agenda
    • Execution Audit logging
  • Functions
  • Global Ddata
  • 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. XML with schema validation is also supported.

  • Drools Rule Language
    • Natural Language extensions
  • XML
  • Decision Tables
    • Excel, Open Office, CSV
  • JBoss Rules Workbench IDE features
    • Syntax colouring
    • Content assistance
    • Outline view
    • Debug Views
      • WorkingMemory, Globals, Agenda, Execution Audit
    • A new Rule wizard
    • Basic Rule validation and error reporting

Deployment

  • Dynamic runtime compile and use.
  • Precompiled Packages.

More information





No comments: