A Java Based Decision Table Rules Engine

History of DTRules

Posted by Paul Snow on July 9, 2012

The first Decision Table based Rules Engine was written by AMS (American Management Systems) for the State of Texas in 2001. The goal was to build a proof of concept for the Texas TIERS project. Paul Snow was the architect and designer of this Rules Engine, and the goal was to prove that the Decision Tables produced by another vendor as a specification for TIERS could be executed directly.

The proof of concept was STARS, a self screener (no longer online) for users to self screen against 50 assistance programs in Texas. STARS implemented just under 90 decision tables, and was a success, winning awards for innovation and performance.

Deloitte & Touche won the contract to implement TIERS. Paul Snow worked as an Independent Consultant to Deloitte, and rebuilt and rewrote portions of the Rules Engine to support a more robust compiler technology (Flex and Cup) as well as better performance (handling 3000 or so decision tables).

The next Rules Engine implementation written again by Paul Snow was for AMS. This implementation supported the Ohio OFAST project. The Design of this Implementation included Rules Engine objects to provide access to Swing and AWT (Java libraries implementing UI objects). OFAST implemented 5 different programs for performing 5 different types of corporate audits. Each program was completely specified in XML using Decision Tables.

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 (See Eligibility Rules engine Eligibility Rules Engine, page 19 [MMIS 2007]):

  • Colorado CBMS
  • California CalWIN
  • Texas TIERS
  • Michigan BRIDGES

With two of the Rules Engines tied up with Texas, and the third Rules Engine tied up with Ohio, Paul Snow wrote DTRules and built this open source project to house it. DTRules is in use by MAXIMUS and has been deployed to projects in New York and Pennsylvania.

DTRules incorporates many of the lessons learned in all of its previous applications. DTRules is far more consistent in implementation from the two Texas versions, and far smaller and lighter weight than the Ohio version. DTRules incorporates automated test support missing from all previous versions, as well as facilities to aid in the mapping of application data into and extracting information out of the Rules Engine.

DTRules is used by Maximus Inc. in a number of production systems, deployed in states like:

  • New York
  • Pennsylvania
  • Colorado
  • Louisiana

DTRules is also used by companies world wide, in domains such as commerce, business licensing, business processes, and accounting.


Leave a Comment