Personal tools
You are here: Home 1997 Vol 29, No. 1, January 1997 Workshop: HCI and Requirements Engineering Specifying Cognitive Interface Requirements
Document Actions

Specifying Cognitive Interface Requirements

Chris Roast

No earlier issue with same topic
Previous article
SIGCHI Bulletin
Vol.29 No.1, January 1997
Next article
No later issue with same topic


One goal of requirements engineering is to ensure that a consistent and feasible requirements specification can be developed, while ensuring that the specification is a valid reflection of user requirements. Requirements engineering for human computer interface development is particularly complex since requirements regarding ease of use are often poorly expressed at the specification stage. At worst usability requirements are stated and their satisfaction (or otherwise) cannot be assessed until a design's completion. We address this problem by analysing the incorporation of human factors requirements at the level of abstract system specifications. In particular, the specification of usability requirements that are based upon cognitive characterisations of interaction (termed `cognitive dimensions') can be investigated. Examining the influences of a cognitive theory in this way has two valuable outcomes. First, it illustrates how human factors issues can be incorporated into requirements specification and exploited early in interface development. As a result, it is possible to, say, assess trade-offs and conflicts between alternative requirements prior to specification. Second, the rigor of formal modelling provides a framework in which the cognitive domain itself can be clarified and possibly refined.

Cognitive Dimensions

The development of effective interactive software systems is highly dependent upon ensuring that the activities and tasks of intended users are well understood and the facilities provided by a system reflect those tasks. In general, techniques for ensuring the appropriateness of interactive systems are resource intensive involving extensive evaluation and re-design. This paper is concerned with the development and clarification of a generic framework for assessing the effectiveness of users interfaces with respect to user tasks. The particular framework developed focuses upon the formal interpretation of user oriented `cognitive dimensions' which have previously been used to analysis of static notations, system interfaces and programming environments (Green 1989, 1990, Green et al 1995). Informal cognitive dimensions have been put forward as key characterisations of interaction and information structures which focus upon factors central to successful use.

Adopting the familiar concept of `dimension' suggests individual artifacts can be located within a cognitive space, their (relative) locations informing us about their (relative) merits for particular tasks. As such, dimensions have been proposed as providing effective (and efficient) support for interface evaluation and design deliberations. However, the lack of accurate definitions means that dimensions are not easily employed as constructive or analytic tools, their reported use has been as evaluation aids (Green and Petre 1995, Modugno et al 1994). In addition, suggested dependencies between dimensions cannot be analysed without clearer definitions being adopted.

Our present investigation focuses upon four cognitive dimensions, and develops a system based account of interaction used to interpret the dimensions.

Secondary notation refers to the presence of notational flexibility that is independent of a notation's intended semantics. A secondary notation provides an additional `channel of communication' that is purely controlled by the user and has no influence upon the notation's meaning. For example, a programming language can be treated as a notation, in which primary goals are normally focused upon the language semantics and syntax, whereas `lexical' and `formatting' details which are independent of semantics and syntax can be controlled, but are not central to developing a functioning program.

Viscosity is a measure of resistance to local change. For interactive systems this refers to the complex activities that minor modifications and manipulations can entail. Green distinguishes two types of viscosity: repetitive and knock-on:

Repetitive viscosity refers to the `resistance' to change encountered in circumstances where a modification involves the user in complex and repetitive inputs. Hence, a conceptually simple modification becomes a complex activity. Repetitive viscosity is measured in terms of the complexity/repetitiveness of the input language necessary to achieve a particular goal.

Knock-on viscosity refers to the situations in which a user, having made a change, finds that they have to make a number of additional `corrections' in order bring about the desired state. The first change effectively violates some intended invariant and therefore the user has to engage in subsidiary tasks of `putting things right'. Knock-on viscosity concerns the manner in which a system environment can often limit or restrict how a goal is reached. With examples of knock-on viscosity, when a primary goal is achieved, the system negates other properties still required by the user. We model knock-on viscosity by characterising how achieving some goals can interfere with, or disrupt, others.

