Component-based development (CBD) has a great potential of reducing development cost and time by integrating existing software components. But it also faces many challenges one of which is ensuring interoperability of the components that may have been developed with different functional and non-functional goals. The software community has traditionally focused more on the functional aspect of the interoperability such as syntactic and semantic compatibility. However, incompatibility from the non-functional aspect could lead to poor quality such as insufficient security or even inoperable system. This paper presents a preliminary framework for analyzing non-functional requirements (NFRs) defined for the component required and provided interfaces. The components are considered non-functionally interoperable when they agree on the definition and implementation techniques used to achieve the NFRs. Any detected mismatches can be resolved using a combination of the three presented tactics, including replacing the server component, negotiating for more attainable NFRs, or using an adapter component to bridge the non-functional differences. A running example based on a simplified Web-based conference management system is used to illustrate the application of this framework
Published in:
Information Reuse and Integration, 2006 IEEE International Conference on
Date of Conference: 16-18 Sept. 2006