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

HCI and Requirements Engineering - Towards a Framework for Investigating Temporal Properties in Interaction

Helen Parker, Chris Roast and Jawed Siddiqi

This paper surveys the issues involved in obtaining a clearer understanding of the formal definition of factors which affect the usability of systems. It explores the concerns raised in applying traditional engineering approaches to the treatment of usability requirements and focuses, in particular, on the role that formalisms play in an analysis of trade-offs between usability and system requirements.

A comparative review of the conceptual frameworks for expressing usability is presented. Consideration is then given to assessing current formalisms for representing usability. Finally, a justification for the investigation of temporal properties of interaction, and their formal representation, is proposed.

Keywords: usability; requirements engineering; formal methods; temporal properties

Introduction

The aim of our current research project (the TRUE(1) project) is a clearer understanding of how factors which affect ease of system use can be defined. As naive or expert users of computers and software applications, most of us can and do make critical and emotive judgements about the systems we use and the degree to which they help, or hinder, our progress and purpose. Similarly, competent interface developers can and do make judgements on the suitability of their designs, particularly the suitability of surface interface features, to the promotion of user competence and user satisfaction.

There is little agreement, however, on how to define the abstract qualities which make the use of one application or system environment more productive and satisfying than another. Neither is there agreement on how to define these qualities in such a way that a system or software engineer can guarantee their presence in a system design and implementation. Indeed, the very possibility of constructing models of the human factors which affect usability and of applying those models to the engineering of system designs has been strongly questioned by some members of the HCI community [4].

The current project is motivated by the belief that specification of usability requirements remains an under-developed field, whose long-term potential for underpinning the principled design of usable systems should not be ignored. To abandon the search for high level definitions of usability in system specification is to severely limit our ability to evaluate novel modes of interaction, such as speech-driven interaction or interaction in multi-media and virtual environments, and our evaluation of novel system architectures, such as distributed and concurrent network communications.

Our initial objectives are to identify an appropriate method and appropriate conceptual models for investigating usability, from both requirements engineering and human computer interaction, although the intersection of these two disciplines has been far from fully explored and their common concerns are rarely made explicit in the literature.

It is our contention that in requirements engineering, no established method for investigating and defining usability properties exists. We also find, in the field of HCI, few models of interaction have focused explicitly on the kind of understanding of usability which is helpful in a system specification and that insufficient attention has been given to a scientific method with which to validate proposed usability properties. In particular, a method for engineering temporal performance requirements and a model or framework for reasoning about temporal factors in usability, have not been addressed.

Requirements Engineering Methods and Usability

Traditional methods of software engineering lack user involvement and offer scant advice on the investigation of user-centred requirements; their treatment of interface development is inadequate, as is their treatment of non-functional, qualitative requirements relating to system and user performance, ease of learning, ease of use, security and privacy [1]. A development lifecycle derived from the use of a traditional method tends to subordinate interface requirements to the core functional requirements of the system. Visual and auditory features of the interface, together with dialogue design, are added late in the development process, without proper integration into the system specification.

Non-functional requirements are frequently recorded in a requirements catalogue, but traditional methods offer little guidance on the formulation or calculation of appropriate measures of non-functional properties and on the application and verification/satisfiability of these metrics in the design stage.

Attempts have been made to improve the requirements process for interface development, but much of this work has ignored any move towards user-centred practice and has focused instead on extending traditional methods, incorporating presentation and dialogue components into the structured decomposition of a functional system. Extending traditional methods has proved cumbersome, adding extra analytical steps, diagramming and cross-checking techniques to already lengthy procedures [2].

In attempts to address the failings of traditional requirements practice, attention has been directed towards a different paradigm for understanding requirements engineering: the process is seen essentially as a social process, in which requirements emerge and evolve from the discourse between users and developers [18]. Increased user involvement in the development lifecycle and improved expression of user requirements has been achieved by a number of user-centred techniques. Identification or elicitation of user goals is supported by scenario analysis and user validation is enabled by prototyping, animation of specifications, by the development of executable specification languages and techniques of viewpoint resolution.

