Definition of GOMS

GOMS Model (Card, Moran & Newell) is a theory of the cognitive skills involved in human-computer tasks. It is based upon an information processing framework that assumes a number of different stages or types of memory (e.g., sensory store, working memory, LTM) with separate perceptual, motor, and cognitive processing. All cognitive activities are interpreted in terms of searching a problem space, the fundamental premise of GPS and Newell’s Soar theory.[1]

GOMS is a specialized human information processor model for human-computer interaction observation that describes a user's cognitive structure on four components. In the book The Psychology of Human Computer Interaction written in 1983 by Stuart K. Card, Thomas P. Moran and Allen Newell, the authors introduce: "a set of Goals, a set of Operators, a set of Methods for achieving the goals, and a set of Selections rules for choosing among competing methods for goals." GOMS is a widely used method by usability specialists for computer system designers because it produces quantitative and qualitative predictions of how people will use a proposed system.[2]

The simplest and most frequently used GOMS variant is KLM-GOMS (Keystroke-Level Model), where empirically derived values for basic operators like keystrokes, button presses, double clicks, and pointer movement time, are used to estimate task times. The other three major GOMS variants (CMN-GOMS, NGOMSL, and CPM-GOMS) require extensive training and familiarity with Human-Computer Interaction principles to perform an analysis.[3]

Overview of the GOMS Model[4]

A GOMS model is composed of methods that are used to achieve specific goals. These methods are then composed of operators at the lowest level. The operators are specific steps that a user performs and are assigned a specific execution time. If a goal can be achieved by more than one method, then selection rules are used to determine the proper Method.

  • Goals are symbolic structures that define a state of affairs to be achieved and determinate a set of possible methods by which it may be accomplished
  • Operators are elementary perceptual, motor or cognitive acts, whose execution is necessary to change any aspect of the user's mental state or to affect the task environment
  • Methods describe a procedure for accomplishing a goal
  • Selection Rules are needed when a goal is attempted, there may be more than one method available to the user to accomplish it.

There are several different GOMS variations which allow for different aspects of an interface to be accurately studied and predicted. For all of the variants, the definitions of the major concepts are the same. There is some flexibility for the designer's/analyst's definition of all of the entities. For instance, an operator in one method may be a goal in a different method. The level of granularity is adjusted to capture what the particular evaluator is examining. For a simple applied example see CMN-GOMS.

Elements of a GOMS Model
source: Wikipedia

Principles of GOMS[5]

  • To improve the performance of a cognitive skill, eliminate unnecessary operators from the method used to do the task (or use other methods).
  • The operators involved in cognitive skills are highly specific to the methods used for a given task.
  • Task performance can be improved by providing a set of error-recovery methods.

Types of GOMS Models[6]

There are 4 different GOMS models: KLM, CMN-GOMS, NGOMSL, and CPM-GOMS.

  • All four models produce the same sequence of observable operator at different levels of detail
  • NGOMSL is the only model making learning time predictions: NGOMSL learning time predictions are limited to the effects of the amount of procedural knowledge and related long term memory information to be learned
  • All make different assumptions about mental processes.


  • Keystroke-Level Model described by Card, Morgan and Newell
  • Contains several simplifying assumption
  • Uses pre-established keystroke-level primitive operators for predictions
  • Contains six types of operators:
    • K - to press a key or button
    • P - to point with a mouse to a target on a display
    • H - to home hands on keyboard or other device
    • D - to draw a line segment on a grid
    • M - to mentally prepare to do an action or closely related series of primitive actions
    • R - to symbolize the system response time during which the user has to wait for the system
  • Serial stage model
  • Most practical of the GOMS methodologies as it is the easiest to apply in actual interface design practice and simplest to explain and justify to computer software developers


  • developed by Card Morgan and Newell
  • slightly more specified that general GOMS hierarchical goal structure and methods in program form: strict goal hierarchy and methods are represented in an informal pseudo-code-like notation that can include sub-methods and conditionals
  • one-to one correlation of physical operators in CNM-GOMS with the Ks and Ps of KLM: K stands for pressing a key or button; P stands for pointing with a mouse to a target on a display
  • puts mental time in verify operators at end of subprocedures.


  • provides well-defined structured natural language (Natural GOMS language) which is very explicit and can represent very general methods
  • NGOMSL models are in a program form
  • Uses breadth expansion of users top-level goals into methods, this expansion continues until the methods contain only the operators chosen to be primitive, typically keystroke-level operators
  • Can be used to estimate learning time and execution time, stipulation is that only the time for learning procedure steps in a specific learning situation is taken into account
  • Assumed knowledge of execution of operators
  • Has limitations assumes linear tasks, if new operators are involved, GOMS analysis can predict only the time required to learn the procedures that use the operators but not the time it would take to learn the new operators themselves, the procedure learning time is approximately linear with the number of NGOMSL statements that must be learned
  • In 1994, only GOMS model to predict both prformance and learning time.


  • Cognitive-Perceptual-Motor analysis of activity, sometimes referred to as the Critical Path Method
  • Based directly on Model Human Processor: CPM-GOMS is based on the parallel multi-processor stage model of human information processing
  • No assumption that operators are performed serially: perceptual, cognitive and motor operators at the level of Model Human Processor, processor cycle times can be performed in parallel as the task demands
  • Building this model begin with a CMN-GOMC model: the CMN-GOMS model is constructed with operators at a level such that they are primarily perceptual or motor operators and then are expressed as goals and implemented with methods of the Model Human Processor level operators
  • Starts out serially then interleaved to take advantage of parallelism
  • Overly detailed for serial tasks
  • Assumes that the user is experienced
  • Requires understanding of parallel processing and information-flow dependencies

