60 likes | 283 Views
An Uncoupled Interface to Soar using SML. Pearson, Marinier, Stokes Dunham, Voigt. System Architecture. Soar Kernel. Soar 8.6 Kernel (C). gSKI. Higher-level Interface (C++). Encodes/Decodes function calls and responses in XML (C++). ElementXML. SML. Soar Markup Language.
E N D
An Uncoupled Interface to Soar using SML Pearson, Marinier, Stokes Dunham, Voigt
System Architecture Soar Kernel Soar 8.6 Kernel (C) gSKI Higher-level Interface (C++) Encodes/Decodes function calls and responses in XML (C++) ElementXML SML Soar Markup Language Encodes/Decodes function calls and responses in XML (C++) ElementXML Client-side gSKI interface (C++, with wrapper for Java, etc) Client gSKI Application Application (any language)
Features • All the advantages of gSKI • Embedded or socket connection • Multiple language support for applications • Tools should “just work” with new versions • No need to recompile or relink • Graceful degradation of functionality
Why SML + gSKI? • Why not SGIO? • SGIO is not gSKI • Why not C API • Not robust, poor encapsulation • Doesn’t hide enough details from user • Not much easier than directly working with raw kernel calls
Status • Identified 26 common gSKI functions for environments (Tic-Tac-Toe, Eaters, TankSoar, and even UT) • Kernel-side ElementXML support mostly finished • Client-side gSKI layer in progress • Socket implementation in progress
Future • Java wrapper for Client-side gSKI • Expand gSKI support to include functions necessary for debugger • Applications • Java Eaters • Java TankSoar • Java debugger