Relatório 10/11/2009

Durante a segunda etapa do projeto, consolidamos nosso entendimento sobre o protocolo ed2k através da própria evolução dos trabalhos. No que diz respeito ao desenvolvimento, as seguintes atividades foram realizadas:

Documentação

Houve uma melhoria também na documentação do projeto. A wiki foi populada com informações adicionais, como os casos de uso do DonkeySurvey, e um sistema de tickets foi configurado para gerenciar as tarefas da equipe.

Atualmente técnicos da Procuradoria da República do Estado de São Paulo (PRSP) acompanham o desenvolvimento do DonkeySurvey através do trac e frequentemente colaboram com decisões de projeto.

Testes Automatizados

Foram desenvolvidos scripts para realização de testes automatizados que produzem um fluxo completo de informações trocadas numa transferência de arquivos.

As saídas destes scripts são armazenadas em arquivos de logs e posteriormente analisadas para acompanhamento do protocolo em detalhes. Desta forma foi possível fazer um mapeamento de todos os tipos de mensagens (Opcodes) e seus respectivos eventos, guiando a implementação do GUIProtocol.

Um ambiente de testes dedicado foi configurado em duas máquinas virtuais GNU/Linux, garantindo assim um maior controle sobre os testes de transferência de arquivos e seus respectivos eventos nos peers. Além dessas duas máquinas (com endereçamento IP verdadeiro, HighID na rede ed2k), utilizamos nossas máquinas pessoais (LowID) e algumas dos laboratórios do IME-USP (LCPD e Eclipse) para melhor analisar uma rede com diversos peers.

Foram implementados alguns testes unitários para o módulo de acesso ao banco de dados (Data Access Objects). Utilizamos o framework de teste  PyUnit, uma versão do JUnit desenvolvida na linguagem Python.

Codificação

Após o levantamento dos Opcodes que ocorrem nas trocas de mensagens entre o servidor mlnet e o DonkeySurvey, os mesmos foram decodificados, extraindo assim as informações necessárias para a persistência.

Foi desenvolvido o módulo de persistência dos dados obtidos através da comunicação entre o servidor mlnet e o DonkeySurvey em uma base mysql.

Uma refatoração inicial foi feita, em todo o código até aqui produzido.

Ao final desta etapa, consideramos que o desenvolvimento está evoluindo satisfatoriamente. Na próxima fase pretendemos investir na refatoração do código e na implementação de um caso de uso simples, como prova de conceito do DonkeySurvey.