Title :
A component- and message-based architectural style for GUI software
Author :
Taylor, Richard N. ; Medvidovic, Nenad ; Anderson, Kenneth M. ; Whitehead, E. James, Jr. ; Robbins, Jason E. ; Nies, Kari A. ; Oreizy, Peyman ; Dubrow, Deborah L.
Author_Institution :
California Univ., Irvine, CA, USA
fDate :
6/1/1996 12:00:00 AM
Abstract :
While a large fraction of application code is devoted to graphical user interface (GUI) functions, support for reuse in this domain has largely been confined to the creation of GUI toolkits (“widgets”). We present a novel architectural style directed at supporting larger grain reuse and flexible system composition. Moreover, the style supports design of distributed, concurrent applications. Asynchronous notification messages and asynchronous request messages are the sole basis for intercomponent communication. A key aspect of the style is that components are not built with any dependencies on what typically would be considered lower-level components, such as user interface toolkits. Indeed, all components are oblivious to the existence of any components to which notification messages are sent. While our focus has been on applications involving graphical user interfaces, the style has the potential for broader applicability. Several trial applications using the style are described
Keywords :
graphical user interfaces; message passing; parallel programming; software reusability; user interface management systems; asynchronous notification messages; asynchronous request messages; component-based architectural style; concurrency; distributed concurrent applications; flexible system composition; graphical user interface; heterogeneity; intercomponent communication; message-based architectural style; message-based architectures; reuse; user interface toolkits; widgets; Application software; Artificial intelligence; Computer architecture; Computer languages; Concurrent computing; Graphical user interfaces; Graphics; Runtime; Software tools; User interfaces;
Journal_Title :
Software Engineering, IEEE Transactions on