Multi Criteria Selection of Components Using the Analytic Hierarchy Process

  • João W. Cangussu
  • Kendra C. Cooper
  • Eric W. Wong
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4063)


The Analytic Hierarchy Process (AHP) has been successfully used in the past for the selection of components, as presented in case studies in the literature. In this paper, an empirical study using AHP to rank components is presented. The components used in the study are for data compression; each implements one of the Arithmetic Encoding (AREC), Huffman coding (HUFF), Burrows-Wheeler Transform (BWT), Fractal Image Encoding (FRAC), and Embedded Zero-Tree Wavelet Encoder (EZW) algorithms. The ranking is a semi-automated approach that is based on using rigorously collected data for the components’ behavior; selection criteria include maximum memory usage, total response time, and security properties (e.g., data integrity). The results provide a clear indication that AHP is appropriate for the task of selecting components when several criteria must be considered. Though the study is limited to select components based on multiple non-functional criteria, the approach can be expanded to include multiple functional criteria.


Root Mean Square Error Analytic Hierarchy Process Compression Ratio Total Execution Time Component Selection 
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.


  1. 1.
    Alves, C., Finkelstein, A.: Challenges in cots decision-making: a goal-driven requirements engineering perspective. In: Proceedings of the 14th International Conference on Software Engineering and Knowledge Engineering, Ischia, Italy, pp. 789–794 (2002)Google Scholar
  2. 2.
    Commercial-off-the-shelf (cots) evaluation, selection, and qualification process. Systems Engineering Process Office - Space and Naval Warfare Systems Center (October 2002)Google Scholar
  3. 3.
    Navarrete, F., Botella, P., Franch, X.: How agile cots selection methods are (and can be)? In: 31st EUROMICRO Conference on Software Engineering and Advanced Applications, pp. 160–167, August 30 - September 3 (2005)Google Scholar
  4. 4.
    Blum, C., Roli, A.: Metaheuristics in combinatorial optimization: Overview and conceptual comparison. ACM Computing Surveys 35(3), 268–308 (2003)CrossRefGoogle Scholar
  5. 5.
    Wadekar, S., Gokhale, S.: Exploring cost and reliability tradeoffs in architectural alternatives using a genetic algorithm. In: Proceeding of 10th International Symposium on Software Reliability Engineering, pp. 104–113 (November 1999)Google Scholar
  6. 6.
    Tseng, T., Liang, W., Huang, C., Chian, T.: Applying genetic algorithm for the development of the components-based embedded system. Computer Standards & Interfaces 27(6), 621–635 (2005)CrossRefGoogle Scholar
  7. 7.
    Chang, W., Wu, C., Chang, C.: Optimizing dynamic web service component composition by using evolutionary algorithms. In: Proceeding of 2005 IEEE/WIC/ACM International Conference on Web Intelligence, pp. 708–711 (September 2005)Google Scholar
  8. 8.
    Phillips, B.C., Polen, S.M.: Add decision analysis to your cots selection process. CrossTalk the journal of defense software engineering (April 2002), available at:
  9. 9.
    Kontio, J.: A cots selection method and experiences of its use. In: Proceedings of the 20th Annual Software Engineering Workshop, Maryland(November 1995)Google Scholar
  10. 10.
    Ncube, C., Maiden, N.: Guiding parallel requirements acquisition and cots software selection. In: Proceedings of the IEEE International Symposium on Requirements Engineering, pp. 133–140 (1999)Google Scholar
  11. 11.
    Lozano-Tello, A., Gomez-Perez, A.: Baremo: how to choose the appropriate software component using the analytic hierarchy process. In: Proceedings of the 14th International Conference on Software Engineering and Knowledge Engineering, Ischia, Italy, pp. 781–788 (2002)Google Scholar
  12. 12.
    Ncube, C., Maiden, N.: Selecting cots anti-virus software for an international bank: Some lessons learned. In: Proceedings 1st MPEC Workshop (2004)Google Scholar
  13. 13.
    Briand, L.C.: Cots evaluation and selection. In: Proceedings of the International Conference on Software Maintenance, pp. 222–223 (1998)Google Scholar
  14. 14.
    Frakes, W., Pole, T.: An empirical study of representation methods for reusable software components. IEEE Transactions on Software Engineering 20, 617–630 (1994)CrossRefGoogle Scholar
  15. 15.
    Orso, A., Harrold, M.J., Rosenblum, D., Rothermel, G., Soffa, M.L., Do, H.: Using component metacontents to support the regression testing of component-based software. In: Proceedings of the IEEE International Conference on Software Maintenance (ICSM) (November 2001)Google Scholar
  16. 16.
    Vitharana, P., Zahedi, F.M., Jain, H.: Knowledge-based repository scheme for storing and retrieving business components: A theoretical design and an empirical analysis. IEEE Transactions on Software Engineering 29, 649–664 (2003)CrossRefGoogle Scholar
  17. 17.
    Li, J., Bjoernson, F.O., Conradi, R., Kampenes, V.B.: An empirical study of variations in cots-based software development processes in norwegian it industry. In: Proceedings of the10th International Symposium on Software Metrics, pp. 72–83 (2004)Google Scholar
  18. 18.
    Cooper, K., Cangussu, J.W., Lin, R., Sankaranarayanan, G., Soundararadjane, R., Wong, E.: An empirical study on the specification and selection of components using fuzzy logic. In: Heineman, G.T., Crnković, I., Schmidt, H.W., Stafford, J.A., Szyperski, C.A., Wallnau, K. (eds.) CBSE 2005. LNCS, vol. 3489, pp. 155–170. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  19. 19.
    Hammond, J.S., Keeney, R.L., Raiffa, H.: Smart Choices A Practical Guide to Making Better Decisions. Harvard Business School Press (1999)Google Scholar
  20. 20.
    Mollaghasemi, M., Pet-Edwards, J.: Making Multiple-Objective Decisions. IEEE Computer Society Press, Los Alamitos (1997)Google Scholar
  21. 21.
    Triantaphyllou, E.: Multi-criteria decision making methods: a comparative study. Kluwer Academic Publishers, Dordrecht (2000)MATHGoogle Scholar
  22. 22.
    Saaty, T., Vargas, L.: Methods, Concepts & Applications of the Analytic Hierarchy Process. Kluwer Academic Publishers, Dordrecht (2001)Google Scholar
  23. 23.
    Saaty, T.: Fundamentals of Decision Making and Priority Theory. RWS Publications (1994)Google Scholar
  24. 24.
    Seacord, R., Mundie, D., Boonsiri, S.: K-bacee: Knowledge-based automated component ensemble evaluation. In: Proceedings of the 2001 Workshop on Component-Based Software Engineering (2001)Google Scholar
  25. 25.
    Chung, L., Cooper, K.: A cots-aware requirements engineering process: a goal-and agent oriented approach. In: Proceedings of the International Council on Systems Engineering Symposium, Las Vegas, Nevada (2002)Google Scholar
  26. 26.
    Cheng, B.H.C., Jeng, J.-J.: Reusing analogous components. IEEE Transactions on Knowledge and Data Engineering 9, 341–349 (1997)CrossRefGoogle Scholar
  27. 27.
    Gonzalex, P.: Applying knowledge modelling and case-based reasoning to software reuse. IEE Proceedings Software 147, 169–177 (2000)CrossRefGoogle Scholar
  28. 28.
    Gu, M., Aamodt, A., Tong, X.: Component retrieval using conversational case-based reasoning. In: Proceedings of the ICIIP, International Conference on Intelligent Information Systems, Beijing, China, October 21-23 (2004)Google Scholar
  29. 29.
    Zhang, T., Benini, L., Micheli, G.D.: Component selection and matching for ip-based design. In: Proc. of Conference and Exhibition on Design, Automation and Test in EuropeGoogle Scholar
  30. 30.
    Liu, A., Gorton, I.: Accelerating cots middleware technology acquisition: the i-mate process. IEEE Software 20, 72–79 (2003)CrossRefGoogle Scholar
  31. 31.
    Al-Naeem, T., Gorton, I., Babar, M.A., Rahbi, F., Boualem, B.: A quality-driven systematic approach for architecting distributed software applications. In: International Conference on Software Engineering (ICSE)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • João W. Cangussu
    • 1
  • Kendra C. Cooper
    • 1
  • Eric W. Wong
    • 1
  1. 1.Department of Computer ScienceUniversity of Texas at DallasRichardsonUSA

Personalised recommendations