Abstract
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.
- BFH95 Exploring design options rationallyDesign, specification and verification of interactive systems ’95, Wien1995BerlinSpringer134148Google Scholar
- Bow05 Bowen J (2005) Formal specification of user interface design guidelines. Masters thesis, Computer Science Department, University of WaikatoGoogle Scholar
- BR06a 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–230Google Scholar
- BR06b 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, AmsterdamGoogle Scholar
- BR07a 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 ConferenceGoogle Scholar
- BR07b 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–72Google Scholar
- BR07c 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 2007Google Scholar
- DB01 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, BerlinGoogle Scholar
- DH93 Duke DJ, Harrison MD (1993) Abstract interaction objects. In: Proceedings of Eurographics ’93, Computer Graphics ForumGoogle Scholar
- DH95 Mapping user requirements to implementationsSoftw Eng J1995110132010.1049/sej.1995.0003Google Scholar
- DH97 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 1997Google Scholar
- FP90 An approach to the formal specification of the components of an interactionProceedings of Eurographics ’90, North Holland1990BerlinSpringer481494Google Scholar
- Gno02 Gnome (2002) GNOME Human Interface Guidelines(1.0), 2002. http://developer.gnome.org/projects/gup/hig/1.0/Google Scholar
- GRR02 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–334Google Scholar
- HMC00 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 QueenslandGoogle Scholar
- Hoa83 Communicating sequential processesCommun ACM198326110010610.1145/357980.358021726914Google ScholarDigital Library
- Iso02 13568 Iso (2002) Information Technology—Z Formal Specification Notation—Syntax, Type System and Semantics. Prentice-Hall International series in computer science. ISO/IEC, 1st ednGoogle Scholar
- LVM+04 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–220Google Scholar
- Mic07 Microsoft. Microsoft visual studio, 2007. Microsoft technical pages for the Visual Studio SoftwareGoogle Scholar
- Mor98 Programming from specifications19982HertfordshirePrentice-HallGoogle ScholarDigital Library
- PE02 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–215Google Scholar
- PMS03 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–148Google Scholar
- PS02 One model, many interfacesCADUI 2002, vol 32002DordrechtKluwer143154Google Scholar
- Ree05 Reeve G (2005) A refinement theory for μCharts. Ph.D. thesis, The University of WaikatoGoogle Scholar
- USI User interface extensible markup language. Homepage for the USIXML project: http://www.usixml.org/Google Scholar
- Wir71 Program development by stepwise refinementCommun ACM19711442212270214.4300510.1145/362575.362577Google ScholarDigital Library
- XIM eXtensible Interface Markup Language. Homepage for the XIML project: http://www.ximl.org/Google Scholar
Recommendations
Refinement for User Interface Designs
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 ...
Formal Models for Informal GUI Designs
Many different methods exist for the design and implementation of software systems. These methods may be fully formal, such as the use of formal specification languages and refinement processes, or they may be totally informal, such as jotting design ...
Temporal-logic property preservation under Z refinement
AbstractFormal specification languages such as Z, B and VDM are used in the incremental development of abstract specifications (suitable for establishing required properties) to more concrete specifications (resembling the final implementation). This ...
Comments