Exportação concluída — 

Uma abordagem para migração automática de código no contexto do desenvolvimento orientado a modelos

Detalhes bibliográficos
Ano de defesa: 2013
Autor(a) principal: Possatto, Marcos Antonio
Orientador(a): Lucrédio, Daniel lattes
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de São Carlos
Programa de Pós-Graduação: Programa de Pós-Graduação em Ciência da Computação - PPGCC
Departamento: Não Informado pela instituição
País: BR
Palavras-chave em Português:
Palavras-chave em Inglês:
Área do conhecimento CNPq:
Link de acesso: https://repositorio.ufscar.br/handle/20.500.14289/554
Resumo: Code generators play a key role in model-driven software development. They are responsible for transforming high-level assets (models) into implementation assets (code). Most generators are based on templates, which are pieces of text instrumented with code expansion elements. They receive an input and produce an output according to the template's programming. To build such template-based generators, the code of an existing implementation, already tested and validated, can be used as a reference, in a process known as code migration. With software evolution and the need for changes in the code generator, the templates start to differ from this reference implementation. In order to restablish the synchronization, additional effort is required. Tackling the challenge of keeping these assets synchronized (reference implementation and templates) is this dissertation's subject. The goal is to provide some automation to the code migration process, even if partial, in order to increase productivity in the maintenance of code generators. A mechanism was developed to make it possible to automatically reproduce changes that are performed in the reference implementation into one or more code generation templates. This mechanism was evaluated through an empirical study, yielding good performance in a controlled environment. This indicates that automation can help to reduce the effort in the maintenance of code generators in a model-driven development context.
id SCAR_f825b0901fe41ecea0130a3658c1048a
oai_identifier_str oai:repositorio.ufscar.br:20.500.14289/554
network_acronym_str SCAR
network_name_str Repositório Institucional da UFSCAR
repository_id_str
spelling Possatto, Marcos AntonioLucrédio, Danielhttp://lattes.cnpq.br/9090396559596221http://lattes.cnpq.br/32549407854750230c0dd7a0-8c46-43d6-8ee6-9c2f591f50d92016-06-02T19:06:10Z2014-02-172016-06-02T19:06:10Z2013-10-22POSSATTO, Marcos Antonio. Uma abordagem para migração automática de código no contexto do desenvolvimento orientado a modelos. 2013. 120 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/20.500.14289/554Code generators play a key role in model-driven software development. They are responsible for transforming high-level assets (models) into implementation assets (code). Most generators are based on templates, which are pieces of text instrumented with code expansion elements. They receive an input and produce an output according to the template's programming. To build such template-based generators, the code of an existing implementation, already tested and validated, can be used as a reference, in a process known as code migration. With software evolution and the need for changes in the code generator, the templates start to differ from this reference implementation. In order to restablish the synchronization, additional effort is required. Tackling the challenge of keeping these assets synchronized (reference implementation and templates) is this dissertation's subject. The goal is to provide some automation to the code migration process, even if partial, in order to increase productivity in the maintenance of code generators. A mechanism was developed to make it possible to automatically reproduce changes that are performed in the reference implementation into one or more code generation templates. This mechanism was evaluated through an empirical study, yielding good performance in a controlled environment. This indicates that automation can help to reduce the effort in the maintenance of code generators in a model-driven development context.Os geradores de código desempenham um papel fundamental no desenvolvimento de software orientado a modelos. São responsáveis pela transformação dos artefatos de alto nível de abstração (modelo) em elementos de implementação (código). Os tipos mais comuns de geradores são os baseados em template. São compostos fundamentalmente por elementos de expansão de código, que recebem uma entrada e a convertem em código, conforme a programação inserida nesses templates. O código de uma implementação já testado e validado pode servir de referência para a criação de templates, por meio de um processo conhecido como migração de código. Com a dinâmica da evolução do software e a necessidade de efetuar mudanças no gerador de código ocorre a perda de sincronismo entre os templates e esse código de referência, sendo necessário um esforço adicional para mantê-los sincronizados. O desafio de manter esses artefatos sincronizados constituiu o objetivo desta dissertação de mestrado, que proporcionou ganhos de produtividade, por meio de uma automação, ainda que parcial, desse processo. Nesse sentido, foi desenvolvido um mecanismo para propagar automaticamente as alterações introduzidas no código de referência para os templates, que reduziu o tempo e facilitou a manutenção de geradores de código que sofrem com o problema da perda de sincronismo nesses artefatos. O protótipo para a migração automática de código desenvolvido nesta dissertação foi submetido a um estudo empírico, atingindo um bom desempenho com a sua utilização na maioria das tarefas de migração de código avaliadas, o que indica que a automação pode ajudar a resolver o problema e reduzir o esforço de manutenção no desenvolvimento de software orientado a modelos.Universidade Federal de Minas Geraisapplication/pdfporUniversidade Federal de São CarlosPrograma de Pós-Graduação em Ciência da Computação - PPGCCUFSCarBREngenharia de softwareEngenharia ida-e-voltaGeração de códigoImplementaçãoDesenvolvimento orientado a modelosGeração de código baseada em templatesImplementação de referênciaMigração de códigoModel-driven developmentRound-trip engineeringTemplate-based code generationReference implementationCode migrationCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOUma abordagem para migração automática de código no contexto do desenvolvimento orientado a modelosinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesis912fe828-c7e3-45b9-a9c1-9479310c8672info:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFSCARinstname:Universidade Federal de São Carlos (UFSCAR)instacron:UFSCARORIGINAL5666.pdfapplication/pdf3321258https://repositorio.ufscar.br/bitstreams/4446e974-1381-440f-8bb7-fc6265aa9d99/downloadc402c2fb8a619d07842991622736ea5aMD51trueAnonymousREADTEXT5666.pdf.txt5666.pdf.txtExtracted texttext/plain0https://repositorio.ufscar.br/bitstreams/97b5c036-541f-43cb-9932-bb23a699586c/downloadd41d8cd98f00b204e9800998ecf8427eMD54falseAnonymousREADTHUMBNAIL5666.pdf.jpg5666.pdf.jpgIM Thumbnailimage/jpeg10235https://repositorio.ufscar.br/bitstreams/0080782f-1279-4e15-bb67-869ccaa3b1ac/downloadfc062ef787606cc2f1205c852eb66515MD55falseAnonymousREAD20.500.14289/5542025-02-06 04:47:15.4open.accessoai:repositorio.ufscar.br:20.500.14289/554https://repositorio.ufscar.brRepositório InstitucionalPUBhttps://repositorio.ufscar.br/oai/requestrepositorio.sibi@ufscar.bropendoar:43222025-02-06T07:47:15Repositório Institucional da UFSCAR - Universidade Federal de São Carlos (UFSCAR)false
dc.title.por.fl_str_mv Uma abordagem para migração automática de código no contexto do desenvolvimento orientado a modelos
title Uma abordagem para migração automática de código no contexto do desenvolvimento orientado a modelos
spellingShingle Uma abordagem para migração automática de código no contexto do desenvolvimento orientado a modelos
Possatto, Marcos Antonio
Engenharia de software
Engenharia ida-e-volta
Geração de código
Implementação
Desenvolvimento orientado a modelos
Geração de código baseada em templates
Implementação de referência
Migração de código
Model-driven development
Round-trip engineering
Template-based code generation
Reference implementation
Code migration
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
title_short Uma abordagem para migração automática de código no contexto do desenvolvimento orientado a modelos
title_full Uma abordagem para migração automática de código no contexto do desenvolvimento orientado a modelos
title_fullStr Uma abordagem para migração automática de código no contexto do desenvolvimento orientado a modelos
title_full_unstemmed Uma abordagem para migração automática de código no contexto do desenvolvimento orientado a modelos
title_sort Uma abordagem para migração automática de código no contexto do desenvolvimento orientado a modelos
author Possatto, Marcos Antonio
author_facet Possatto, Marcos Antonio
author_role author
dc.contributor.authorlattes.por.fl_str_mv http://lattes.cnpq.br/3254940785475023
dc.contributor.author.fl_str_mv Possatto, Marcos Antonio
dc.contributor.advisor1.fl_str_mv Lucrédio, Daniel
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/9090396559596221
dc.contributor.authorID.fl_str_mv 0c0dd7a0-8c46-43d6-8ee6-9c2f591f50d9
contributor_str_mv Lucrédio, Daniel
dc.subject.por.fl_str_mv Engenharia de software
Engenharia ida-e-volta
Geração de código
Implementação
Desenvolvimento orientado a modelos
Geração de código baseada em templates
Implementação de referência
Migração de código
topic Engenharia de software
Engenharia ida-e-volta
Geração de código
Implementação
Desenvolvimento orientado a modelos
Geração de código baseada em templates
Implementação de referência
Migração de código
Model-driven development
Round-trip engineering
Template-based code generation
Reference implementation
Code migration
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
dc.subject.eng.fl_str_mv Model-driven development
Round-trip engineering
Template-based code generation
Reference implementation
Code migration
dc.subject.cnpq.fl_str_mv CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
description Code generators play a key role in model-driven software development. They are responsible for transforming high-level assets (models) into implementation assets (code). Most generators are based on templates, which are pieces of text instrumented with code expansion elements. They receive an input and produce an output according to the template's programming. To build such template-based generators, the code of an existing implementation, already tested and validated, can be used as a reference, in a process known as code migration. With software evolution and the need for changes in the code generator, the templates start to differ from this reference implementation. In order to restablish the synchronization, additional effort is required. Tackling the challenge of keeping these assets synchronized (reference implementation and templates) is this dissertation's subject. The goal is to provide some automation to the code migration process, even if partial, in order to increase productivity in the maintenance of code generators. A mechanism was developed to make it possible to automatically reproduce changes that are performed in the reference implementation into one or more code generation templates. This mechanism was evaluated through an empirical study, yielding good performance in a controlled environment. This indicates that automation can help to reduce the effort in the maintenance of code generators in a model-driven development context.
publishDate 2013
dc.date.issued.fl_str_mv 2013-10-22
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 POSSATTO, Marcos Antonio. Uma abordagem para migração automática de código no contexto do desenvolvimento orientado a modelos. 2013. 120 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/20.500.14289/554
identifier_str_mv POSSATTO, Marcos Antonio. Uma abordagem para migração automática de código no contexto do desenvolvimento orientado a modelos. 2013. 120 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/20.500.14289/554
dc.language.iso.fl_str_mv por
language por
dc.relation.authority.fl_str_mv 912fe828-c7e3-45b9-a9c1-9479310c8672
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/bitstreams/4446e974-1381-440f-8bb7-fc6265aa9d99/download
https://repositorio.ufscar.br/bitstreams/97b5c036-541f-43cb-9932-bb23a699586c/download
https://repositorio.ufscar.br/bitstreams/0080782f-1279-4e15-bb67-869ccaa3b1ac/download
bitstream.checksum.fl_str_mv c402c2fb8a619d07842991622736ea5a
d41d8cd98f00b204e9800998ecf8427e
fc062ef787606cc2f1205c852eb66515
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 repositorio.sibi@ufscar.br
_version_ 1851688759941136384