Skip to main content
Log in

Refinement for user interface designs

  • Original Article
  • Published:
Formal Aspects of Computing

Abstract

Formal approaches to software development require that we correctly describe (or specify) systems in order to prove properties about our proposed solution prior to building it. We must then follow a rigorous process to transform our specification into an implementation to ensure that the properties we have proved are retained. Different transformation, or refinement, methods exist for different formal methods, but they all seek to ensure that we can guide the transformation in a way which preserves the desired properties of the system. Refinement methods also allow us to subsequently compare two systems to see if a refinement relation exists between the two. When we design and build the user interfaces of our systems we are similarly keen to ensure that they have certain properties before we build them. For example, do they satisfy the requirements of the user? Are they designed with known good design principles and usability considerations in mind? Are they correct in terms of the overall system specification? However, when we come to implement our interface designs we do not have a defined process to follow which ensures that we maintain these properties as we transform the design into code. Instead, we rely on our judgement and belief that we are doing the right thing and subsequent user testing to ensure that our final solution remains useable and satisfactory. We suggest an alternative approach, which is to define a refinement process for user interfaces which will allow us to maintain the same rigorous standards we apply to the rest of the system when we implement our user interface designs.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Bramwell C, Fields RE, Harrison MD (1995) Exploring design options rationally. In: Palanque P, Bastide R (eds) Design, specification and verification of interactive systems ’95, Wien. Springer, Berlin, pp 134–148

    Google Scholar 

  2. Bowen J (2005) Formal specification of user interface design guidelines. Masters thesis, Computer Science Department, University of Waikato

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

  4. 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

  5. Bowen JA, Reeves S (2007) Using formal models to design user interfaces, a case study. In: HCI 2007: Proceedings of the 21st BCS HCI Group Conference

  6. Bowen J, Reeves S (2007) Formal models for informal gui designs. In: Electronic Notes in Theoretical Computer Science Volume 183, Proceedings of the First International Workshop on Formal Methods for Interactive Systems (FMIS 2006), July 2007, pp 57–72

  7. Bowen J, Reeves S (2007) Refinement for user interface designs. In: Curzon P, Cerone A (eds) The Pre-proceedings of the 2nd International Workshop on Formal Methods for Interactive Systems (FMIS 2007). Lancaster University, UK, September 2007

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

  9. Duke DJ, Harrison MD (1993) Abstract interaction objects. In: Proceedings of Eurographics ’93, Computer Graphics Forum

  10. Duke DJ, Harrison MD (1995) Mapping user requirements to implementations. Softw Eng J 1(10): 13–20

    Article  Google Scholar 

  11. Doherty G, Harrison MD (1997) A representational approach to the specification of presentations. Eurographics Workshop on Design Specification and Verification of Interactive Systems, DSVIS 97, Granada, Spain, June 1997

  12. Faconti G, Paternò FM (1990) An approach to the formal specification of the components of an interaction. In: Vandoni C, Duce D (eds) Proceedings of Eurographics ’90, North Holland. Springer, Berlin, pp 481–494

    Google Scholar 

  13. Gnome (2002) GNOME Human Interface Guidelines(1.0), 2002. http://developer.gnome.org/projects/gup/hig/1.0/

  14. Goldson G, Reeve G, Reeves S (2002) μ-Chart-based specification and refinement. In: Formal Methods and Software Engineering. 4th International Conference on Formal Engineering Methods, ICFEM 2002, LNCS, vol 2495, Shanghai, China, October 2002. Springer, Berlin, pp 323–334

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

  16. Hoare CAR (1983) Communicating sequential processes. Commun ACM 26(1): 100–106

    Article  MathSciNet  Google Scholar 

  17. 13568 Iso (2002) Information Technology—Z Formal Specification Notation—Syntax, Type System and Semantics. Prentice-Hall International series in computer science. ISO/IEC, 1st edn

  18. Limbourg Q, Vanderdonckt J, Michotte B, Bouillon L, López-Jaquero V (2004) Usixml: a language supporting multi-path development of user interfaces. In: EHCI/DS-VIS, pp 200–220

  19. Microsoft. Microsoft visual studio, 2007. Microsoft technical pages for the Visual Studio Software

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

    Google Scholar 

  21. Puerta A, Eisenstein J (2002) Ximl: a common representation for interaction data. In: IUI ’02: Proceedings of the 7th international conference on Intelligent user interfaces, New York, NY, USA, 2002. ACM Press, New York, pp 214–215

  22. Paternò FM, Mori G, Santoro C (2003) Tool support for designing nomadic applications. In: Proceedings of 8th International Conference on Intelligent User Interfaces IUI’03. ACM, New York, pp 141–148

  23. Paternò F, Santoro C (2002) One model, many interfaces. In: Kolski C, Vanderdonckt J (eds) CADUI 2002, vol 3. Kluwer, Dordrecht, pp 143–154

    Google Scholar 

  24. Reeve G (2005) A refinement theory for μCharts. Ph.D. thesis, The University of Waikato

  25. User interface extensible markup language. Homepage for the USIXML project: http://www.usixml.org/

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

    Article  MATH  Google Scholar 

  27. eXtensible Interface Markup Language. Homepage for the XIML project: http://www.ximl.org/

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Judy Bowen.

Additional information

Communicated by A. Cerone, P. Curzon and D.A. Duce

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bowen, J., Reeves, S. Refinement for user interface designs. Form Asp Comp 21, 589–612 (2009). https://doi.org/10.1007/s00165-008-0095-2

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-008-0095-2

Keywords

Navigation