In most existing systems, any contextual knowledge present is scattered throughout the knowledge base, often redundantly, rather than being clustered around contexts the agent might encounter. In traditional planning, it is present only in applicability conditions (preconditions and filter conditions) on the planner's operators. At no time is an explicit, coherent picture of the overall context identified or constructed. If the conditions are specific enough to identify all situations in which a given operator is appropriate, they are likely to be cumbersome to manipulate and understand (by a human or other agent); if the conditions are too specific, then the agent will not use the operator for some situations in which it would be appropriate. On the other hand, if the conditions are simple and general, they may allow the agent to apply the operator in inappropriate situations. Using applicability conditions to represent contextual knowledge also has the drawback that the contextual knowledge is stored redundantly, since conditions referring to the context are stored with each operator that might apply in that context. This can be a problem for maintaining the consistency of the planner's operator repertoire. Checking applicability conditions can also waste time, since the agent may need to check each operator's conditions against the current state of the world, even when the world has not changed significantly since the last operator was selected. With clever indexing of operators, this can be ameliorated somewhat, but still the agent will likely examine many operators for every one selected.
The same problems also arise in many reactive planners [][e.g.,]georgeff87 that use applicability conditions. However, some of the more extreme sorts of ``situated'' reactive planners, such as PENGI [\protect\citenameAgre &Chapman, 1987] directly index their actions by features in the environment without representation in the usual sense of the term. Actions are selected directly via sensor input, thus reducing the effort needed to identify appropriate operators. There is (and possibly can be) no explicit representation of context in these ``planners''. Though it is easy to see how they can behave appropriately in a particular context, it is unclear how they can be made to behave appropriately when their context changes.
Rule-based expert systems seldom have a notion of context apart from the trivial sort used by MYCIN and its derivatives [e.g.,]mycin. The exception to this is Aikins' ##1[][]aikins83 CENTAUR system, which began to explore the use of context-like prototypes to partition its ruleset. Other rule-based systems suffer the same drawbacks as traditional planners, with their rules' antecedents serving as applicability conditions. [\protect\citenameDavis &Buchanan, 1984] is one way of judging an operator's or rule's applicability without using its applicability conditions. The meta-plans or meta-rules encode contextual knowledge about plan or rule applicability. However, the meta-plans or meta-rules themselves rely on applicability conditions to capture contextual knowledge to some extent. And since the context is not explicitly represented or reasoned about, meta-reasoning will have to be done each time an operator is selected, even if the context has not changed significantly. This is in contrast to our approach, which commits to an interpretation of the current context, then uses that information to behave appropriately until the context actually changes.
Some work has been done on context sensitive reasoning. Chappell ##1[][]steves-paper (at UNH) has developed a context-sensitive blackboard-based navigational controller for the EAVE AUVs, and Schudy and Duarte [\protect\citenameSchudy &Duarte, 1990] have recently described an approach to real-world control of an AUV that pays some explicit attention to context. There has also been some work on using a schema-like representation of context to aid situation assessment [\protect\citenameNoble, 1989]. Our approach is similar in some ways to these approaches, but differs by: (1) taking a broader view of context; (2) better integrating contextual knowledge into problem solving; and (3) using schemas that are essentially generalized problem-solving cases to capture contexts. This latter difference provides a natural way to represent contexts which should facilitate knowledge acquisition and which potentially provides a tie to established machine learning approaches such as case-based reasoning [e.g.,]ketal85,hammond:book