Jess: Implementing A High-Performance
Symbolic Reasoning Engine In Java
Ernest
J. Friedman-Hill
Sandia National Laboratories
2:00pm October 29, 1999
Lecture Hall V, ECS
The old notion of the Expert System has enjoyed
a recent resurgence of popularity, both in traditional applications
like help desks and classifiers and as reasoning portions of Agents.
Jess (the Java Expert System Shell) is a Java implementation
of the Rete algorithm, an efficient pattern-matching technique
for Expert Systems (or more generally for production systems)
that has been applied to all of these problems, and more. Jess
is extremely fast, outperforming some other well-known Rete implementations
(including those written in C) by as much as several orders of
magnitude on the Miranker benchmarks. This presentation will focus
on the techniques used to achieve this speed in Java, a language
often itself criticized for its performance disadvantages. I will
also describe some of Jess's other novel features, again with
an eye towards the unique implementation issues and opportunities
presented by the Java environment.