TiChi Introduction

Fitt's Law
Object-Action Interface
Prescriptive Theories
Fisheye strategy
Conceptual, semantic,
    syntactic, & lexical

Direct Manipulation

Information Processing
Hacker's Action Theory
Attention & Memory
Andersen's ACT-R
Knowledge & Mental
Social & Cultural

Theories in Computer human interaction
Printer Friendly Version
Conceptual, Semantic, Syntactic, and Lexical Model
Cassie Thomas
October 28 2002


A model is often used to help designers in developing a piece of software. These theories, models, and principles offer a skeleton where issues can be discussed, and compared to enhance a system, or a piece of software. The Conceptual, Semantic, Syntactic, and Lexical model as developed by Foley and Van Dam is an example of a high-level theory. It is a four-level approach, which is an easy to understand model. The four levels are Conceptual, Semantic, Syntactical, and Lexical. When a user is working on an interactive system, a mental model is often developed; this describes the Conceptual level of the approach [2]. When the user enters in input to the system, and the computer generates output based on that input. The Semantic level describes the meanings between the input and output. The Syntactic level is a set of rules to create a sentence, which will give the computer a set of instructions to complete a particular task. The Lexical level deals with input device dependencies, in which the user will specify the exact syntax [2].

Scope, Application, and Limitations

This approach creates a top-down framework, which is easy and convenient for designers. The top-down nature of this approach is easy to comprehend and explain to others. It allows the user (designer) to move from a real-world concept analysis to a system implementation. The concepts and functions required to design and implement the system are identified. Then the designer must consider how the concepts and functions will be expressed in the interface of the computer system [3]. For each function, the model directs the designer to specify details of the sequence of actions that need to be carried out to perform a task. When a piece of software is designed designers usually have two choices, the top-down approach or the bottom up approach. The top-down approach is when the designers have an overall high level concept and then begin designing the software or system piece by piece. In other words, design the main program and large objects first, structure those, fill in the details and functions, and the minor details are the last thing to complete the system. In the bottom up approach the designers start with a low level piece being a function or tiny piece of the system and begin to put these pieces together to make an entire system. So in a system or software design, this approach matches the way that software or systems are typically designed, and it also allows for modularity. This model was derived from compiler theory and language work, so it is mostly applicable to non-Direct Manipulation interfaces.

The Foley & Dam model while it laid the foundation for future theories in HCI, such as Normans theories, it presents some limitations. When the idea was first conceived, the focus of attention in building systems, such as DOS or vi, was at the syntactic and semantic level. As time and research have progressed in HCI, this model has less relevance because of the simplification of syntactic and lexical lines, and the standard of semantic issues of cut-copy-paste. While this theory, it laid the foundation for other theories, is not widely used today.



The conceptual level identifies the set of familiar task-oriented objects and actions the user needs to know about in order to use the system. Describe the conceptual model in terms of objects, relations between objects, actions on objects, and attributes of objects [1].


Documents the semantic specification for each action you have identified in the conceptual design, plus any other actions which are needed. The semantic specification includes a description of the function, including its parameters, feedback, and potential error conditions.


The syntactic level identifies the sequence of inputs and output. The input may be a sequence that is represented by a particular grammar. For example: a regular grammar as defined in Perl (a programming language, often used for scripting). The input defines the set of rules for combining tokens into a legal sentence/instruction for the computer to understand. The output will include spatial and temporal factors.

Figure 1: Figure 1: As described by Jacobs, Tufts University [4]


The following are examples of how the each component of the Foley&Dam Model can be applied to design a piece of software or system.

Conceptual: Provides a mental model

Example: text editor objects = characters, files, paragraphs
relationships = files contain paragraphs contain chars
operations = insert, delete, etc.

Semantic: meaning/desired function

Example: move the paragraph

Syntactic: how the semantic command is formed

Example: prefix vs. postfix
(Edit, Highlight, Cut, Paste)

Lexical: sequence of actions

Example: how mouse and keyboard combined into menu, button, string, pick, etc.
Point to edit on menu bar->click ->select option within edit menu.

Applicability to HCI

For design, methodological power resides in the designer's virtuosity of expression. It is from this methodological context -- combining the methodologies of discovery, invention, and design that this model lays down the foundation for a designer. It allows a designer to design a system, in a way that is top-down, and easy to understand [3]. The designer has the high level specification of how the system should work. This model allows the designer to break down the problem into four areas of concentration to get the system down to its low level modular pieces.


[1] Foley, J.D., van Dam, A., Feiner, S.K., and. Hughes, J.F. (1990) Computer Graphics: Principles and Practice, Reading, MA: Addison- Wesley.

[2] Schneiderman, Ben, Designing the User Interface. Reading, MA: Addison-Wesley: 1998.

[3] R. Jacob, "Using Formal Specifications in the Design of a Human-Computer Interface," Communications of the ACM 26(4) pp. 259-264 (1983).

[4] http://www.cs.tufts.edu/~jacob/171/assns.html

[5] http://artsandtechnology.humber.ac.uk/~rspilberg/hci/wk6.ppt