You are here

Probe baby, probe.

There is now a super useful (although still somewhat flaky) tool to probe arbitrary model element parameters (models, productions, chunks, modules, buffers), across time. It comes in two part: runtime probe and viewer.

To use it, you need to enable the GeneralProbe in run configuration and provide it the location of a probe file.

200812041845.jpg

The probe file (typically stored under configuration/probes/) tells the runtime what elements to probe, what parameter to record, and how frequently. The use of regular expressions to select model elements is a little messy, but functional. I'm using the following probe file to record base level activations of attended and updated spatial representations:

<!-- how frequently to poll -->

<instrument window="1">

<!-- what models to probe -->

<model pattern=".*">

<!-- only probe configural chunk types -->

<chunk-type pattern="configural">

<!-- attended -->

<chunk pattern="configural-.">

<probe pattern="BaseLevel.*" poll="true" />

</chunk>

<!-- updated -->

<chunk pattern="configural-\p{Alpha}-.*">

<probe pattern="BaseLevel.*" poll="true" />

</chunk>

</chunk-type>

<!-- log retrieval threshold -->

<!--

<module pattern=".*Retrieval.*">

<probe pattern=".*Threshold" poll="true" />

</module>

-->

<!--

production probe

<production pattern=".*">

<probe pattern="Utility" poll="true"/>

</production>

-->

<!-- or a model parameter probe

   <probe pattern="Age" poll="true"/>

   -->

</model>

</instrument>

Then, when you open the jACT-R Probes view, you can follow the values over time.

200812041840.jpg

You can also export the current time frame to a CSV or PNG file.

There are a few bugs, particularly with respect to auto-scaling (probing modules seems to screw that up.. no clue why) and some performance issues, but otherwise it's quite usable.

Enjoy.