Font Size: a A A

Supporting component-based software development with active component repository systems

Posted on:2002-03-10Degree:Ph.DType:Dissertation
University:University of Colorado at BoulderCandidate:Ye, YunwenFull Text:PDF
GTID:1468390011998209Subject:Computer Science
Abstract/Summary:
It is widely believed and empirically proven that component reuse improves both the quality and productivity of software development. Before software components are reused, however, they must be located. Component repository systems provide a means to locate software components. Current component repository systems are designed to support the paradigm of development-with-reuse , which views reuse as a process independent of the whole software development process and relies on programmers to take the reuse initiative. Such systems fall short in supporting programmers who make no attempt to reuse because they do not know the existence of reusable components or they perceive reuse costs more than programming from scratch.; This dissertation advocates a paradigm shift from development-with-reuse to reuse-within-development, which views reuse as an integral part of software development, and component repository systems as information systems that augment programmers' insufficient knowledge about reusable components and assist them in accomplishing their tasks. Active component repository systems—component repository systems equipped with active information delivery mechanisms—support reuse-within-development. They can be seamlessly integrated with programming environments. Through this integration, their active information delivery mechanism delivers task-relevant and user-specific components, without being given explicit reuse queries, to help programmers reuse unknown components and to reduce the cost of reuse.; An active component repository system, CodeBroker, has been developed and evaluated. CodeBroker runs continuously in the background of a programming environment and infers programmers' needs for reusable components by monitoring their interactions with the environment. Potentially reusable components that match reuse queries extracted from comments and signatures in the programming environment are autonomously located and actively delivered to programmers. Formal evaluations of the CodeBroker system have indicated that it motivated programmers to reuse once relevant components were delivered, and that it was able to deliver components relevant to both the task and the background knowledge of programmers.
Keywords/Search Tags:Component, Software development, Reuse, Programmers, /italic
Related items