Hammurapi Rules 4.0.0 is a bidirectional inference engine written in Java. Hammurapi Rules uses the syntax of Java language (method signatures, types of method parameters, and annotations) to define rules. Rule sets are defined in XML, Hammurapi rules provides Eclipse plug-in for editing rule sets. Major changes from the previous version:
  • Version 4 uses annotations instead of naming conventions to identify inference methods.
  • Condition annotation.
  • Conclusions are POJO's - derivations are tracked by the reasoning session.
  • Rule classes are POJO's, there is no requirement to extend a certain class or implement a certain interface.
  • Version 4 does not support JSR-94, it defines its own specification.
  • Objects in the knowledge base are compared by Java conventions (hashCode(), equals()) and not by identity as JSR-94 requires.
  • The engine leverages Java "out of the box" executors from java.util.concurrent for multithreaded inference.