Uma abordagem para migração automática de código no contexto do desenvolvimento orientado a modelos
| Ano de defesa: | 2013 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| 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 |