next up previous
Next: Establishing Open Conditions Up: Algorithm Previous: Algorithm

Resolving Threats to Unsafe Links

Figure 14 shows how threats are resolved. The methods shown in steps 2, 3, and 4 are standard methods found in SNLP and UCPOP; they are often termed separation, demotion, and promotion respectively. We say that the methods in step 5 disable the threat. The methods in steps 5a and 5b ensure that the threatening effect does not occur in a given contingency. The method in step 5a is a modification of a standard method found in UCPOP and other planners that use secondary preconditions. Essentially, the idea is to prevent an effect from occurring by ensuring that the context in which it occurs cannot hold. The method in 5b prevents an effect from occurring in a contingency by forbidding the execution of the step that produces it. The method in step 5c notes that the established step or effect cannot occur in a given contingency. If any of these techniques result in inconsistent labeling of any plan element (so that, for example, it cannot occur in every contingency in which it is required) the resulting partial plan is abandoned, as it represents a dead end in the search space.

Resolve(Plan, Unsafe)

  1. Initialize a list NewPlans;
  2. If the unification of the clobbering condition ClobberCond with the condition Cond established by the link Unsafe involves adding codesignation constraints to the bindings of Plan:
  3. If the clobbering step ClobberStep can precede the step Step that establishes Unsafe:
  4. If the step SupStep supported by Unsafe can precede ClobberStep:
  5. Prevent the clobbering effect ClobberEff from occurring in each contingency Conting in which the link Unsafe is unsafe:
  6. Return NewPlans.

Figure 14: Resolving threats

next up previous
Next: Establishing Open Conditions Up: Algorithm Previous: Algorithm

Louise Pryor <>;
Last modified: Wed May 1 11:30:17 1996