S-constructor
Problem space: create-operator and (Virtual-)top-space
Operator Overview:
This is the operator that builds pieces of the s-model and it is actually a gensymed operator from the create-operator problem space. Since it does not have an implementation when it is first proposed, there will be an immediate operator no-change impasse and the s-construct space will get selected for the implementation of this operator. Results return to the create-operator space form the basis of the implementation of the s-constructor. Each u-constructor might consist of several fuse and/or semsnip operators or it could be just an empty op.

Like u-constructors, there is also a special ^annotation empty-op that is part the proposal for an empty operator so that search control can operate on it.

Operator Proposal:
Note that the s-constructor gets proposed and selected twice. The first time is when NL-soar enters the create-operator problem space and it automatically gets proposed. The second time happens after its construction in the lower spaces. The operator return-operator re-proposes it in the top-space.

Operator Application:
The first time it gets selected (in the create-operator space), there will be an operator no-change impasse since NL-Soar has no idea how to implement this gensymed operator.

Once the s-constructor gets proposed and selected in the top space, all the implementation chunks built in the lower spaces fire immediately and these change the structure in the Semantics A/R set, in essence building up s-model.

Operator Reconsider:
Reconsidered when the final implementation chunk is learned in the completion space.
Productions are in file: s-construct.communication.soar

Back to the operator hierarchy.

This page written by Jill Fain Lehman (jef@cs.cmu.edu) and Han Ming Ong (hanming@cs.cmu.edu)

Updated by Julie Van Dyke (vandyke@cs.cmu.edu), August, 1997