However, not all usability requirements are user requirements in the sense that users can recognise and articulate them. Conversely, not all user requirements are usability requirements in the sense that they are satisfiable within the hard constraints of a whole system environment. It is useful to make a distinction between explicit user requirements, which users articulate, and implicit requirements, which are necessary for usability when considering the user, the environment and the technical system as a whole. At the heart of a method for usability specification, there must be an analytic framework for examining the validity/feasibility of explicit user requirements in the light of what is known about implicit interactive requirements.

Whilst placing users firmly at the centre of a method, it is necessary to do more than characterise what users say they want. An analysis of usability needs to observe what users can and cannot do well and under what sets of circumstances: experimental psychology should inform the requirements engineering of human computer interaction in both elicitation and validation. In the process of requirements analysis, we also need to take advice from cognitive science and psychological theory on the nature/essence of user capabilities, the extent to which a particular definition of successful user interaction is generalisable across classes of users and the dynamics of user goal formulation.

A more informative method for interface specification has been proposed by authors who suggest performing an analysis of users' tasks and mapping that analysis onto a representation of the interface which can be manipulated by system designers, [9, 20]. We feel this approach is promising as the basis of a method for ensuring usability, but that it would benefit from extension. The scope of such a method should be extended beyond the interface. Determinants of usability exist in the configuration of underlying software and hardware, as well, for example, in operating system scheduling behaviour and in policies for access to distributed data. Too strong a separation of interface and core system functionality, in an analytic or conceptual framework, may make such hard constraints on usability difficult to express.

At the same time, it is just this mapping between human task and interface behaviour which has proved so elusive within existing HCI research. We need a formal analytic framework in which to make precise the definition of terms in that mapping, and in which to make accurate predictions of the consequences for usability, given changes to the system description.

Conceptual Frameworks for Specifying Usability

There are some fundamental distinctions between the types of model of users, interfaces and interaction which have been proposed by software engineers, psychologists and cognitive engineers working in both HCI and some areas of AI. These distinctions reflect the different focus of interest of each discipline, their respective concern for improved system design, improved understanding of factors influencing human behaviour or improved functioning of artificial agents. These models provide a variety of abstractions with varying degrees of simplicity or sophistication. They are expressed in a range of languages and notations, both structural and formal.

User Models

In the fields of human information processing and human computer interaction, GOMS and TAG are amongst the most influential models of users proposed by psychologists, during the 1980s [3, 25]. The GOMS model characterised human interaction as goal-directed search, or general problem solving, in which the shortest route to any goal was considered the most efficient. This model enabled predictions of user performance times and error rates, calculated from the depth and complexity of users' goal hierarchies. The original model, however, afforded no account of users' planning, evaluation of competing strategies, nor of different users' motivations. Nonetheless, its central idea, that users' goal states need to be readily achievable in a usable system, has proved extremely significant to future work and its approach reminds us that models of usability need some representation of users' cognitive load and memory capacity.

Whilst work on GOMS was motivated by an interest in performance metrics, the development of Task Action Grammar was one of a number of approaches which used a grammar to reduce the semantic and syntactic complexity of user task execution or user input dialogue. Describing user actions in the grammar enables an assessment of the degree of regularity or typicality in what users know about the tasks they want to complete. The TAG model supports a definition of ease of learning in terms of similarity in user perception of task completion. It suggests that the more highly analogous action sequences are, the easier they will be to learn.

TAG is useful in that it shifts the focus of enquiry to task analysis and does so in such a way that what is represented in the model is the user's own view of his or her competence. Schiele and Green insist on the "psychological applicability" of ease of use. Representations of usability should be derived from the user's perspective and should be rich in user knowledge.

Neither the TAG nor the GOMS model, however, supports an enquiry into system requirements, as neither provides a representation of the machine with which the user interacts. In contrast, the Programmable User Model [PUM, 29] is an executable process model, developed by a multi-disciplinary team of cognitive and computer scientists, which simulates human interaction with a machine device. This model is capable of representing feedback, the effect of machine response on user knowledge and subsequent user action. In what they can express, User Action Notations [17, 11] are not unlike programmable user models.

Green et al. [12] draw an important distinction between competence models and process models of user activity. A process model includes an explicit representation of a machine or device and the operational knowledge the user has of the device. The distinction is fundamentally between models which enable simulation of interaction and models which enable predictions of future behaviour. The PUM and UAN frameworks are mainly used in post hoc evaluation of an interface's usability: the detailed, operational model of the machine means that its rules are not applicable to interactions in general. This kind of device representation precludes predictions of usability under different technologies.

