Optimal Component Selection for Component-Based Systems

  • Muhammad Ali Khan
  • Sajjad Mahmood
Conference paper


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.


Pareto Front Component Selection Single Objective Optimization Problem Serial Interface Candidate Component 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

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.


  1. [1]
    S. Mahmood, R. Lai, Y. S. Kim, J. H. Kim, S. C. Park and H. S. Oh, “A survey of component based system quality assurance and assessment,” Information and Software Technology, vol. 47, pp. 693 – 707, 2005.CrossRefGoogle Scholar
  2. [2]
    N. A. Maiden and C. Ncube, “Acquiring COTS software selection requirements,” IEEE Software, vol. 15, pp. 46 – 56, 1998.CrossRefGoogle Scholar
  3. [3]
    K. R. P. H. Leung and H. K. N. Leung, “On the efficiency of domain based COTS product selection method,” Information and Software Technology, vol. 44, pp. 703 – 715, 2002.CrossRefGoogle Scholar
  4. [4]
    C. Alves and A. Finkelstein, “Investigating conflicts in COTS decision making,” International Journal of Software Engineering and Knowledge Engineering, vol. 13, pp. 1 – 21, 2003.CrossRefGoogle Scholar
  5. [5]
    L. M. Cysneiros and J. C. S, Leite, “Nonfunctional requirements: from elicitation to conceptual models,” IEEE Transactions on Software Engineering, vol. 30, pp. 328 - 350, 2004.CrossRefGoogle Scholar
  6. [6]
    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
  7. [7]
    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
  8. [8]
    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
  9. [9]
    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
  10. [10]
    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
  11. [11]
    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
  12. [12]
    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
  13. [13]
    J. Gross and J. Yellen, Graph Theory and its Applications, FL: CRC Press Inc., 1999.zbMATHGoogle Scholar
  14. [14]
    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
  15. [15]
    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
  16. [16]
    M. Ehrgott, Multicriteria Optimization, Lecture Notes in Economics and Mathematical Systems (no. 491), Berlin: Springer-Verlag, 2000.Google Scholar
  17. [17]
    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
  18. [18]
    Caballero R., L. Rey and F. Ruiz, “Determination of Satisfying and Efficient Solutions in Convex Multiobjective Programming,” Optimization, vol. 37, no. 2, pp. 125-137, 1996.zbMATHCrossRefMathSciNetGoogle Scholar
  19. [19]
    I. Das and J. E. Dennis, “A closer look at drawbacks of minimizing weighted-sums of objectives for Pareto set generation in multicriteria optimization problems,” Structural Optimization vol. 14, pp. 63–69, 1997.CrossRefGoogle Scholar
  20. [20]
    A. Volgenant, “Solving Some Lexicographic Multi-objective Combinatorial Problem,”European Journal of Operational Research, vol. 139, no. 3, pp. 578-584, 2002.zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer Science+Business Media B.V. 2010

Authors and Affiliations

  1. 1.Preparatory Year Mathematics ProgramDhahranSaudi Arabia
  2. 2.Information and Computer Science DepartmentKing Fahd University of Petroleum and MineralsDhahranSaudi Arabia

Personalised recommendations