Detalhes bibliográficos
Ano de defesa: |
2008 |
Autor(a) principal: |
Rainone, Flavia |
Orientador(a): |
Não Informado pela instituição |
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: |
Biblioteca Digitais de Teses e Dissertações da USP
|
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: |
|
Link de acesso: |
https://teses.usp.br/teses/disponiveis/45/45134/tde-20230727-113422/
|
Resumo: |
Os sistemas dinamicos orientados a aspectos permitem a adiçao e a remoçao de aspectos em tempo de execuçao, capacidade denominada combinaçao dinamica. Tais sistemas sao ditos adaptaveis, pois possuem a capacidade de se adaptar a novas situaçoes no decorrer de sua execçao. Este trabalho visa avaliar o custo de desempenho envolvido na execuçao da combiçao dinamica, fator que pode afetar o desempenho do sistema durante a execuçao de operaçoes de adiçao e remoçao dinamicas de aspectos. Mostraremos que esse custo é relativamente alto e iremos propor uma nova abordagem de implementaçao a fim de minimiza-lo. A nossa abordagem é formada por duas partes. A primeira envolve a criaçao de uma estrutura de dados capaz de devolver informaçoes sobre pontos de junçao utilizando um pointcut como chave de busca. Essa estrutura de dados é chamada de grafo de sombras de junçao e possui um desempenho médio superior, quando comparada com o processo de casamento de pointcuts tradicional. A segunda parte da abordagem que propomos consiste em alterar os bytecodes da aplicaçao em tempo de execuçao, processo conhecido como hot swap, com o objetivo de garantir que o fluxo de controle de um ponto de junçao se mantera inalterado quando nao houver adendos a serem chamados durante sua execuçao. A fim de realizarmos uma avaliaçao pratica da abordagem proposta, implementa- mos a nossa soluçao na ferramenta de programaçao orientada a aspectos dinamica JBoss AOP. Note, no entanto, que poderíamos ter implementado a abordagem proposta em qualquer ferramenta de programaçao orientada a aspectos dinamica em Java, ou ainda, em outra linguagem que fornecesse suporte a hot swap. |