My work on cognitive user models grew out out of the work on psychology of programming. My approach to user modelling has been to consider the commands that drive interactive devices as a form of action language. In an action the "sentences" are executed immediately, whereas executing the sentences of a programming language is deferred until run-time, but both types of language have internal structure. Taking this approach has allowed me to propose unified theories applying to both environments (unlike most HCI work, which is restricted to the interactive case).
It was driven by attempts to explain the idea of a consistent or "harmonious" programming language, such that when learners knew some of the language they could infer much of the remainder. This notion was in the air at that time, both in connection with early efforts at computer-based teaching of programming languages and in connection with programming language design (notably the dispute between Hoare, who maintained that Ada was too big, and Ichbaiah, who maintained that the human mind grasped general principles and extended them). I proposed that a van Wijngaarden two-level grammar would make a good model of language knowledge, with the meta-rules describing knowledge of the overall structure.
Steve Payne and I showed it was possible to describe the consistency of an interaction language as a Task-Action Grammar or TAG, using a feature-based representation of tasks and a form of attribute grammar to generate the actions necessary to accomplish those tasks. TAG notation is far more compact than the notation of the well-known GOMS, and of course TAG's ability to describe configural knowledge of the language structure is unmatched in GOMS &endash; or indeed, in any other well-known user modelling system.
Franz Schiele and I succeeded in creating TAG representations of substantial fragments of three real-life applications, including a GUI interface (MacDraw), together with a representation of the core knowledge of Macintosh interface style . TAG remains at present the only user-modelling notation in which such a substantial analysis has been published.
Some of my publications in this aea are:
Green, T. R. G. and A. Doubleday (1994) Connectionist modelling of consistency effects in task-action languages. In R. Oppermann, S. Bagnara and D. Benyon (Eds.) Proceedings of ECCE-7, Seventh European Conference on Cognitive Ergonomics. Sankt Augustin: Gesellschaft für Mathematik und Datenverarbeitung MBH. GMD-Studien Nr 233.
Payne, S. J. and Green, T. R. G. (1990) Task Action Grammar: recent developments. In D. Diaper (Ed.) Approaches to Task Analysis. Cambridge University Press.
Schiele, F. and Green, T. R. G. (1990) Formalisms in HCI: the case of Task-Action Grammar. In M. Harrison and H. Thimbleby (Eds) Formal methods in Human-Computer Interaction. Cambridge University Press.
Payne, S.J. and Green, T. R. G. (1989) The structure of command languages: an experiment with task-action grammar. Int. J. Man-Machine Studies 30 213-234.
Young, R.M., Green, T. R. G., and Simon, T. (1989) Programmable user models for predictive evaluation of interface designs. In Proceedings of CHI '89. ACM, New York.
Green, T. R. G., Schiele, F. and Payne, S.J. (1988) Formalisable models of user knowledge in human-computer interaction. In G.C. van der Veer, T. R. G. Green, J-M. Hoc, and D. Murray (eds.) Working with Computers: Theory versus Outcome. Academic Press.
Payne, S.J. and Green, T.R.G. (1986) Task-action grammars: a model of the mental representation of task languages. Human-Computer Interaction 2 (2) 93-133.