Karam Mustafa Mohamad Ignaim termina o seu Doutoramento

Tema: EvoSPL: An evolutionary approach for adopting software product lines in the automotive industry

Autor: Karam Mustafa Mohamad Ignaim

Programa Doutoral em Engenharia Informática

Data: 05/02/2021

Orientadores: João M. Fernandes; André Ferreira

Abstract:  Algumas empresas desenvolvem uma família de produtos, criando a oportunidade de reutilizar e diferenciar os produtos da família. Na prática, o desenvolvimento e a evolução de tais produtos são normalmente realizados de maneira ad-hoc e as mudanças estão espalhadas por todos os artefactos de uma família. Porém, no longo prazo, tais abordagens ad-hoc apresentam grandes desvantagens para a manutenção e a evolução. Assim, é necessária uma reutilização sistemática. As linhas de produtos de software (SPLs) são amplamente adotadas pela indústria como uma ideia chave para reutilização sistemática. Para migrar os produtos existentes para uma SPL, especialmente na indústria automóvel, os profissionais precisam de uma abordagem completa.

Nesta tese, apresentamos uma abordagem evolutiva, denominada EvoSPL, para gerir a evolução de SPLs. Além disso, a abordagem EvoSPL adota um processo sistemático de reengenharia que é composto por três fases principais: engenharia reversa, engenharia direta e mapeamento. A fase de engenharia reversa captura as partes comuns e variáveis dos produtos existentes no Feature Model (FM), que representa uma SPL no domínio automóvel. A fase de engenharia direta inicia os produtos restantes de uma família (que não foram usados na fase de engenharia reversa) na SPL e, em seguida, trata da sua evolução sempre que um cliente solicita um novo produto individual. Afase de mapeamento específica que fragmentos de código implementam cada feature do FM atual, usando a arquitetura de referência como um artefacto intermediário.

A abordagem EvoSPL é suportada por alguns níveis de automação. Especificamente, a fase de mapeamento é suportada por uma ferramenta chamada friendlyMapper. A avaliação da abordagem EvoSPL é realizada no domínio automóvel, usando um estudo de caso de tamanho industrial na Bosch Company. Uma avaliação quantitativa e qualitativa foi usada para avaliar a abordagem num contexto industrial real. Além disso, a avaliação demonstra as capacidades da ferramenta friendlyMapper para realizar o mapeamento com sucesso. Os resultados revelam que a abordagem EvoSPL é útil para apoiar de forma eficaz e eficiente uma adoção e evolução de uma SPL num exemplo real da área automóvel.

Palavras-Chave: modelos de recursos, re-engenharia, linhas de produtos de software.