Evaluating user interface generation approaches: model-based versus model-driven development

Abstract Advances in software design possibilities have led to a growing interest in the study of user interfaces (UIs). Many Model-Based User Interface Development Environments (MB-UIDEs) have been proposed to deal with the generation of the UIs (semi-) automatically by using models with different levels of abstraction. Often, this generation is limited to the UI part of an application. However, achieving true model-driven development (MDD) requires the co-development of application and UI and, hence, needs to go a step further. This paper analyzes a large set of existing MB-UIDEs, evaluates, from a critical perspective, to what extent they can be considered full MDD environments, and adequately addresses the co-design of UI and application. Following the guidelines proposed by Kitchenham and Charters (Engineering 2, 2007), we performed a systematic literature review. A total of 96 papers were examined. Based on these papers, an assessment framework containing 10 criteria with specific metrics to evaluate MB-UIDEs was defined and 30 different environments were evaluated following these criteria. The evaluation identifies several gaps in the existing state of the art and highlights the areas of promising improvement. The evaluation shows that, although a strong progress has being achieved over the last years, the existing environments do not yet fully exploit the benefits and potentialities of MDD, nor do they adequately integrate UI design with application logic design and generation. Further research needs to be done to support the MDD of UIs and the co-design of the underlying application. The difficulty of use of the existing MB-UIDEs, the lack of UI design flexibility, and the lack of complete and integrated development support are the main research gaps that need to be addressed.

[1]  Angel R. Puerta,et al.  The MECANO Project: Comprehensive and Integrated Support for Model-Based Interface Development , 1996, CADUI.

