Formal Methods in Human-Computer Interaction
The Handbook of Formal Methods in Human-Computer Interaction is intended for HCI researchers and engineers of interactive systems interested in facilitating formal methods into their research or practical work. One quick look at the proceedings I enjoyed reading the book Help Centre. The Handbook of Formal Methods in Human-Computer Interaction is intended for HCI researchers and engineers of interactive systems interested in facilitating formal methods into their research or practical work. His research interests include human-computer interaction HCI , formal modelling, information visualization and virtual reality VR.
For the past ten years she has been working in the area of formal modelling for interactive systems, specifically safety-critical interactive systems. Her work includes projects that consider safety-properties of systems, contexts of use for non-context aware systems and the use of technology in hazardous work-places and environments. He has worked in HCI for over thirty years and his research has included foundational work on formal methods in HCI, some of the earliest work on privacy in HCI and the ethics of machine learning, and more recently has included learning analytics, IT and data issues for marginal communities as well as walking one thousand miles around Wales.
He runs the twice-yearly Tiree Tech Wave. Since the late 80's, he has worked on the development and application of formal description techniques for interactive systems. The main aim of his research has been to address Usability, Safety and Dependability in order to build trustable safety-critical Interactive Systems. One quick look at the proceedings The latter have continued to be surprisingly influential, however they are largely limited to numerical fitting of data with a few exceptions such as Eslambolchilar's work using control theory to model the cybernetic interaction between human movements and digital devices Eslambolchilar and Murray-Smith ; Eslambolchilar Task analysis and task models Diaper and Stanton are also aimed at analysing or recording the behaviour of users, whether on existing systems or planned systems.here
Practical Formal Methods in Human–Computer Interaction
Some task modelling systems take into account multiple users e. Ellis ; Dix et al. Many techniques have been applied to modelling the system behaviour including formal grammars, state machines, specification languages from theoretical computer science, and plain sums! While the focus of this kind of model or representation is the thing computer, consumer device , this does not mean the user has been ignored.
Rather, the needs of the user are expressed in the properties examined, or in the choice of what aspects to model. However, models that take this into account are surprisingly rare. Context-aware interfaces see Chapter 14 also often build some form of internal model. Later in this chapter, we will look at modelling of physical devices that include aspects of both system and world.
The representations of the user, while certainly formal, are typically not what is thought of as 'Formal Methods' and are likely to be dealt with in other chapters. Also, as noted above, representations of the world are rare, so the rest of this chapter focuses principally on Formal Methods applied to the system. An example of the latter is analysis of undo functionality, discussed in Section 3.
Alternatively, we may use the formal representation to perform automated or hand analysis e. Finally, it is often the case that it is the process of formalising that gives the analyst a deeper understanding of the system being studied. Straightforward mathematical calculations are everywhere in HCI. These range in complexity.
The Three Types of Formal Methods for HCI
At the simplest level is simple arithmetic, for example, in the GOMS keystroke-level model Card et al. The models behind information foraging theory are more complex, using differential equations Pirolli In areas such as visualisation, information retrieval, and graphics, mathematics is again central. Even small 'back of the envelope' calculations can be surprisingly effective in helping one to understand a problem. We will look at two such examples: screen typing and menu depth, then at the more complex mathematics behind "five users are enough".
Some years ago, comparisons of graphical vs. This obviously should be interpreted in terms of visual perception , not just raw pixels per second, but for output it seems fairly reasonable. But what about input, do screen buttons and icons increase the input bandwidth? In fact, a quick Fitts' law calculation shows that no matter what the number and size of the screen buttons, a reasonable typing speed is always faster see box. The difference is that whereas the lexicon of the keyboard is fixed and has to be interpreted by the user in any context, GUIs can be contextual, showing appropriate actions if you know any information theory, this is a form of adaptive compression.
Notice that a small mathematical argument can lead to a design perspective. Revisiting these calculations, many years later, they are perhaps more relevant in the face of on-screen keyboards in smart-phones and pad devices. To some extent, the early calculations are borne out in recent studies of iPad on-screen keyboards, which have found ratios more like for keyboard to screen typing.
Compare keyboard with screen for rate of entry measured in bits per second. Screen width W with items size S on it.
The average distance to target is half the width. To make calculations easier, assume a square screen and that the screen is completely filled with targets. One example is for menu systems, and you may well have seen suggestions that the number of menu items per screen e.
On a touch screen, large targets are easier to hit, again suggesting that small numbers of larger targets are a good idea. However, the fewer menu items on a single screen, the more menu levels are required to find particular content. Let's assume there are N items in total and you choose to have M menu items per screen. The depth of the menu hierarchy, d, is given by:.
- Story of the Chinese Zodiac: English Chinese.
- Formal Methods in Human-Computer Interaction - Google книги?
- Going Down the Road;
- Formal Methods | The Encyclopedia of Human-Computer Interaction, 2nd Ed.?
- Verification & Validation | HASlab!
- Great Dialogues of Plato.
If we look at a single display, the total time taken will be the time taken to physically display the screen and the time taken for the user to select the item, all times the number of levels:. This suggests that the more items per screen the better. Look at virtually any portal site, and you'll see that practical experience has come to the same conclusion!
In fact there are extra factors to consider; for very small targets, Fitts' law starts to break down, which puts lower limits on target size. Also errors are very significant as this causes wasted screen displays, so smaller numbers of well-explained items may be better. For larger numbers of items, a further factor sets in, the time taken for the user to locate an item on the display.
There is evidence that for linear menus, the actual select time is closer to linear than logarithmic. However, good design of screen organisation and sub-headings can push this visual search back towards the logarithmic case see Larson and Czerwinski For WAP with small scrolling displays, the figures are again different.
Notice that being precise forces us to make assumptions explicit, and also, focusing on the critical factors helps us look for potential design solutions. Most people working in HCI and interaction design have heard "five users are enough", whether as a justification of a small study, or to refute one with fewer than five.
Here we'll just look at the underlying mathematical model, but see Dix for a detailed analysis of why "five" is not a sufficient answer to "how many users are enough? In fact, the roots of "five users are enough" originally lay in an analysis of empirical data by Nielsen and Landauer Nielsen and Landauer They gathered data from user testing in a number of medium to large software projects. The data they gathered included the number of users studied in each cycle of development, the number of problems found by each user, and whether these were shared with other users.
Also, and crucially, they measured the costs of performing each user study and the costs of creating a fresh iteration of the software. They then used mathematics developed in software engineering to model program debugging, treating user interface problems discovered by user studies, or heuristic evaluations as analogous to coding bugs uncovered during software testing. Each bug user interface defect is regarded as equally likely to be found during any period of testing and totally independent of other bugs.
The overlap between bugs found during different test runs can be used to estimate the likelihood of finding a single bug, and then this can be used, inter alia , to estimate the likely number of as yet undiscovered bugs. The analysis given the assumptions shows that the number of new problems found decreases exponentially with the number of additional users, and this can be used to create a cost-benefit graph where the maximum averaged over different kinds of projects turned out to be around 5 for heuristic evaluation After this, it was more cost-effective to perform an iterative development step which is assumed, counter to previous assumptions, to 'reset the clock' for user interface problem discovery.
As noted, this result has been widely misapplied Dix , but we can draw two general lessons:. In day-to-day life, dialogue is a conversation between two or more parties, usually, but not necessarily, cooperative. Dialogue forms the middle of three layers of the user interface as identified in the early days of user interface development, especially in the Seeheim model Pfaff and Hagen :. Of course, compared with human dialogue, human-computer dialogue is very constrained.
However, some human-human dialogues are formal too. Think of a wedding service; it is a sort of script for three parties, which exhibits many of the properties of user interface dialogue:. The author often asks people to go through the words when giving tutorials about dialogue.
The Handbook of Formal Methods in Human-Computer Interaction on Apple Books
Imagine you have just done this, spoken the words to a complete stranger. Of course not, the words are empty without meaning; they only carry legal weight if said in the right place, with a marriage licence, etc. They are purely the syntax of marriage, with none of the semantics. Copyright terms and licence: Unknown pending investigation. See section "Exceptions" in the copyright terms below. Real dialogues often have alternatives. The wedding script doesn't cater for this; it assumes that people will work things out for themselves when unexpected things happen.
However, when describing human—computer dialogues, we cannot assume the computer will be able to cope with the unexpected, so we have to consider all other alternatives, even if some of them might be 'do nothing'. Sometimes, formal human dialogues do more clearly deal with these alternatives. In a trial, when the judge asks whether the defendant pleads guilty or not guilty, the process of the trial depends on the defendant's response.
Similarly, while specifications of human—computer dialogues need to be more complete, they will often ignore certain unlikely things, such as the user standing on the keyboard! Imagine you are analysing the security control panel at a top secret establishment Figure 1.
The alarm state can be at three levels, denoted by three lights: green, amber or red, and the buttons increase or reduce the level. Figure The image in Figure 1.
The Role of HCI in CASE Tools Supporting Formal Methods
A is the presentation level, what the panel looks like. A common way to specify the dialogue is using some form of state transition network STN. Each major state or mode of the system is drawn as a circle, or sometimes as a thumbnail of the critical part of the visual display. Figure 1. B shows a state transition network for the control panel. This is a formal analysis — we don't need to know what the STN means, but we can see just from the pattern that something is missing. The formal analysis tells us that something extra is needed, the contextual understanding tells us what it is.
In this example, we have examined the diagram by hand, but an advantage of formal representations is that they can often also be analysed automatically. There are various forms of this. Model checkers have been used in HCI research to verify whether certain desired usability properties are true e.
Campos and Harrison Note that these need to use quite sophisticated ways to cut down the total number of alternatives, as the number of possible paths through even a simple interface grows rapidly: if there were only 10 possible actions icons, menu selections, valid keystrokes , then there are possibilities for two actions, for three, Also the number of possible states grows rapidly.
Imagine we have one option, say whether a font is bold, italic, bold-italic or neither: that has four states.