Device Descriptions

What type of description of a machine is appropriate to the investigation and specification of usability properties? In the computer science community, various researchers have proposed high level structured abstractions of the interface which might be of benefit to usability modelling.

As object oriented system design architectures have become more prevalent and incorporated into international design standards, the Seeheim dialogue model [26], where control and well-formedness of the dialogue are contained in a single grammar, has been replaced by an agent model, in which each agent or object has self-contained definitions for presentation, abstraction and control [23]. This type of object, which encapsulates a bi-directional communication protocol, is often referred to as an interactor [7].

To embody principles of usability, to be able to discern a system's potential usability from inspection of its specification, the level of abstraction in our machine representation or interactor model must be raised above the implementational detail of WIMP models. In an effort to build design models which are either executable or more easily verifiable, some researchers have developed interactors to very detailed levels of refinement. To grasp the fundamentals of usability, we need less of the detailed device and software architecture and more about modes and styles of interaction, permitted by classes of machine and application.

This review leads us to conclude firstly, that an appropriate framework for understanding usability requirements must support a particularly high degree of abstraction: too detailed a representation of a user's activity or of a machine device does not yield the predictive or general explanatory power required for understanding usability. Secondly, the framework must provide for formal expression. Formal expression offers the precision of meaning necessary to improve our understanding and the facility for reasoning about trade-offs between "implicit" and "explicit" usability requirements. When the machine software or hardware cannot meet users' expressed requirements, or when users are unable to express their usability needs, implicit usability requirements are arrived at by an evaluation of how best to manage users' expectations of machine performance at the machine interface.

Frameworks for Interaction

We are in broad agreement with Harrison and Duke's review of formalisms for analysing interactive behaviour, which sets out three criteria for interactive frameworks: the ability to represent user competence; the ability to represent the machine's part in interaction and a representational framework which is neutral in its expression of both the user and the software designer's view [16].

Formal and formalisable frameworks which attempt to fulfil these criteria include some Interactor models, [10, 22], in which the user is also an interactor, and a range of state transition models and theories of interaction which have enabled rigorous definition of degrees of system visibility, predictability, restartability and reachability, [15, 27, 8].

These models make it clear that usability is characterised by appropriate disclosure of machine state, but what counts as appropriate disclosure is partly determined by what the user needs to know to perform successfully, and partly determined by what the user perceives in the interface and the way that perception is interpreted, in the light of task relevant knowledge and motivation.

The fact that only a sub-set of the rendering of a machine's state at its interface will be relevant to a user, will be noticed and interpreted as relevant by that user, is captured in a number of recent abstract, formal models, many of which borrow and extend the state transition model first proposed by Harrison and Dix [15].

The template model, [27, 28], overlays a definition of well-formed input and output relations between the user and the machine with a mask or template definition of what is of perceptual and cognitive relevance to the user. This type of specification of the user's view also requires the use of novel data types in the model. Duke and Harrison [8], introduced percept types, which can be of general or specific modality (visual or auditory) and which can be composed by chunking.

Similarly, the template description of a generic word processor, [28], utilises visual percept types to elaborate on those spatial properties of the user's perceptual interpretation of the system which are necessary for the correctness of a document's display at the screen and printer.

We believe the use of novel data types in abstract models of usability, such as percept types and perceptual relations, is a significant step in exploring and understanding normative user behaviour during interaction. However, the formal specification of mental concepts imposes additional obligations for validation. This type of specification is only meaningful if the user behaviour it describes is thought reasonable and explicable behaviour by cognitive scientists, if it is thought reasonable and desirable by users themselves, and if, in practice, it leads to the development of systems which users report to be more satisfying and less onerous.

Representing Temporal Properties of Usability

At the heart of understanding usability requirements lies the notion of user freedom during interaction with software applications. The majority of abstract descriptions of usability requirements concern themselves with the degree of freedom the user has in recognising, selecting and evaluating appropriate courses of action, based on the semantic and structural content of communication between user and machine.

