JSoarCommands - soartech/jsoar GitHub Wiki

Introduction

JSoar adds a few new commands on top of those inherited from the C implementation of Soar. Additionally, it is pretty easy to install new commands in JSoar. This page describes both.

JSoar-specific Commands

  • properties - list current values of agent properties
  • rhs-functions - list all installed RHS functions along with min/max number of arguments
  • qmemory - A command-line interface to QMemory. See JSoarOutput for more info.
  • log - A command (and RHS function) for controlling log output to the trace and, optionally, to an slf4j-compatible logging implementation. See JSoarLogging for more info.
  • handler - Disables or enables a RHS function entirely (short-circuiting the RHS function callback) for increased performance. Usage: handler [{--enable | --disable} RHS-FUNCTION]

Creating New Commands

Implement the SoarCommand interface and register it like this:

    agent.getInterpreter().addCommand("name-of-command", commandObject);

Once that is done, your command is usable both from Soar source code and the debugger.