Multipath Transformational Development of User Interfaces with Graph Transformations

In software engineering, transformational development is aimed at developing computer systems by transforming a coarse-grained specification of a system to its final code through a series of transformation steps. Transformational development is known to bring benefits such as: correctness by construction, explicit mappings between development steps, and reversibility of transformations. No comparable piece exists in the literature that provides a formal system applying transformational development in the area of user interface engineering. This chapter defines such a system. For this purpose, a mathematical system for expressing specifications and transformation rules is introduced. This system is based on graph transformations. The problem of managing the transformation rules is detailed, e.g., how to enable a developer to access, define, extend, restrict or relax, test, verify, and apply appropriate transformations. A tool supporting this development paradigm is also described and exemplified. Transformational development, applied to the development of user interfaces of interactive systems, allows reusability of design knowledge used to develop user interfaces and fosters incremental development of user interfaces by applying alternative transformations.

[1]  Martin Gogolla,et al.  An Integrated Semantics for UML Class, Object and State Diagrams Based on Graph Transformation , 2002, IFM.

[2]  Judy Brown,et al.  HCI and requirements engineering: exploring human-computer interaction and software engineering methodologies for the creation of interactive software , 1997, SGCH.

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

[4]  Ping Luo,et al.  A Human-Computer Collaboration Paradigm for Bridging Design Conceptualization and Implementation , 1994, DSV-IS.

[5]  Dániel Varró,et al.  Designing the automatic transformation of visual languages , 2002, Sci. Comput. Program..

[6]  H. Rex Hartson,et al.  Toward Empirically Derived Methodologies and Tools for Human-Computer Interface Development , 1989, Int. J. Man Mach. Stud..

[7]  Jean Vanderdonckt,et al.  Comparing Task Models for User Interface Design , 2003 .

[8]  Rudolf Freund,et al.  Applying graph grammars for task-oriented user interface development , 1992, Proceedings ICCI `92: Fourth International Conference on Computing and Information.

[9]  Jean-Marc Jézéquel,et al.  UMLAUT: an extendible UML transformation framework , 1999, 14th IEEE International Conference on Automated Software Engineering.

[10]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[11]  Reiko Heckel,et al.  Formal agent-oriented modeling with UML and graph transformation , 2002, Sci. Comput. Program..

[12]  Stéphane Ducasse,et al.  Why Unified is not Universal? UML Shortcomings for Coping with Round-trip Engineering , 1999, UML.

[13]  Reiko Heckel,et al.  Software Evolution through Transformations , 2003, Software Evolution Through Transformations @ ICGT.

[14]  Tamara Sumner,et al.  The cognitive ergonomics of knowledge-based design support systems , 1997, CHI.

[15]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process , 2001 .

[16]  Joaquin Miller,et al.  MDA Guide Version 1.0.1 , 2003 .

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

[18]  Stuart Kent,et al.  A relational approach to defining and implementing transformations between metamodels , 2003, Software & Systems Modeling.

[19]  Jean Vanderdonckt,et al.  A Model-Based Approach to Presentation: A Continuum from Task Analysis to Prototype , 1994, DSV-IS.

[20]  Jean Vanderdonckt,et al.  Analyzing Interaction in Augmented Reality Systems , 2002 .

[21]  Jim Steel,et al.  Transformation: The Missing Link of MDA , 2002, ICGT.

[22]  Hartmut Ehrig,et al.  Handbook of graph grammars and computing by graph transformation: vol. 2: applications, languages, and tools , 1999 .

[23]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[24]  Grzegorz Rozenberg,et al.  Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations , 1997 .

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

[26]  Gabor Karsai,et al.  An end-to-end domain-driven software development framework , 2003, OOPSLA '03.

[27]  Jean Vanderdonckt,et al.  Transformational Development of User Interfaces with Graph Transformations , 2004, CADUI.

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

[29]  Jean Vanderdonckt,et al.  A MDA-Compliant Environment for Developing User Interfaces of Information Systems , 2005, CAiSE.

[30]  Desmond D'Souza,et al.  Objects, Components, and Frameworks with UML: The Catalysis Approach , 1998 .

[31]  Peter Wegner,et al.  Why interaction is more powerful than algorithms , 1997, CACM.

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

[33]  Jean Vanderdonckt,et al.  Encapsulating knowledge for intelligent automatic interaction objects selection , 1993, INTERCHI.

[34]  Hartmut Ehrig,et al.  Handbook of graph grammars and computing by graph transformation: vol. 3: concurrency, parallelism, and distribution , 1999 .

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

[36]  David Thevenin,et al.  Adaptation en interaction homme-machine : le cas de la plasticité. (Adaptation in Human Computer Interaction: the case of Plasticity) , 2001 .

[37]  Jorn Bettin,et al.  Measuring the potential of domain-specific modelling techniques , 2002 .

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

[39]  Jocelyne Nanard,et al.  Hypertext design environments and the hypertext design process , 1995, CACM.

[40]  Jean Vanderdonckt,et al.  Applying model-based techniques to the development of UIs for mobile computers , 2001, IUI '01.