• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 1
  • Tagged with
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

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

Possatto, Marcos Antonio 22 October 2013 (has links)
Made available in DSpace on 2016-06-02T19:06:10Z (GMT). No. of bitstreams: 1 5666.pdf: 3321258 bytes, checksum: c402c2fb8a619d07842991622736ea5a (MD5) Previous issue date: 2013-10-22 / Universidade Federal de Minas Gerais / 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. / 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.

Page generated in 0.1486 seconds