Human error and cognitive overload are two driving factors of interactive system design in safety critical contexts, such as healthcare and air traffic control. It is important that system design supports the prevention, recognition and management of human error. Interaction design principles provide insights about relevant properties that should hold in device interfaces to help users avoid situations where the device behaves in a way that is different from what the operator is expecting.
Automated tools can help verify whether interaction design principles have been consistently implemented in a device interface. An example of an interaction design principle we have recently analysed [1,2] is predictability. Predictability concerns the ability of a user to determine the outcome of future interactions. It is an example of a formalisable design principle that has potential to be `generative'. That is it can capture relevant human factors concerns in such a way that software engineers can implement systems that are effective relative to those concerns.
When an interface does not comply with a design principle, precise insights can be obtained for answering questions such as: (i) What design changes could be applied to make the design compliant? An answer to this question may provide useful insights to device manufacturers about the effect of different features in interaction design. (ii) Under what conditions does the design become compliant to the design principle? An answer to this question would provide insights for user training, in that we can check whether a reasonably simple strategy exists (other than resetting the device for example) that allows one to circumvent envisioned issues.
 P. Masci, R. Ruksenas, P. Curzon, et.al., "On formalising interactive number entry on infusion pumps.", ECEASST 45 (2011), available here.
 P. Masci, R. Ruksenas, P. Curzon, et.al., "The beneﬁts of formalising design guidelines: A case study on the predictability of drug infusion pumps.", submitted for publication to Innovations in Systems and Software Engineering (2012). Preprint available here.