Utilize este identificador para referenciar este registo: https://hdl.handle.net/1822/77295

TítuloEvoSPL: An evolutionary approach for adopting software product lines in the automotive industry
Outro(s) título(s)EvoSPL: Uma abordagem evolutiva para a adoção de linhas de produtos de software na indústria automotiva
Autor(es)Ignaim, Karam
Orientador(es)Fernandes, João M.
Ferreira, André
Palavras-chavemodelos de recursos
re-engenharia
linhas de produtos de software
feature mapping
feature models
re-engineering
software product lines
Data5-Fev-2021
Resumo(s)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. A fase 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.
Companies often develop and evolve a products family, which creates the opportunity to reuse and differentiate the products in the family. In practice, the development and evolution of such products are typically performed in an ad-hoc manner. Thus, a systematic reuse is required. Software Product Lines (SPLs) have largely been adopted by industry as a key idea for systematic reuse. To migrate the existing products of a family into an SPL, especially in the automotive industry, practitioners still lack an end-to-end approach. In this thesis, we present an evolutionary approach, named EvoSPL, for managing consistently the evolution of SPLs in the automotive domain. The EvoSPL approach adopts a systematic re- engineering process that is composed of three main phases: reverse engineering, forward engineering, and mapping. The reverse engineering phase captures the commonality and variability of existing products in the (current) Feature Model (FM). In addition, this phase contributes with a feature identification method and feature model derivation method. The forward engineering phase bootstraps the remaining products of a family into the SPL, and then handles its evolution whenever a new individual product is requested. The mapping phase relates each feature of the current FM to its locations in the implementation code, using the reference architecture as an intermediate artifact, which helps to propagate the changes from the higher levels of abstraction (FM) to the lower ones (code), while preserving the consistency between them. The thesis is an industrial research describing an approach that handles the evolution of SPLs in a setting where the domain architecture is common within a products family. However, we believe that the EvoSPL approach could be applicable and useful in other industrial domains that fulfil the conditions of our approach. The mapping phase is supported by a tool called friendlyMapper. The evaluation of the EvoSPL approach is performed in the automotive domain using an industrial- sized case study at Bosch Car Multimedia company. A quantitative and qualitative evaluation was used to evaluate the approach within a real industrial context. Moreover, the evaluation demonstrates the friendlyMapper tool capabilities to perform the feature mapping successfully. The results reveal that the EvoSPL approach is useful for software engineers to effectively and efficiently support an SPL adoption and evolution in the automotive domain.
TipoTese de doutoramento
DescriçãoTese de Doutoramento em Informática
URIhttps://hdl.handle.net/1822/77295
AcessoAcesso aberto
Aparece nas coleções:BUM - Teses de Doutoramento
DI - Teses de doutoramento

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Karam Ignaim.pdfTese de Doutoramento4,8 MBAdobe PDFVer/Abrir

Este trabalho está licenciado sob uma Licença Creative Commons Creative Commons

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID