next up previous
Next: Interface compatibility Up: Introduction Previous: Introduction

Component interoperability

Components are ``units of independent production, acquisition, and deployment" [17]. In component-based software engineering (CBSE) [10], software development is decoupled from assembly and deployment. Third party composition (assembly) is the activity of connecting components, which originate from different third party component providers in binary format and without their source code. During assembly, the application (or component) is assembled from other (compiled) components. The activity takes place after the compilation of the components and before the deployment of the application (which might be itself a compound component).

For two components, which were independently developed, to be deployed and work together, third-party composition must allow the flexibility of assembling even dissimilar, heterogeneous, precompiled third-party components. In achieving this flexibility, a delicate balance is preserved between prohibiting the connecting of incompatible components (avoiding false positive), while permitting the connecting of ``almost compatible" components through adaptation (avoiding false negative). This is achieved during assembly through introspection, compatibility checks, and adaptability.



David H. Lorenz 2003-06-30