However, interaction is a highly dynamic process, in which the factor of time cannot be disregarded. Consider how the user's degree of initiative, the system's potential for supporting different user strategies or goal trajectories and the system's demand on user memory are affected by timings and by either user or system delay, (see [14] for discussion of these properties).

A range of temporal logics and notations have been used in the specification of real-time systems of a safety critical nature, [10]. Outside the sphere of real time, dependable systems, in the development of software for which timing issues are not regarded as critical, there is evidence of poor, non-rigorous consideration of performance and response issues, [21]. At the same time, there are requirements engineers who believe that application of formal specification techniques to the issues of performance is one of the few areas in which the potential benefits of the endeavour outweigh the costs, [13].

Towards "Two-Timing"(2)

Our general view of design models of timed interactive behaviours, [22, 24], is that they omit any reference to user strategy and any reference to theories of human behaviour, with which we might validate a higher order model of users' temporal perceptions and expectations.

The suggestion that users' appreciation of time may bear no direct relation to the actual execution times of internal machine events was first made explicit in a paper by Dix, [5, see also 6], who argues for two different definitions of temporal sequences of events: the clock-driven timings of system events and the attention-driven timings of user perception and action. Surprisingly, there has been little work done to follow up Dix's original work, in developing requirements frameworks which capture the user's qualitative notion of time.

Along with other authors, [19], we regard the failure to address the specification of temporal properties in both requirements engineering and HCI as a serious omission. Given the increasing complexity not just of multi-modal interfaces, but also of highly distributed and highly unpredictable network communications facilities, we believe there is good reason to develop abstract usability models, to explore this notion of "two-timing" further.

Conclusion

Having reviewed the scope and limitations of traditional methods for Requirements Engineering and existing approaches to formalising usability requirements, it is apparent that the relationship between them is hard to discern and poorly understood. On the whole, traditional approaches omit consideration of the user's world knowledge and perceptual view, which we believe are necessary to specification of ease of use. In addition, few formal models of interaction have extended their scope to include cognitive and perceptual representations of user behaviour.

In order for requirements engineering to effectively address user centred requirements, a formal framework for analysis is necessary to the rigorous assessment of trade-offs between user and system properties and, in particular, for the identification of inherent system properties which constrain user requirements' satisfaction. This formal framework should sit within a broader method which encompasses empirical requirements elicitation, validation and design verification.

Our particular research project is interested in the representation and analysis of temporal system constraints, which have only recently been recognised as highly significant to human factors and requirements satisfaction. We believe that any improved understanding of usability, arrived at analytically, validated against current cognitive theory and verified by empirical demonstration, would be a significant contribution to the engineering of usability in system design.

References

[1] Bickerton M. and Siddiqi J.I., "The Classification of Requirements Engineering Methods", In: Proceedings Int. Symposium on Requirements Engineering, pp 182-186, IEEE, 1993.

[2] Bodart F., Hennebert A., Provot I., Leheureux J., Vanderdonck J., "A Model Based Approach to Presentation: A Continuum from Task Analysis to Prototype", In: Proceedings EUROGRAPHICS Workshop on the Design, Specification and Verification of Interactive Systems, Paterno F. ed, Springer Verlag, 1995.

[3] Card S.K., Moran T.P. and Newell A., "The Psychology of Human Computer Interaction", Lawrence Erlbaum Associates, 1983.

[4] Carroll J.M. ed, "Designing Interaction. Psychology at the Human-Computer Interface", CUP, 1991.

[5] Dix A.J., "The Myth of the Infinitely Fast Machine", In: People and Computers III eds Diaper and Winder, CUP, 1987.

[6] Dix A.J., "Non-determinism as a Paradigm for Understanding the User Interface", in Formal Methods in Human Computer Interaction, Harrison M.D. and Thimbleby H.W. eds, CUP, 1990.

[7] Duke D.J., "A Theory of Concurrent Interactors", Amodeus Project Report, October 1994.

[8] Duke D.J. and Harrison M.D., "A Theory of Presentations", In: Proc FME 94: Industrial Benefits of Formal Methods, Springer Verlag, 1994

