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 inter-component 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. 1 ...
Citations
|
500
|
Foundations for the study of software architecture
– Perry, Wolf
- 1992
|
|
497
|
A Cookbook for Using Model-View-Controller User Interface Paradigm
– Krasner, Pope
- 1988
|
|
464
|
An introduction to software architecture
– Garlan, Shaw
- 1993
|
|
316
|
The Design and Implementation of Hierarchical Software Systems with Reusable Components
– Batory, O’Malley
- 1992
|
|
216
|
The Essential Distributed Objects Survival Guide
– Orfali, Harkey, et al.
- 1996
|
|
135
|
Ockerbloom: Exploiting style in architectural design environments
– Garlan, Allen, et al.
- 1994
|
|
100
|
SAAM: A Method for Analyzing the Properties of Software Architectures
– Kazman, Bass, et al.
- 1994
|
|
66
|
Reusing and Interconnecting Software Components
– Goguen
- 1986
|
|
64
|
Using Weaves for software construction and analysis
– Gorlick, Razouk
- 1991
|
|
59
|
The HP SoftBench Environment: An architecture for a new qeneration of software tools
– Cagan
- 1990
|
|
47
|
Issues encountered in building a flexible software development environment: Lessons from the Arcadia project
– Kadia
- 1992
|
|
30
|
Multilanguage interoperability in distributed systems: Experience Report
– Maybee, Heimbigner, et al.
- 1996
|
|
29
|
Type Substitution for Object-Oriented Programming
– Palsberg, Schwartzbach
- 1990
|
|
27
|
Supporting Software Designers with Integrated, DomainOriented Design Environments
– Fischer, Girgensohn, et al.
|
|
23
|
A cooperative problem solving system for user interface design. AAAI-90
– Lemke, Fischer
|
|
22
|
Critics: an emerging approach to knowledge-based humancomputer interaction
– Fischer, Lemke, et al.
- 1991
|
|
13
|
Encapsulating interactive behaviors
– Myers
- 1989
|
|
12
|
A cookbook for using the model-view-controller paradigm in smalltalk-80
– Krasner, Pope
- 1988
|
|
6
|
Formal Definition of the Chiron-2 Software Architectural Style.” UCI–ICS
– Medvidovic
- 1995
|
|
5
|
Architectural Design for User Interfaces
– Coutaz
- 1991
|
|
2
|
Object-Oriented Type
– Palsberg, Schwartzbach
- 1991
|