Uma abordagem para modularização de frameworks de múltiplos domínios em linha de produtos de frameworks

Detalhes bibliográficos
Autor(a) principal: Pinto, Victor Hugo Santiago Costa
Data de Publicação: 2013
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFSCAR
Texto Completo: https://repositorio.ufscar.br/handle/ufscar/555
Resumo: Frameworks are tools for software reuse that contribute for reducing costs and increased productivity in application development. Nowadays they are widely used and they tend to provide a satisfactory set of variabilities of a given domain. In general, a common trend in the evolution of these frameworks is the addition of new variabilities in attempting to address demands of a growing set of users. However, when such evolutions are not well designed and managed, the original architecture of the framework ends deviating from what had been previously planned, resulting in a complex and inflexible architecture. In addition, the new variabilities may belong to domains that were not originally planned for the framework, and become what we call Multiple Domains Frameworks (MDF). A problem of this kind of framework is that some variabilities may be useless for certain applications supported by the framework. Thus, MDF have problems for the Application Engineers (AE) and for Framework Engineers (FE). In the first case, the learning curve and the productivity are compromised, because AE will need to live together with a vast set of variabilities that may be unnecessary. For FE, the inflexibility of architecture complicates maintenance and composition/decomposition of smaller and more restrict versions of the framework. In this context, as an alternative to the aforementioned problems, we present an approach for modularization of MDFs into Framework Product Lines (FPL). An FPL is a product line in which the generated members are frameworks instead of applications. The main idea is that flexibility of this new architecture allows the generation of smaller and directed frameworks to the requirements of a domain/subdomain, avoiding the presence of features/variabilities that will never be used. One of the key points of this approach is to determine the Usage Scenario that the FPL must satisfy. Thus, an MDF can be decomposed in features with appropriate levels of granularity, a factor that directly impacts in the quality of an FPL. For the design of this approach, we conducted a case study in which the application framework GRENJ was modularized into an FPL. Two kinds of evaluation were performed. The first was an experiment to compare the effort to modularize a FMD in FPL using Aspect-Oriented Programming and Model-Driven Development. The second was a comparative study among applications developed with support of original framework and applications developed from the resulting FPL. The results show advantages in the reduction of efforts and increased productivity.
id SCAR_530dd7c02fca925846efd0e41ce51cdd
oai_identifier_str oai:repositorio.ufscar.br:ufscar/555
network_acronym_str SCAR
network_name_str Repositório Institucional da UFSCAR
repository_id_str 4322
spelling Pinto, Victor Hugo Santiago CostaCamargo, Valter Vieira dehttp://lattes.cnpq.br/6809743774407662http://lattes.cnpq.br/8798424081680540546d965c-643b-4736-aa0b-a916a9db8c392016-06-02T19:06:10Z2014-02-172016-06-02T19:06:10Z2013-10-31PINTO, Victor Hugo Santiago Costa. Uma abordagem para modularização de frameworks de múltiplos domínios em linha de produtos de frameworks. 2013. 178 f. Dissertação (Mestrado em Ciências Exatas e da Terra) - Universidade Federal de São Carlos, São Carlos, 2013.https://repositorio.ufscar.br/handle/ufscar/555Frameworks are tools for software reuse that contribute for reducing costs and increased productivity in application development. Nowadays they are widely used and they tend to provide a satisfactory set of variabilities of a given domain. In general, a common trend in the evolution of these frameworks is the addition of new variabilities in attempting to address demands of a growing set of users. However, when such evolutions are not well designed and managed, the original architecture of the framework ends deviating from what had been previously planned, resulting in a complex and inflexible architecture. In addition, the new variabilities may belong to domains that were not originally planned for the framework, and become what we call Multiple Domains Frameworks (MDF). A problem of this kind of framework is that some variabilities may be useless for certain applications supported by the framework. Thus, MDF have problems for the Application Engineers (AE) and for Framework Engineers (FE). In the first case, the learning curve and the productivity are compromised, because AE will need to live together with a vast set of variabilities that may be unnecessary. For FE, the inflexibility of architecture complicates maintenance and composition/decomposition of smaller and more restrict versions of the framework. In this context, as an alternative to the aforementioned problems, we present an approach for modularization of MDFs into Framework Product Lines (FPL). An FPL is a product line in which the generated members are frameworks instead of applications. The main idea is that flexibility of this new architecture allows the generation of smaller and directed frameworks to the requirements of a domain/subdomain, avoiding the presence of features/variabilities that will never be used. One of the key points of this approach is to determine the Usage Scenario that the FPL must satisfy. Thus, an MDF can be decomposed in features with appropriate levels of granularity, a factor that directly impacts in the quality of an FPL. For the design of this approach, we conducted a case study in which the application framework GRENJ was modularized into an FPL. Two kinds of evaluation were performed. The first was an experiment to compare the effort to modularize a FMD in FPL using Aspect-Oriented Programming and Model-Driven Development. The second was a comparative study among applications developed with support of original framework and applications developed from the resulting FPL. The results show advantages in the reduction of efforts and increased productivity.Frameworks são ferramentas de reuso que contribuem para a reducão de custos e aumento da produtividade no desenvolvimento de aplicações. Eles são amplamente empregados atualmente e tendem a fornecer um conjunto satisfatório de variabilidades de um determinado domínio. Em geral, uma característica comum no processo de evolução de frameworks e a adição de novas variabilidades na tentativa de atender demandas de um conjunto cada vez maior de usuários. Entretanto, quando tais evoluções não são bem planejadas e gerenciadas, a arquitetura original do framework acaba se desviando da que havia sido previamente planejada, resultando em uma arquitetura complexa e inflexível. Além disso, as novas variabilidades adicionadas podem pertencer a domínios que não foram originalmente planejadas para o framework; levando ao que chamamos de Frameworks de Multiplos Dominios (FMDs). Um problema desse tipo de framework e que determinadas variabilidades podem ser inúteis para certas aplicações apoiadas pelo framework. Dessa forma, FMDs apresentam problemas tanto para os engenheiros de aplicação (EA) quanto para os engenheiros do framework (EF). No primeiro caso, a curva de aprendizado e a produtividade são comprometidas, pois o EA precisara conviver com um conjunto grande de variabilidades que podem ser desnecessarias. Para os EFs, a inflexibilidade arquitetural acaba dificultando manutenções e a composição/decomposições de versões menores e mais restritas do framework. Nesse contexto, como uma alternativa para os problemas supracitados, apresenta-se neste trabalho uma abordagem para reestruturar FMDs em Linhas de Produtos de Frameworks (LPFs). Uma LPF e uma linha de produtos em que os membros gerados são frameworks ao invés de aplicações prontas. A ideia principal e que a flexibilidade dessa nova arquitetura permita a geração de frameworks menores e mais direcionados aos requisitos de um dominio/subdominio, evitando a presença de features/variabilidades que nunca serão usadas. Um dos pontos chave da abordagem proposta consiste em determinar o cenário de utilização que a LPF deve satisfazer. Assim, pode-se decompor um FMD em features com niveis adequados de granularidade, fator que impacta diretamente na qualidade da LPF. Para a concepção da abordagem conduziu-se um estudo de caso no qual o framework de aplicação GRENJ foi transformado em uma LPF. Foram realizados dois tipos de avaliação. O primeiro foi um experimento para comparar o esforço de remodularizar um FMD em LPF usando programação orientada a aspectos e desenvolvimento dirigido a modelos. O segundo foi um estudo que comparou aplicações desenvolvidas com o apoio do framework original com aplicações desenvolvidas a partir da LPF resultante. Os resultados apontaram vantagens com relação a redução dos esforços e aumento da produtividade.Financiadora de Estudos e Projetosapplication/pdfporUniversidade Federal de São CarlosPrograma de Pós-Graduação em Ciência da Computação - PPGCCUFSCarBREngenharia de softwareReusoFrameworksLinha de produtos de frameworksSoftware reuseFrameworksFramework product linesCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOUma abordagem para modularização de frameworks de múltiplos domínios em linha de produtos de frameworksinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesis-1-1ad3905d4-abda-4f95-bc76-08abe5ed17a7info:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFSCARinstname:Universidade Federal de São Carlos (UFSCAR)instacron:UFSCARORIGINAL5674.pdfapplication/pdf10691357https://repositorio.ufscar.br/bitstream/ufscar/555/1/5674.pdf01bd64a7f9ae5a29efe62ec0159122e0MD51TEXT5674.pdf.txt5674.pdf.txtExtracted texttext/plain0https://repositorio.ufscar.br/bitstream/ufscar/555/2/5674.pdf.txtd41d8cd98f00b204e9800998ecf8427eMD52THUMBNAIL5674.pdf.jpg5674.pdf.jpgIM Thumbnailimage/jpeg8114https://repositorio.ufscar.br/bitstream/ufscar/555/3/5674.pdf.jpgf90650806e63281933dd84c23cd985c6MD53ufscar/5552023-09-18 18:31:27.48oai:repositorio.ufscar.br:ufscar/555Repositório InstitucionalPUBhttps://repositorio.ufscar.br/oai/requestopendoar:43222023-09-18T18:31:27Repositório Institucional da UFSCAR - Universidade Federal de São Carlos (UFSCAR)false
dc.title.por.fl_str_mv Uma abordagem para modularização de frameworks de múltiplos domínios em linha de produtos de frameworks
title Uma abordagem para modularização de frameworks de múltiplos domínios em linha de produtos de frameworks
spellingShingle Uma abordagem para modularização de frameworks de múltiplos domínios em linha de produtos de frameworks
Pinto, Victor Hugo Santiago Costa
Engenharia de software
Reuso
Frameworks
Linha de produtos de frameworks
Software reuse
Frameworks
Framework product lines
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
title_short Uma abordagem para modularização de frameworks de múltiplos domínios em linha de produtos de frameworks
title_full Uma abordagem para modularização de frameworks de múltiplos domínios em linha de produtos de frameworks
title_fullStr Uma abordagem para modularização de frameworks de múltiplos domínios em linha de produtos de frameworks
title_full_unstemmed Uma abordagem para modularização de frameworks de múltiplos domínios em linha de produtos de frameworks
title_sort Uma abordagem para modularização de frameworks de múltiplos domínios em linha de produtos de frameworks
author Pinto, Victor Hugo Santiago Costa
author_facet Pinto, Victor Hugo Santiago Costa
author_role author
dc.contributor.authorlattes.por.fl_str_mv http://lattes.cnpq.br/8798424081680540
dc.contributor.author.fl_str_mv Pinto, Victor Hugo Santiago Costa
dc.contributor.advisor1.fl_str_mv Camargo, Valter Vieira de
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/6809743774407662
dc.contributor.authorID.fl_str_mv 546d965c-643b-4736-aa0b-a916a9db8c39
contributor_str_mv Camargo, Valter Vieira de
dc.subject.por.fl_str_mv Engenharia de software
Reuso
Frameworks
Linha de produtos de frameworks
topic Engenharia de software
Reuso
Frameworks
Linha de produtos de frameworks
Software reuse
Frameworks
Framework product lines
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
dc.subject.eng.fl_str_mv Software reuse
Frameworks
Framework product lines
dc.subject.cnpq.fl_str_mv CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
description Frameworks are tools for software reuse that contribute for reducing costs and increased productivity in application development. Nowadays they are widely used and they tend to provide a satisfactory set of variabilities of a given domain. In general, a common trend in the evolution of these frameworks is the addition of new variabilities in attempting to address demands of a growing set of users. However, when such evolutions are not well designed and managed, the original architecture of the framework ends deviating from what had been previously planned, resulting in a complex and inflexible architecture. In addition, the new variabilities may belong to domains that were not originally planned for the framework, and become what we call Multiple Domains Frameworks (MDF). A problem of this kind of framework is that some variabilities may be useless for certain applications supported by the framework. Thus, MDF have problems for the Application Engineers (AE) and for Framework Engineers (FE). In the first case, the learning curve and the productivity are compromised, because AE will need to live together with a vast set of variabilities that may be unnecessary. For FE, the inflexibility of architecture complicates maintenance and composition/decomposition of smaller and more restrict versions of the framework. In this context, as an alternative to the aforementioned problems, we present an approach for modularization of MDFs into Framework Product Lines (FPL). An FPL is a product line in which the generated members are frameworks instead of applications. The main idea is that flexibility of this new architecture allows the generation of smaller and directed frameworks to the requirements of a domain/subdomain, avoiding the presence of features/variabilities that will never be used. One of the key points of this approach is to determine the Usage Scenario that the FPL must satisfy. Thus, an MDF can be decomposed in features with appropriate levels of granularity, a factor that directly impacts in the quality of an FPL. For the design of this approach, we conducted a case study in which the application framework GRENJ was modularized into an FPL. Two kinds of evaluation were performed. The first was an experiment to compare the effort to modularize a FMD in FPL using Aspect-Oriented Programming and Model-Driven Development. The second was a comparative study among applications developed with support of original framework and applications developed from the resulting FPL. The results show advantages in the reduction of efforts and increased productivity.
publishDate 2013
dc.date.issued.fl_str_mv 2013-10-31
dc.date.available.fl_str_mv 2014-02-17
2016-06-02T19:06:10Z
dc.date.accessioned.fl_str_mv 2016-06-02T19:06:10Z
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 PINTO, Victor Hugo Santiago Costa. Uma abordagem para modularização de frameworks de múltiplos domínios em linha de produtos de frameworks. 2013. 178 f. Dissertação (Mestrado em Ciências Exatas e da Terra) - Universidade Federal de São Carlos, São Carlos, 2013.
dc.identifier.uri.fl_str_mv https://repositorio.ufscar.br/handle/ufscar/555
identifier_str_mv PINTO, Victor Hugo Santiago Costa. Uma abordagem para modularização de frameworks de múltiplos domínios em linha de produtos de frameworks. 2013. 178 f. Dissertação (Mestrado em Ciências Exatas e da Terra) - Universidade Federal de São Carlos, São Carlos, 2013.
url https://repositorio.ufscar.br/handle/ufscar/555
dc.language.iso.fl_str_mv por
language por
dc.relation.confidence.fl_str_mv -1
-1
dc.relation.authority.fl_str_mv ad3905d4-abda-4f95-bc76-08abe5ed17a7
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de São Carlos
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Ciência da Computação - PPGCC
dc.publisher.initials.fl_str_mv UFSCar
dc.publisher.country.fl_str_mv BR
publisher.none.fl_str_mv Universidade Federal de São Carlos
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFSCAR
instname:Universidade Federal de São Carlos (UFSCAR)
instacron:UFSCAR
instname_str Universidade Federal de São Carlos (UFSCAR)
instacron_str UFSCAR
institution UFSCAR
reponame_str Repositório Institucional da UFSCAR
collection Repositório Institucional da UFSCAR
bitstream.url.fl_str_mv https://repositorio.ufscar.br/bitstream/ufscar/555/1/5674.pdf
https://repositorio.ufscar.br/bitstream/ufscar/555/2/5674.pdf.txt
https://repositorio.ufscar.br/bitstream/ufscar/555/3/5674.pdf.jpg
bitstream.checksum.fl_str_mv 01bd64a7f9ae5a29efe62ec0159122e0
d41d8cd98f00b204e9800998ecf8427e
f90650806e63281933dd84c23cd985c6
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFSCAR - Universidade Federal de São Carlos (UFSCAR)
repository.mail.fl_str_mv
_version_ 1813715504037101568