Cognitive architectures provide a definition of an abstract machine to support programming of cognitive models and intelligent systems. The point of the abstract machine is to provide the most useful set of processes and representations for developing such models, and the machine usually comes hand in hand with a programming language. However, most cognitive architectural languages are specified at a very low level, which hinders model development in a number of ways.

We have developed an abstract machine and language that generalizes across architectures, allowing modelers to move up a level in their model specification. This serves a variety of scientific and engineering goals.


Jones, R. M., Crossman, J. A., Lebiere, C., & Best, B. J. (2006). An abstract language for cognitive modeling. Proceedings of the Seventh International Conference on Cognitive Modeling. Trieste, Italy: Edizioni Goliandiche.

Download a Case Study