This document is intended to explain how threads are used in Soar 8.6 and later (this document is being written against 8.6.3). It assumes you already have a passing familiarity with both Soar and the SML interface language. This is advanced reading, for those who want to understand everything that's going on "under the hood".
What Threads Exist
As with all things related to SML, we need to divide up the world into client-side threading and kernel-side thread...
No announcement yet.
4 results in 0.0033 seconds.
You can also choose from the.
SML Output Link GuideThis document provides help on reading the output link of Soar agents using SML.
- Read the output link after the agent's output phase but before the next decision cycle's input phase.
- Excercise care if you save commands (or other working memory elements on the output-link) to use later and return control back to Soar.
How to compile SML ClientsIntroduction
The SML API is the standard method to get Soar agents to communicate with external environments, such as simulations or games. The API was written natively in C++, but has Java, Python, and Tcl bindings generated via SWIG. This page lays out the steps required to compile C++, Java, and Python SML client programs successfully on Linux/OSX/Windows. These instructions are for the 9.3.2 and later releases. Previous releases required a slightly more complex compilation process....
SML Quick Start GuideSML (Soar Markup Language) provides an interface into Soar based around sending and receiving commands packaged as XML packets. The interface is designed to support connecting environments to Soar (where input and output data structures are sent back and forth) and to support debuggers (where commands to print out specific productions or working memory elements are sent back and forth).
We refer to these environments and debuggers as "clients".
The details and...