Search-based product configuration in software product lines

Carregando...
Imagem de Miniatura

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

Membros da banca

Thiago Ferreira de Noronha
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

Citação

Departamento

Curso

Endereço externo

Avaliação

Revisão

Suplementado Por

Referenciado Por