Abstract
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.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Crnkovic, I.: Component-Based Software Engineering — New Challenges in Software Development. Journal of Computing & Information Technology 11(3), 151–162 (2003)
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)
Heineman, G.T., Councill, W.T.: Component-Based Software Engineering – Putting the Pieces Together. Addison-Wesley, Reading (2001)
Szyperski, C.: Component Software, 2nd edn. Addison-Wesley, Reading (2002)
Voas, J.: The Challenges of Using COTS Software in Component-Based Development. IEEE Computer 31(6), 44–45 (1998)
Carney, D., Long, F.: What Do You Mean by COTS? Finally a Useful Answer. IEEE Software 17(2), 83–86 (2000)
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)
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)
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)
Addy, E., Sitaraman, M.: Formal specification of COTS-based software: a case study. In: Proceedings, 5th Symposium on Software Reusability, pp. 83–91 (1999)
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)
Cheesman, J., Daniels, J.: UML Components A Simple Process for Specifying Component-Based Software. Addison-Wesley, Reading (2000)
Han, J.: A Comprehensive interface definition framework for software components. In: Proceedings, 1998 Asia-Pacific Software Engineering Conference, Taipei, Taiwan, pp. 110–117 (1998)
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 http://www.sei.cmu.edu/pacc/CBSE4-Proceedings.html
Carlsson, C., Fuller, R.: Fuzzy Reasoning in Decision Making and Optimization. Physica-Verlag, Heidelberg (2001)
Klir, G., Yuan, B.: Fuzzy sets and fuzzy logic: theory and applications. Prentice-Hall, Englewood Cliffs (1995)
Halpern, J.: Reasoning about Uncertainty. The MIT Press, Cambridge (2003)
Zadeh, L.A.: Fuzzy sets. Information and Control 8, 338–353 (1965)
Jang, J.-S.R.: ANFIS: Adaptive-Network-based Fuzzy Inference Systems. IEEE Transactions on Systems, Man, and Cybernetics 23(3), 665–685 (1993)
Triantaphyllou, E.: Multi-Criteria Decision Making Methods: A comparative Study. Kluwer Academic Publishers, Dordrecht (2000), http://www.directtextbook.com/title/prices/0792366077
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cooper, K., Cangussu, J.W., Lin, R., Sankaranarayanan, G., Soundararadjane, R., Wong, E. (2005). An Empirical Study on the Specification and Selection of Components Using Fuzzy Logic. In: Heineman, G.T., Crnkovic, I., Schmidt, H.W., Stafford, J.A., Szyperski, C., Wallnau, K. (eds) Component-Based Software Engineering. CBSE 2005. Lecture Notes in Computer Science, vol 3489. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11424529_11
Download citation
DOI: https://doi.org/10.1007/11424529_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-25877-3
Online ISBN: 978-3-540-32049-4
eBook Packages: Computer ScienceComputer Science (R0)