Jess (programming language)

Jess is a rule engine for the Java computing platform, written in the Java programming language. It was developed by Ernest Friedman-Hill of Sandia National Laboratories. It is a superset of the CLIPS language. It was first written in late 1995. The language provides rule-based programming for the automation of an expert system, and is often termed as an expert system shell. In recent years, intelligent agent systems have also developed, which depend on a similar ability.

Rather than a procedural paradigm, where one program has a loop that is activated only one time, the declarative paradigm used by Jess applies a set of rules to a set of facts continuously by a process named pattern matching. Rules can modify the set of facts, or can execute any Java code. It uses the Rete algorithm to execute rules.

License
The licensing for Jess is freeware for education and government use, and is proprietary software, needing a license, for commercial use. In contrast, CLIPS, which is the basis and starting code for Jess, is free and open-source software.

Code examples
Code examples: Sample code:

Related systems

 * CLIPS: public-domain software tool to build expert systems
 * ILOG rules: business rule management system
 * JBoss Drools: business rule management system (BRMS)
 * Prolog: general purpose logic programming language
 * OpenL Tablets: business centric rules and BRMS
 * DTRules: decision table based, open-source rule engine for Java

Further sources

 * ISBN 1-930110-89-8