• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 1
  • Tagged with
  • 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

A Model-driven approach to formal refactoring

Lima Massoni, Tiago 31 January 2008 (has links)
Made available in DSpace on 2014-06-12T15:51:08Z (GMT). No. of bitstreams: 2 arquivo2011_1.pdf: 1679074 bytes, checksum: c82d3e4381d7c70bcfaffe3bf1eddd78 (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2008 / Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / Como qualquer outra tarefa evolucionária, a aplicação de refatoramentos em software orientado a objetos normalmente afeta código-fonte e seus modelos relacionados, aumentando a dificuldade de manutenção de artefatos corretos e consistentes. Devido à distância de representação entre artefatos de modelagem e programação, o esforço ligado a refatoramentos logo torna-se duplicado e custoso. Neste contexto, suporte de ferramentas utilizado atualmente, em especial ferramentas de Round-Trip Engineering (RTE), falha em automatizar tarefas de evolução. Consequentemente, a maioria dos projetos de software descarta artefatos de modelagem precocemente, adotando abordagens centradas unicamente em código-fonte. Esta tese propõe uma abordagem formal para consistentemente refatorar modelos de objeto e programas orientados a objetos, baseando o refatoramento apenas em modelos de objetos. Refatoramento de modelos é fundamentado com transformações formais primitivas { leis de modelagem { que são garantidamente preservadoras de semântica. Cada refatoramento aplicado a um modelo de objetos é associado a uma sequência semi-automática de aplicações de leis de programação preservadoras de comportamento, chamadas estrategias. Estrategias são aplicadas na dependência de um relacionamento especifico de conformidade entre modelos de objetos e programas, que devem satisfazer também um dado grau de confinamento. Este trabalho formaliza 14 estratregias, duas para cada lei de modelagem que afeta estruturas do programa. Estas estratregias são formalizadas como táticas de refinamento. Desta forma, refatoramento correto de programas pode ser realizado com reduzida intervenção manual do desenvolvedor, baseado apenas nas transformações que o mesmo aplicou ao modelo. Neste cenario, refatoramentos complexos que afetam as principais estruturas do programa podem ser aplicados a um artefato de mais alto nível de abstra ção, deixando a atualização semi-automática dos detalhes de implementação para as estratregias. Além disso, invariantes do modelo podem ser usados para aprimorar ferramentas especializadas em refatoramento, já que modelos de objetos oferecem informação semântica que permite refatoramentos automáticos mais poderosos. Esta tese considera Alloy como linguagem de modelagem formal, além de uma linguagem de programação similar a Java que chamamos BN. Para esta linguagem, introduzimos quatro novos refatoramentos e leis de programação orientada a objetos, com suas provas e derivações correspondentes. Adicionalmente, as leis de programação foram aplicadas em uma semântica de referências, mais próxima de linguages de programação utilizadas na prática. Com o intuito de delimitar a aplicabilidade desta abordagem, formalizamos uma noção de conformidade entre modelos de objetos e programas, a partir de um framework formal para definição de relacionamentos de conformidade; as definições formais relacionadas foram especificadas e checadas quanto ao tipo na ferramenta PVS. Além disso, estabelecemos e provamos manualmente um teorema para a corretude das estratregias, definindo que elas preservam comportamento e conformidade dos programas refatorados. Mesmo sendo uma abordagem formal, temos a preocupação de discutir sua utilização prática, além de aplica-la em três estudos de caso. Os problemas apresentados nesta tese certamente serão enfrentados em qualquer abordagem de desenvolvimento dirigida por modelos, no momento em que se lida com evolução

Page generated in 0.0653 seconds