On the Relationship of Software Architecture to Software Component Technology
Kurt Wallnau, Judith A. Stafford, Scott Hissam, Mark Klein · 2001
Software component technologies support assembly of systems from binary component implementations that may have been created in isolation from one and another. While these technologies provide assistance in wiring components together, they fail to provide support for predicting the quality attributes of assemblies of components prior to their actual composition. The study of software architecture, on the other hand, assumes a relationship between the large-scale structure of a software system, canonically expressed in terms of components and connectors, and system quality attributes. While the study of software architecture has produced good results, the translation from architectural theory to implementation today rests upon rather weak-kneed notions of architectural conformance, i.e., that an implementation conforms to its architecture. In short, the gap between what we may denote as abstract, architecture-level components, and concrete, implementation -level components has yet to be bridged. In this position paper, we discuss and illustrate the fundamental affinity between software architecture and component technology. We also outline criteria for their integration, so that the gap between component integration and architectural analysis can be reduced. 1.