PAxSPL: A generic framework to support the planning of SPL reengineering

Detalhes bibliográficos
Autor(a) principal: Marchezan, Luciano
Data de Publicação: 2020
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Institucional da UNIPAMPA
Texto Completo: http://dspace.unipampa.edu.br:8080/jspui/handle/riu/5230
Resumo: Software Product Line (SPL) is a well-known approach for systematically creating reusable software assets and customized software products for a specific domain or market segment. Among the different approaches for adopting SPL, the extractive approach is a promising solution for organizations that intend to transform their legacy applications into an SPL. In this sense, the SPL reengineering process emerges as a possible strategy for applying the SPL extractive approach. Another important concept related to SPL development is scoping. The SPL scoping process is conducted for defining the boundaries of an SPL, being one of the core planning activities performed during SPL development. Although not deeply discussed in technical SPL contributions, activities to support the definition of SPL development budgets and cost estimations are essential. There are several studies proposed for handling SPL reengineering such as processes, tools, frameworks, meta-models among others. Due to the diversity of options found in daily practice of software development, a rigorous analysis of contexts is critical to instantiate these proposals. As there are different scenario variables, such as available artifacts and team experience, the activities, and techniques used to perform SPL reengineering or SPL scoping tasks may change, requiring from software engineers to adapt their approaches as a means to satisfying the companies’ scenarios. To the best of our knowledge, however, there is a lack of an approach supporting these tasks considering different scenarios. Therefore, in this work we propose the Prepare, Assemble, and Execute Framework SPL reengineering (PAxSPL). PAxSPL is composed of three different aspects: a process, guidelines, and a supporting tool. The process provides support to prepare, assemble, and execute feature retrieval and analysis alongside activities considering SPL scoping concepts. Thus, users may plan the scope of their SPL while conducting the retrieval and analysis of features by applying retrieval techniques. The guidelines were created to aid users with low experience in SPL reengineering or SPL scoping. The supporting tool was developed to reduce the effort of managing and executing an SPL reengineering process. This effort reduction is done by automatizing the management and generation of reports. For evaluating PAxSPL customization capabilities, we extracted eight different scenarios from the literature used as input for application of PAxSPL. The results evidenced that PaxSPL is customizable to a variety of scenarios with different artifacts, retrieval techniques, and activities. However, we also identified some challenges that limited the customization level of our framework. Based on these challenges, we perform improvements to increase the PAxSPL customization level.
id UNIP_5b8091cc6675d18ce4cdcc01ad15da23
oai_identifier_str oai:repositorio.unipampa.edu.br:riu/5230
network_acronym_str UNIP
network_name_str Repositório Institucional da UNIPAMPA
repository_id_str
spelling Santos, Elder de Macedo RodriguesBernardino, MaiconMarchezan, Luciano2020-10-23T17:41:36Z2020-10-222020-10-23T17:41:36Z2020-08-13MARCHEZAN, Luciano. A generic framework to support the planning of SPL reengineering. Orientador: Elder de Macedo Rodrigues Santos. 2020. 137p. Dissertação (Mestrado Profissional em Engenharia de Software) – Universidade Federal do Pampa, Campus Alegrete, Alegrete, 2020.http://dspace.unipampa.edu.br:8080/jspui/handle/riu/5230Software Product Line (SPL) is a well-known approach for systematically creating reusable software assets and customized software products for a specific domain or market segment. Among the different approaches for adopting SPL, the extractive approach is a promising solution for organizations that intend to transform their legacy applications into an SPL. In this sense, the SPL reengineering process emerges as a possible strategy for applying the SPL extractive approach. Another important concept related to SPL development is scoping. The SPL scoping process is conducted for defining the boundaries of an SPL, being one of the core planning activities performed during SPL development. Although not deeply discussed in technical SPL contributions, activities to support the definition of SPL development budgets and cost estimations are essential. There are several studies proposed for handling SPL reengineering such as processes, tools, frameworks, meta-models among others. Due to the diversity of options found in daily practice of software development, a rigorous analysis of contexts is critical to instantiate these proposals. As there are different scenario variables, such as available artifacts and team experience, the activities, and techniques used to perform SPL reengineering or SPL scoping tasks may change, requiring from software engineers to adapt their approaches as a means to satisfying the companies’ scenarios. To the best of our knowledge, however, there is a lack of an approach supporting these tasks considering different scenarios. Therefore, in this work we propose the Prepare, Assemble, and Execute Framework SPL reengineering (PAxSPL). PAxSPL is composed of three different aspects: a process, guidelines, and a supporting tool. The process provides support to prepare, assemble, and execute feature retrieval and analysis alongside activities considering SPL scoping concepts. Thus, users may plan the scope of their SPL while conducting the retrieval and analysis of features by applying retrieval techniques. The guidelines were created to aid users with low experience in SPL reengineering or SPL scoping. The supporting tool was developed to reduce the effort of managing and executing an SPL reengineering process. This effort reduction is done by automatizing the management and generation of reports. For evaluating PAxSPL customization capabilities, we extracted eight different scenarios from the literature used as input for application of PAxSPL. The results evidenced that PaxSPL is customizable to a variety of scenarios with different artifacts, retrieval techniques, and activities. However, we also identified some challenges that limited the customization level of our framework. Based on these challenges, we perform improvements to increase the PAxSPL customization level.Linhas de produtos de software (LPS) é uma abordagem bem conhecida para se criar de maneira sistemática assets de software reusáveis além de produtos de software customizados para um domínio específico. Dentre as diferentes abordagens para se adotar LPS, a abordagem extrativa é uma solução promissora em organizações que pretendem transformar seus sistemas legados em LPS. Nesse contexto, o processo de reengenharia para LPS surge como uma possível estratégia para se aplicar a abordagem extrativa de LPS. Outro conceito importante relacionado com LPS é o escopo. O processo de escopo de LPS é executado para se definir os limites de uma LPS, sendo uma das atividades essenciais de planejamento executadas durante o desenvolvimento de LPS. Apesar de não ser discutido de maneira aprofundada em contribuições técnicas, as atividades que dão suporte a definição dos orçamentos e estimação de custos de desenvolvimento são essenciais. Para ambos os tópicos, reengenharia e escopo de SPL, existem diversos trabalhos propostos, como processos, ferramentas, frameworks, meta-modelos entre outros. Por conta da diversidade de opções encontradas em práticas diárias de desenvolvimento de software, uma analise rigorosa de contextos é crucial para instanciar estas propostas. Como existem diferentes variações de cenário, como artefatos disponíveis e a experiência do time, atividades e técnicas utilizadas para se executar a reengenharia ou o escopo de LPS podem variar, necessitando que abordagens se adaptem buscando satisfazer os cenários dos usuários. Porém, identificamos a falta de uma abordagem que dá suporte a essas atividades considerando diferentes cenários. Portanto, neste trabalho propomos o Prepare, Assemble and Execute Framework for SPL Reengineering (PAxSPL). PaxSPL é composto por três aspectos distintos: um processo, diretrizes e uma ferramenta de suporte. O processo fornece suporte para se preparar, montar e executar recuperação de features considerando conceitos e atividades de escopo. Portanto, os usuários podem planejar o escopo da LPS enquanto conduzem a recuperação e análise de features aplicando as técnicas de recuperação. As diretrizes foram criadas com a intenção de auxiliar usuários com pouca experiência em reengenharia ou escopo de LPS. A ferramenta de suporte foi desenvolvida com o objetivo de reduzir o esforço de gerenciamento e execução do processo de reengenharia, alcançada através da automatização do gerenciamento e geração de relatórios. Para avaliar a capacidade de customização do PAxSPL, extraímos oito cenários da literatura, utilizados como entrada para a aplicação do PAxSPL. Os resultados evidenciaram que PAxSPL é customizável para uma variedade de cenários com diferentes artefatos, técnicas de recuperação e atividades. Porém, também identificamos oito desafios que limitaram o nível de customização de nosso framework. Baseado nestes, aplicamos melhorias para aumentar o nível de customização do PaxSPL.engUniversidade Federal do PampaMestrado Profissional em Engenharia de SoftwareUNIPAMPABrasilCampus AlegreteCNPQ::CIENCIAS EXATAS E DA TERRAEngenharia de SoftwareSoftware - ReutilizaçãoSoftware EngineeringSoftware reusabilityPAxSPL: A generic framework to support the planning of SPL reengineeringinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UNIPAMPAinstname:Universidade Federal do Pampa (UNIPAMPA)instacron:UNIPAMPAORIGINALLuciano Augusto Marchezan de Paula - 2020.pdfLuciano Augusto Marchezan de Paula - 2020.pdfapplication/pdf3112009https://repositorio.unipampa.edu.br/jspui/bitstream/riu/5230/1/Luciano%20Augusto%20Marchezan%20de%20Paula%20-%202020.pdfb454e273f9a0909200bfdf79585d8916MD51LICENSElicense.txtlicense.txttext/plain; charset=utf-81866https://repositorio.unipampa.edu.br/jspui/bitstream/riu/5230/2/license.txt43cd690d6a359e86c1fe3d5b7cba0c9bMD52TEXTLuciano Augusto Marchezan de Paula - 2020.pdf.txtLuciano Augusto Marchezan de Paula - 2020.pdf.txtExtracted texttext/plain257958https://repositorio.unipampa.edu.br/jspui/bitstream/riu/5230/3/Luciano%20Augusto%20Marchezan%20de%20Paula%20-%202020.pdf.txt5bfbd0c6c3e6917c3f7413d5d565affeMD53riu/52302020-11-20 08:22:08.257oai:repositorio.unipampa.edu.br:riu/5230TElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEKCkNvbSBhIGFwcmVzZW50YcOnw6NvIGRlc3RhIGxpY2Vuw6dhLCB2b2PDqiAobyBhdXRvciAoZXMpIG91IG8gdGl0dWxhciBkb3MgZGlyZWl0b3MgZGUgYXV0b3IpIGNvbmNlZGUgYW8gUmVwb3NpdMOzcmlvIApJbnN0aXR1Y2lvbmFsIG8gZGlyZWl0byBuw6NvLWV4Y2x1c2l2byBkZSByZXByb2R1emlyLCAgdHJhZHV6aXIgKGNvbmZvcm1lIGRlZmluaWRvIGFiYWl4byksIGUvb3UgZGlzdHJpYnVpciBhIApzdWEgcHVibGljYcOnw6NvIChpbmNsdWluZG8gbyByZXN1bW8pIHBvciB0b2RvIG8gbXVuZG8gbm8gZm9ybWF0byBpbXByZXNzbyBlIGVsZXRyw7RuaWNvIGUgZW0gcXVhbHF1ZXIgbWVpbywgaW5jbHVpbmRvIG9zIApmb3JtYXRvcyDDoXVkaW8gb3UgdsOtZGVvLgoKVm9jw6ogY29uY29yZGEgcXVlIG8gRGVwb3NpdGEgcG9kZSwgc2VtIGFsdGVyYXIgbyBjb250ZcO6ZG8sIHRyYW5zcG9yIGEgc3VhIHB1YmxpY2HDp8OjbyBwYXJhIHF1YWxxdWVyIG1laW8gb3UgZm9ybWF0byAKcGFyYSBmaW5zIGRlIHByZXNlcnZhw6fDo28uCgpWb2PDqiB0YW1iw6ltIGNvbmNvcmRhIHF1ZSBvIERlcG9zaXRhIHBvZGUgbWFudGVyIG1haXMgZGUgdW1hIGPDs3BpYSBkZSBzdWEgcHVibGljYcOnw6NvIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrLXVwIAplIHByZXNlcnZhw6fDo28uCgpWb2PDqiBkZWNsYXJhIHF1ZSBhIHN1YSBwdWJsaWNhw6fDo28gw6kgb3JpZ2luYWwgZSBxdWUgdm9jw6ogdGVtIG8gcG9kZXIgZGUgY29uY2VkZXIgb3MgZGlyZWl0b3MgY29udGlkb3MgbmVzdGEgbGljZW7Dp2EuIApWb2PDqiB0YW1iw6ltIGRlY2xhcmEgcXVlIG8gZGVww7NzaXRvIGRhIHN1YSBwdWJsaWNhw6fDo28gbsOjbywgcXVlIHNlamEgZGUgc2V1IGNvbmhlY2ltZW50bywgaW5mcmluZ2UgZGlyZWl0b3MgYXV0b3JhaXMgCmRlIG5pbmd1w6ltLgoKQ2FzbyBhIHN1YSBwdWJsaWNhw6fDo28gY29udGVuaGEgbWF0ZXJpYWwgcXVlIHZvY8OqIG7Do28gcG9zc3VpIGEgdGl0dWxhcmlkYWRlIGRvcyBkaXJlaXRvcyBhdXRvcmFpcywgdm9jw6ogZGVjbGFyYSBxdWUgCm9idGV2ZSBhIHBlcm1pc3PDo28gaXJyZXN0cml0YSBkbyBkZXRlbnRvciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMgcGFyYSBjb25jZWRlciBhbyBEZXBvc2l0YSBvcyBkaXJlaXRvcyBhcHJlc2VudGFkb3MgCm5lc3RhIGxpY2Vuw6dhLCBlIHF1ZSBlc3NlIG1hdGVyaWFsIGRlIHByb3ByaWVkYWRlIGRlIHRlcmNlaXJvcyBlc3TDoSBjbGFyYW1lbnRlIGlkZW50aWZpY2FkbyBlIHJlY29uaGVjaWRvIG5vIHRleHRvIApvdSBubyBjb250ZcO6ZG8gZGEgcHVibGljYcOnw6NvIG9yYSBkZXBvc2l0YWRhLgoKQ0FTTyBBIFBVQkxJQ0HDh8ODTyBPUkEgREVQT1NJVEFEQSBURU5IQSBTSURPIFJFU1VMVEFETyBERSBVTSBQQVRST0PDjU5JTyBPVSBBUE9JTyBERSBVTUEgQUfDik5DSUEgREUgRk9NRU5UTyBPVSBPVVRSTyAKT1JHQU5JU01PLCBWT0PDiiBERUNMQVJBIFFVRSBSRVNQRUlUT1UgVE9ET1MgRSBRVUFJU1FVRVIgRElSRUlUT1MgREUgUkVWSVPDg08gQ09NTyBUQU1Cw4lNIEFTIERFTUFJUyBPQlJJR0HDh8OVRVMgCkVYSUdJREFTIFBPUiBDT05UUkFUTyBPVSBBQ09SRE8uCgpPIERlcG9zaXRhIHNlIGNvbXByb21ldGUgYSBpZGVudGlmaWNhciBjbGFyYW1lbnRlIG8gc2V1IG5vbWUgKHMpIG91IG8ocykgbm9tZShzKSBkbyhzKSBkZXRlbnRvcihlcykgZG9zIGRpcmVpdG9zIAphdXRvcmFpcyBkYSBwdWJsaWNhw6fDo28sIGUgbsOjbyBmYXLDoSBxdWFscXVlciBhbHRlcmHDp8OjbywgYWzDqW0gZGFxdWVsYXMgY29uY2VkaWRhcyBwb3IgZXN0YSBsaWNlbsOnYS4KRepositório InstitucionalPUBhttp://dspace.unipampa.edu.br:8080/oai/requestsisbi@unipampa.edu.bropendoar:2020-11-20T11:22:08Repositório Institucional da UNIPAMPA - Universidade Federal do Pampa (UNIPAMPA)false
dc.title.pt_BR.fl_str_mv PAxSPL: A generic framework to support the planning of SPL reengineering
title PAxSPL: A generic framework to support the planning of SPL reengineering
spellingShingle PAxSPL: A generic framework to support the planning of SPL reengineering
Marchezan, Luciano
CNPQ::CIENCIAS EXATAS E DA TERRA
Engenharia de Software
Software - Reutilização
Software Engineering
Software reusability
title_short PAxSPL: A generic framework to support the planning of SPL reengineering
title_full PAxSPL: A generic framework to support the planning of SPL reengineering
title_fullStr PAxSPL: A generic framework to support the planning of SPL reengineering
title_full_unstemmed PAxSPL: A generic framework to support the planning of SPL reengineering
title_sort PAxSPL: A generic framework to support the planning of SPL reengineering
author Marchezan, Luciano
author_facet Marchezan, Luciano
author_role author
dc.contributor.advisor1.fl_str_mv Santos, Elder de Macedo Rodrigues
dc.contributor.advisor-co1.fl_str_mv Bernardino, Maicon
dc.contributor.author.fl_str_mv Marchezan, Luciano
contributor_str_mv Santos, Elder de Macedo Rodrigues
Bernardino, Maicon
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA
topic CNPQ::CIENCIAS EXATAS E DA TERRA
Engenharia de Software
Software - Reutilização
Software Engineering
Software reusability
dc.subject.por.fl_str_mv Engenharia de Software
Software - Reutilização
Software Engineering
Software reusability
description Software Product Line (SPL) is a well-known approach for systematically creating reusable software assets and customized software products for a specific domain or market segment. Among the different approaches for adopting SPL, the extractive approach is a promising solution for organizations that intend to transform their legacy applications into an SPL. In this sense, the SPL reengineering process emerges as a possible strategy for applying the SPL extractive approach. Another important concept related to SPL development is scoping. The SPL scoping process is conducted for defining the boundaries of an SPL, being one of the core planning activities performed during SPL development. Although not deeply discussed in technical SPL contributions, activities to support the definition of SPL development budgets and cost estimations are essential. There are several studies proposed for handling SPL reengineering such as processes, tools, frameworks, meta-models among others. Due to the diversity of options found in daily practice of software development, a rigorous analysis of contexts is critical to instantiate these proposals. As there are different scenario variables, such as available artifacts and team experience, the activities, and techniques used to perform SPL reengineering or SPL scoping tasks may change, requiring from software engineers to adapt their approaches as a means to satisfying the companies’ scenarios. To the best of our knowledge, however, there is a lack of an approach supporting these tasks considering different scenarios. Therefore, in this work we propose the Prepare, Assemble, and Execute Framework SPL reengineering (PAxSPL). PAxSPL is composed of three different aspects: a process, guidelines, and a supporting tool. The process provides support to prepare, assemble, and execute feature retrieval and analysis alongside activities considering SPL scoping concepts. Thus, users may plan the scope of their SPL while conducting the retrieval and analysis of features by applying retrieval techniques. The guidelines were created to aid users with low experience in SPL reengineering or SPL scoping. The supporting tool was developed to reduce the effort of managing and executing an SPL reengineering process. This effort reduction is done by automatizing the management and generation of reports. For evaluating PAxSPL customization capabilities, we extracted eight different scenarios from the literature used as input for application of PAxSPL. The results evidenced that PaxSPL is customizable to a variety of scenarios with different artifacts, retrieval techniques, and activities. However, we also identified some challenges that limited the customization level of our framework. Based on these challenges, we perform improvements to increase the PAxSPL customization level.
publishDate 2020
dc.date.accessioned.fl_str_mv 2020-10-23T17:41:36Z
dc.date.available.fl_str_mv 2020-10-22
2020-10-23T17:41:36Z
dc.date.issued.fl_str_mv 2020-08-13
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv MARCHEZAN, Luciano. A generic framework to support the planning of SPL reengineering. Orientador: Elder de Macedo Rodrigues Santos. 2020. 137p. Dissertação (Mestrado Profissional em Engenharia de Software) – Universidade Federal do Pampa, Campus Alegrete, Alegrete, 2020.
dc.identifier.uri.fl_str_mv http://dspace.unipampa.edu.br:8080/jspui/handle/riu/5230
identifier_str_mv MARCHEZAN, Luciano. A generic framework to support the planning of SPL reengineering. Orientador: Elder de Macedo Rodrigues Santos. 2020. 137p. Dissertação (Mestrado Profissional em Engenharia de Software) – Universidade Federal do Pampa, Campus Alegrete, Alegrete, 2020.
url http://dspace.unipampa.edu.br:8080/jspui/handle/riu/5230
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal do Pampa
dc.publisher.program.fl_str_mv Mestrado Profissional em Engenharia de Software
dc.publisher.initials.fl_str_mv UNIPAMPA
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Campus Alegrete
publisher.none.fl_str_mv Universidade Federal do Pampa
dc.source.none.fl_str_mv reponame:Repositório Institucional da UNIPAMPA
instname:Universidade Federal do Pampa (UNIPAMPA)
instacron:UNIPAMPA
instname_str Universidade Federal do Pampa (UNIPAMPA)
instacron_str UNIPAMPA
institution UNIPAMPA
reponame_str Repositório Institucional da UNIPAMPA
collection Repositório Institucional da UNIPAMPA
bitstream.url.fl_str_mv https://repositorio.unipampa.edu.br/jspui/bitstream/riu/5230/1/Luciano%20Augusto%20Marchezan%20de%20Paula%20-%202020.pdf
https://repositorio.unipampa.edu.br/jspui/bitstream/riu/5230/2/license.txt
https://repositorio.unipampa.edu.br/jspui/bitstream/riu/5230/3/Luciano%20Augusto%20Marchezan%20de%20Paula%20-%202020.pdf.txt
bitstream.checksum.fl_str_mv b454e273f9a0909200bfdf79585d8916
43cd690d6a359e86c1fe3d5b7cba0c9b
5bfbd0c6c3e6917c3f7413d5d565affe
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UNIPAMPA - Universidade Federal do Pampa (UNIPAMPA)
repository.mail.fl_str_mv sisbi@unipampa.edu.br
_version_ 1801849063610515456