Formal Modelling as a Component of User Centred Design

  • Michael D. HarrisonEmail author
  • Paolo Masci
  • José Creissac Campos
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11176)


User centred design approaches typically focus understanding on context and producing sketch designs. These sketches are often non functional (e.g., paper) prototypes. They provide a means of exploring candidate design possibilities using techniques such as cooperative evaluation. This paper describes a further step in the process using formal analysis techniques. The sketch design of a device is enhanced into a specification that is then analysed using formal techniques, thus providing a systematic approach to checking plausibility and consistency during early design stages. Once analysed, a further prototype is constructed using an executable form of the specification, providing the next candidate for evaluation with potential users. The technique is illustrated through an example based on a pill dispenser.



We are grateful to Nuno Rodrigues, João Vilaça and Nuno Dias from IPCA (Polytechnic Institute of Cavado and Ave) who developed the first prototype of the pill dispenser. José C. Campos, Paolo Masci and Michael Harrison were funded by project NORTE-01-0145-FEDER-000016, financed by the North Portugal Regional Operational Programme (NORTE 2020), under the PORTUGAL 2020 Partnership Agreement, and through the European Regional Development Fund (ERDF).


  1. 1.
    Beyer, H., Holtzblatt, K.: Contextual Design: Defining Customer-centred Systems. Morgan Kaufmann, Burlington (1998)Google Scholar
  2. 2.
    Bolton, M.L., Bass, E., Siminiceanu, R.: Using formal verification to evaluate human-automation interaction, a review. IEEE Trans. Syst., Man, Cybern., Part A: Syst. Hum. 99, 1–16 (2013)Google Scholar
  3. 3.
    Bolton, M., Jiménez, N., van Paassen, M., Trujillo, M.: Automatically generating specification properties from task models for the verification of human-automation interaction. IEEE Trans. Hum. Mach. Syst. 44(5), 561–575 (2014)CrossRefGoogle Scholar
  4. 4.
    Bowen, J., Reeves, S.: Combining models for interactive system modelling. In: Weyers, B., Bowen, J., Dix, A., Palanque, P. (eds.) The Handbook of Formal Methods in Human-Computer Interaction. HIS, pp. 161–182. Springer, Cham (2017). Scholar
  5. 5.
    Carroll, J. (ed.): Scenario Based Design: Envisioning Work and Technology in System Development. Wiley, Hoboken (1995)Google Scholar
  6. 6.
    Fields, R.E.: Analysis of erroneous actions in the design of critical systems. Ph.D. thesis, Department of Computer Science, University of York, Heslington, York, YO10 5DD (2001)Google Scholar
  7. 7.
    Gould, J.D., Lewis, C.: Designing for usability: key principles and what users think. Commun. ACM 28(3), 300–311 (1985)CrossRefGoogle Scholar
  8. 8.
    Haesen, M., et al.: Using storyboards to integrate models and informal design knowledge. In: Hussmann, H., Meixner, G., Zuehlke, D. (eds.) Model-Driven Development of Advanced User Interfaces. SCI, pp. 87–106. Springer, Heidelberg (2011). Scholar
  9. 9.
    Harel, D.: Statecharts: a visual formalism for complex systems. Sci. Comput. Program. 8, 231–274 (1987)MathSciNetCrossRefGoogle Scholar
  10. 10.
    Harrison, M., Masci, P., Campos, J.: Verification templates for the analysis of user interface software design. IEEE Trans. Softw. Eng. (2018). epub ahead of printGoogle Scholar
  11. 11.
    Martinie, C., et al.: Formal tasks and systems models as a tool for specifying and assessing automation designs. In: Proceedings of the 1st International Conference on Application and Theory of Automation in Command and Control Systems, ATACCS 2011, pp. 50–59, IRIT Press, Toulouse, France (2011)Google Scholar
  12. 12.
    Masci, P., Oladimeji, P., Zhang, Y., Jones, P., Curzon, P., Thimbleby, H.: PVSio-web 2.0: Joining PVS to HCI. In: Kroening, D., Păsăreanu, C.S. (eds.) CAV 2015. LNCS, vol. 9206, pp. 470–478. Springer, Cham (2015). Scholar
  13. 13.
    Monk, A., Wright, P., Haber, J., Davenport, L.: Improving Your Human-computer Interface: A Practical Technique. Prentice-Hall, Upper Saddle River (1993)Google Scholar
  14. 14.
    Mori, G., Paternò, F., Santoro, C.: CTTE: support for developing and analyzing task models for interactive system design. IEEE Trans. Software Eng. 28(8), 797–813 (2002)CrossRefGoogle Scholar
  15. 15.
    Muñoz, C.: Rapid prototyping in PVS. Technical Report, NIA Report No. 2003–03, NASA/CR-2003-212418, National Institute of Aerospace (2003)Google Scholar
  16. 16.
    Owre, S., Rushby, J.M., Shankar, N.: PVS: a prototype verification system. In: Kapur, Deepak (ed.) CADE 1992. LNCS, vol. 607, pp. 748–752. Springer, Heidelberg (1992). Scholar
  17. 17.
    Sommerville, I.: Software Engineering. Addison-Wesley, Boston (2010)zbMATHGoogle Scholar
  18. 18.
    Watson, N., Reeves, S., Masci, P.: Integrating user design and formal models within PVSio-Web. In: Workshop on Formal Intergrated Development Environment (F-IDE-18). Electronic Proceedings in Theoretical Computer Science (EPTCS) (2018)CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  1. 1.School of ComputingNewcastle UniversityNewcastle upon TyneUK
  2. 2.HASLab/INESC-TEC and Department Informatics/University of Minho, Campus de GualtarBragaPortugal

Personalised recommendations