Information on this page is related to a paper written for the International Conference on Cognitive Modeling, Pittsburgh, July 30 - August 1, 2004.
St. Amant, R., & Ritter, F. E. (2004). Automated GOMS-to-ACT-R model translation (draft). Proceedings of the International Conference on Cognitive Modeling (ICCM). July, 2004, Pittsburg, PA. 189-194.
We describe a system, G2A, that produces ACT-R models from GOMS models containing hierarchical methods, visual and memory stores, and control constructs. Because GOMS is a more abstract formalism than ACT-R, a single GOMS operator might be plausibly translated in different ways into ACT-R productions (e.g., a GOMS Look-for operator might be carried out by different visual search strategies in ACT-R.) Given a GOMS model, G2A generates and evaluates alternative ACT-R models by systematically varying the mapping of GOMS operators to ACT-R productions. In experiments with a text editing task, G2A produces ACT-R models whose predictions are within 5% of GOMS model predictions. In the same domain, G2A also generates ACT-R models that give good predictions of overall task duration for actual users (within 2% error), though the models are much less accurate at a detailed level.
The system that accompanies this paper is available for download:
G2A has so far only been used by its developer, and so may not be trivial to run without assistance. (For example, Mike Byrne reports that the parsing code does not run correctly in MCL. Allegro is the only Common Lisp platform on which we have run G2A.) Please send mail to Rob St. Amant if you'd like assistance in using G2A.
The paper doesn't go into great detail about a few of the technical limitations of the system. These are as follows:
Get_task_item_whose START_STEP is NEXT_STEP of [CURRENT_TAG]which translates to the retrieval of a task_item object that has a START_STEP property that contains the same value as the NEXT_STEP property of whatever object is stored in the location [CURRENT_TAG]. (This is an idiom for iterating over a set of linked task_items.) G2A is not smart enough to determine from context the type of object stored in [CURRENT_TAG], which may be a task_item or an LTM_item (long term memory item). It looks for an object type for which the property NEXT_STEP is defined, and builds an appropriate ACT-R retrieval as a translation. In the case where LTM_items and task_items have the same named properties, there is ambiguity that G2A cannot currently handle. Renaming properties in the GOMSL model is necessary (and straightforward).