You are here

Divergences

This past month has seen a significant push to meet a demo deadline. During the course of the push, one of my coworkers at NRL kept correcting some mistakes in jACT-R. Many of them are not actually mistakes, but different implementation decisions. In those cases where its a definite bug, they are being corrected. Those that are just implementation differences, where it will make a big difference for lisp modelers, I will make the behavior parameterized and default that parameter to be consistent with the lisp. Most of the time, however, I want to maintain the ability to use the different implementation so that it can be more closely evaluated.

Take for instance the motor module. Right there we've got a huge divergence. There is no manual module or buffer. This is actually being resolved by using a parse-time translation in the lisp parser to convert manual to motor. jACT-R's motor commands are also much more specific than the lisp's, but again, through careful use of chunk-type hierarchies, the commands are fleshed out so that they are transparent to the lisp folks. Taking it even further, the motor module supports muscle-level parallelism, which is disabled by default. Yet another divergence is that I'm working on actually encoding the motor commands and placing them in the motor buffer (violating the assumption that the manual buffer is always empty). Why? In an embodied environment, a model may need to learn how to refine motor commands - without a record of them, there is nothing to introspect.

I've got a list of these divergences. As they are fixed/adapted, I will take the time to set up specific module pages for each detailing all the tender vittles.

Next week is HRI, the flight to and fro will provide me with a great deal of time to make these changes, bringing jACT-R that much closer to the canonical.

For those that are interested, my blog has some news regarding the production static analysis tool I've been working on when sleep is slow in coming.