[2]  Ping Luo,et al.  INT { RCHI ’ 93 24-29 April 1993 MANAGEMENT OF INTERFACE DESIGN IN HUMANOlD , 1997 .

[3]  Fabio Paternò,et al.  TERESA: a transformation-based environment for designing and developing multi-device interfaces , 2004, CHI EA '04.

[4]  John Leaney,et al.  Towards a general purpose architecture for UI generation , 2010, J. Syst. Softw..

[5]  Krzysztof Z. Gajos,et al.  SUPPLE: automatically generating user interfaces , 2004, IUI '04.

[6]  Jean Vanderdonckt,et al.  Towards a Systematic Building of Software Architectures: the TRIDENT Methodological Guide , 1995, DSV-IS.

[7]  Brad A. Myers,et al.  User interface software tools , 1995, TCHI.

[8]  Jean Vanderdonckt,et al.  A Review of XML-compliant User Interface Description Languages , 2003, DSV-IS.

[9]  James A. Landay,et al.  Damask: A Tool for Early-Stage Design and Prototyping of Multi-Device User Interfaces , 2002 .

[10]  Pearl Brereton,et al.  Performing systematic literature reviews in software engineering , 2006, ICSE.

[11]  Carole A. Goble,et al.  Teallach: a model-based user interface development environment for object databases , 1999, Proceedings User Interfaces to Data Intensive Systems.

[12]  Brad A. Myers,et al.  Why are Human-Computer interfaces Difficult to Design and Implement? , 1993 .

[13]  Jordi Cabot,et al.  Model-Driven Software Engineering in Practice , 2017, Synthesis Lectures on Software Engineering.

[14]  Jean Vanderdonckt,et al.  FlowiXML: a step towards designing workflow management systems , 2008, Int. J. Web Eng. Technol..

[15]  Jean Vanderdonckt,et al.  Model-Driven Engineering of User Interfaces: Promises, Successes, and Failures , 2008 .

[16]  Monique Snoeck,et al.  Enterprise Information Systems Engineering , 2014, The Enterprise Engineering Series.

[17]  Fabio Paternò,et al.  Design and development of multidevice user interfaces through multiple logical descriptions , 2004, IEEE Transactions on Software Engineering.

[18]  Pablo Castells,et al.  Declarative interface models for user interface construction tools: the MASTERMIND approach , 1995, EHCI.

[19]  Jean Vanderdonckt,et al.  Past, Present, and Future of Model-Based User Interface Development , 2011, i-com.

[20]  Monique Snoeck,et al.  Enterprise Information Systems Engineering : The MERODE Approach , 2014 .

[21]  Fabio Paternò,et al.  CTTE: Support for Developing and Analyzing Task Models for Interactive System Design , 2002, IEEE Trans. Software Eng..

[22]  Christian Märtin,et al.  Evaluation of Model-Based User Interface Development Approaches , 2014, HCI.

[23]  Jean Vanderdonckt,et al.  A Theoretical Survey of User Interface Description Languages: Preliminary Results , 2009, 2009 Latin American Web Congress.

[24]  Christian Stary,et al.  IEEE TRANSACTIONS ON SYSTEMS , MAN , AND CYBERNETICS — PART A : SYSTEMS AND HUMANS , 2000 .

[25]  Jessie B. Kennedy,et al.  DRIVE - An Environment for the Organised Construction of User-Interfaces to Databases , 1996, IDS.

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

[27]  Faculteit Wetenschappen A Programmer's Perspective on the Modularisation of User Interface Code , 2008 .

[28]  Jean Vanderdonckt,et al.  Generating User Interface for Information Applications from Task, Domain and User models with DB-USE , 2010 .

[29]  Fabio Paternò,et al.  The TERESA XML Language for the Description of Interactive Systems at Multiple Abstraction Levels , 2004 .

[30]  Fabio Paternò,et al.  Applying information visualization techniques to visual representations of task models , 2004, TAMODIA '04.

[31]  Sahin Albayrak,et al.  Executable Models for Human-Computer Interaction , 2008, DSV-IS.

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

[33]  Jean Vanderdonckt,et al.  A Theoretical Survey of User Interface Description Languages: Complementary Results , 2011 .

[34]  Fabio Paternò,et al.  MARIA: A universal, declarative, multiple abstraction-level language for service-oriented applications in ubiquitous environments , 2009, TCHI.

[35]  David Raneburger Interactive model driven graphical user interface generation , 2010, EICS '10.

[36]  Karin Coninx,et al.  A Model-Based Design Process for Interactive Virtual Environments , 2005, DSV-IS.

[37]  Jordi Cabot,et al.  Constraint Support in MDA Tools: A Survey , 2006, ECMDA-FA.

[38]  Stephen J. Mellor,et al.  MDA Distilled Principles Of Model-Driven Architecture , 2004 .

[39]  Frank Lonczewski,et al.  The FUSE-System: an Integrated User Interface Design Environment , 1996, CADUI.

[40]  Mary Beth Rosson,et al.  Survey on user interface programming , 1992, CHI.

[41]  Yijun Yu,et al.  RBUIS: simplifying enterprise application user interfaces through engineering role-based adaptive behavior , 2013, EICS '13.

[42]  Jan Van den Bergh,et al.  Dygimes: Dynamically Generating Interfaces for Mobile Computing Devices and Embedded Systems , 2003, Mobile HCI.

[43]  Sahin Albayrak,et al.  Model-based layout generation , 2008, AVI '08.

[44]  Douglas C. Schmidt,et al.  Model-Driven Engineering , 2006 .

[45]  Jean Vanderdonckt,et al.  A Unifying Reference Framework for multi-target user interfaces , 2003, Interact. Comput..

[46]  Stuart Kent,et al.  Model Driven Engineering , 2002, IFM.

[47]  José A. Gallud,et al.  User interface analysis for groupware applications in the TOUCHE process model , 2009, Adv. Eng. Softw..

[48]  Goetz Botterweck,et al.  A model-driven approach to the engineering of multiple user interfaces , 2006, MoDELS'06.

[49]  Oscar Pastor,et al.  Model-driven architecture in practice - a software production environment based on conceptual modeling , 2007 .

[50]  Oscar Pastor,et al.  Transformation templates: adding flexibility to model-driven engineering of user interfaces , 2010, SAC '10.

[51]  Jean Vanderdonckt,et al.  USIXML: A User Interface Description Language Supporting Multiple Levels of Independence , 2004, ICWE Workshops.

[52]  Charles Wiecha,et al.  ITS: a tool for rapidly developing interactive applications , 1990, TOIS.

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

[54]  Sahin Albayrak,et al.  Automated Usability Evaluation during Model-Based Interactive System Development , 2008, TAMODIA/HCSE.

[55]  Jan Meskens,et al.  Gummy for multi-platform user interface designs: shape me, multiply me, fix me, use me , 2008, AVI '08.

[57]  Yijun Yu,et al.  Adaptive Model-Driven User Interface Development Systems , 2014, ACM Comput. Surv..

[58]  Akram Salah,et al.  Towards A Better Model Based User Interface Development Environment : A Comprehensive Survey , 2005 .

[59]  Mikal Ziane,et al.  GOLIATH: an Extensible Model-Based Environment to Develop User Interfaces , 2004, CADUI.

[60]  Rossana M. de Castro Andrade,et al.  XMobile: A MB-UID environment for semi-automatic generation of adaptive applications for mobile devices , 2008, J. Syst. Softw..

[61]  Hermann Kaindl,et al.  Connecting Interaction Models and Application Logic for Model-Driven Generation of Web-Based Graphical User Interfaces , 2013, 2013 20th Asia-Pacific Software Engineering Conference (APSEC).

[62]  Niraj K. Jha,et al.  Low-power system scheduling, synthesis and displays , 2005 .

[63]  F. Paternò From Model-based to Natural Development , 2003 .

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

[65]  Jesús Gallardo,et al.  CIAT-GUI: A MDE-compliant environment for developing Graphical User Interfaces of information systems , 2012, Adv. Eng. Softw..

[66]  Jean Bézivin,et al.  In Search of a Basic Principle for Model Driven Engineering , 2004 .

[67]  Vi Tran UI generation from task, domain and user models: the DB-USE approach , 2010, EICS '10.

[68]  Douglas C. Schmidt,et al.  Guest Editor's Introduction: Model-Driven Engineering , 2006, Computer.

[69]  Oscar Pastor,et al.  Conceptual Modelling of Interaction , 2011, Handbook of Conceptual Modeling.

[70]  Francisco Ortin,et al.  Generating native user interfaces for multiple devices by means of model transformation , 2015, Frontiers of Information Technology & Electronic Engineering.

[71]  Antonio Delgado,et al.  WAINE - Automatic Generator of Web Based Applications , 2007, WEBIST.

[72]  Benjamin Michotte,et al.  USIXML: A Language Supporting Multi-path Development of User Interfaces , 2004, EHCI/DS-VIS.

[73]  Peri L. Tarr,et al.  Model-driven development : The good , the bad , and the ugly & , 2006 .

[74]  James D. Foley,et al.  A second generation user interface design environment: the model and the runtime architecture , 1993, INTERCHI.