Skip to main content

Formal models for user interface design artefacts


There are many different ways of building software applications and of tackling the problems of understanding the system to be built, designing that system and finally implementing the design. One approach is to use formal methods, which we can generalise as meaning we follow a process which uses some formal language to specify the behaviour of the intended system, techniques such as theorem proving or model-checking to ensure the specification is valid (i.e., meets the requirements and has been shown, perhaps by proof or other means of inspection, to have the properties the client requires of it) and a refinement process to transform the specification into an implementation. Conversely, the approach we take may be less structured and rely on informal techniques. The design stage may involve jotting down ideas on paper, brainstorming with users etc. We may use prototyping to transform these ideas into working software and get users to test the implementation to find problems. Formal methods have been shown to be beneficial in describing the functionality of systems, what we may call application logic, and underlying system behaviour. Informal techniques, however, have also been shown to be useful in the design of the user interface to systems. Given that both styles of development are beneficial to different parts of the system we would like to be able to use both approaches in one integrated software development process. Their differences, however, make this a challenging objective. In this paper we describe models and techniques which allow us to incorporate informal design artefacts into a formal software development process.

This is a preview of subscription content, access via your institution.


  1. 1

    13568 I (2002) Information Technology—Z Formal Specification Notation—Syntax, Type System and Semantics, 1st edn. Prentice-Hall International Series in Computer Science, ISO/IEC, Upper Saddle River

  2. 2

    Blandford AE, Butterworth R, Curzon P (2001) PUMA footprints: linking theory and craftskill in usability evaluation. In: Proceedings of Interact, IOS Press, Amsterdam pp 577–584

  3. 3

    BlandfordAButterworthR Curzon P (2004) Models of interactive systems: a case study on programmable user modelling. Int J Hum-Comput Stud 60(2): 149–200. doi:10.1016/j.ijhcs.2003.08.004

    Article  Google Scholar 

  4. 4

    Bowen J (2005) Formal specification of user interface design guidelines. Master’s thesis, University of Waikato

  5. 5

    Bowen J, Reeves S (2006) Formal models for informal GUI designs. In: 1st International Workshop on Formal Methods for Interactive Systems, Macau SAR China, 31 October 2006, Electronic Notes in Theoretical Computer Science, Elsevier, Amsterdam

  6. 6

    Bowen J, Reeves S (2006) Formal refinement of informal GUI design artefacts. In: Proceedings of the Australian Software Engineering Conference (ASWEC’06), IEEE, pp 221–230

  7. 7

    Butterworth R, Blandford A (1997) Programmable user models: the story so far, Technical report, Middlesex University

  8. 8

    Correani F, Mori G, Paternò F (2004) Supporting flexible development of multi-device interfaces. In: EHCI/DS-VIS, pp 346–362

  9. 9

    Courtney A (2003) Functionally modeled user interfaces. In: Joaquim J, Jardim Nunes N, Falcao e Cunha J (ed) Interactive Systems. Design, Specification, and Verification. 10th International Workshop DSV-IS 2003, Funchal, Madeira Island (Portugal) Springer Verlag Lecture Notes in Computer Science LNCS, pp 107–123

  10. 10

    Coyette A, Faulkner S, Kolp M, Limbourg Q, Vanderdonckt J (2004) Sketchixml: towards a multi-agent design tool for sketching user interfaces based on usixml. In: TAMODIA ’04: Proceedings of the 3rd annual conference on Task models and diagrams, ACM Press, New York, pp 75–82.

  11. 11

    Derrick J, Boiten E (2001) Refinement in Z and object-Z: foundations and advanced applications. Formal approaches to computing and information technology, Springer, Berlin.

  12. 12

    Dijkstra EW (1976) A discipline of programming. Prentice Hall, Upper Saddle River

    MATH  Google Scholar 

  13. 13

    Dix A, Runciman C (1985) Abstract models of interactive systems. People and Computers: Designing the Interface, Cook PJ (ed). Cambridge University Press, Cambridge, pp 13–22

  14. 14

    Dourish P (2006) Implications for design. In: CHI ’06: Proceedings of the SIGCHI conference on Human Factors in computing systems, ACM, New York, pp 541–550.

  15. 15

    Duke DJ, Fields B, Harrison MD (1999) A case study in the specification and analysis of design alternatives for a user interface. Formal Asp Comput 11(2): 107–131

    Article  Google Scholar 

  16. 16

    Gieskens DF, Foley JD (1992) Controlling user interface objects through pre- and postconditions. In: Proc. of CHI-92, Monterey, CA, pp 189–194

  17. 17

    GNOME Human Interface Guidelines(1.0), 2002 (2007), GNOME Human Interface Guidelines (1.0)

  18. 18

    Gow J, Thimbleby HW, Cairns PA (2005) Automatic critiques of interface modes. In: DSV-IS, pp 201–212

  19. 19

    Henson MC, Reeves S (2000) Investigating Z. J Log Comput1 10(1): 1–30

    Article  MathSciNet  Google Scholar 

  20. 20

    Horrocks I (1999) Constructing the user interface with statecharts. Addison-Wesley Longman, Boston

    Google Scholar 

  21. 21

    Hussey A, MacColl I, Carrington D (2000) Assessing usability from formal user-interface designs. Tech. Rep. TR00-15, Software Verification Research Centre, The University of Queensland

  22. 22

    IFM07 (2007),

  23. 23

    Landay J (1996) Silk: Sketching interfaces like krazy. In: Human Factors in Computing Systems (Conference Companion), ACM CHI ’96, Vancouver, Canada, 13–18 April, pp 398–399,

  24. 24

    Morgan C (1998) Programming from specifications, 2nd edn. Prentice Hall, Hertfordshire

    Google Scholar 

  25. 25

    Paiva A, Tillmann N, Faria J, Vidal R (2005) Modeling and testing hierarchical GUIs. In: Beauquier D, Borger E, Slissenko A (eds) ASM05, Universite de Paris

  26. 26

    Parnas DL (1969) On the use of transition diagrams in the design of a user interface for an interactive computer system. In: Proceedings of the 1969 24th national conference, ACM Press, pp 379–385

  27. 27

    Paternò F (2001) Task models in interactive software systems. Handbook of software engineering and knowledge engineering

  28. 28

    Paternò F (2001) Towards a UML for interactive systems. In: EHCI ’01: Proceedings of the 8th IFIP International Conference on Engineering for Human-Computer Interaction, Springer, London, pp 7–18

  29. 29

    Paternò FM, Sciacchitano M, Lowgren J (1995) A user interface evaluation mapping physical user actions to task-driven formal specification. In: Design, specification and verification of interactive systems, Springer, London, pp 155—173

  30. 30

    Pfaff GE (1985) User interface management systems. Springer, New York

    MATH  Google Scholar 

  31. 31

    Plimmer B, Apperley M (2002) Computer-aided sketching to capture preliminary design. In: CRPIT ’02: Third Australasian conference on User interfaces, Australian Computer Society, Inc., Darlinghurst, Australia, Australia, pp 9–12

  32. 32

    Reeve G (2005) A refinement theory for μcharts. PhD thesis, The University of Waikato

  33. 33

    Shneiderman B (1998) Designing the user interface: strategies for effective human-computer interaction, 3rd edn. Addison Wesley Longman, Boston

    Google Scholar 

  34. 34

    Smith G (2000) The object-Z specification language. Kluwer, Dordrecht

    MATH  Google Scholar 

  35. 35

    Smith S, Mosier J (1986) Guidelines for designing user interface software. Tech. Rep. ESD-TR-86-278, Mitre Corporation, Bedford, MA

  36. 36

    Thimbleby H (1990) Design of interactive systems. The Software Engineer’s Reference Book

  37. 37

    Thimbleby H (2004) User interface design with matrix algebra. ACM Trans Comput Hum Interact 11(2): 181–236

    Article  Google Scholar 

  38. 38

    Top 10 Mistakes in Web Design (2007) Jakob Nielsen: Top 10 mistakes in web design, available online., Jakob Nielsen’s usable information technology website

  39. 39

    Tsujino Y (2000) A verification method for some GUI dialogue properties. Syst Comput Jpn 31(14): 38–46

    Article  Google Scholar 

  40. 40

    Wirth N (1971) Program development by stepwise refinement. Commun ACM 14(4):221–227,

    Google Scholar 

  41. 41

    Woodcock J, Davies J (1996) Using Z: Specification, Refinement and Proof. Prentice Hall, Upper Saddle River

    MATH  Google Scholar 

  42. 42

    Young RM, Green TRG, Simon T (1989) Programmable user models for predictive evaluation of interface designs. SIGCHI Bull 20(SI):15–19.

    Google Scholar 

Download references

Author information



Corresponding author

Correspondence to Judy Bowen.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Bowen, J., Reeves, S. Formal models for user interface design artefacts. Innovations Syst Softw Eng 4, 125–141 (2008).

Download citation


  • Formal methods
  • User-centred design
  • Refinement
  • User interfaces