@phdthesis{deline1999resolving, author = {DeLIne, Robert}, title = {Resolving packaging mismatch}, organization = {Carnegie Mellon University}, year = {1999}, month = {January}, abstract = {To integrate a software component into a system, the component 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. As a result, system integrators often face mismatches between their system's interaction commitments and those of a component to be integrated. How a component interacts with other components is called its packaging; hence these mismatches are called packaging mismatches. Packaging mismatches are typically resolved by introducing so-called glue code, which is costly to produce and maintain. In this dissertation, I introduce a software development method, called Flexible Packaging, which allows a component developer to defer many decisions about component interaction until system integration. Using this method, a system integrator first selects a component, called a ware, with few interaction commitments and then writes a packaging description, which captures how the ware is to interact with other components. Given a ware and a packaging description, the Flexible Packaging system automatically produces the source code, non-code artifacts, and construction and installation steps needed for the component to exhibit the described form of interaction. By writing a packaging description, the system integrator tailors the component's interaction to the system at hand, and the component can be readily integrated. I have validated the feasibility of the Flexible Packaging method and its tools with several case studies, which involve a wide range of interaction: COM servers (ActiveX controls); COM clients; Netscape plug-ins; Windows applications with GUIs; ODBC-based database accessors; filters; CGI scripts; and TCP socket clients.}, url = {http://approjects.co.za/?big=en-us/research/publication/resolving-packaging-mismatch-2/}, }