{'fraction_non_alphanumeric': 0.012416427889207259, 'fraction_numerical': 0.0, 'mean_word_length': 5.128654970760234, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Systematic development of the human interface

The problem of developing software to meet precise specifications has lead to the development of mathematical notations for expressing and reasoning about the behaviour of a required or extant system. We describe a different use of formal models: as tools for gathering and consolidating requirements on interaction between engineered systems and their users. This change in focus reflects the growing use of sophisticated interactive technology in domains such as medicine, where human comfort or safety is an issue. Not only must software systems function correctly, but the demands that the interface places on users of those systems need to be understood. This problem cannot be addressed by formal models in isolation. Instead, we describe an approach that uses formal models of human information processing to augment models of system functions. As a result it becomes possible, at an early stage in system design, to consider the role of human cognition in the correct behaviour of the system.