Monday, 21 March 2016

What are the Rule engines in Java ?


Jess Rule Engine
  • Fastest
  • Scripting environment written in Java
  • can manipulate and reason Java objects

JBoss Drools
  • Open source
  • Object-Oriented
  • Declarative logic programming
  • Flexible
  • High performance execution

Termware 
  • Term Processing System
  • Better cost effective
  • comes with Java debug interface
  • includes computational algebra systems, formal models analysis and transformation


Hammurapi Rules
  • simplifies complex problems into smaller steps
  • No need to learn specialized rules language
  • Rules and facts are written in Java
  • Same rules and rulesets can be applied or forward or backward chaining 

Open Rules 
  • Less expensive and Easier to develop
  • Full-scale, open source Business Rules management framework
  • Create, deploy, execute, and maintain decision services
  • can meet the increasing demand for complex rulebases and high-transaction volumes
  • User-friendly Rules Administrator that utilizes the power of MS Excel and Eclipse
 
JRuleEngine 
  • Open source
  • based on Java Specification
  • Rules can be loaded by an XML file or JRuleEngine APIs, so rules can be stored externally into a database 
  • It's distribution consists of a JAR library, source, examples and javadoc

SweetRules
  • Integrated toolkit for semantic web rules
  • based on RuleML (Rule Markup Language)
  • supports Logic programs extension of RuleML
  • can prioritize Conflict handling and procedural attachments for actions and tests

Blaze Advisor
  • used by Sun Microsystems
  • can verify the rules and procedural logic

JxBRE
  • Light-weight BRE (Business Rules Engine) for controlling the process flow for an application
  • uses XML to control the application

JEOPS 
  • A forward chaining Rule engine
  • can define rules in Java Application servers, Client apps and Servlets
  • Declarative programming.

OFBiz Rule Engine
  • Backward chaining is supported

JSL : Java Search Library 
  • Library written in Java
  • provides a framework for general searching on graphs
  • Standard search algorithms depth-first, breadth-first and A* are provided

Mandarax 
  • Based on backward reasoning
  • Easy integration of all kinds of data sources
    E.g., database records can be easily integrated as sets of facts

Algernon 
  • Efficient and concise KB traversal and retrieval
  • Straightforward access to ontology classes and instances
  • Supports both forward and backward chaining

TyRuBa 
  • supports higher order logic programming : variables and compound terms are allowed everywhere in queries and rules
  • speeds up execution by making specialized copies of the rule-base
  • builds an index for fast access to rules and facts in the rule base.
    The indexing techniques works also for higher-order logic.
    TyRuBa does 'tabling' of query results.

JLog 
  • An implementation of a Prolog interpreter, written in Java
  • BSF-compatible language
  • It includes built-in source editor, query panels, online help, animation primitives, and a GUI debugger

JTP (Java Theorem Prover)
  • based on a very simple and general reasoning architecture
  • Easy to extend the system by adding new reasoning modules (reasoners), or by customizing or rearranging existing ones

InfoSapient 
  • Semantics of business rules expressed

RDFExpert RDF - Driven expert system shell
  • It uses Brian McBride's JENA API and parser.
  • A simple expert system shell that uses RDF for all of its input : knowledge base, inference rules and elements of the resolution strategy employed.
  • It supports forward and backward chaining.

Jena 2 
  • Java framework for writing Semantic Web applications
  • It has a reasoner subsystem which includes a generic rule based inference engine together with configured rule sets 
  • The subsystem is designed to be extensible so that it should be possible to plug a range of external reasoners into Jena

JLisa
  • Powerful framework for building business rules accessible to Java
  • JLisa is more powerful than Clips because it has the expanded benefit of having all the features from common LISP available.

Euler 
  • A backward-chaining reasoner enhanced with Euler path detection

Pellet OWL Reasoner
  • Open-source Java based OWL DL reasoner
  • It can be used in conjunction with either Jena or OWL API libraries
  • provides functionalities to see the species validation, check consistency of ontologies, classify the taxonomy, check entailments and answer a subset of RDQL queries
  • based on the tableaux algorithms developed for expressive Description Logics

Prova 
  • It extends Mandarax by providing a proper language syntax, native syntax integration with Java, and agent messaging and reaction rules.
  • The language is used as a rules-based backbone for distributed web applications in biomedical data integration.

JShop2
  • Simple Hierarchical Ordered Planner (SHOP) written in Java
  • Domain-independent automated-planning systems
  • based on ordered task decomposition, which is a type of Hierarchical Task Network (HTN) planning
  • uses a new "planner compilation" technique to achieve faster execution speed

OpenLexicon 
  • Business rules and business process management tool
  • rapidly develops applications for transaction and process-based applications
  • 2 main components of Lexicon: the metadata repository and the business rules engine 
  • can evaluate small, in-line Java expressions.

MINS Reasoner
  • Mins Is Not Silri
  • A reasoner for Datalog programs with negation and function symbols
  • supports the Well-Founded Semantics

Zilonis
  • An extremely efficient, multithreaded Rules engine based on a variation of the forward chainning Rete algorithm.
  • can define a scope for a user or group of users with inheritance of rules between them
  • The rules language is similar to CLIPS

JCHR
  • An embedding of Constraint Handling Rules (CHR) in Java
  • The multi-paradigmatic integration of declarative, forward chaining CHR rules and constraint (logic) programming within the imperative, OO host language
  • High performance is achieved through an optimized compilation to Java code.
  • suited for the high-level development of expert systems, incremental constraint solvers and constraint-based algorithms

Esper
  • enables rapid development that process large volumes of incoming messages or events
  • supports Event Stream Processing : Time-based, interval-based, length-based and sorted windows; Grouping, aggregation, sorting, filtering and merging of event streams; SQL-like query language using insert into, select, from, where, group-by, having and order-by clauses; Inner-joins and outer joins (left, right, full)  
  • filters and analyzes events in various ways, and responds to conditions of interest in real-time

mProlog
  • Sub-product of the 3APL-M project
  • It delivers a reduced Prolog engine, optimized for J2ME applications.
  • The 3APL-M project is a platform for building applications using Artificial Autonomous Agents Programming Language (3APL) as the enabling logic for the deliberation cycles and internal knowledge representation.

OpenL Tablets
  • Create Decision Tables in Excel and use them in Java application in a convenient type-safe manner.
  • Use Data Tables in Excel for data setup and testing
  • Eclipse plugin controls validity of Excel tables

Jamocha 
  • Rule engine and expert system shell environment
  • comes with a FIPA-compliant agent
  • The agent is based on the Multiagent System JADE that supports speech-acts and the FIPA agent interaction protocol.

No comments:

Post a Comment

Note: only a member of this blog may post a comment.