Next: Protecting LCW Up: Universally quantified goals Previous: Universally quantified goals

Protecting links

In the simplest case, XII can use a universally quantified effect to directly support a universally quantified goal. However, goals, like ordinary goals, can get clobbered by subgoal interactions; to avoid this, XII uses an extension of the causal link [10] mechanism used for protecting other goals. A causal link is a triple, written , where is a goal, is the step that produces and is the step that consumes . We refer to as the label of the link. When XII supports a goal directly (i.e., without expanding into the universal base) it creates a link whose label, , is a universally quantified sentence (instead of the traditional literal); we call such links `` links.'' In general, a link is threatened when some other step, , has an effect that possibly interferes with and can possibly be executed between and . For normal links, interference is defined as having an effect that unifies with . Such an effect also threatens a link, but links are also threatened by effects that possibly add an object to the quantifier's universe of discourse. For example, if XII adds a chmod g+r * step to achieve the goal of having all files in a directory group readable, the link would be threatened by a step which moved a new file (possibly unreadable) into the directory. Threats to links can be handled using the same techniques used to resolve ordinary threats: demotion, promotion, and confrontation. Additionally, the following rule applies.

For example, suppose a link recording the condition that all files in /tex be group readable is threatened by step , which creates a new file, new.tex. This threat can be handled by subgoaling to ensure that new.tex is either group readable or not in directory /tex.



Next: Protecting LCW Up: Universally quantified goals Previous: Universally quantified goals


bburnard@isx.com
Wed Feb 16 09:48:57 PST 1994