Abstract
Though Component-Based Development (CBD) is a popular approach to mitigating the costs of creating software systems, it is not clear to what extent CBD is preferable to other approaches to software engineering or to what extent the core component selection and adaptation activities of CBD can be implemented to operate without human intervention in an efficient and reliable manner. In this paper, we use computational complexity analysis to compare the computational characteristics of software system design and reconfiguration by de novo design, component selection, and component selection with adaptation. Our results show that none of these approaches can be implemented to operate both efficiently and reliably either in general or relative to a surprisingly large number of restrictions on software system, component, and component library structure. We also give the first restrictions under which all of these approaches can be implemented to operate both efficiently and reliably.
Highlights
Component-based development (CBD) is a popular approach to mitigating the monetary and time costs of creating and maintaining software systems [1, 3, 12]
Using parameterized complexity analysis [5], we give restrictions under which all of these activities are tractable and prove that surprisingly few restrictions on either software system structure or the allowable degree of adaptation render these activities tractable. Though these results are derived relative to basic models of software systems and components, we show that they apply to more realistic models
We have presented a formal characterization of the problems of software system design and reconfiguration by de novo design, component selection, and component selection with adaptation
Summary
Component-based development (CBD) is a popular approach to mitigating the monetary and time costs of creating and maintaining software systems [1, 3, 12]. There are two ongoing issues of great importance in the CBD community: (1) the circumstances (if any) under which the cost of selecting and adapting components is less than the cost of developing software systems from scratch, i.e., de novo [10] and (2) the need for CBD to operate fully automatically and efficiently to accommodate ubiquitous and autonomic computing systems which need to create and reconfigure software without or with minimal human intervention at runtime [7, 13]. Using parameterized complexity analysis [5], we give restrictions under which all of these activities are tractable and prove that surprisingly few restrictions on either software system structure or the allowable degree of adaptation render these activities tractable Though these results are derived relative to basic models of software systems and components, we show that they apply to more realistic models
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.