Jess is a rule engine and scripting environment written entirely in Sun's Java language by Ernest Friedman-Hill at Sandia National Laboratories in Livermore, CA. Using Jess, you can build Java software that has the capacity to "reason" using knowledge you supply in the form of declarative rules. Jess is small, light, and one of the fastest rule engines available. Its powerful scripting language gives you access to all of Java's APIs. Jess includes a full-featured development environment based on the award-winning Eclipse platform.
Jess uses an enhanced version of the Rete algorithm to process rules. Rete is a very efficient mechanism for solving the difficult many-to-many matching problem (see for example "Rete: A Fast Algorithm for the Many Pattern/ Many Object Pattern Match Problem", Charles L. Forgy, Artificial Intelligence 19 (1982), 17-37.) Jess has many unique features including backwards chaining and working memory queries, and of course Jess can directly manipulate and reason about Java objects. Jess is also a powerful Java scripting environment, from which you can create Java objects, call Java methods, and implement Java interfaces without compiling any Java code.
Jess can be licensed for commercial use, and is available at no cost for academic use. Contact Craig Smith at for prices and commercial licensing terms, or for a research based academic license.


Version 7.1p2 (5 November 2008) DRAFT
Ernest J. Friedman-Hill
Sandia National Laboratories

the Rule Engine for the Java™ Platform
Jess is a rule engine for the Java platform. To use it, you specify logic in the form of rules using one of two formats: the Jess rule language (prefered) or XML. You also provide some of your own data for the rules to operate on. When you run the rule engine, your rules are carried out. Rules can create new data, or they can do anything that the Java programming language can do.
Although Jess can run as a standalone program, usually you will embed the Jess library in your Java code and manipulate it using its own Java API or the basic facilities offered by the javax.rules API.
You can develop Jess language code in any text editor, but Jess comes with a full featured development environment based on the award-winningEclipse platform.
Jess is a registered trademark of Sandia National Laboratories. Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. Originally published as SAND98-8206. Distribution category UC-411.