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 Selection 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.
Overview
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 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.
Qualification
Advantages The GOMS approach to user modeling has strengths and weaknesses. While it is not necessarily the most accurate method to measure human-computer interface interaction, it does allow visibility of all procedural knowledge. With GOMS, an analyst can easily estimate a particular interaction and calculate it quickly and easily. This is only possible if the average Methods-Time Measurement data for each specific task has previously been measured experimentally to a high degree of accuracy.
Disadvantages GOMS only applies to skilled users. It does not work for beginners or intermediates for errors may occur which can alter the data. Also the model doesn't apply to learning the system or a user using the system after a longer time of not using it. Another big disadvantage is the lack of account for errors, even skilled users make errors but GOMS does not account for errors. Mental workload is not addressed in the model, making this an unpredictable variable. The same applies to fatigue. GOMS only addresses the usability of a task on a system, it does not address its functionality. User personalities, habits or physical restrictions (for example disabilities) are not accounted for in any of the GOMS models. All users are assumed to be exactly the same. Recently some extensions of GOMS were developed, that allow to formulate GOMS models describing the interaction behavior of disabled users.
Variations Basically there are five different GOMS models: the Keystroke-Level Model, CMN-GOMS, NGOMSL, CPM-GOMS, and SGOMS. Each model has a different complexity and varies in activities.
KLM The Keystroke-Level Model (KLM) is the first and simplest GOMS technique Stuart Card, Thomas P. Moran and Allen Newell created. Estimating an execution time for a task is done by listing the sequence of operators and then totaling the execution times for the individual operators. With KLM the analyst must specify the method used to accomplish each particular task instance. Furthermore, the specified methods are limited to being in sequence form and containing only keystroke-level primitive operators. The biggest difference between GOMS and KLM is how time is assigned to cognitive and perceptual operators when it comes to execution time predictions. Another major difference is that the goal-hierarchy is explicit in GOMS while it was implicit in the KLM. The nature of unobservable operators is another important difference. KLM has a single M operator that precedes each cognitive unit of action. In contrast, GOMS assigns no time to such cognitive overhead. But both models include M-like operators for substantial time-consuming mental actions such as locating information on the screen and verifying entries. Both methods assign roughly the same time to unobservable perceptual and cognitive activities. Also they make different assumptions about unobservable cognitive and perceptual operators and so distribute the time in different ways.
KLM's execution part is described in four physical-motor operators:
K keystroking/ keypressing P pointing with a mouse to a target H homing the hand on the keyboard D drawing a line segment on a grid One mental operator M that stands for the time a user has to mentally prepare themselves to do an action, and a system response operator R in with the user has to wait for the system. Execution time is the sum of the times spent executing the different operator types:
Texecute = TK + TP + TH + TD + TM + TR. Each of these operators has an estimate of execution time, either a single value or a parameterized estimate.
Touch Level Model (TLM) GOMS and it variants were designed for keyboard interfaces, nowadays a new type of interface is omnipresent. This addition to the GOMS family, together with updates to the existing KLM operators, is called the Touch Level Model (TLM). Andrew D. Rice and Jonathan W. Lartigue propose this model for the used to model human task performance on a constrained input touchscreen device and, with proper benchmarking, accurately predict actual user performance. The goal is to provide an instrument for quantitative analysis of touchscreen interfaces. A number of operators are added for touchscreen interactions:
… excerpt ends here. Continue reading the full article.

