It provides rule-based programming suitable for automating an expert system, and is often referred to as an expert system shell. In recent years, intelligent agent systems have also developed, which depend on a similar capability. Rather than a procedural paradigm, where a single program has a loop that is activated only one time, the declarative paradigm used by Jess matches a rule with a single fact specified as its input and processes that fact as its output. When the program is run, the rules engine will activate one for each matching fact.
Jess can be used to build Java applets as well as full applications that use knowledge in the form of declarative rules to draw conclusions, and inferences. Since many rules may match many inputs, there are few effective general purpose matching algorithms. The Jess rules engine uses the Rete algorithm.