Soar Server

This page contains a Java applet that connects to a "Soar Server" process running on the web server. The Soar Server starts a Soar7 process and redirects its I/O streams to the applet on your web page. This means you can type in regular Soar7 commands, send them to Soar, and see what the heck they do.

To make things interesting, new Soar processes are initialized with productions from the eight puzzle demo. You can run the demo by sending the run command. The setup is still pretty flaky, so if you find that the output seems to be lagging behind what you've typed, send the command flush stdout: this should synchronize Soar's output with the applet.

Note that you don't need to type quit to terminate the server-side Soar process: it detects the applet's termination automatically when you leave this page. Beware that if you do force Soar to quit, this applet will start to act funny!

The source code consists of two files: soard.c, the program serving up Soar processes, and SoarClientApplet.java, the Java applet that connects to the server and collects its output.

Inspiration for the Soar7 server came from Ralph Morelli's Soar6 client.


Christopher R. Waterson waterson@eecs.umich.edu

Last Modified September 16, 1996