text: Frame structure The frame contains information on how to use the frame, what to expect next, and what to do when these expectations are not met. Some information in the frame is generally unchanged while other information, stored in "terminals", usually change. Terminals can be considered as variables. Top-level frames carry information, that is always true about the problem in hand, however, terminals do not have to be true. Their value might change with the new information encountered. Different frames may share the same terminals.
  Each piece of information about a particular frame is held in a slot. The information can contain:
  Facts or Data
  Values (called facets)
  Procedures (also called procedural attachments)
  IF-NEEDED: deferred evaluation
  IF-ADDED: updates linked information
  Default Values
  For Data
  For Procedures
  Other Frames or Subframes
  Features and advantages
  A frame's terminals are already filled with default values, which is based on how the human mind works. For example, when a person is told "a boy kicks a ball", most people will visualize a particular ball (such as a familiar soccer ball) rather than imagining some abstract ball with no attributes.
  One particular strength of frame-based knowledge representations is that, unlike semantic networks, they allow for exceptions in particular
  instances. This gives frames a degree of flexibility that allows representations to reflect real-world phenomena more accurately.
  Like semantic networks, frames can be queried using spreading activation. Following the rules of inheritance, any value given to a slot that is inherited by subframes will be updated (IF-ADDED) to the corresponding slots in the subframes and any new instances of a particular frame will feature that new value as the default.