Configuração de Algoritmos Genéticos Multiobjetivos para Otimização de Projeto de Arquitetura de Linha de Produto
Resumo
Algoritmos de busca têm sido explorados com sucesso na otimização de projeto de Arquitetura de Linha de Produto de Software (PLA) na abordagem seminal chamada Multi-Objective Approach for Product-Line Architecture Design (MOA4PLA). Tal abordagem produz um conjunto de alternativas de projeto de PLA que melhora os diferentes fatores otimizados. Atualmente, o algoritmo utilizado nesta abordagem é o algoritmo NSGA-II (Non-dominated Sorting Genetic Algorithm II), um algoritmo genético multiobjetivo que otimiza várias propriedades simultaneamente. Apesar de resultados experimentais promissores, estudar a melhor combinação de configuração dos parâmetros do algoritmo genético é imprescindível para obter melhores resultados. Valores de referência para os parâmetros ainda não foram definidos para otimização de projeto de PLA porque este é um tópico de pesquisa incipiente. Nesse contexto, o objetivo deste trabalho é identificar os valores mais adequados para configurar o algoritmo NSGA-II para a otimização de projetos de PLA por meio de um estudo experimental. Uma análise quantitativa baseada no indicador de qualidade hypervolume e em testes estatísticos foi realizada para determinar o valor mais adequado para configurar cada parâmetro do algoritmo.
Palavras-chave:
algoritmos genéticos multiobjetivos, linha de produto de software, projeto de arquitetura de software
Referências
Arcuri, A. and Fraser, G. (2011). On parameter tuning in search based software engineering. In Symposium on Search Based Software Engineering, pages 33–47. Springer Berlin.
Coello, C. A. C., Lamont, G. B., Van Veldhuizen, D. A., et al. (2007).Evolutionary algorithms for solving multi-objective problems. Springer Science & Business Media.
Colanzi, T. E., Vergilio, S. R., Gimenes, I., and Oizumi, W. N. (2014). A search-based approach for software product line design. In Proceedings of the 18th International Software Product Line Conference (SPLC’14), volume 1, pages 237–241.
Contieri Jr, A. C., Correia, G. G., Colanzi, T. E., Gimenes, I. M., Oliveira Jr, E. A.,Ferrari, S., Masiero, P. C., and Garcia, A. F. (2011). Extending UML components to develop software product-line architectures: Lessons learned. In Proceedings of the 5th European Conference on Software Architecture (ECSA), pages 130–138.
Deb, K., Pratap, A., Agarwal, S., and Meyarivan, T. (2002). A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Transactions on Evolutionary Computation, 6(2):182–197.
Féderle, E. L., do Nascimento Ferreira, T., Colanzi, T. E., and Vergilio, S. R. (2015).OPLA-Tool: a support tool for search-based product line architecture design. In Proc. of the 19th SPLC, pages 370–373.
Freire, W. M., Massago, M., Zavadski, A. C., Amaral, A. M. M. M., and Colanzi, T. E.(2020). OPLA-Tool v2.0: a tool for product line architecture design optimization. In Proceedings of the 34th Brazilian Symposium on Software Engineering (SBES ’20). ACM.
Goldberg, D. E. (1989).Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley Longman Publishing Co., Inc., USA, 1st edition.
Guizzo, G. (2014). Uso de padrões em projeto arquitetural baseado em busca de linha de produto de software. Dissertação de Mestrado, Pós-Graduação em Ciência da Computação, Universidade Federal do Paraná, Curitiba.
Harman, M. and Jones, B. F. (2001). Search-based software engineering. Information and Software Technology, 43(14):833 – 839.
Li, M. and Yao, X. (2019). Quality evaluation of solution sets in multiobjective optimisation: A survey.ACM Comput. Surv., 52(2).
Linden, F. J. V. d., Schmid, K., and Rommes, E. (2007).Software product lines in action:the best industrial practice in product line engineering. Springer Science & Business Media.
Sayyad, A. S., Goseva-Popstojanova, K., Menzies, T., and Ammar, H. (2013). On parameter tuning in search based software engineering: A replicated empirical study. In 2013 3rd International Workshop on Replication in Empirical Software Engineering Research, pages 84–90.
SEI(2009).Arcadegamemakerpedagogicalproductline.https://resources.sei.cmu.edu/library/asset-view.cfm?assetid=485941.
Verdecia, Y. D., Colanzi, T. E., Vergilio, S. R., and Santos, M. C. B. (2017). An enhanced evaluation model for search-based product line architecture design. In XX Ibero-American Conf. on Software Engineering (CIbSE2017), Buenos Aires.
Coello, C. A. C., Lamont, G. B., Van Veldhuizen, D. A., et al. (2007).Evolutionary algorithms for solving multi-objective problems. Springer Science & Business Media.
Colanzi, T. E., Vergilio, S. R., Gimenes, I., and Oizumi, W. N. (2014). A search-based approach for software product line design. In Proceedings of the 18th International Software Product Line Conference (SPLC’14), volume 1, pages 237–241.
Contieri Jr, A. C., Correia, G. G., Colanzi, T. E., Gimenes, I. M., Oliveira Jr, E. A.,Ferrari, S., Masiero, P. C., and Garcia, A. F. (2011). Extending UML components to develop software product-line architectures: Lessons learned. In Proceedings of the 5th European Conference on Software Architecture (ECSA), pages 130–138.
Deb, K., Pratap, A., Agarwal, S., and Meyarivan, T. (2002). A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Transactions on Evolutionary Computation, 6(2):182–197.
Féderle, E. L., do Nascimento Ferreira, T., Colanzi, T. E., and Vergilio, S. R. (2015).OPLA-Tool: a support tool for search-based product line architecture design. In Proc. of the 19th SPLC, pages 370–373.
Freire, W. M., Massago, M., Zavadski, A. C., Amaral, A. M. M. M., and Colanzi, T. E.(2020). OPLA-Tool v2.0: a tool for product line architecture design optimization. In Proceedings of the 34th Brazilian Symposium on Software Engineering (SBES ’20). ACM.
Goldberg, D. E. (1989).Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley Longman Publishing Co., Inc., USA, 1st edition.
Guizzo, G. (2014). Uso de padrões em projeto arquitetural baseado em busca de linha de produto de software. Dissertação de Mestrado, Pós-Graduação em Ciência da Computação, Universidade Federal do Paraná, Curitiba.
Harman, M. and Jones, B. F. (2001). Search-based software engineering. Information and Software Technology, 43(14):833 – 839.
Li, M. and Yao, X. (2019). Quality evaluation of solution sets in multiobjective optimisation: A survey.ACM Comput. Surv., 52(2).
Linden, F. J. V. d., Schmid, K., and Rommes, E. (2007).Software product lines in action:the best industrial practice in product line engineering. Springer Science & Business Media.
Sayyad, A. S., Goseva-Popstojanova, K., Menzies, T., and Ammar, H. (2013). On parameter tuning in search based software engineering: A replicated empirical study. In 2013 3rd International Workshop on Replication in Empirical Software Engineering Research, pages 84–90.
SEI(2009).Arcadegamemakerpedagogicalproductline.https://resources.sei.cmu.edu/library/asset-view.cfm?assetid=485941.
Verdecia, Y. D., Colanzi, T. E., Vergilio, S. R., and Santos, M. C. B. (2017). An enhanced evaluation model for search-based product line architecture design. In XX Ibero-American Conf. on Software Engineering (CIbSE2017), Buenos Aires.
Publicado
11/11/2020
Como Citar
PALIOTO, Narcizo Gabriel Freitas; COLANZI, Thelma.
Configuração de Algoritmos Genéticos Multiobjetivos para Otimização de Projeto de Arquitetura de Linha de Produto. In: ESCOLA REGIONAL DE ENGENHARIA DE SOFTWARE (ERES), 4. , 2020, Evento Online.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2020
.
p. 204-213.
DOI: https://doi.org/10.5753/eres.2020.13731.