An Evolutionary Multiobjective Approach for the Dynamic Multilevel Component Selection Problem

The architecture of a systems changes after the deployment phase due to new requirements thus the software architect must make decisions about the selection of the right software components out of a range of choices. This work deals with the component selection problem with a multilevel system view in an dynamic environment. We are approaching the problem as multiobjective using the Pareto dominance principle. The model aims to minimize the cost of the final solution while satisfying new requirements (or having available new components) keeping the complexity of the system as minimum as possible (in terms of used components). To validate our approach we performed experiments using a case study, a Reservation System application example. We have compared our approach with a random search algorithm using the Wilcoxon statistical test. The tests performed show the potential of evolutionary algorithms for the dynamic multilevel component selection problem.

[1]  P. C. Jha,et al.  Optimal component selection based on cohesion & coupling for component based software system under build-or-buy scheme , 2014, J. Comput. Sci..

[2]  Francisco Herrera,et al.  A practical tutorial on the use of nonparametric statistical tests as a methodology for comparing evolutionary and swarm intelligence algorithms , 2011, Swarm Evol. Comput..

[3]  Shengxiang Yang,et al.  A hybrid evolutionary multiobjective approach for the dynamic component selection problem , 2011, 2011 11th International Conference on Hybrid Intelligent Systems (HIS).

[4]  Lionel C. Briand,et al.  A practical guide for using statistical tests to assess randomized algorithms in software engineering , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[5]  Raffaela Mirandola,et al.  A Hybrid Approach for Multi-attribute QoS Optimisation in Component Based Software Systems , 2010, QoSA.

[6]  Wei Li,et al.  QoS Assurance for Dynamic Reconfiguration of Component-Based Software Systems , 2012, IEEE Transactions on Software Engineering.

[7]  Paul F. Reynolds,et al.  Approximating Component Selection , 2004, Proceedings of the 2004 Winter Simulation Conference, 2004..

[8]  Sajjad Mahmood,et al.  A graph based requirements clustering approach for component selection , 2012, Adv. Eng. Softw..

[9]  Vittorio Cortellessa,et al.  Managing the evolution of a software architecture at minimal cost under performance and reliability constraints , 2015, Sci. Comput. Program..

[10]  Saeed Jalili,et al.  CCIC: Clustering analysis classes to identify software components , 2015, Inf. Softw. Technol..

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

[12]  Mark Harman,et al.  Search Based Software Engineering: Techniques, Taxonomy, Tutorial , 2010, LASER Summer School.