You are here

amharrison's blog

getting close to an official release.

With all the progress that has been happening behind the scenes, it's starting to feel a lot like time to start prepping and official release candidate. What does that mean? Well, there are few outstanding features that need to be implemented (i.e. production compilation) plus a handful of functionalities that I've placed on the back burner because of their small size and my general lack of need (i.e. visual object tracking, mouse motor control, subvocalization), but other than that, all the pieces are there.

come and get it

Another weekend, another release.

Lisp lovers will be happy to know that the lisp parser and generator have improved dramatically. While support is still not 100% (read as: parameters and !eval! of lisp code), jactr models can now be converted to lisp and back and be identical (unless you use custom parameter values). The two biggest challenges of handling scripts and proxies have been resolved. Take it for a spin, convert an existing jactr model to lisp and bask in the coolness.

day of reckoning

Well, the folks at NRL have begun to work with jACT-R. Let me tell you, that first day was rough. Write once, run anywhere has always been more of a philosophy than a reality. Fortunately, most of the issues were my bugs and they were addressed.

New Release

A new release is available for update. This fixes a handful of bugs, has some refactorings to make the code more extensible but also includes a slew of new features:

1) muscle level parallelism support for the motor module

2) auditory module

3) vocal module (still no subvocalize)

4) more support for preexisting motor commands (punch, peck, -recoil, still no mouse since i havent needed it yet)

5) reward mechanism is working (support for the new production utility, compilation is coming soon)

6) improved performance for real time

Time, time, time.

Within the walls here at NRL, there have been a few conversations regarding how time is handled. ACT-R has two modes for handling time: fast as possible and real-time. Fast as possible just zips through the event queue advancing the clock based on the earliest event available. The real-time clock does the same thing, except that if the next event is further from the current time, the current thread will sleep. Fairly simple and effective, unless you are interfaced with an external device, which likely involves networking and latency problems. Ugh.

Temporal module

The temporal module (Taatgen, Van Rijn & Anderson, 2005) has been added to the tools release. It's a simple module and would be a good one to look at for anyone who wants an example of how to build your own module. I'll extend the documentation soon.


So, there has been a long standing bug in Eclipse (well, Equinox) such that if you wanted to use Swing on the Mac, you were SOL. The reasoning was that since the majority of Eclipse uses SWT, they were doing some custom thread management that would make all Swing calls deadlock.

Better exception messages.

I just got an email asking about an exception that often shows up in the console on the first time you trying running:

Could not load environment file file:/.../runs/12.10.07/2.24.43PM/environment.xml

3.3 Good (enough) to go.

Alright, after a very long couple of days, the 3.3 stream has been tested and is working well enough for the time being. It has been tested on Mac & Win XP.

General motor module, redux.

So, I've been working on making it as simple as possible to add new movements to the motor module. I think I've got it down. To add new types of movements, you need to implement ICommandTranslatorDelegate, which has the following methods:



Subscribe to RSS - amharrison's blog