An Empirical Study on the Specification and Selection of Components Using Fuzzy Logic

  • Kendra Cooper
  • João W. Cangussu
  • Rong Lin
  • Ganesan Sankaranarayanan
  • Ragouramane Soundararadjane
  • Eric Wong
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3489)


The rigorous specification of components is necessary to support their selection, adaptation, and integration in component-based software engineering techniques. The specification needs to include the functional and non-functional attributes. The non-functional part of the specification is particularly challenging, as these attributes are often described subjectively, such as Fast Performance or Low Memory. Here, we propose the use of infinite value logic, fuzzy logic, to formally specify components. A significant advantage of fuzzy logic is that it supports linguistic variables, or hedges (e.g., terms such as slow, fast, very fast, etc.), which are convenient for describing non-functional attributes. In this paper, a new systematic approach for the specification of components using fuzzy logic is presented. First, an empirical study is conducted to gather data on five components that provide data compression capabilities; each uses a different algorithm (Arithmetic Encoding, Huffman, Wavelet, Fractal, and Burrows-Wheeler Transform). Data on the response time performance, memory use, compression ratio, and root mean square error are collected by executing the components on a collection of 75 images with different file formats and sizes. The data are fuzzified and represented as membership functions. The fuzzy component specifications are ranked using a set of test queries. Fuzzy multi-criteria decision making algorithms are going to be investigated for the selection of components in the next phase of the work.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Crnkovic, I.: Component-Based Software Engineering — New Challenges in Software Development. Journal of Computing & Information Technology 11(3), 151–162 (2003)CrossRefMathSciNetMATHGoogle Scholar
  2. 2.
    Haddad, H.M., Biberoglu, E.: Component-based software engineering: issues and concerns. In: Proceedings, International Conference on Software Engineering Research and Practice SERP 2003, Las Vegas, USA, pp. 391–397 (2003)Google Scholar
  3. 3.
    Heineman, G.T., Councill, W.T.: Component-Based Software Engineering – Putting the Pieces Together. Addison-Wesley, Reading (2001)Google Scholar
  4. 4.
    Szyperski, C.: Component Software, 2nd edn. Addison-Wesley, Reading (2002)MATHGoogle Scholar
  5. 5.
    Voas, J.: The Challenges of Using COTS Software in Component-Based Development. IEEE Computer 31(6), 44–45 (1998)Google Scholar
  6. 6.
    Carney, D., Long, F.: What Do You Mean by COTS? Finally a Useful Answer. IEEE Software 17(2), 83–86 (2000)CrossRefGoogle Scholar
  7. 7.
    Seacord, R., Mundie, D., Boonsiri, S.: K-BACEE: Knowledge-Based Automated Component Ensemble Evaluation. In: Proceedings, Workshop on Component-Based Software Engineering, Warsaw, Poland, pp. 56–62 (2001)Google Scholar
  8. 8.
    Zhang, T., Benini, L., de Micheli, G.: Component Selection and Matching for IPBased Design. In: Proceedings, Conference on Design, automation and test in Europe, Munich, Germany, pp. 40–46 (2001)Google Scholar
  9. 9.
    Lau, K., Ornaghi, M.: A Formal Approach to Software Component Specification. In: Proceedings, Specification and Verification of Component-Based Systems Workshop, OOPSLA 2001, Tampa Bay, Florida, pp. 88–96 (2001)Google Scholar
  10. 10.
    Addy, E., Sitaraman, M.: Formal specification of COTS-based software: a case study. In: Proceedings, 5th Symposium on Software Reusability, pp. 83–91 (1999)Google Scholar
  11. 11.
    Poizat, P., Royer, J.-C., Salaün, G.: Formal Methods for Component Description, Coordination and Adaptation. In: Proceedings, 1st International Workshop on Coordination and Adaptation Techniques for Software Entities, Oslo, Norway, June 14 (2004)Google Scholar
  12. 12.
    Cheesman, J., Daniels, J.: UML Components A Simple Process for Specifying Component-Based Software. Addison-Wesley, Reading (2000)Google Scholar
  13. 13.
    Han, J.: A Comprehensive interface definition framework for software components. In: Proceedings, 1998 Asia-Pacific Software Engineering Conference, Taipei, Taiwan, pp. 110–117 (1998)Google Scholar
  14. 14.
    Kallio, P., Niemela, E.: Documented Quality of COTS and OCM Components. In: Proceedings, 4th ICSE Workshop on Component-Based Software Engineering, Toronto, Canada, May 14-15 (2001), available at
  15. 15.
    Carlsson, C., Fuller, R.: Fuzzy Reasoning in Decision Making and Optimization. Physica-Verlag, Heidelberg (2001)Google Scholar
  16. 16.
    Klir, G., Yuan, B.: Fuzzy sets and fuzzy logic: theory and applications. Prentice-Hall, Englewood Cliffs (1995)MATHGoogle Scholar
  17. 17.
    Halpern, J.: Reasoning about Uncertainty. The MIT Press, Cambridge (2003)MATHGoogle Scholar
  18. 18.
    Zadeh, L.A.: Fuzzy sets. Information and Control 8, 338–353 (1965)MATHCrossRefMathSciNetGoogle Scholar
  19. 19.
    Jang, J.-S.R.: ANFIS: Adaptive-Network-based Fuzzy Inference Systems. IEEE Transactions on Systems, Man, and Cybernetics 23(3), 665–685 (1993)CrossRefMathSciNetGoogle Scholar
  20. 20.
    Triantaphyllou, E.: Multi-Criteria Decision Making Methods: A comparative Study. Kluwer Academic Publishers, Dordrecht (2000), MATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Kendra Cooper
    • 1
  • João W. Cangussu
    • 1
  • Rong Lin
    • 1
  • Ganesan Sankaranarayanan
    • 1
  • Ragouramane Soundararadjane
    • 1
  • Eric Wong
    • 1
  1. 1.The University of Texas at DallasRichardsonUSA

Personalised recommendations