Software Architectures for Shared Information

Author: Mary Shaw

In D.M. Steier and T.M. Mitchell (Eds.), Mind Matters: A Tribute to Allen Newell. Mahwah, NJ: Erlbaum, 1996, pp. 219-251.


Software system design takes place at many levels. Different kinds of design elements, notations, and analyses distinguish these levels. At the software architecture level, designers combine subsystems into complete systems. This paper studies some of the common patters, or idioms, that guide these configurations. Results from software architecture offer some insight into the problems of systems integration - the task of connecting individual, isolated, pre-existing software systems to provide coherent, distributed solutions to large problems. As computing has become more sophisticated, so too have the software structures used in the integration task. This paper reviews historical examples of shared information systems in three different applications whose requirements share some common features about collecting, manipulating, and preserving large bodies of complex information. These applications have similar architectural histories in which a succession of designs responds to new technologies and new requirements for flexible, highly dynamics responses. A common pattern, the shared information system evolution pattern, appears in all three areas.

Brought to you by Composable Software Systems Research Group in the School of Computer Science at Carnegie Mellon University.

[Last modified 25-July-2001.
Mail suggestions to the