These models share a common weakness, however. Neither of them includes system feedback in their models. Both assume that the actions to be taken are known beforehand and are executed straight through with no error or decision making involved. While this assumption may be valid for the low level types of timing information these techniques provide, it also limits their applicability. Feedback is an integral part of modern interfaces. Moreover, it is a vital component in many human planning activities. This is the realm of opportunistic planning.
In 1979, however, Barbara Hayes-Roth and Frederick Hayes-Roth proposed a different cognitive model for the planning process. (Hayes-Roth and Hayes-Roth, 1979). In this model, they proposed that many instances of human planning were much less structured than this. In many instances, the planner would formulate the overall problem, but then immediately begin laying out low level actions. These actions might then lead to intermediate planning strategies, and eventually to a cohesive plan. They labeled this planning model "opportunistic".
Hayes-Roth and Hayes-Roth modeled this behavior by creating the concept of cognitive specialists. During planning, dozens of these independent cognitive agents may be active, contributing to the process. Each specialist waits for a certain trigger condition to arise. When that condition comes into existence, the specialist takes an action, which may then cause other specialists to fire.
If this sounds similar to the popular artificial intelligence model of a neural net, that's not surprising. Hayes-Roth and Hayes-Roth were looking for a model which not only captured the somewhat chaotic nature of human planning but which could also be codified and simulated by a computer program.
Of course, it would be very inefficient if every specialist had to monitor the entire blackboard for potentially relevant information. So the blackboard is divided into five separate planes. Each plane contains a particular type of information.
The meta-plan plane is in some sense the most abstract of the planes. Here, information about the problem as a whole is stored. The planner's initial understanding of the problem is written here, along with a set of methods the planner intends to apply to solving it and a list of criteria that will be used to evaluate potential solutions to determine whether or not they are acceptable.
The executive plane contains information that guides the planning process. This includes decisions on how to assign cognitive resources to various planning strategies and which specialists to bring to bear at any given time.
The plan-abstractions plane stores information on the desired attributes of planning decisions. It is here where general types of actions are considered.
Meanwhile, the plan plane consists of actual actions to be taken in the real world. This is the most concrete of the planes. Actions in this level can be thought of as instantiations of action "classes" contained in the plan-abstractions plane.
Finally, the knowledge base is a repository for data that is useful to the planning process. This includes the results of mental calculations and knowledge about the real world environment the planning is being applied to. This is useful for suggestion plan-abstractions and for instantiating existing abstractions into concrete actions. For instance, if a pending abstraction calls for choosing from a set of points the one that is closest to your current position, the knowledge of your current position and the spatial relationships of those other points to your position resides here.
In addition, each of these five planes is further subdivided into three or four levels of abstraction. These divisions aid the cognitive specialists in narrowing the area that they must search for potential input. However, they tend to be confusing to a casual reader when taken all at once. Therefore, curious individuals are encouraged to read the original paper for details.
Successive refinement still has several advantages with respect to opportunistic planning. The hierarchy it uses is conceptually quite simple. The process is quick, particularly when the planner is quite familiar with the problem domain. Memory load on the planner is kept low because the planner can focus on one subtree of the entire hierarchy at a time and can ignore the rest until the current subtree has been completed. Moreover, successive refinement is particularly useful when the problem itself maps readily to a hierarchical space.
At the same time, opportunism provides a great deal of freedom, particularly in complex domains. It also can lead to more varied plans. If one uses only successive refinement, then one typically knows only a few basic ways of subdividing the initial problem to arrive at subgoals. In opportunistic planning, however, the bottom-up nature of the process often suggests groupings and strategies that would not have been considered in a more rigid approach. If nothing else, opportunism has the advantage that it actually encompasses successive refinement. Opportunism calls for the most effective planning method to be applied. When the best method is successive refinement, an opportunistic strategy will use it.