is a frame-based
A frame language is a metalanguage. It applies the frame concept to the structuring of language properties. Frame languages are usually software languages.-Description:...
development tool for Expert Systems
In artificial intelligence, an expert system is a computer system that emulates the decision-making ability of a human expert. Expert systems are designed to solve complex problems by reasoning about knowledge, like an expert, and not by following the procedure of a developer as is the case in...
. KEE was developed and sold by IntelliCorp
IntelliCorp is a software company that provides, develops, and markets SAP application lifecycle management, business process management and data management software for SAP customers and partners...
. It was first released in 1983 and ran on Lisp Machine
Lisp machines were general-purpose computers designed to efficiently run Lisp as their main software language. In a sense, they were the first commercial single-user workstations...
s. KEE was later ported to Lucid Common Lisp with CLX
CLX is the standard X Window System protocol client library for the Common Lisp programming language,1:3 the C equivalence of which is Xlib....
(X11 interface for Common Lisp
Common Lisp, commonly abbreviated CL, is a dialect of the Lisp programming language, published in ANSI standard document ANSI INCITS 226-1994 , . From the ANSI Common Lisp standard the Common Lisp HyperSpec has been derived for use with web browsers...
). This version was available on various Workstations.
On top of KEE several extensions were offered:
- Simkit, a frame-based simulation library
- KEEconnection, database connection between the frame system and relational databases.
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
A production system is a computer program typically used to provide some form of artificial intelligence, which consists primarily of a set of rules about behavior. These rules, termed productions, are a basic representation found useful in automated planning, expert systems and action selection...
. 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
Reason maintenance is a knowledge representation approach to efficient handling of inferred information that is explicitly stored. Reason maintenance distinguishes between base facts, which can be defeated, and derived facts. As such it differs from belief revision which, in its basic form,...
inconsistencies can be detected and analyzed.
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.