Please use this identifier to cite or link to this item: http://repositorio.uem.br:8080/jspui/handle/1/2569
Authors: Choma Neto, João
Orientador: Thelma Elita Colanzi Lopes
Title: Uma abordagem memética para otimizar projeto de linha de produto de software
Other Titles: A memetic approach to optimize software product line design
Banca: Aline Maria Malachini Miotto Amaral - UEM
Banca: José Carlos Maldonado - USP
Keywords: Software;Arquitetura de linha de produto;Busca multiobjetivo;Algoritmo genético;Algoritmo memético;Arquitetura de Linha de Produto de Software;Brasil.;Genetic algorithm;Memetic algorithm;Multiobjective search;Product line architecture;Brazil.
Issue Date: 2017
Publisher: Universidade Estadual de Maringá
Resumo: Este trabalho é voltado a aplicação de algoritmos meméticos em projeto de arquitetura de Linha de Produto de Software (LPS). A Arquitetura de Linha de Produto (PLA) é um dos artefatos mais importantes da LPS, pois contem todas as informações necessárias para geração dos produtos da LPS. Construir um projeto de PLA é uma atividade difícil e altamente dependente do arquiteto de software. Dentre os problemas solucionados pela Search Based Software Engineering (SBSE), está o problema de otimização de projetos de PLA, que busca encontrar melhores projetos de forma automática utilizando algoritmos de busca multiobjetivo. Neste contexto, a abordagem MOA4PLA foi desenvolvida com objetivo de otimizar princípios básicos de projeto, modularização de características e extensibilidade de LPS de projeto de PLA por meio de algoritmos de busca multiobjetivo. Para automatizar a abordagem MOA4PLA foi desenvolvida a ferramenta OPLA-Tool, onde estão implementados os algoritmos de busca multiobjetivo baseados em algoritmos genéticos (AG). Nesta ferramenta existe um módulo chamado OPLA-Patterns responsável pela aplicação de padrões de projeto durante o processo de otimização. Segundo o mapeamento sistemático realizado, os algoritmos meméticos (AM), que consistem da utilização de AGs com busca local, têm alcançado melhores resultados em problemas de otimização, se comparados ao AG. No entanto, não houve relatos da utilização de algoritmos meméticos para otimização de projeto de PLA. Dessa forma, este trabalho aborda a aplicação de AMs para otimização de projetos de PLAs, adaptando o operador de busca, Design Pattern Mutation Operator, proposto no OPLA-Patterns, como operador de busca local. Foram implementadas quatro versões distintas de AM, cada uma com um critério de seleção. Estudos experimentais foram realizados para comparar as soluções obtidas tanto pelo AG como pelas versões do AM. As comparações envolveram análises quantitativa e qualitativa das soluções encontradas. De maneira geral, os estudos quantitativos indicaram que o AM encontrou melhores soluções, em termos de fitness, quando comparado ao AG. Já o estudo qualitativo apontou que as soluções obtidas com o AM, no contexto da MOA4PLA, são boas do ponto de vista de arquitetos de software. O AM ainda necessita ser aprimorado com melhorias identificadas durante as etapas deste trabalho.
Abstract: This work is focused on the application of memetic algorithms in the Software Product Line (SPL) architecture design. Product Line Architecture (PLA) is one of the most important SPL artifacts since it contains all information needed to generate SPL products. Building a PLA design is a difficult and highly architect-dependent activity. PLA design could be modeled as an optimization problem to be solved by Search Based Software Engineering (SBSE). SBSE aims at automatically obtaining near-optimal solutions using multi-objective search algorithms. In this context, MOA4PLA approach was developed in order to optimize PLA design in terms of basic design principles, feature modularization and SPL extensibility, with the use of multi-objective search algorithms. OPLA-Tool automates MOA4PLA by using multi-objective search algorithms based on genetic algorithms (GA). In this tool there is a module called OPLA-Patterns responsible for applying design patterns during the optimization process. According to the systematic mapping performed, the memetic algorithms (MA), which consist of the use of Gas with local search, have achieved better results in optimization problems when compared with GA. However, there were no report on the use of memetic algorithms for PLA design optimization. Thus, this work deals with the application of MAs to optimize PLA design, adapting the search operator named Design Pattern Mutation Operator proposed in OPLA-Patterns as a local search operator. Four distinct versions of MA were implemented, each one with a different selection criterion. Experimental studies were carried out to compare the solutions obtained by both GA and four versions of MA through quantitative and qualitative analysis. In general, the quantitative studies indicated that the MA found better solutions in terms of fitness when compared with GA. The qualitative study pointed out that the solutions obtained with MA, in the context of MOA4PLA, are good from the software architects point of view. The MA still needs to be refined with improvements identified during the steps of this work.
URI: http://repositorio.uem.br:8080/jspui/handle/1/2569
Appears in Collections:2.4 Dissertação - Ciências de Tecnologia (CTC)

Files in This Item:
File Description SizeFormat 
000227104.pdf8,06 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.