Using Computational Reflection to Implement Non-functional Aspects in a Distributed File Manager
This project was developed as my undergraduate capstone project. It began in August 1999 and ended in August 2000, under the supervision of Professor Maurício Capobianco Lopes.
Abstract
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.
Outputs
The outputs of this project were:
- BARTH, F. J. . Using computational reflection to implement non-functional aspects in a distributed file manager. Undergraduate capstone project — Regional University of Blumenau, August 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.
If you are interested in the implementation source code or further information, send me an email.