Increasingly often, computer-based representations allow users to create abstractions - shorthand terms that stand for a collection of instances. (Examples include spreadsheet macros, templates in drawing packages, routines or object classes in programming, style sheets and macros in word processing.) Reasons for using abstractions include saving time; encouraging uniformity and consistency; and improving the ontology of the representation. Thus, creating a template for an AND-gate symbol makes it quicker to draw a circuit, makes sure that all the AND-gates look the same, and allows the designer to concentrate on the circuitry rather than the individual lines and curves. By changing the ontology, abstractions also change the basis of reasoning from the representation.
Learning to create and use abstractions is a crucial part of learning to reason. To become an effective geometrist, programmer, designer, etc. it is essential to master the art. In today's computer-based environments, abstractions can be externalised to such an extent that a template for an AND-gate can be stored and used in exactly the same way as the more primitive lines and curves that comprise it. Yet we are aware of very few empirical studies of the creation of abstractions in computer-based environments. In this talk, we explore aspects of usability in the light of Green's (1989) framework of 'cognitive dimensions' (lookahead, viscosity, coherence/consistency, hard mental operations, role-expressiveness, etc.).
The user can either create entirely new abstractions, or can place constraints on the creation of instances. In the former case, considerable lookahead will be needed to choose the appropriate abstractions, and almost certainly changing the abstractions will a highly viscous task. In some cases, such as ones where a construction is built from super-imposed layers, the lookahead must not only take into account what entities need to be created, but also the order in which to create them - not typically a strong point of human cognitive processing. When abstractions are created by generalisation from instances, the set of abstractions, taken as a whole, is likely to show low coherence; the individual abstractions may be excellent, but they do not fit together effectively. This is again a failure of lookahead, and is unlikely to be remedied unless the viscosity is very low indeed.
There are also difficulties to be foreseen on the comprehension side. Abstractions are created to play a role, and discerning that role may be difficult for a subsequent reader - a failure of role-expressiveness. Studies of comprehension of object-oriented programs certainly imply such problems. Under some conditions, abstractions repeatedly applied may create comprehension puzzles similar to those of self-embedded sentences, demanding hard mental operations for their disentanglement.
Thus, although using abstractions brings the advantages outlined at the start, they evidently bring concomitant difficulties - and those difficulties are just the ones that abstractions were meant to remove; hence our title, recalling Bainbridge's 'Ironies of Automation'. Indeed, many successful computer-based systems make very few calls for abstractions, and may perhaps be successful for that very reason. Spreadsheets, one of the most widely-successful inventions, are frequently used without making use of any abstractions at all. Under these conditions, the programming of a spreadsheet is highly specific to the data set in question, in ways that recall Stenning and Oberlander's analysis of diagrams as highly specific compared to textual representations. It is tempting to think that the advantages and disadvantages they posit for graphics could be applied almost unchanged to spreadsheet programming. The resolution of this conflict may lie in the techniques for incremental formalisation and abstraction that are now starting to emerge.
Bainbridge, L. (1987) Ironies of automation. In Rasmussen, J., Duncan, K., and Leplat, J. (Eds) New Technology and Human Error. Chichester, Wiley, 271-284.
Stenning, K. and Oberlander, J. (1995) A cognitive theory of graphical and linguistic reasoning : logic and implementation. Cognitive Science 19(1), 97-140.
Click to return to Alan Blackwell's home page.