The variable and functions described in this section let you turn on and off various ways of tracing SNIP's activities. Following these traces requires various degrees of knowledge of how SNIP is implemented. Implementation details, however, are beyond the scope of this manual.
*infertrace*
This variable controls an inference trace that is readily
understandable by the SNePSUL user. When this inference tracing is
enabled, a message is printed whenever: a deduce is done; a
sub-goal is generated during backward inference; a sub-goal matches a
stored assertion; a rule fires. The message indicates which of these
is happening, and prints one or more proposition nodes or instantiated
pattern nodes. The possible values of *infertrace* are:
(ev-trace
process-name
)
A SNePSUL top-level command for tracing MULTI processes. If called
with one or more arguments (unquoted), it turns on event tracing of
those named processes. If called with no arguments, and some
processes are being traced, it returns a list of processes being
traced. If called with no arguments, and no processes are being
traced, it turns on event tracing of all processes. Following these
traces requires a knowledge of how SNIP is implemented. They are
intended for implementing and debugging new features of SNIP.
(unev-trace
process-name
)
A SNePSUL top-level
command for turning off event tracing of MULTI processes. If called
with one or more arguments (unquoted), it turns off event tracing of
those named processes. If called with no arguments, it turns off all
event tracing.
(in-trace
process-name
)
A SNePSUL top-level command for tracing MULTI processes. If called
with one or more arguments (unquoted), it turns on initiation tracing
of those named processes. If called with no arguments, and some
processes are being traced, it returns a list of processes being
traced. If called with no arguments, and no processes are being
traced, it turns on initiation tracing of all processes. Following
these traces requires a knowledge of how SNIP is implemented. They
are intended for implementing and debugging new features of SNIP.
(unin-trace
process-name
)
A SNePSUL top-level
command for turning off initiation tracing of MULTI processes. If
called with one or more arguments (unquoted), it turns off initiation
tracing of those named processes. If called with no arguments, it
turns off all initiation tracing.
(multi::print-regs
process)
Function that prints the registers of the individual process and
their current values. Assumes a knowledge of how SNIP is implemented.
Intended for implementing and debugging new features of SNIP.
snip::send-request
snip::send-reports
These two functions may profitably be traced by someone familiar with how SNIP is implemented.
Tracing snip::send-request will show the requests being sent, the nodes they are sent to, and
the queue of pending processes. Tracing snip::send-reports will show the reports being sent,
the channels they are being sent through, and the reports coming out of the channels.