Although Cassandra's plans may include sensing actions, with the course of action that will actually be executed depending on the results of those actions, Cassandra does not interleave planning with execution. Plans are fully specified before they are executed. In some circumstances this is clearly very inefficient. Consider, for example, how Cassandra constructs a plan to open a combination safe (see Section 6.4). It requires prior knowledge of all possible combinations, and then constructs a plan with a branch for each combination.
An obvious alternative would be to construct a plan that was fully specified up to the information-gathering step, execute the plan to that stage and, once the information has been gathered, construct the rest of the plan. This could be done in Cassandra by introducing another type of decision procedure, that of planning to achieve the goal, and assuming that it would always be possible to find a plan to achieve the goal. This is a strong assumption, but would certainly be valid in cases such as the problem of opening a safe. This is an area of future work. Interleaving planning and execution in this way would have the advantage that it would not be necessary to plan for contingencies that do not actually arise. It would however lose some of the advantages of planning in advance. For example, possible interference between actions performed before and after the information gathering might be missed, leading the planner to find suboptimal plans. Indeed, as sensing actions may in general change the world, executing them before full construction of a viable plan might have the unfortunate result of making the achievement of the goal impossible.
Planners that interleave planning and execution include IPEM [Ambros-Ingerson and Steel 1988], XII [Golden, Etzioni, and Weld 1994] and SAGE [Knoblock 1995]. All three use the same basic interleaving technique: only when no further planning is possible are steps executed. They thus do not set out to decide in advance exactly when further planning will be necessary, and their plans do not include explicit provision for further planning. The effects of different interleaving strategies were investigated in the design of BUMP [Olawsky and Gini1990]. In the Continue Elsewhere strategy as much preplanning as possible was performed; in the Stop and Execute strategy, goals defined in terms of sensor readings were executed as soon as they were encountered. It was found that neither strategy had a clear advantage over the other, in that both strategies sometimes produced plans that were suboptimal or that might fail.