Uma abordagem para modularização de frameworks de múltiplos domínios em linha de produtos de frameworks
Autor(a) principal: | |
---|---|
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 |