Constituents of the Context Stack

Constituents of the Context Stack

Each goal in Soar has associated with it a decision procedure results in an impasse (from the context perspective, an impasse is nothing more than an inability of the decision procedure to change some slot in the context stack).

As impasses occur before previous impasses are resolved, a hierarchy of contexts are built, one on top of the other. This is the context stack. One of the curious things about Soar is that decisions may be made at any time for any member of the context stack. For example, a change to the state could be proposed for the second goal in the stack, regardless of how many previous subgoals had been created below it. If this change resolved the impasse at that level in the context stack, then the context stack below that particular goal's place in the context stack would be removed, along with any working memory elements created by those contexts. Thus, within the context stack, all slots are available and appropriate for any decision above it in the context.


To return to the Table of Contents, press HOME. To go to the next document, press NEXT.