Jess programming language

related topics
{math, number, function}
{system, computer, user}
{disease, patient, cell}

Jess is a rule engine for the Java platform - it is a superset of CLIPS programming language, developed by Ernest Friedman-Hill of Sandia National Labs. It was first written in late 1995.

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 continuously applies a collection of rules to a collection of facts by a process called pattern matching. Rules can modify the collection of facts, or they can execute any Java code.

Jess can be used to build Java servlets, EJBs, applets, and full applications that use knowledge in the form of declarative rules to draw conclusions and make inferences. Since many rules may match many inputs, there are few effective general purpose matching algorithms. The Jess rules engine uses the Rete algorithm.



While CLIPS is licensed as open source, Jess is not open source.

Code examples

Code examples:

 ; is a comment
(bind ?x 100)

; x = 100

(deffunction max (?a ?b)
  (if (> ?a ?b) then ?a else ?b))
(deffacts myroom
   (furniture chair)
   (furniture table)
   (furniture bed)
(deftemplate car
   (slot color)
   (slot mileage)
   (slot value)
(assert (car (color red) (mileage 10000) (value 400)))

Sample code:


See also


External links

Related systems

  • CLIPS: public domain software tool for building expert systems.
  • d3web: free, open-source platform for knowledge-based systems (expert systems).
  • ILOG rules: a business rule management system.
  • JBoss Drools: a business rule management system (BRMS).
  • Prolog: a general purpose logic programming language.
  • OpenL Tablets: business centric rules and BRMS.

Full article ▸

related documents
Blum Blum Shub
Double precision
Normal morphism
Axiom of union
Sophie Germain prime
Contraction mapping
Baire category theorem
LALR parser
CDR coding
Complete measure
Nearest neighbour algorithm
Multiple inheritance
Best-first search
Mutual recursion
Lyapunov fractal
Characteristic subgroup
Hamiltonian path problem
Up to
Complete category
Category of sets
Group homomorphism
Composite number
Partition of unity
Linear congruence theorem
Elias delta coding
AVL tree
Brun's constant