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
- Object-Oriented Knowledge Representation
- Contexts and Conflict Resolution
- Metarule Protocol
- Forward Inferencing
- Backward Inferencing
- SQL Interface
- Integrated Products
- Further Information
- 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.
- Multiple inheritance
- Before and after methods (daemons)
- 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.
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.
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.
- 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
- Lisp or Edinburgh syntax
- 4-Port debugging
- Mode declarations
- User-selectable clause indexing
- Graphical debugging/tracing
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.
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.
For purchasing and further information, please contact us.