Fuzzy Subtractive Clustering Based Indexing Approach for Software Components Classification


SATHIT NAKKRASAE
Department of Computer Technology, Faculty of Science,
Ramkhamhaeng University, Bangkok, 10240, Thailand

PERAPHON SOPHATSATHIT
Advanced Virtual and Intelligent Computing (AVIC) Center,
Department of Mathematics, Faculty of Science,
Chulalongkorn University, Bangkok, 10330, Thailand

William R. Edwards, Jr.
Center for Advanced Computer Studies (CACS),
The University of Louisiana at Lafayette, Lafayette, LA 70504, U.S.A.
wre@cacs.louisiana.edu

Abstract

Software Engineering is not only a technical discipline of its own, but also a problem domain where technologies coming from other disciplines are relevant and can play important role. One important example is knowledge engineering [1], a term that used in a board sense to encompass artificial intelligence, computational intelligence, knowledge bases, data mining, and machine learning. Many of typical software development issues can benefit from these disciplines. For this reason, this paper will employ computational intelligence approach to classify software component repository into similar component cluster groups with the help of Fuzzy Subtractive Clustering algorithm. The center of each cluster will be used to construct the coarse grain classification indexing structure. Subsequent retrieval requirements of software component are compared with all the indexed cluster centers. Any software components belonging to the cluster partition whose center is closest to the required software component will be retrieved for subsequent participation in component selection at fine grain level. This approach not only is suitable for multidimensional data, but also automatically decides the correct model classification.

Keywords: Software component classification, knowledge engineering, neural networks, Fuzzy Subtractive Clustering.