ANFIS Approach for Optimal Selection of Reusable Components

In a growing world, the development of modern software system requires large-scale manpower, high development cost, larger completion time and high risk of maintaining the software quality. Component- Based Software Development (CBSD) approach is based on the concept of developing modern software systems by selecting the appropriate reusable components or COTS (Commercial Off-The-Shelf) components and then assembling them with well-defined software architecture. The proper selection of COTS components will really reduce the manpower, development cost, product completion time, risk, maintenance cost and also it addresses the high quality software product. In this paper, we develop an automated process of component selection by using Adaptive Neuro-Fuzzy Inference Systems (ANFIS) based technique by using 14 reusable components' parameters as a first time in this field. Again, for increasing the accuracy of a model, Fuzzy- Weighted-Relational-Coefficient (FWRC) matrix is derived between the components and CBS development with the help of 14 component parameters, namely, Reliability, Stability, Portability, Consistency, Completeness, Interface & Structural Complexity, Understandability of Software Documents, Security, Usability, Accuracy, Compatibility, Performance, Serviceability and Customizable. In the recent literature studies reveals that almost all the researchers have been designed a general fuzzy-design rule for a component selection problem of all kinds of software architecture; but it leads to a poor selection of components and this paper suggests adoption of a specific fuzzy-design rule for every software architecture application for the selection of reusable components. Finally, it is concluded that the selection of reusable components through ANFIS performs better than the other models discussed so far.

[1]  Kirti Seth,et al.  Component Selection Efforts Estimation– a Fuzzy Logic Based Approach , 2009 .

[2]  Spiros Mancoridis,et al.  On the automatic modularization of software systems using the Bunch tool , 2006, IEEE Transactions on Software Engineering.

[3]  Katerina Goseva-Popstojanova,et al.  Architecture-based approach to reliability assessment of software systems , 2001, Perform. Evaluation.

[4]  Saeed Parsa,et al.  A Framework to Investigate and Evaluate Genetic Clustering Algorithms for Automatic Modularization of Software Systems , 2004, International Conference on Computational Science.

[5]  Avinash C. Kak,et al.  API-Based and Information-Theoretic Metrics for Measuring the Quality of Software Modularization , 2007, IEEE Transactions on Software Engineering.

[6]  Taghi M. Khoshgoftaar,et al.  A multiobjective module-order model for software quality enhancement , 2004, IEEE Transactions on Evolutionary Computation.

[7]  Spiros Mancoridis,et al.  On the evaluation of the Bunch search-based software modularization algorithm , 2007, Soft Comput..

[8]  Ivica Crnkovic,et al.  Towards Efficient Software Component Evaluation: An Examination of Component Selection and Certification , 2008, 2008 34th Euromicro Conference Software Engineering and Advanced Applications.

[9]  F. Brito e Abreu,et al.  Coupling and cohesion as modularization drivers: are we being over-persuaded? , 2001, Proceedings Fifth European Conference on Software Maintenance and Reengineering.

[10]  Nasib S. Gill,et al.  Dependency and interaction oriented complexity metrics of component-based systems , 2008, SOEN.

[11]  Chris Jermaine,et al.  Computing program modularizations using the k-cut method , 1999, Sixth Working Conference on Reverse Engineering (Cat. No.PR00303).

[12]  Arun Sharma,et al.  A soft computing based approach to estimate reusability of software components , 2010, ACM SIGSOFT Softw. Eng. Notes.

[13]  N. Chapin,et al.  Entropy-metric for systems with COTS software , 2002, Proceedings Eighth IEEE Symposium on Software Metrics.

[14]  Jiafu Tang,et al.  Optimization of software components selection for component-based software system development , 2010, Comput. Ind. Eng..

[15]  Reidar Conradi,et al.  The REBOOT approach to software reuse , 1995, J. Syst. Softw..

[16]  R. Alves Redol,et al.  Coupling and Cohesion as Modularization Drivers: Are we being over-persuaded? , 2001 .

[17]  Harpreet Singh,et al.  NEURO FUZZY LOGIC MODEL FOR COMPONENT BASED SOFTWARE ENGINEERING , 2011 .

[18]  Vadlamani Ravi,et al.  Software reliability prediction by soft computing techniques , 2008, J. Syst. Softw..

[19]  Doru Todinca Specification-based Retrieval of Software Components through Fuzzy Inference , 2006 .

[20]  Taghi M. Khoshgoftaar,et al.  Measuring coupling and cohesion of software modules: an information-theory approach , 2001, Proceedings Seventh International Software Metrics Symposium.

[21]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[22]  E. Mizutani,et al.  Neuro-Fuzzy and Soft Computing-A Computational Approach to Learning and Machine Intelligence [Book Review] , 1997, IEEE Transactions on Automatic Control.

[23]  Octavian Paul Rotaru,et al.  Reusability metrics for software components , 2005, The 3rd ACS/IEEE International Conference onComputer Systems and Applications, 2005..