Here I list out the general differences between the canonical and the Java implementations of ACT-R. Since jACT-R has been coded largely in isolation from the canonical code, there are many design decision differences.

Version 6

The default implementation provides access to the basic retrieval functionality, as well as exposes the parameters defined in 4.0 (LatencyFactor,LatencyExponent) and permits partial matching (if the declarative module's PartialMatchingEnabled is true).


The basic retrieval module template. All retrieval module implementations must support the parameter RetrievalThreshold, which defines the minimum chunk activation value that a chunk must have to be accessible.


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.


Theoretical functionality in jACT-R is defined and extended through the use of modules. As modules are developed and refined, their specification and details will be added here.

Why, why, why?

Ok, sometimes I get questions such as "why did you sacrifice at least a full year of your graduate career to reimplementing a perfectly good system?" (actually, I'm paraphrasing because the actual questions typically question my sanity). Anyway...

New Release (

It's been a little while, but that doesn't mean things haven't been progressing. Lots of new features, lots of improvements, and the usual slew of bug fixes.

Note worthy:

Some help for folks not familiar with Eclipse

Here's a great intro to using the Eclipse workbench for those not already familiar with it.

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.


Subscribe to jACT-R RSS