DTRules

DTRules is an Open Sourced Rules Engine written entirely in Java.[1][2] DTRules executes Decision tables directly, and utilizes a Domain-specific language for expressing the conditions and actions within the Decision Tables.

DTRules is a Deterministic Rules Engine, meaning that the execution of the rules within the Decision Tables is ordered by the tables themselves. DTRules is not a production rule system, and does not currently use any implementation of the Rete algorithm.

DTRules
Developer(s) DTRules.com
Stable release 4.3 / July 5, 2011 (2011-07-05)
Preview release 5.0-SNAPSHOT / July 19, 2011 (2011-07-19)
Written in Java
Operating system Cross-platform
Type rules engine
License ASL 2
Website http://dtrules.com/

History

Decision Table based Rules Engines have been used by a number of states to automate policy since 2000. Deloitte has used this technology in the following deployments:[3]

Ohio used another Decision Table based Rules Engine in its OFAST project. This project supports corporate audits, which are generally performed by auditors using laptops.

Neither of the previous two code bases were open source projects, and development and general availability of these implementations is unknown.

The development of DTRules began in 2003, and was established as an open source project on SourceForge in 2006 [4] Despite establishing the repository on SourceForge, development continued against a CVS install on the project website that is no longer active. Eventually, DTRules was moved over to Github.[5]

Features

Unbalanced Decision Tables

DTRules provides support for unbalanced decision tables. Instead of forcing developers to flush out the condition table with all paths, unbalanced tables allow ambiguity which is resolved one of two ways. Either the actions of the first column where all conditions match is executed (in DTRules this is a first table), or the actions of all tables with matching conditions are executed (in DTRules this is an all table).

The use of Unbalanced Decision Tables greatly simplifies the presentation of logic to business users and developers alike. This makes the decision tables much easier to understand, validate, and maintain. Because DTRules produces the balanced, single hit tables from the unbalanced form, any validation that requires balanced tables can be done with the "auto balanced" forms.

Related systems

References

External links

This article is issued from Wikipedia - version of the Tuesday, August 11, 2015. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.