Author_Institution :
Carnegie Mellon Univ., Pittsburgh, PA, USA
Abstract :
To integrate a software component into a system, it must interact properly with the system´s other components. Unfortunately, the decisions about how a component is to interact with other components are typically committed long before the moment of integration and are difficult to change. This paper introduces the flexible packaging method, which allows a component developer to defer some decisions about component interaction until system integration time. The method divides the component´s source into two pieces: the ware, which encapsulates the component´s functionality; and the packager, which encapsulates the details of interaction. Both the ware and the packager are independently reusable. A ware, as a reusable part, allows a given piece of functionality to be employed in systems in different architectural styles. A packager, as a reusable part, encapsulates conformance to a component standard, like an ActiveX control or an ODBC database accessor. Because the packager´s source code is often formulaic, a tool is provided to generate the packager´s source from a high-level description of the intended interaction, a description written in the architectural description language UniCon. The method and tools are evaluated with two case studies, an image viewer and a database updater.
Keywords :
software reusability; ActiveX control; ODBC database accessor; UniCon; architectural description language; architectural styles; component functionality; component standard conformance; database updater; flexible packaging; high-level description; image viewer; packager; packaging mismatch; reusable part; software component integration; source code; system integration; ware; Architecture description languages; Heart; Image databases; Maintenance engineering; Packaging; Permission; Software tools; System testing;