Hidden Dependencies refers to the variety of dependencies maintained by a system which are not immediately manifest at the interface. For example, a hidden dependency can `force' a user to have to actively search for dependent information or a user may find that their actions are have unforeseen consequences because of dependencies in the system.

Cognitive dimensions offer an ideal means of expressing general human factors requirements and we argue that their effective use as such is dependent upon relating them to a semantic framework which is meaningful for specification and development.

Specifying Usability Requirements

In order to interpret cognitive dimensions as mechanism for requirements specification we employ techniques drawn from existing research into formal modelling of usability requirements (Dix 1991, Harrison et al 1993, Roast 1994, Duke and Harrison 1995). An explicit system model is used as a basis for our interpretation of dimensions, this type of model avoids the specific details of any cognitive architecture and enables the dimensions to be analysed with respect to system specifications and design representations. In particular, a system based interpretation encourages the examination of how user centered requirements may be satisfied, thus emphasizing the extent to which any eventual design will effectively support the user. For example, the task of proof-reading a document may be contingent upon contextual information, such as a document's author and the intended readership. Hence, if an interactive system is to support proof-reading, then the degree to which such contextual information is represented within an eventual design (if at all) requires careful consideration. Similarly, adopting a system perspective does not exclude the recognition of emergent tasks which a system may eventually be used for.

We employ the notion of `goal property' as the main link between user requirements and system configurations, and an action based temporal logic (ACTL, see Nicola et al. 1991) is used to express formal interpretations of the cognitive dimensions examined. Within this framework we are able to assess the validity of our interpretations and identify of precise dependencies between dimensions.


Our initial investigation into the formal characterisation of cognitive dimensions illustrates how a strongly cognitive view of interaction can be related to formal system properties which are suitable for reasoning about usability requirements. This enables the inter-dependencies between dimensions and tasks to be analysed accurately, and demonstrates the introduction of user oriented concerns within formal specification.

In addition to developing a more accurate understanding of cognitive dimensions and their potential use in design, a long-term goal of this work is to develop a well defined vocabulary of cognitive dimensional primitives to underpin reasoning about dimensions and enhance their coverage of human factors in usability requirements. In turn, such development would enhance the scope of human factors issues that can be analysed early in development. Such a vocabulary could underpin our understanding of existing cognitive dimensions, their inter-relationships and any potential "loopholes" in their coverage of usability requirements.


The work described has been motivated and encouraged by discussions with Thomas Green (Applied Psychology Unit, Cambridge) and Jawed Siddiqi (CRC, Sheffield Hallam University).


A. J. Dix (1991) Formal Methods for Interactive Systems. Academic Press, 1991.

D. J. Duke and M. D. Harrison. (1995) Mapping user requirements to implementations. Software Engineering Jounal, 10(1):13--20, 1995.

T. R. G. Green. (1989) Cognitive dimensions of notations. In A. Sutcliffe and Macaulay, editors, People and Computers V, pages 443--460. CUP, 1989.

T. R. G. Green (1990) The Cognitive Dimensions of Viscosity: a sticky problem for HCI. In D. Daiper et al , editors, Human-Computer Interaction -- INTERACT '90, pages 79--86. Elsevier (North Holland), 1990.

T. R. G. Green and D. Benyon. (1995) The skull beneath the skin: Entity-Relationship Models of Information Artifacts. 1995. In preparation.

T.R.G. Green and M. Petre. (1995) Cognitive dimensions as discussions tools for programming language design. 1994. Accepted for publication.

M. D. Harrison, A. E. Blandford, and P. J. Barnard. (1993) The software engineering of user freedom. Technical Report Amodeus 2 Document, University of York, November 1993.

F. Modugno, T. R. G. Green and B. A. Myers (1994) Visual Programming in a Visual Domain: A Case Study of Cogntive Dimensions. In G. Cockton, S. W. Draper and G. R. S. Weir, editors, People and Computers IX, pages 91--108, CUP.

R. De Nicola, A. Fantechi, S. Gnesi and G. Ristori. (1991) "An Action based framework for verifying logical and behavioural properties of concurrent systems", Proceedings of 3rd Workshop on Computer Aided Verification.

C. R. Roast. (1994) Modelling interaction using template abstractions. In G. Cockton, S.W. Draper, and G.R.S. Weir, editors, People and Computers IX, pages 273--284. CUP, 1994.

Author's Address

Computing Research Centre
Sheffield Hallam University
100 Napier Street,
Sheffield, S11 8HD,

Fax. +44-114-253-3161
Tel. +44-114-253-3768

No earlier issue with same topic
Previous article
SIGCHI Bulletin
Vol.29 No.1, January 1997
Next article
No later issue with same topic


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: