Patterns for Software Architectures

Author: Mary Shaw

First Annual Conference on the Pattern Languages of Programming, August 1994,
In Pattern Languages of Program Design, vol 1, James Coplien and Douglas Schmidt (eds), Addison-Wesley, pp. 453-462, 1995.

Download the Postscript or PDF


Software designers rely on informal patterns, or idioms, to describe the architectures of their software systems - the configurations of components that make up the systems. My purpose here is to reflect on the role these patterns play in software design. I am particularly interested in the ways that informal patterns shape the configurations. These patterns, or idioms, determine how separate parts are combined, or "woven together." The resulting organization is often called the architecture of the system. Current programming languages do not support these patterns; indeed, the patterns address problems that lie outside the scope of conventional programming languages. This paper describes the character of these architectural patterns and the status of work on models and tools to support them.

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

[Last modified 11-Feb-1999.
Mail suggestions to the