Abstract
Producing interactive applications is a multidisciplinary software composition activity. This, and the nature of user interface code, puts particular requirements on component composition frameworks. We describe a component model that relies on a hierarchical tree of heterogeneous elements communicating through events and data flows. This model allows to assemble, reuse and apply late binding techniques to components as diverse as data management, algorithms, interaction widgets, graphical objects, or speech recognition rules at all levels of granularity. We describe implementations of the model and example uses. Finally, we outline research directions for making the model more complete and compatible with mainstream software models.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Chatty, S., et al.: Revisiting visual interface programming: creating GUI tools for designers and programmers. In: Proc. of the ACM UIST, Addison-Wesley, Reading (2004)
Myers, B.A.: Why are human-computer interfaces difficult to design and implement? Technical Report CMU-CS-93-183, Carnegie Mellon University (1993)
Chatty, S.: Programs = data + algorithms + architecture. In: Proc. of the 2007 conference on Engineering Interactive Systems. LNCS, vol. 4940, Springer, Heidelberg (to appear, 2008)
Chatty, S.: Defining the behaviour of animated interfaces. In: Proceedings of the IFIP WG 2.7 working conference, pp. 95–109. North-Holland, Amsterdam (1992)
Elliott, C., Hudak, P.: Functional reactive animation. In: International Conference on Functional Programming (1997)
Accot, J., et al.: Formal transducers: models of devices and building bricks for the design of highly interactive systems. In: Proc. of DSVIS 1997, Springer, Heidelberg (1997)
Dragicevic, P., Fekete, J.D.: Support for input adaptability in the Icon toolkit. In: Proceedings of ICMI 2004, pp. 212–219. ACM Press, New York (2004)
Chatty, S., et al.: Multiple input support in a model-based interaction framework. In: Proceedings of Tabletop 2007, IEEE Computer Society Press, Los Alamitos (2007)
Dragicevic, P., et al.: Artistic resizing: A technique for rich scale-sensitive vector graphics. In: Proceedings of the ACM UIST (2005)
Coutaz, J.: PAC, an implementation model for dialog design. In: Proceedings of the Interact 1987 Conference, pp. 431–436. North-Holland, Amsterdam (1987)
Myers, B.: Separating application code from toolkits: Eliminating the spaghetti of callbacks. In: Proceedings of the ACM UIST (1991)
Smith, R.B., et al.: The Self-4.0 User Interface. In: OOPSLA 1995 conference proceedings, pp. 47–60 (1995)
Clement, D., Incerpi, J.: Programming the behavior of graphical objects using Esterel. In: Díaz, J., Orejas, F. (eds.) TAPSOFT 1989. LNCS, vol. 352, Springer, Heidelberg (1989)
Kay, A.C.: The early history of Smalltalk. ACM SIGPLAN (3), 69–75 (1993)
Hardebolle, C., et al.: A generic execution framework for models of computation. In: Proceedings of MOMPES 2007, pp. 45–54. IEEE Computer Society, Los Alamitos (2007)
Bruneton, E., et al.: An open component model and its support in Java. In: Crnković, I., Stafford, J.A., Schmidt, H.W., Wallnau, K. (eds.) CBSE 2004. LNCS, vol. 3054, Springer, Heidelberg (2004)
Kiczales, G.: Aspect-oriented programming. ACM Comp. Surveys 28(4es) (1996)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Chatty, S. (2008). Supporting Multidisciplinary Software Composition for Interactive Applications. In: Pautasso, C., Tanter, É. (eds) Software Composition. SC 2008. Lecture Notes in Computer Science, vol 4954. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-78789-1_14
Download citation
DOI: https://doi.org/10.1007/978-3-540-78789-1_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-78788-4
Online ISBN: 978-3-540-78789-1
eBook Packages: Computer ScienceComputer Science (R0)