Utilize este identificador para referenciar este registo:
https://hdl.handle.net/1822/77295
Título: | EvoSPL: 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-chave: | modelos de recursos re-engenharia linhas de produtos de software feature mapping feature models re-engineering software product lines |
Data: | 5-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. |
Tipo: | Tese de doutoramento |
Descrição: | Tese de Doutoramento em Informática |
URI: | https://hdl.handle.net/1822/77295 |
Acesso: | Acesso aberto |
Aparece nas coleções: | DI - Teses de doutoramento |
Ficheiros deste registo:
Ficheiro | Descrição | Tamanho | Formato | |
---|---|---|---|---|
Karam Ignaim.pdf | Tese de Doutoramento | 4,8 MB | Adobe PDF | Ver/Abrir |
Este trabalho está licenciado sob uma Licença Creative Commons