KnowledgeWorks is an integrated development environment for constructing complex knowledge-based systems. It provides a flexible multi-paradigm toolkit that enables developers to combine rule-based, object-oriented, logical, functional and database programming using accepted software standards: ANSI Common Lisp, CLOS, OPS, Prolog, and SQL.


  • OPS-compatible forward chainer
  • Prolog-compatible backward chainer
  • Object-oriented knowledge representation using CLOS
  • Meta-protocols for rules and objects
  • Complete online hypertext documentation
  • Full access to LispWorks IDE
  • Multi-platform delivery

Learn more about the features and benefits of KnowledgeWorks:

Programming Environment

  • Logic listener
  • Rule-context browser
  • Object browser
  • Class browser
  • Forward chaining history
  • Backward chaining subgoal trees
  • Enhanced system builder


KnowledgeWorks uses CLOS (Common Lisp Object System) for its knowledge representation. CLOS provides an exceptionally flexible environment for object-oriented programming.

KnowledgeWorks classes are conventional CLOS classes with the addition of mixin class to enable rule-based pattern matching. Therefore, KnowledgeWorks objects can be used by other programs, and it is simple to port existing CLOS code to KnowledgeWorks.

Object-Oriented Knowledge Representation


  • Multiple inheritance
  • Before and after methods (daemons)
  • Multi-methods
  • User-definable method combination
  • Instances that can change class
  • Metaobject protocol for customizing the object system


KnowledgeWorks provides both forward and backward inferencing through a uniform rule syntax. Each inference system can call the other, and both support pattern matching, object modification and procedure calls.

KnowledgeWorks rules perform pattern-matching directly over the object base. Forward chaining rules use this pattern-matching to perform actions, while backward chaining rules use it to deduce goals.

Contexts and Conflict Resolution

Forward chaining rules may be grouped into contexts to increase the modularity of the rule-base. Contexts acts as the organizational unit for agenda-based invocation, conflict resolution, and meta-interpretation.

Conflict resolution strategies are each composed of a number of tactics. A range of built-in tactics are provided, but users can also define their own.

User defined domain-specific tactics simplify rule-based programming enormously by supporting a clear separation of the declarative and procedural knowledge.

Metarule Protocol

Complete control over the forward chaining cycle is available through the Metarule Protocol (MRP). The user can override the default forwarding chaining cycle for any context by providing an associated backward chaining meta-interpreter. In this way, facilities such as rule explanation or uncertainty management can be customized by the user.

Forward Inferencing


  • OPS5-like syntax
  • Modularity and control through rule contexts
  • User-definable conflict resolution with built-in OPS5 strategies
  • Metarule protocol for customizing rule execution
  • Logical dependencies for truth maintenance
  • Multiple independent inferencing states

Backward Inferencing


  • Prolog-compatible
  • Lisp or Edinburgh syntax
  • 4-Port debugging
  • Mode declarations
  • User-selectable clause indexing
  • Graphical debugging/tracing

SQL Interface

Transparent access to relational databases from rules provided through the SQL interface. Together, LispWorks' Common SQL interface and KnowledgeWorks' inferencing mechanisms may be used to construct intelligent database systems.

Integrated Products

KnowledgeWorks is built on top of LispWorks® and can be used in conjunction with other modules to construct and deliver intelligent information systems.


The KnowledgeWorks forward chainer is based on the RETE algorithm, which compiles the rules into networks of shared conditions. The RETE networks effectively record how many conditions of each rule are currently satisfied - allowing a fast response to changes in the object base.

The KnowledgeWorks backward chainer is an extended Prolog based on the Warren Abstract Machine. High performance is achieved by compiling each Prolog clause into a function and handling Prolog control flow by continuation passing.


KnowledgeWorks is included with LispWorks Enterprise Edition.

Further Information

For purchasing and further information, please contact us.

Company     Contact     Privacy Policy     Terms of Use