Utilização de reflexão computacional para implementação de aspectos não funcionais em um gerenciador de arquivos distribuídos


Este projeto foi desenvolvido durante o meu Trabalho de Conclusão de Curso (TCC). Este trabalho iniciou em Agosto de 1999 e terminou em Agosto de 2000, sob orientação do Prof. Maurício Capobianco Lopes.

Resumo

Este trabalho descreve modelos e conceitos sobre implementação de reflexão computacional através da orientação a objetos. A reflexão computacional, no modelo de objetos, é utilizada para adaptar e reutilizar sistemas, além de possuir grande aplicabilidade em sistemas com grande complexidade. No contexto deste trabalho, reflexão computacional é utilizada para adicionar novos comportamentos e aspectos não funcionais a um gerenciador de arquivos distribuídos, a fim de avaliar os meta protocolos existentes para a linguagem Java, com a teoria descrita. Exemplos descrevendo os modelos reflexivos, linguagens reflexivas, vantagens e desvantagens, bem como a implementação de novas características adicionadas a um gerenciador de arquivos são discutidas durante o trabalho. A implementação é realizada utilizando as ferramentas OpenJava e Javassist. Para situações em tempo de compilação é utilizado o metaprotocolo do pré-processador OpenJava, e para situações em tempo de execução é utilizado o metaprotocolo da ferramenta Javassist.

As palavras-chave deste trabalho são:

  1. Reflexão Computacional,
  2. Meta-programação,
  3. Orientação à Objetos e
  4. Sistemas Distribuídos.


Produtos

Os produtos deste projeto foram:

  1. BARTH, F. J. . Utilização de reflexão computacional para implementação de aspectos não funcionais em um gerenciador de arquivos distribuídos. Trabalho de Conclusão de Curso - Universidade Regional de Blumenau, Agosto 2000.
  2. LOPES, M. C. ; BARTH, F. J. . Utilização de Reflexão Computacional em um gerenciador de arquivos distribuídos. In: SEMINCO, 2000, Blumenau, SC. Anais do IX Seminário de Computação, 2000. p. 49-61.

Caso você tenha interesse em obter o código fonte das implementações ou outras informações, basta me mandar um e-mail.