KEE (Knowledge Engineering Environment) is a frame-based development tool for Expert Systems. KEE was developed and sold by IntelliCorp. It was first released in 1983 and ran on Lisp Machines. KEE was later ported to Lucid Common Lisp with CLX (X11 interface for Common Lisp). This version was available on various Workstations.
On top of KEE several extensions were offered:
Frames are called Units in KEE. Units are used for both individual instances and classes. Frames have slots and slots have facets. Facets for example describe the expected values of a slot, the inheritance rule for the slot or the value of a slot. Slots can have multiple values. Behavior can be implemented using the message-passing paradigm.
KEE provides an extensive graphical user interface to create, browse and manipulate frames.
KEE also includes a frame-based rule system. Rules themselves are frames in the KEE knowledge base. Both forward and backward chaining inference is available.
KEE supports non-monotonic reasoning through the concepts of worlds. Worlds allow provide alternative slot-values of frames. Through an assumption-based Truth maintenance system inconsistencies can be detected and analyzed.
ActiveImages allows graphical displays to be attached to slots of Units. Typical examples are buttons, dials, graphs and histograms. The graphics are also implemented as Units via KEEPictures - a frame-based graphics library.