Optimal Component Selection for Component-Based Systems
In Component-based Software (CBS) development, it is desirable to choose software components that provide all necessary functionalities and at the same time optimize certain nonfunctional attributes of the system (for example, system cost). In this paper we investigate the problem of selecting software components to optimize one or more nonfunctional attributes of a CBS. We approach the problem through the lexicographic multi-objective optimization perspective and develop a scheme that produces Pareto-optimal solutions. Furthermore we show that the Component Selection Problem (CSP) can be solved in polynomial time if the components are connected by serial interfaces and all the objectives are to be minimized, whereas the corresponding maximization problem is NP-hard.
KeywordsPareto Front Component Selection Single Objective Optimization Problem Serial Interface Candidate Component
Unable to display preview. Download preview PDF.
The authors would like to thank King Fahd University of Petroleum and Minerals, Dhahran, Saudi Arabia for continuous support in research.
- A. Finkelstein and J. Dowell, “A comedy of errors: the London ambulance service case study,” Proc. of Eight International Workshop on Software, Specification and Design, pp. 2 - 5, 1996.Google Scholar
- H. Jain, N. Chalimeda, N. Ivaturia and B. Reddy, “Business component identification: a formal approach,” Proc. of Fifth International Conference on Enterprise Distributed Object Computing, pp. 183 - 187, 2001.Google Scholar
- S. Sedigh-Ali, and A. Ghafoor, “A graph-based model for component-based software development”, Proc. of the 10 th IEEE Workshop on Object-Oriented Real-Time Dependable Systems, 2005.Google Scholar
- N. Hagpanah, S. Moaven, J. Haibibi, M. Kargar and S. H. Yaganeh, “Approximation algorithm for software component selection problem,” Proc. of 14 th Asia Pacific Software Engineering Conference, pp. 159 - 166, 2007.Google Scholar
- A. Vescan, C. Grosan and H. F. Pop, “Evolutionary algorithms for the component selection problem,” Proc. of 19 th International Conference on Database and Expert Systems Application, pp. 509 - 513, 2008.Google Scholar
- J. K. Lee, S. J. Jung, S. D. Kim, W. H. Jang and D. H. Ham, “Component identification method with coupling and cohesion,” Proc. of Eight Asia Pacific Software Engineering Conference, pp. 79 - 86, 2001.Google Scholar
- R. G. Bartholet, D. C. Brogan and P. F. Reynolds, “The computational complexity of component selection in simulation reuse,” Proc. of the 2005 Winter Simulation Conference, pp. 2472 - 2481, 2005.Google Scholar
- S. Krishnamurthy and A. Mathur, “On the estimation of reliability of a software system using reliabilities of its components,” In Proc. of the 8th Int’l Symp. on Software Reliability Eng. (ISSRE ’97), 1997.Google Scholar
- L. Chung, B.A. Nixon, E. Yu and J. Mylopoulos, Non-functional Requirements in Software Engineering, Kluwer International Series in Software Engineering Vol. 5, Kluwer Academic Publishers, 2000.Google Scholar
- M. Ehrgott, Multicriteria Optimization, Lecture Notes in Economics and Mathematical Systems (no. 491), Berlin: Springer-Verlag, 2000.Google Scholar
- P. S. Oliveto, J. He, and X. Yao, “Time complexity of evolutionary algorithms for combinatorial optimization: A decade of results,” International Journal of Automation and Computing, vol. 4, pp. 281-293, 2007.Google Scholar