Search-based product configuration in software product lines
Carregando...
Arquivos
Data
Autor(es)
Título da Revista
ISSN da Revista
Título de Volume
Editor
Universidade Federal de Minas Gerais
Descrição
Tipo
Dissertação de mestrado
Título alternativo
Primeiro orientador
Membros da banca
Thiago Ferreira de Noronha
Alessandro Fabricio Garcia
Sebastián Alberto Urrutia
Alessandro Fabricio Garcia
Sebastián Alberto Urrutia
Resumo
Linha de produtos de software (LPS) é um método de engenharia de software para a criação de sistemas de software configuráveis que podem ser adaptados a uma variedade de conjuntos de requisitos. LPS comumente usa modelo de características para capturar e documentar as semelhanças e variabilidades de produtos. O principal desafio é derivar uma configuração de produto que satisfaça todos os requisitos do negócio e do cliente. Os requisitos dos clientes são normalmente negligenciados, embora a configuração do produto já foi investigada na literatura. Esta dissertação apresenta uma abordagem de engenharia de software baseada em busca para resolver o problema de encontrar a configuração de produto ótima que maximiza a satisfação do cliente. Este último é modelado como um problema de otimização. Um algoritmo exato e uma heurística são propostas para resolver o problema e implementado em uma ferramenta protótipo. Experimentos computacionais mostraram que o algoritmo exato pode encontrar a configuração ótima do produto para instancias reais da literatura e que a diferença entre o resultado heurístico e a solução ótima é de no máximo 3%.
Abstract
Software product lines (SPL) is a software engineering method for creating configurable software systems that can be adapted to a variety of requirements. SPL uses feature models to document the commonalities and variabilities of products. The key challenge is to derive a product configuration that satisfies all business and costumer requirements. Customer requirements are usually neglected, although product configuration has already been investigated in the literature. This dissertation presents a search-based approach to tackle the problem of finding the optimal product configuration that maximizes the customer satisfaction. The latter is modeled as an optimization problem. An exact algorithm and a heuristic are proposed to solve the problem and implemented in a prototype tool. Computational experiments showed that the exact algorithm can find the optimal product configuration for real-life instances found in the literature and that the optimality gap of the heuristic is at most 3%.
Assunto
Otimização combinatória, Computação, Engenharia de software
Palavras-chave
Engenharia de software baseada em busca, Configuração do produto, Otimização combinatória, Linhas de produtos de software