TY - JOUR
T1 - Model-based user interface engineering with design patterns
AU - Ahmed, Seffah
AU - Ashraf, Gaffar
N1 - Funding Information:
This research was supported partially by a grant from the National Science and Engineering Research Consul of Canada. The first author thanks Nicole Li, Homa Javahery, Paul Ashutosh, and especially Mohamed Taleb and Daniel Sinnig all members of the Human-Centered Software Engineering group at Concordia University and who participated actively over 6 years in the development of the approach described in this paper. A special thank goes to Professor Peter Forbrig and his students from Rostosk University who participated in the development of the Task Wizard tool.
PY - 2007/8
Y1 - 2007/8
N2 - 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.
AB - 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.
KW - Model-based user interface
KW - Model-driven development
KW - Presentation and user interface models
KW - Software architecture
KW - Task
KW - Usability
KW - User interface design patterns
UR - http://www.scopus.com/inward/record.url?scp=34249009879&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=34249009879&partnerID=8YFLogxK
U2 - 10.1016/j.jss.2006.10.037
DO - 10.1016/j.jss.2006.10.037
M3 - Article
AN - SCOPUS:34249009879
SN - 0164-1212
VL - 80
SP - 1408
EP - 1422
JO - Journal of Systems and Software
JF - Journal of Systems and Software
IS - 8
ER -