|
|
|
|
|
|
As monografias devem ter entre 12 e 16 páginas de extensão, devem ser feitas individualmente e devem apresentar a visão do aluno sobre o assunto abordado. O aluno deverá escrever com suas próprias palavras um resumo geral do tema e, se quiser, a sua opinião sobre o mesmo. Cada tópico poderá ser utilizado por, no máximo, dois alunos. A proposta do trabalho deverá ter entre 2 e 3 páginas explicando o assunto a ser abordado e citando pelo menos 5 referências bibliográficas (artigos, livros e/ou páginas da teia) de onde você vai retirar as informações.
O seminário (individual) será apresentado em aula no final do curso e deverá ter duração de 45 minutos, o que equivale a aproximadamente 30 slides. A proposta do trabalho deverá ter entre 2 e 3 páginas explicando o assunto a ser abordado e citando pelo menos 5 referências bibliográficas (artigos, livros e/ou páginas da teia) de onde você vai retirar as informações. Um requisito necessário para apresentar um seminário é ter obtido nota >= 8.5 na primeira prova. Caso esta nota nao seja obtida, o trabalho passa automaticamente a ser uma monografia.
As implementações de software poderão ser feitas em grupos de 2 a 4 pessoas. A proposta do trabalho deverá ter entre 4 e 6 páginas descrevendo o trabalho que será realizado e contendo uma descrição da arquitetura do sistema a ser implementado. Diagramas UML descrevendo os aspectos estáticos e dinâmicos do sistema serão bem-vindos. A proposta pode ainda conter referências bibliográficas (artigos, livros e/ou páginas da teia) e especificações das interfaces dos subsistemas que serão implementados. O software desenvolvido deverá ser demonstrado para o professor e assistente de ensino em horário a ser agendado. O trabalho final deverá ser entregue sob a forma de um único arquivo comprimido contendo uma página da teia com links para a documentação e para o código-fonte do seu sistema (inclusos no arquivo comprimido. A documentação deverá conter instruções para instalação e execução do código assim como explicações sobre seu funcionamento interno. Um relatório sobre as suas experiências e descobertas ao desenvolver o sistema também seria bem-vindo mas não obrigatório.
Eis um exemplo de
Além dos temas a seguir, você pode sugerir um outro tema para qualquer uma das modalidades. Neste caso, me escreva até meados de maio para sugerir o novo tema.
Sistema de compartilhamento de arquivos. Este sistema será semelhante ao gnutella com a diferença de que os clientes não precisarão obter um arquivo inteiramente de um único outro participante, ou seja, ele pode optar por outro servidor antes que a transferencia do arquivo termine. Um motivo para se fazer a troca poderia ser uma baixa taxa de transferência entre os dois participantes. | |
Software (94 KB) |
Software (179 KB) |
Um sistema de arquivos para o Linux, utilizando a interface padrão (VFS), onde os servidores são implementados em CORBA. A hierarquia de diretórios e os nomes são implementados através de um servidor de nomes padrão de CORBA e os arquivos são objetos CORBA cujo conteúdo é armazenado em disco. |
|
Implementação de Interceptadores CORBA para autenticaçao e controle de acesso a objetos CORBA implementados em Java com a JDK 1.4 (ou em Python). Utilizaçao dos mecanismos de segurança de Java para implementar a autenticaçao. | |
Software (205 KB) |
Implementação de Interceptadores CORBA para compressão das requisições implementado em Java com o JacORB. Deverao ser realizados experimentos para descobrir em quais situaçoes os interceptadores melhoram o desempenho e em quais situaçoes eles introduzem uma sobrecarga indesejável (Glaucio de Siqueira Le, Paulo Marcel Caldeira Yokosawa, Rodrigo Mendes Leme e Rodrigo Simoes de Almeida; leme at linux) | |
Software (12 KB) |
Software (331 KB) |
Gerenciador de Recursos Distribuídos. O sistema mantém informaçoes sobre a utilizaçao de recursos em diversos pontos da rede (e.g. memória, processador e disco) e utiliza essa informaçao para definir onde servidores CORBA ou Java RMI serao executados. A cada servidor estará associado um arquivo (XML?) com a especificaçao dos recursos de que ele necessita. (Eider Oliveira, eider at ime.usp.br) | |
|
MUD Distribuído. Mundo virtual expansível e distribuído permitindo a criação de histórias, personagens, ambientes e objetos; Bem como a interação dos usuários em tempo real. | |
Software (32 KB) |
Compilador de interfaces similar ao rmic para gerar proxies remotos para o Sistema de Memória Compartilhada Distribuída em Java. | |
Software (820 KB) |
TCBnet (Tree Cast Batch network), PUSH de conteúdo P2P. | |
Software (163 KB) |
Setinhas distribuídas: protótipo de um joguinho multiplayer, mas onde a finalidade real é testar a distribuição de objetos como paradigma na programação deste tipo de software. | |
Software (12 KB) |
HyperChat | |
Software (58 KB) |
Processamento distribuído de áudio | |
Software(14 KB) |