Go backward to Objects and augmentations.
Go up to Working memory (syntax).
Go forward to Preferences.

Goal contexts
-------------

 
 
Problem solving in Soar is controlled by *goal contexts*.  A goal context is
a particular goal, problem space, state, and operator that defines Soar's
current position in problem solving for the goal.  Subgoals and subcontexts
are created when there is an impasse in the problem solving of a goal (see
Section See Impasses on page See Impasses).  The subgoal itself can
have impasses, leading to a *context stack*.  If there are multiple contexts
in the context stack, none is distinguished as being the current context.
Progress can be made in any context if knowledge becomes available.

In working memory, each goal context is represented by augmentations of the
goal identifier for each of the following: problem space, state, and
operator.  These augmentations define *context slots* in which the current
problem space, state, or operator of the goal can be selected.  If an object
has not yet been selected for a slot, no augmentation for that slot will be
in working memory.  A goal is connected to other goals through the {^$object}
attribute whose value is the identifier of the supergoal.

Below is an example of the augmentations that define a goal context where an
operator has not yet been selected, and a subgoal in which all of the context
slots are filled:

(G12             ^problem-space P14 ^state S17)
(G21 ^object G12 ^problem-space P34 ^state S47 ^operator O48)