Strengths and Limitations of GOMS Models[7]

It is important to be clear on what GOMS models can and cannot do; see John and Kieras (1996a, b) for more discussion.
GOMS starts after a basic task analysis. In order to apply the GOMS technique, the task analyst must first determine what goals the user will be trying to accomplish. The analyst can then express in a GOMS model how the user can accomplish these goals with the system being designed. Thus, GOMS modeling does not replace the most critical process in designing a usable system, that of understanding the user's situation, working context, and overall goals. Approaches to this stage of interface design have been presented in sources such Gould (1988), Diaper (1989), Kirwan and Ainsworth (1992), and Beevis et al (1992). Once this basic level of task analysis has been conducted, constructing the GOMS model can then provide an elaborated account of how the user does the task.
GOMS represents only the procedural aspects of a task. GOMS models can account for the procedural aspects of usability; these concern the exact steps in the procedures that the user must follow, and so GOMS allows the analyst to determine the amount, consistency, and efficiency of the procedures that users must follow. Since the usability of many systems depends heavily on the simplicity and efficiency of the procedures, the narrowly focused GOMS model has considerable value in guiding interface design. The reason why GOMS models can predict these aspects of usability is that the methods for accomplishing user goals tend to be tightly constrained by the design of the interface, making it possible to construct a GOMS model given just the interface design, prior to any prototyping or user testing. Clearly, there are other important aspects of usability that are not related to the procedures entailed by the interface design. These concern both lowest-level perceptual issues like the legibility of typefaces on CRTs, and also very high-level issues such as the user's conceptual knowledge of the system, e.g., whether the user has an appropriate "mental model," or the extent to which the system fits appropriately into an organization (see John & Kieras, 1996a). The lowest-level issues are dealt with well by standard human factors methodology, while understanding the higher-level concerns is currently a matter of practitioner wisdom and the higher-level task analysis techniques. Considerably more research is needed on the higher-level aspects of usability, and tools for dealing with the corresponding design issues are far off. For these reasons, great attention must still be given to the overall task analysis, and some user testing will still be required to ensure a high-quality user interface.
GOMS models are practical and effective. There has been a widespread belief that constructing and using GOMS models is too time-consuming to be practical (e.g., Lewis & Rieman, 1994). However, the many cases surveyed by John & Kieras (1996a) make clear that members of the GOMS family have been applied in many practical situations and were often very time- and cost-effective. A possible source of confusion is that the development of the GOMS modeling techniques has involved validating the analysis against empirical data. However, once the technique has been validated and the relevant parameters estimated, no empirical data collection or validation should be needed to apply a GOMS analysis during practical system design, enabling usability evaluations to be obtained much faster than user testing techniques. However, the calculations required to derive the predictions are tedious and mechanical; GLEAN was developed to remove this obstacle, but of course, additional effort is required to express the GOMS model precisely enough for a computer-based tool to use it.

See Also

Human Computer Interaction (HCI)
Human-Centered Design (HCD)
Machine-to-Machine (M2M)
Machine Learning
Keystroke-Level Model (KLM)
Model Human Processor (MHP)


  1. What is GOMS Model? InstructionalDesign
  2. Defining GOMS Wikivisually
  3. GOMS Variants Usability BOK
  4. Overview of the GOMS Model Wikipedia
  5. Principles of GOMS Instructional Design
  6. What are the Different Types of GOMS Models? Elana R. Chmil
  7. Strengths and Limitations of GOMS Models UMich

Further Reading

  • Introduction to GOMS Rensselaer
  • Designing minimal documentation using a GOMS model: a usability evaluation of an engineering approach Richard Gong, Jay Elkerton
  • Towards a Practical GOMS Model Methodology for User Interface DesignTowards a Practical GOMS Model Methodology for User Interface Design David Kieras
  • Computational GOMS Modeling of a Complex Team Task: Lessons Learned David E. Kieras, Thomas P. Santoro