Model-based user interface engineering with design patterns

The main idea surrounding model-based UI (User Interface) development is to identify useful abstractions that highlight the core aspects and properties of an interactive system and its design. These abstractions are instantiated and iteratively transformed at different level to create a concrete user interface. However, certain limitations prevent UI developers from adopting model-based approaches for UI engineering. One such limitation is the lack of reusability of best design practices and knowledge within such approaches. With a view to fostering reuse in the instantiation and transformation of models, we introduce patterns as building blocks, which can be first used to construct different models and then instantiated into concrete UI artefacts. In particular, we will demonstrate how different kinds of patterns can be used as modules for establishing task, dialog, presentation and layout models. Starting from an outline of the general process of pattern application, an interface for combining patterns and a possible formalization are suggested. The Task Pattern Wizard, an XML/XUL-based tool for selecting, adapting and applying patterns to task models, will be presented. In addition, an extended example will illustrate the intimate complicity of several patterns and the proposed model-driven approach.

[1]  Helmut Balzert From OOA to GUIs: The JANUS System , 1995, J. Object Oriented Program..

[2]  Ahmed Seffah,et al.  HCI pattern semantics in XML: a pragmatic approach , 2005, ACM SIGSOFT Softw. Eng. Notes.

[3]  Angel R. Puerta,et al.  A Model-Based Interface Development Environment , 1997, IEEE Softw..

[4]  Paulo Pinheiro,et al.  User Interface Declarative Models and Development Environments: A Survey , 2000, DSV-IS.

[5]  Hallvard Trætteberg Integrating dialog modelling and application development , 2004, MBUI.

[6]  Tom Mens,et al.  Supporting Disciplined Reuse and Evolution of UML Models , 1998, UML.

[7]  Jean Vanderdonckt,et al.  Deriving the Navigational Structure of a User Interface , 2003, INTERACT.

[8]  Kevin A. Schneider,et al.  Interaction Templates for Constructing User Interfaces from Task Models , 2004, CADUI.

[9]  Fabio Paternò Model-Based Design and Evaluation of Interactive Applications , 2000 .

[10]  Nader Nada,et al.  An empirical study of a software reuse reference model , 2000, Inf. Softw. Technol..

[11]  Oscar Pastor,et al.  Just-UI : A User Interface Specification Model , 2002, CADUI.

[12]  Max Jacobson,et al.  A Pattern Language: Towns, Buildings, Construction , 1981 .

[13]  Christian Märtin,et al.  Software Life Cycle Automation for Interactive Applications: The AME Design Environment , 1996, CADUI.

[14]  David A. Carr,et al.  A pattern-supported approach to the user interface design process , 2001 .

[15]  Egbert Schlungbaum,et al.  Model-based User Interface Software Tools - Current State of Declarative Models , 1996 .

[16]  Sanjiva Prasad Models for mobile computing agents , 1996, CSUR.