Emerging component-based software development architectures promise better re-use of software components, greater flexibility, scalability and higher quality of services. But like any other piece of software too, software components are hardly perfect, when being created. Problems and bugs have to be fixed and new features need to be added. This paper analyzes the problem of component evolution and the incompatibilities which result during component upgrades. We present the state of the art in component versioning and compare the different methods in component models, frameworks and programming languages. Special attention is put on the automation of processes and tool support in this area. The concluding section sketches a possible solution of these problems we are currently working on.1. Does the system have the ability to distinguish different versions of the same component at all?2. How are syntactical and semantic changes detected and how are these changes reflected in the version information?3. How is the compatibility and incompatibility between different component versions detected and how is that reflected in the version information? January 2005 Volume 30 Number 1
Component updates always imply the risk of negatively influencing the operability of software systems. Because of wrong combinations of component versions, dependencies might break, methods which do no longer exist, might be called or methods might not be compatible to provided interfaces, objects, or classes. In this paper we model the problem of finding a well-configured system consisting of multiple component versions as a Boolean Optimization Problem. We introduce objective functions and constraints, which use Branch-and-Bound for restricting the search space and yield most recent, minimal systems.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.