Lista (preliminar) de assuntos para o trabalho T1 da Disciplina Introdução à Computação Móvel – 2007.2 Observações: A plataforma de implementação deverá ser Java.(inclusive interfaces Web). Na especificação do projeto, deve ser mencionado como, usando quais tecnologias, o serviço/aplicação será implementado. 1) Serviço e protocolo para o cadastro de usuários MoCA e suas preferências de configuração de aplicações. O serviço deverá ser um sistema cliente/servidor. O servidor deve prover uma interface para que um cliente administrador remoto possa cadastrar/remover usuários, fornecendo: Username, Email, e uma lista (Aplicação, Lista-dePreferências), onde cada Preferência é um par (Parâmetro, Valor), ambos strings, dados que devem ser persistidos em arquivo. O cliente móvel deverá ter uma GUI para a sua autenticação junto à MoCA (fornecendo Username e senha). Além disso, o cliente móvel deve consultar o Monitor executando no dispositivo para obter o MacAddress do dispositivo e enviar esta informação ao servidor durante a autenticação. Note que o servidor deve permitir que um mesmo Username esteja associado simultaneamente a vários MacAddress (p.ex. se ele está usando um notebook e um palmtop). Além disso, o servidor deve fornecer uma API com duas operações a serem usadas por aplicações da MoCA. getdevices(<string> Username): <list of> <string> MACaddress getusername(<string> MACAddress): <string> username getpreferences (<string> Username, <string> Application): <list of preferences> 2) API para streams configuráveis usando RTP: como é sabido, o RTP contém uma série de parâmetros de codificação e controle. O objetivo deste trabalho é criar uma API do RTP para java simples (a exemplo das APIs de comunicação da MoCA) e que permita uma configurção dinâmica de alguns parâmetros referentes ao tipo de codificação e a qualidade dos dados sendo transmitidos. A ideia é que o valor para estes parâmetros possa ser modificado durante a transmissão do stream pela aplicação, de acordo com a qualidade do enlace sem fio. 3) Uma API para protocolo de transporte configurável: atualmente, a MoCA permite o uso de TCP ou UDP para comunicação bidirecional e unidirecional, mas este uso é mutualmente exclusivo. O objetivo é implementar uma API mais genérica, que utilize as APIs existentes, e que permita um chaveamento dinâmico e suave entre um protocolo e outro, sem a perda de dados. Note que esta API irá requerer um pequeno protocolo de handshaking entre o emissor e o receptor, para que estes possam chavear entre os protocolos de transporte de forma sincronizada. 4) Monitor de aplicações: a exemplo do Monitor/MoCA atual, que monitora o estado dos recursos e da conectividade, neste trabalho voce deve implementar um Monitor para Windows Mobile 5.0 acessa o sistema operacional, para coletar dados sobre as aplicações ativas no dispositivo e a atividade do usuário, e que utilize a API do ECI para publicar dados estatísticos sobre este uso. Alguns dados poderiam ser: 1. Lista de aplicações ativas {de um conjunto pré-definido, fornecido em um arquivo de configuração} 2. A aplicação recebendo eventos de entrada do usuário (evntos pela GUI) 3. Periodicamente, contabilizar o tempo de inatividade do usuário (publicar um evento se for > 1 minuto, ou se for menor do que 5s) 5) Um browser para Informações de Contexto e Localização: um cliente do CIS e LIS com uma interface gráfica que permita a navegação na base de dados do CIS e do LIS, fornecendo informações sobre: conjunto de dispositivos sendo monitorados; valor atual de determinado atributo de contexto de um ou mais dispositivos; hierarquias de áreas simbólicas cadastradas no LIS/SRM; display da área simbólica momentaneamente inferida pelo LIS para um determinado dispositivo; etc. O browser poderia ter uma GUI parecida com o browser de componentes CCM (http://openccm.objectweb.org/images/ccm_explorer_screenshot_0_9.pn g) 6) Monitor para Symbian: (Luiz Valente) 7) Serviço de gerenciamento organizacional: O serviço deverá ser um sistema cliente/servidor que provê uma interface para que um cliente administrador remoto possa gerenciar a descrição administrativa/topológica de uma dada organização, de acordo com uma ontologia instanciada a partir da ontologia "moca-ont". Essas informações devem ser armazenadas num arquivo no formato ".owl". Um cliente deverá ser capaz de efetuar consultas síncronas e também de subscrever o serviço para ser notificado sobre alterações realizadas pelo cliente administrador. O servidor deve fornecer APIs convenientes para serem usadas por aplicações da MoCA.