Skip to main content

Multipath Transformational Development of User Interfaces with Graph Transformations

  • Chapter
Human-Centered Software Engineering

Part of the book series: Human-Computer Interaction Series ((HCIS))

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  • Agrawal, A., Karsai, G., and Lédeczi, A. (2003). An end-to-end domain-driven software development framework. In Crocker, R. and Steele, G. L. Jr., editors, Companion of the 18th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2003, October 26-30, 2003, Anaheim, CA, USA, pages 8–15. ACM.

    Chapter  Google Scholar 

  • Akehurst, D. H., Kent, S., and Patrascoiu, O. (2003). A relational approach to defining and implementing transformations between metamodels. Software and System Modeling, 2(4):215–239. On-line: http://www.cs.kent.ac.uk/pubs/2003/1764.

  • Bettin, J. (2002). Measuring the potential of domain-specific modeling techniques. In Proceedings of the 2nd Domain-Specific Modeling Languages Workshop, Working Papers W-334, Helsinki School of Economics, pages 39–44.

    Google Scholar 

  • Boocock, P. (2003). The Jamda project. http://jamda.sourceforge.net/.

  • Bodart, F., Hennebert, A. M., Leheureux, J. M. and Vanderdonckt, J. (1995). A modelbased approach to presentation: A continuum from task analysis to prototype. In F. Bodart, Focus on Computer Graphics Series, p. 77–94. New York: Springer-Verlag.

    Google Scholar 

  • Bouillon, L., Vanderdonckt, J., and Chieu, K. (2004). Flexible reengineering of websites. In Proceedings of the 8th International Conference on Intelligent User Interfaces, Multiplatform interfaces, pages 132–139.

    Google Scholar 

  • Brown, J. (1997). Exploring human-computer interaction and software engineering methodologies for the creation of interactive software. ACM SIGCHI Bulletin, 29(1):32–35.

    Article  Google Scholar 

  • Calvary, G., Coutaz, J., Thevenin, D., Limbourg, Q., Bouillon, L., and Vanderdonckt, J. (2003). A unifying reference framework for multitarget user interfaces. Interacting with Computers, 15(3):289–308.

    Article  Google Scholar 

  • Chikofsky, E. J. and Cross, J. H. (1990). Reverse engineering and design recovery: a taxonomy. IEEE Software, 7(1):13–17.

    Article  Google Scholar 

  • Czarnecki, K. and Eisenecker, U. W. (2000). Generative Programming Methods, Tools, and Applications. Addison-Wesley, Readign: MA.

    Google Scholar 

  • Demeyer, S., Ducasse, S., and Tichelaar, S. (1999), Why Unified is not Universal. UML Shortcomings for Coping with Round-trip Engineering, In Proceedings UML ’99 (The Second International Conference on The Unified Modeling Language), Kaiserslautern, Germany, pages 630–644.

    Google Scholar 

  • Depke, R., Heckel, R., and Küster, J. M. (2002). Formal agent-oriented modeling with UML and graph transformation. Science of Computer Programming, 44(2):229–252.

    Article  MATH  Google Scholar 

  • D’Souza, D. F. and Wills, A. C. (1999). Objects, Components and Frameworks with UML: The Catalysis Approach. Addison-Wesley, Readign: MA.

    Google Scholar 

  • Ehrig, H., Engels, G., Kreowski, H.-J., and Rozenberg, G. (1999). Handbook of Graph Grammars and Computing by Graph Transformation, Vol. 2: Applications, Languages and Tools. Singapore: World Scientific.

    Google Scholar 

  • Eisenstein, J., Vanderdonckt, J., and Puerta, A. (2001). Applying model-based techniques to the development of UIs for mobile computers. In Proceedings of the 2001 International Conference on Intelligent User Interfaces, pages 69–76, New York. ACM Press.

    Google Scholar 

  • Freund, R., Haberstroh, B., and Stary, C. (1992). Applying graph grammars for taskoriented user interface development. In Koczkodaj,W.W., Lauer, P. E., and Toptsis, A. A., editors, Computing and Information - ICCI’92, Fourth International Conference on Computing and Information, Toronto, Ontario, Canada, May 28-30, 1992, Proceedings, pages 389–392, IEEE Computer Society.

    Chapter  Google Scholar 

  • Gerber, A., Lawley, M., Raymond, K., Steel, J., and Wood, A. (2002). Transformation: The missing link of MDA. In Corradini, A., Ehrig, H., Kreowski, H.-J., and Rozenberg, G., editors, Graph Transformation, First International Conference, ICGT 2002, Barcelona, Spain, October 7-12, 2002, Proceedings, volume 2505 of Lecture Notes in Computer Science, pages 90–105. Springer.

    Google Scholar 

  • Griffiths, T., Barclay, P. J., Paton, N. W., McKirdy, J., Kennedy, J. B., Gray, P. D., Cooper, R., Goble, C. A., and Silva, P. P. (2001). Teallach: a model-based user interface development environment for object databases. Interacting with Computers, 14(1):31–68.

    Article  Google Scholar 

  • Hartson, H. R. and Hix, D. (1989). Toward empirically derived methodologies and tools for human-computer interface development. International Journal of Man-Machine Studies, 31(4):477–494.

    Article  Google Scholar 

  • Heckel, R., Mens, T., and Wermelinger, M. (2002). Workshop on software evolution through transformations: Towards uniform support throughout the software lifecycle. In Corradini, A., Ehrig, H., Kreowski, H., and Rozenberg, G., editors, Graph Transformation, First International Conference, ICGT 2002, Barcelona, Spain, October 7-12, 2002, Proceedings, volume 2505 of Lecture Notes in Computer Science, pages 450–454. Springer.

    Google Scholar 

  • Ho, W. M., Jézéquel, J. M., Le Guennec, A., and Pennaneac’h, F. (1999). UMLAUT: An extendible UML transformation framework. In 14th IEEE International Conference on Automated Software Engineering, pages 275–278. IEEE Computer Society Press.

    Google Scholar 

  • IEEE, IEEE 830: Recommended Practice for Software Requirements Specifications. IEEE Computer Society Press.

    Google Scholar 

  • Kuske, S., Gogolla, M., Kollmann, R., and Kreowski, H.-J. (2002). An integrated semantics for UML class, object, and state diagrams based on graph transformation. In Butler, M. and Sere, K., editors, 3rd Int. Conf. Integrated Formal Methods (IFM’02), pages 11–28, Springer-Verlag.

    Google Scholar 

  • Larman, C. (2001). Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process. Englewood Cliffs: Prentice Hall.

    Google Scholar 

  • Limbourg, Q. and Vanderdonckt, J. (2003). Comparing task models for user interface design. In Diaper, D. and Stanton, N., editors, The Handbook of Task Analysis for Human-Computer Interaction, pages 135–154. Lawrence Erlbaum Associates.

    Google Scholar 

  • Limbourg, Q. and Vanderdonckt, J. (2004a). Transformational development of user interfaces with graph transformations. In Jacob, R. J. K., Limbourg, Q., and Vanderdonckt, J., editors, Proceedings of the 5th International Conference on Computer-Aided Design of User Interfaces CADUI, pages 105–118. Kluwer.

    Google Scholar 

  • Limbourg, Q. and Vanderdonckt, J. (2004b). UsiXML: A user interface description language supporting mul-tiple levels of independence. In Matera, M. and Comai, S., editors, Engineering Advanced Web Applications, pages 325–338. Rinton Press.

    Google Scholar 

  • Limbourg, Q., Vanderdonckt, J., Michotte, B., Bouillon, L., and Lopez, V. (2005). UsiXML: a language sup-porting multipath development of user interfaces. In Proc. of 9th IFIP Working Conference on Engineering for Human-Computer Interaction jointly with 11th Int. Workshop on Design, Specification, and Verification of Interactive Systems EHCI-DSVIS’2004, volume 3425 of Lecture Notes in Computer Science, pages 200–220, Springer-Verlag.

    Google Scholar 

  • Luo, P. (1995). A human-computer collaboration paradigm for bridging design conceptualization and implementation. In Paternó, F., editor, Design, Specification and Verification of Interactive Systems ’94, Focus on Computer Graphics, pages 129–147, Springer-Verlag. Proceedings of the Eurographics Workshop in Bocca di Magra, Italy, June 8 – 10, 1994.

    Google Scholar 

  • Mens, T., Van Eetvelde, N., Janssens, D., and Demeyer, S. (2001). Formalising refactoring with graph transformations. Fundamenta Informaticae, 21:1001–1022.

    Google Scholar 

  • Miller, J. and Mukerij, J. (2003). MDA guide version 1.0.1. On-line: www.omg.org.

  • Mori, G., Paternò, F., and Santoro, C. (2004). Design and development of multidevice user interfaces through multiple logical descriptions. IEEE Trans. Software Eng, 30(8):507–520.

    Article  Google Scholar 

  • Nanard, J. and Nanard, M. (1995). Hypertext design environments and the hypertext design process. Communications of the ACM, 38(8):49–56.

    Article  Google Scholar 

  • Object Management Group (2003). Common warehouse specification version 1.1, vol. 1. http://www.omg.org/docs/formal/03-03-02.pdf.

  • Puerta, A. R. (1996). The MECANO project: Comprehensive and integrated support for model-based interface development. In Vanderdonckt, J., editor, Computer- Aided Design of User Interfaces I, Proceedings of the Second International Workshopon Computer-Aided Design of User Interfaces CADUI’96, June 5-7, 1996, Namur, Belgium, pages 19–36. Presses Universitaires de Namur.

    Google Scholar 

  • Puerta, A. R. (1997). A model-based interface development environment. IEEE Software, 14(4):40–47.

    Article  Google Scholar 

  • Queensland University (2002). An OMG Meta Object Facility Implementation. The Corba Service Product Manager, University of Queensland, 2002, On-line: http://www.dstc.edu.au/Products/CORBA/MOF/.

  • Rensik, A. (2003). Proceedings of the 1st Workshop on Model-Driven Architecture: Foundation and Application MDAFA’03. CTIT Technical Report TR-CTIT-03-27, University of Twente, Twente. On-line: http://trese.cs.utwente.nl/mdafa2003/.

  • Rozenberg, G. (1997). Handbook on Graph Grammars and Computing by Graph Transformation 1 (Foundations). World Scientific, Singapore.

    Google Scholar 

  • Sucrow, B. (1998). On integrating software-ergonomic aspects in the specification process of graphical user interfaces. Transactions of the SDPS Journal of Integrated Design & Process Science, 2(2):32–42.

    Google Scholar 

  • Sumner, T., Bonnardel, B., and Harstad, B. (1997). The cognitive ergonomics of knowledge-based design support systems. In presented at Proceedings of the Conference on Human Factors in Computing Systems (CHI’97), Atlanta, GA.

    Google Scholar 

  • Thevenin, D. (2001). Adaptation en interaction homme-machine : le cas de la plasticité. Ph.D. thesis, Universite Joseph-Fourier - Grenoble I, France.

    Google Scholar 

  • Trevisan, D. G., Vanderdonckt, J., and Macq, M. (2002). Analyzing interaction in augmented reality systems. In Pingali, G. and Jain, R., editors, roceedings of ACM Multimedia 2002 International Workshop on Immersive Telepresence ITP’2002, pages 56–59, ACM Press.

    Google Scholar 

  • Vanderdonckt, J. (2005). A MDA-compliant environment for developing user interfaces of information systems. In Pastor, O. and Cunha, J. F., editors, Proceedings of the 17th International Conference on Advanced Information Systems Engineering CAiSE 2005, Porto, Portugal, June 13-17, volume 3520 of Lecture Notes in Computer Science, pages 16–31. Springer-Verlag.

    Google Scholar 

  • Vanderdonckt, J. and Bodart, F. (1993). Encapsulating knowledge for intelligent automatic interaction objects selection. In Proceedings of ACM INTERCHI’93 Conference on Human Factors in Computing Systems, Amsterdam, pages 424–429. ACM Press.

    Google Scholar 

  • Varró, D., Varró, G., and Pataricza, A. (2002). Designing the automatic transformation of visual languages. Science of Computer Programming, 44(2):205–227.

    Article  MATH  Google Scholar 

  • Wegner, P. (1997). Why interaction is more powerful than algorithms. Communications of the ACM, 40(5):80–91.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer Science+Business Media, LLC

About this chapter

Cite this chapter

Limbourg, Q., Vanderdonckt, J. (2009). Multipath Transformational Development of User Interfaces with Graph Transformations. In: Seffah, A., Vanderdonckt, J., Desmarais, M.C. (eds) Human-Centered Software Engineering. Human-Computer Interaction Series. Springer, London. https://doi.org/10.1007/978-1-84800-907-3_6

Download citation

  • DOI: https://doi.org/10.1007/978-1-84800-907-3_6

  • Publisher Name: Springer, London

  • Print ISBN: 978-1-84800-906-6

  • Online ISBN: 978-1-84800-907-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics