Distribution
Category UC-411

SAND98-8206 (revised)
Unlimited Release
First Printed November 1997

Jess, The Java Expert System Shell

http://herzberg.ca.sandia.gov/jess
Ernest J. Friedman-Hill
Distributed Computing Systems
Sandia National Laboratories
Livermore, CA
Version 5.2 (3 May 2001)

ABSTRACT

This report describes Jess, an expert system shell and scripting language written entirely in Sun Microsystem's Java language. Jess supports the development of rule-based expert systems which can be tightly coupled to code written in the powerful, portable Java language. The syntax of the Jess language is discussed, and a comprehensive list of supported functions is presented. Guides to calling Java functions from Jess, to extending Jess by writing Java code, and to embedding Jess in Java applications are also included.
Note: this version of Jess is now in maintenence mode, and no new features will be added. Active Jess development is being done on the 6.0 versions. This manual is largely unchanged from the Jess 5.1 relase, and therefore while it accurately describes Jess 5.2, it does not properly represent the capabilities of any newer versions of Jess.

Table of Contents

Introduction
Unpacking and compiling Jess; when to use Jess; designing a Jess application
The Jess Language
A reference guide to the Jess language, from basic language elements to rule-based programming
Programming in the Jess Language
Helpful hints and techniques for writing Jess programs
Introduction to Programming with Jess in Java
A tutorial introduction to the most commonly used Java classes in the Jess library
Adding Commands to Jess
Writing new functions for the Jess language in Java
Embedding Jess in Java Code
A brief discussion of Java application structure
Writing GUIs in Jess
How to create GUIs without writing a single line of Java code
The Jess Function List
Reference documentation for every function in the Jess language
Java API Guide
Javadoc-generated documentation for the Java classes that comprise Jess
The Rete Algorithm
An introduction to the technical details of how Jess works
Change History
How Jess got to where it is today
Useful Reference Material
A bibliography of books, articles and links useful to the Jess user
Function Cross-reference
A list of all Jess functions organized by usage