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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
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.
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.
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.
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.
Brown, J. (1997). Exploring human-computer interaction and software engineering methodologies for the creation of interactive software. ACM SIGCHI Bulletin, 29(1):32–35.
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.
Chikofsky, E. J. and Cross, J. H. (1990). Reverse engineering and design recovery: a taxonomy. IEEE Software, 7(1):13–17.
Czarnecki, K. and Eisenecker, U. W. (2000). Generative Programming Methods, Tools, and Applications. Addison-Wesley, Readign: MA.
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.
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.
D’Souza, D. F. and Wills, A. C. (1999). Objects, Components and Frameworks with UML: The Catalysis Approach. Addison-Wesley, Readign: MA.
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.
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.
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.
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.
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.
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.
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.
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.
IEEE, IEEE 830: Recommended Practice for Software Requirements Specifications. IEEE Computer Society Press.
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.
Larman, C. (2001). Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process. Englewood Cliffs: Prentice Hall.
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.
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.
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.
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.
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.
Mens, T., Van Eetvelde, N., Janssens, D., and Demeyer, S. (2001). Formalising refactoring with graph transformations. Fundamenta Informaticae, 21:1001–1022.
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.
Nanard, J. and Nanard, M. (1995). Hypertext design environments and the hypertext design process. Communications of the ACM, 38(8):49–56.
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.
Puerta, A. R. (1997). A model-based interface development environment. IEEE Software, 14(4):40–47.
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.
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.
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.
Thevenin, D. (2001). Adaptation en interaction homme-machine : le cas de la plasticité. Ph.D. thesis, Universite Joseph-Fourier - Grenoble I, France.
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.
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.
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.
Varró, D., Varró, G., and Pataricza, A. (2002). Designing the automatic transformation of visual languages. Science of Computer Programming, 44(2):205–227.
Wegner, P. (1997). Why interaction is more powerful than algorithms. Communications of the ACM, 40(5):80–91.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)