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:
- Reflexão Computacional,
- Meta-programação,
- Orientação à Objetos e
- Sistemas Distribuídos.
Produtos
Os produtos deste projeto foram:
- 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.
- 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.