A knowledge representation formalism. A frame is a list of named slots. Each slot can hold a fact, a pointer to a slot in another frame, a rule for deriving the value of the slot, or a procedure for calculating the value. Frames can be used to represent all the knowledge about a particular object or event. They are often arranged in hierarchies in which frames representing particular entities inherit their slot values from ancestor frames representing generic entities. See also object-oriented programming.