Increasing the confidence in off-the-shelf components: a software connector-based approach

  • Authors:
  • Marija Rakic;Nenad Medvidovic

  • Affiliations:
  • Computer Science Department, Henry Salvatori Computer Center 300, University of Southern California, Los Angeles, CA;Computer Science Department, Henry Salvatori Computer Center 300, University of Southern California, Los Angeles, CA

  • Venue:
  • SSR '01 Proceedings of the 2001 symposium on Software reusability: putting software reuse in context
  • Year:
  • 2001

Quantified Score

Hi-index 0.01

Visualization

Abstract

The promise of component-based software development is that larger, more complex systems can be built reasonably quickly and reliably from pre-fabricated (“ off-the-shelf”) building blocks. Additionally, such systems can be upgraded incrementally, simply by replacing individual components with their new versions. However, practice has shown that while it may improve certain aspects of an existing component, a new component version frequently introduces unforeseen problems. These problems include less efficient utilization of system resources, errors in the newly introduced functionality, and even new errors in the functionality carried over from the old version. This paper presents an approach intended to alleviate such problems. Our approach is based on explicit software architectures and leverages flexible software connectors in ensuring that component versions can be added and removed in the deployed, running system. Our connectors, called multi-versioning connectors, also unintrusively collect and compare the execution statistics of the running component versions (e.g., execution time and results of invocations). We illustrate our approach with the help of an example application.