System design has conventionally been the province of engineers, and the approaches taken to the design of systems have conventionally led to formal specification of the system. The past decade or two has seen the rise of another approach, that of human-computer interaction (HCI). Given the number of incidents and accidents which are attributed to 'human error', it is sensible to develop an approach to system design which views humans as an essential...