Understanding complex descriptions
User-system interaction is starting to receive the attention it deserves. A picture is starting to emerge from work in cognitive ergonomics of the requirements for user interfaces, for example for text editors (Card et al., 1983), command languages (Barnard et al., 1981) and programming language syntax (Green, 1980). In a short sketch of the research opportunities that exist, Shneiderman (1982) lists several similar issues, such as menu selection, on-line assistance, etc. He also draws attention to issues such as overcoming anxiety and fear of computer usage. I shall not comment on such social and organisational issues, but I want to suggest that attention to ergonomic issues of the first type neglects a range of important human factors in system use. These operate at a conceptual level beneath the external (e.g. graphical or pretty-printed) characteristics of the interface. The problem I want to address relates to these. It is this: how can an information system be designed so that the complex descriptions it supports and which are manipulated by the users can be rendered into forms that are harmonious with the users' mental models?
In the first part of the paper I shall discuss a conceptual architecture for information systems which emphasises the understandability of the descriptions they embody. The architecture consists of an internal description which may be manifested by applying two classes of transformation, forming separate conceptual and external interfaces. In connection with the conceptual interface, I discuss the relevance of current work in cognitive science, especially text linguistics. I shall ignore the external interface, as this has received the most attention in the cognitive ergonomics literature.
In the second part of the paper, I shall concentrate on a class of complex descriptions of particular relevance to software engineering, specifications. A specification is usually thought of as a text and a specification language as a language. A specification, however, is simply a description of a reality that does not exist yet and a programming support environment is, amongst other things, an information system for manipulating such descriptions. Thus in addition to the effects of syntactic and physical factors (e.g. layout) on the understandability of specification, we should also be examining the conceptual models required of the specifier by different specification language.
KeywordsCanonical Formalism Specification Language Complex Description External Interface Lift System
Unable to display preview. Download preview PDF.
- Barnard, P., Hammond, N., Morton, J., Long, J., Clark I. (1981). Consistency and compatibility in human-computer dialogue, Int. Journal Man-Machine Studies 15, 87–134.Google Scholar
- Bartlett, A.J., Cherrie, B.H., MacLean R.I., Potts C. (1984). The derivation of Ada executable validation models from JSD representations. Imperial College of Science and Technology, Dept. Computing, Research Report Doc 84/3.Google Scholar
- Bates, P.C., Wileden J.C. (1982). EDL: a basis for distributed system debugging tools' Proc. 15th Hawaii Int. Conf. Sys. Sci. Software, Hardware Decision Support Systems, Special Topics. Vol. I.Google Scholar
- Card, S.K., Moran T.P., Newell A. (1983). The Psychology of Human-Computer Interaction. Erlbaum.Google Scholar
- Edmonds, E.A. (1981). Adaptive man-computer interfaces. Computing Skills and the User Interface. Coombs, M.J., Alty J.L. (Eds.). Academic.Google Scholar
- Fischer, G., Schneider, M. (1984) Knowledge-based communication processes in software engineering. Proc. 7th Int. Conf. Software Eng., IEEE Press.Google Scholar
- Green, T.R.G. (1980) Programming as a cognitive activity. Human Interaction with Computers. Smith H.T., Green T.R.G. (Eds.). Academic.Google Scholar
- Hammond, P. (1982). APES (A Prolog Expert System Shell): a detailed description. Imperial College, Dept. Computing Research Report Doc 82/10.Google Scholar
- Jackson, M.A. (1983). System Development. Prentice-Hall.Google Scholar
- Kowalski, R. (1979). Logic for Problem Solving. North Holland.Google Scholar
- Lehman, M.M., Stenning, V., Turski W.M. (1983). Another look at software design methodology. Imperial College, Dept. Computing Research Report Doc 83/13.Google Scholar
- MacLean, R.I., Potts, C., Cherrie, B.H., Bartlett, A.J. (1983). The MINEX Model and its Language. Imperial College, Dept. Computing, EMMA Technical Report TR3 (available from the author).Google Scholar
- MacLean, R.I., Potts, C., Bartlett, A.J., Cherrie B.H. (1984). Validation in the software process. Proc. Software Process Workshop, Egham, IEEE Press.Google Scholar
- Mullery, G. (1979). CORE: a method for controlled requirement expression. Proc. 4th Int. Conf. Software Eng., IEEE Press.Google Scholar
- Potts, C.,MacLean, R.I., Bartlett, A.J. (1983). Modelling the domain of discourse as a precursor to requirements analysis. Imperial College of Science and Technology, Dept. Computing, Research Report Doc 83/16.Google Scholar
- Shneiderman, B. (1982). Human factors of interactive software. Enduser Systems and their Human Factors, Blaser, A., Zoeppritz, M. (Eds.). Springer-Verlag.Google Scholar
- Staunstrup, J. (Ed.). (1981). Program Specification. Springer-Verlag.Google Scholar
- Teichroew, D., Hershey, E.A. (1977). PSL/PSA: A computer-aided technique for structured documentation and analysis of information systems. IEEE Trans. Software Engineering SE-3: 41–48.Google Scholar
- Van Dijk, T.A. (1978). Text and Context: Explorations in the semantics and pragmatics of discourse. Longmans.Google Scholar
- Vipond, D. (1980). Micro-and macro-processes in text comprehension. Journal of Verbal Learning and Verbal Behaviour, 19, 276–296.Google Scholar
- Wasserman, A.I. (1981). Software tools in the User Software Engineering Environment. Tutorial: Software Development Environments. Wasserman A.I. (Ed.). IEEE Press.Google Scholar
- Winograd, T. (1983). Language as a Cognitive Process. Vol. 1. Syntax'. Addison-Wesley.Google Scholar