Go backward to Task operator termination.
Go up to Encoding A Task in Soar.
Go forward to Using lookahead search.
Monitoring the problem solving
==============================
To help keep track of the progress of problem solving, productions can be
added that trace the state of working memory. For example, the following
productions print out the ^ontop relations in the state and print the
application of operators:
(sp blocks-world*monitor*state*relation*ontop
(goal <g> ^problem-space.name blocks-world
^state.object-dynamic <ob-dyn>)
(<ob-dyn> ^object-static.name <top-ob-name>
^ontop.name <under-ob-name>)
-->
(write (crlf)
| ontop(| <top-ob-name>
|,| <under-ob-name> |)|))
(sp blocks-world*monitor*operator-application*move-block
(goal <g> ^operator <o>)
(<o> ^name move-block
^moving-block.name <mob-name>
^destination.name <dob-name>)
-->
(write (crlf)
| APPLIED | <o>
|: move-block(| <mob-name>
|,| <dob-name>
|)|))
Information can also be traced using the trace formats (see Section
See Trace formats on page See Trace formats).