Architectural Mismatch or, Why it's hard to build systems out of existing parts

David Garlan, Robert Allen, and John Ockerbloom

Proceedings of the 17th International Conference on Software Engineering (ICSE-17), April 1995. A revised and extended version of this paper appeared in IEEE Software, Volume 12, Issue 6, Nov. 1995 (pp. 17-26)

Online links: Postscript PDF BIBTEX Citation

Many would argue that future breakthroughs in software productivity will depend on our ability to combine existing pieces of software to produce new applications. An important step towares this goal is the development of new techniques to detect and cope with mismatches in the assembled parts. Some problems of composition are due to low-level issues of interoperability, such as mismatches in programming languages or database schemas. However, in this paper we highlight a different, and in many ways more pervasive, class of problem: architectural mismatch. Specifically, we use our experience in building a family of software design environments from existing parts to illustrate a variety of types of mismatch that center around the assumptions a reusable part makes about the structure of the application in which is to appear. Based on this experience we show how an architectural view of the mismatch problem exposes some fundamental, thorny problems for software composition and suggests possible research avenues needed to solve them.
Software architecture, AESOP, architectural mismatch, interoperability, reuse, system integration

For further information, please visit the home pages of the ABLE research project and Carnegie Mellon University's Composable Systems Group.

Last modified: 2/10/2003. For comments and problems, contact