[9] Faraday P. and Sutcliffe A., "A Method for Multimedia Interface Design", In: People and Computers VIII, Proceedings HCI `93, Alty J.L., Diaper D. and Guest S. eds, CUP, 1993.

[10] Fields B., Wright P. and Harrison M.D., "Applying Formal Methods to Improve Usability", In: Pre-prints to a Workshop on SE and HCI: Joint Research Issues, 1994.

[11] Gray P., England D. and McGowan S., "XUAN", In: Proceedings of HCI 94, pp301-312, CUP, 1994.

[12] Green T.G.R., Schiele F., Payne S.J., "Formalisable Models of User Knowledge in Human Computer Interaction", In: Working with computers: theory vs. outcome, van der Veer, Green T.G.R., Hoc J.M., Murray D. eds, pp 3-46, Academic Press, 1988.

[13] Greenspan S., "The Scruffy Side of RE", In: Lecture Notes in Computer Science (550), Proceedings ESEC `91, pp 492-495, Springer-Verlag, 1991.

[14] Harrison M.D., Blandford A. and Barnard P., "The Requirements Engineering of User Freedom, In: Proceedings Eurographics Workshop on Design, Specification and Verification of Interactive Systems, Paterno F ed, pp181-196, 1994.

[15] Harrison M.D. and Dix A.J., "A state model of direct manipulation", In: Formal Methods in Human Computer Interaction, Harrison M.D. and Thimbleby H.W. eds, CUP, 1990.

[16] Harrison M.D. and Duke D.J., "A Review of Formalisms for Describing Interactive Behaviour", In: Pre-prints to a Workshop on SE and HCI: Joint Research Issues, 1994.

[17] Hix D. and Hartson H.R., "Developing User Interfaces: ensuring usability through product and process", J Wiley and sons, 1993.

[18] Jirotka M. and Goguen J.A., "Requirements engineering: social and technical issues", Academic Press, 1994

[19] Johnson C. and Gray P., "A Critical Analysis of Interface Specification Notations", University of Glasgow, Dept Computer Science Technical Report, TR-1995-6, 1995

[20] Johnson P., Wilson S. and Markopoulos P., "ADEPT -- Advanced Design Environments for Prototyping with Task Models", In: Proceedings of INTERCHI '93, Amsterdam, 1993.

[21] Lubars, Potts C. and Richter, "A Review of the State of Practice in Requirements Modeling", In: Proceedings IEEE Int Symposium on Requirements Engineering, RE93, pp 2--14, IEEE, 1993.

[22] Mezzanotte M. and Paterno F., "Including Time in the Notion of Interactor", In: Papers from a Workshop on Temporal Usability, Johnson C. and Gray P. eds, University of Glasgow, Dept Computer Science GIST Technical Report, G-95-1, 1995.

[23] Palanque P. and Bastide R., "Petri Net based Design user-driven interfaces using the Interactive Co-operative Objects Formalism", In: Eurographics Workshop on Design, Specification and Verification of Interactive Systems, Paterno F. ed, pp215--228, 1994.

[24] Palanque P. and Bastide R., "Time Modelling in Petri Nets for the Design of Interactive Systems", In: Papers from a Workshop on Temporal Usability, Johnson C. and Gray P. eds, University of Glasgow, Dept Computer Science GIST Technical Report, G-95-1, 1995.

[25] Payne S.J. and Green T.G.R., "Task Action Grammars: a model of the mental representation of task languages", In: Human Computer Interaction, vol 2, pp 93--133, 1986.

[26] Pfaff G.E., "User Interface Management System", In: Proceedings of IFIP/EG, Springer Verlag, Seeheim, 1985.

[27] Roast C.R. and Harrison M.D., "User Centred System Design using the Template Model", In: Proceedings EUROGRAPHICS Workshop on the Design, Specification and Verification of Interactive Systems, Paterno F. ed, Springer Verlag, 1995.

[28] Roast C.R. and Siddiqi J.I., "Usability Requirements as Specification Constraints -- an example of WYSIWYG", 1995.

[29] Young R.M., Green T.R.G., Simon T., "Programmable user models for predictive evaluation of interface designs", In: Proceedings CHI '89, pp15--19, 1989.

Authors' Address

Computing Research Centre, School of Computing and Management Science, Sheffield Hallam University, Sheffield S11 8HD, UK


Footnotes

(1)
Temporal Requirements in Usable Environments
(2)
A phrase coined by Alan Dix

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