Go to the first, previous, next, last section, table of contents.

Debugging Facility

Currently AgenTalk defines a simple tracing of script execution, and an interface to a separate program called interactor as debugging facility. interactor provides a window for input/output of each agent process under the X window system.

Trace

Macro: trace-script { script-spec }*

 script-spec ::= script-name | (script-name { trace-option  }*) 
 trace-option ::= :break boolean | :trace boolean 

This macro causes tracing of specified scripts. :break option causes entering the Lisp's debugger when a script script-name is invoked. :trace option causes printing out a message when a script script-name is invoked. When no option is specified (i.e. only script-name is specified), :trace t is assumed.

When no script-spec is given, a list of currently traced scripts is returned.

Macro: untrace-script { script-name }*

This macro removes the tracing of script script-name. When no script-name is given, all tracing of scripts are removed.

Macro: trace-state-transition [ script-name { state-spec }* ]

 state-spec ::= state-name-or-all | ( state-name-or-all { trace-option }* ) 
 state-name-or-all ::= state-name | :all 
 trace-option ::= :break boolean | :trace boolean 

This macro causes the tracing of state transition to the specified states. When :break option is specified, a state transition to the state state-name in the script script-name causes entering the Lisp's debugger by executing Common Lisp's break function. When :trace option is specified, a message is printed instead of entering a debugger. :all can be used instead of a state-name; this means that all the states in the script script-name are traced.

When no argument is given, a list of currently traced state transitions is returned. When only script-name is given, a list of currently traced state transition concerning the script script-name is returned.

Macro: untrace-state-transition [ script-name { state-name-or-all }* ]

This macro removes the tracing of a state transition. When no argument is given, all the tracing of a state transition are removed. When only script-name is given, all the tracing of state transition concerning the script script-name are removed.

Macro: trace-script-function { function-name }*

This macro causes the tracing of script (agent) function invocation. When no function-name is given, a list of currently traced script (agent) function is returned.

Macro: untrace-script-function { function-name }*

This macro removes the tracing of script (agent) function invocation. When no function-name is given, all the tracing are removed.

Interactor

Function: use-interactor &rest spec

 spec ::= :interactor :host host :port port | :emacs | nil

When spec is :interactor, subsequent agent process's *terminal-io* is bound to the interactor. host and port specify the host name and the port number of the interactor, and their default values are taken from *interactor-host* and *interactor-port* respectively. When spec is :emacs, the output of each agent is directed to a different emacs buffer. When spec is nil, the interactor is not used.

Variable: *interactor-host*

This variable holds the default value of the interactor host name.

Variable: *interactor-port*

This variable holds the default value of the port number to be used by the interactor.


Go to the first, previous, next, last section, table of contents.