Transformational Development of User Interfaces with Graph Transformations

  • Quentin Limbourg
  • Jean Vanderdonckt

Abstract

In software engineering transformational development aims at developing software systems by transforming a coarse-grained specification to final code (or to a detailed specification) through a sequence of small transformation steps. Transformational development is known to bring benefits such as: correctness-preserving of the development cycle, explicit mappings between development steps, reusability and reversibility of transformations. No piece of literature provides a systematic formal system applying transformational development to user interface engineering. To fill this gap, a methodology, called TOMATO, is described in three facets: 1) A development cycle is defined to outline possible transformations. 2) A language for supporting the methodology is presented relying on graph transformations, a mathematical system for expressing specifications and transformation rules. 3) A tool implementation, using a visual syntax, is illustrated.

Keywords

Forward engineering Graph grammar Graph theory Mapping problem Program transformation Reverse engineering Transformational approach 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    Baresi, L. and Heckel R., Tutorial Notes on Foundations and Applications of Graph Transformation, an Introduction From a Software Engineering Perspective, in Proceedings of 1st Int. Conference on Graph Transformation, ICGT’02 (Barcelona, 7–12 September 2002), Springer-Verlag, Berlin, 2002, pp. 402–429, accessible at http://link.springer.de/link/service/series/0558/bibs/2505/25050402.htmGoogle Scholar
  2. [2]
    Brown J., Exploring Human-Computer Interaction and Software Engineering Methodologies for the Creation of Interactive Software, SIGCHI Bulletin, Vol. 29, No. 1, January 1997, pp. 32–35.Google Scholar
  3. [3]
    Calvary, G., Coutaz, J., Thevenin, D., Limbourg, Q., Bouillon, L., and Vanderdonckt, J., A Unifying Reference Framework for Multi-Target User Interfaces, Interacting with Computers, Vol. 15, No. 3, June 2003, pp. 289–308.CrossRefGoogle Scholar
  4. [4]
    Engels, G. and Schürr, A., Encapsulated Hierarchical Graphs, Graph Types and Meta Types, in Proceedings of Joint Compugraph/Semagraph Workshop on Graph Rewriting and Computation, Electronic Notes in Theoretical Computer Science SEGRAGRA’95 (Volterra, 28 August–1 September 1995), Vol. 2, July 1995.Google Scholar
  5. [5]
    Freund, R., Haberstroh, B., and Stary, C., Applying Graph Grammars for Task-Oriented User Interface Development, in Proceedings of International Conference on Computing and Information ICCI’1992 (Toronto, Ontario, 28–30 May 1992), IEEE Computer Society Press, Los Alamitos, 1992, pp.389–392.Google Scholar
  6. [6]
    Griffiths, T., Barclay, P., Paton, N.W., McKirdy, J., Kennedy, J., Gray, P.D., Cooper, R., Goble, C., and Pinheiro da Silva, P., Teallach: A Model-Based User Interface Development Environment for Object Databases, Interacting with Computers, Vol. 14, No. 1, 1 December 2001, pp. 31–68.CrossRefGoogle Scholar
  7. [7]
    Ehrig, H., Engels, G., Kreowski, H-J., and Rozenberg, G., Handbook of Graph Grammars and Computing by Graph Transformation, Applications, Languages and Tools, Vol. 2, World Scientific, Singapore, 1999.Google Scholar
  8. [8]
    Mens, T., Conditional Graph Rewriting as a Domain-Independent Formalism for Software Evolution, in Proc. of International Conf. Applications of Graph Transformations with Industrial Relevance AGTIVE’1999 (Kerkrade, 1–3 September 1999), Lecture Notes in Computer Science, Vol. 1779, Springer-Verlag, Berlin, 2000, pp. 127–143.Google Scholar
  9. [9]
    Meyer, B., Introduction to the Theory of Programming Languages, Prentice Hall, New York, 1990.Google Scholar
  10. [10]
    Partsch, H., and Steinbruggen, R., Program Transformation Systems, ACM Computing Surveys, Vol. 15, No. 3, September 1983, pp. 199–236.CrossRefMathSciNetGoogle Scholar
  11. [11]
    Paternò, F., Model-Based Design and Evaluation of Interactive Applications, Springer-Verlag, Berlin, 2000.Google Scholar
  12. [12]
    Paternò, F., and Santoro, C., One Model, Many Interfaces, in Proceedings of 4th International Conference on Computer-Aided Design of User Interfaces CADUI’2002 (Valenciennes, 15–17 May 2002), Kluwer Academics Publishers, Dordrecht, 2002, pp. 143–154Google Scholar
  13. [13]
    Puerta, A.R., and Maulsby, D., Management of Interface Design Knowledge with MOBI-D, in Proc. of 2nd ACM International Conference on Intelligent User Interfaces IUI’97 (Orlando, 6–9 January 1997), ACM Press, New York, 1997, pp. 249–252.Google Scholar
  14. [14]
    Puerta, A.R., A Model-Based Interface Development Environment, IEEE Software, Vol. 14, No. 4, July–August 1997, pp. 41–47CrossRefGoogle Scholar
  15. [15]
    Puerta, A.R. and Eisenstein, J., Interactively Mapping Task Models to Interfaces in MOBI-D, in Proceedings of 5th International Eurographics Workshop on Design, Specification and Verification of Interactive Systems DSV-IS’98 (Abingdon, 3–5 June 1998), Springer-Verlag, Vienna, 1998, pp. 261–273.Google Scholar
  16. [16]
    Puerta, A. and Eisenstein, J., Towards a General Computational Framework for Model-Based Interface Development Systems Model-Based Interfaces, in Proc. of ACM International Conference on Intelligent User Interfaces IUI’99 (Los Angeles, 5–8 January 1999), ACM Press, New York, 1999, pp. 171–178.Google Scholar
  17. [17]
    Rozenberg, G., Handbook of Graph Grammars and Computing by Graph Transformation, Foundations, Vol. 1, World Scientific, Singapore, 1999.Google Scholar
  18. [18]
    Szekely, P., Retrospective and Challenges for Model-Based Interface Development, in Proc. of 2nd International Workshop on Computer-Aided Design of User Interfaces CADUI’96 (Namur, 5–7 June 1996), Presses Universitaires de Namur, Namur, 1996, pp. 1–27.Google Scholar
  19. [19]
    Sucrow, B., On Integrating Software-Ergonomic Aspects in the Specification Process of Graphical User Interfaces, Transactions of the SDPS Journal of Integrated Design & Process Science, Vol. 2, No. 2, June 1998, pp. 32–42.Google Scholar
  20. [20]
    Vanderdonckt, J. and Bodart, F., Encapsulating Knowledge for Intelligent Automatic Interaction Objects Selection, in Proc. of the ACM Conf. on Human Factors in Computing Systems INTERCHI’93 (Amsterdam, 24–29 avril 1993), ACM Press, New York, 1993, pp. 424–429.Google Scholar
  21. [21]
    Vanderdonckt, J., Assisting Designers in Developing Interactive Business Oriented Applications, in H.-J. Bullinger & J. Ziegler (eds.), Proceedings of 8th International Conference on Human-Computer Interaction of HCI International’99 (Munich, 22–26 August 1999), Ergonomics and User Interfaces, Vol. 1, Lawrence Erlbaum Associated Pub., Mahwah, 1999, pp. 1043–1047.Google Scholar
  22. [22]
    Vanderdonckt, J., Advice-Giving Systems for Selecting Interaction Objects, in N.W. Paton & T. Griffiths (eds.), Proceedings of 1st Int. Workshop on User Interfaces to Data Intensive Systems UIDIS’99 (Edimburgh, 5–6 September 1999), IEEE Computer Society Press, Los Alamitos, 1999, pp. 152–157.Google Scholar
  23. [23]
    Vanderdonckt, J. and Berquin, P., Towards a Very Large Model-based Approach for User Interface Development, in N.W. Paton & T. Griffiths (eds.), Proc. of 1st International Workshop on User Interfaces to Data Intensive Systems UIDIS’99 (Edimburgh, 5–6 September 1999),, IEEE Computer Society Press, Los Alamitos, 1999, pp. 76–85.Google Scholar
  24. [24]
    Vanderdonckt, J., Limbourg, Q., and Florins, M., Deriving the Navigational Structure of a User Interface, in M. Rauterberg, M. Menozzi, J. Wesson (eds.), Proc. of 9th IFIP TC 13 Int. Conf. on Human-Computer Interaction INTERACT’2003 (Zurich, 1–5 September 2003), IOS Press, Amsterdam, 2003, pp. 455–462.Google Scholar

Copyright information

© Kluwer Academic Publishers 2005

Authors and Affiliations

  • Quentin Limbourg
    • 1
  • Jean Vanderdonckt
    • 1
  1. 1.IAG — School of ManagementUniversité catholique de LouvainLouvain-la-NeuveBelgium

Personalised recommendations