Artigo aceito para publicação

Na semana passada o artigo de título “Uma Arquitetura de Referência para Softwares Assistentes Pessoais Baseada em Agentes e SOA” foi aceito para ser apresentado no evento Wesaac 2011, que deve acontecer entre os dias 27 e 30 de Abril do ano corrente na cidade de Curitiba (PR), Brasil. Neste artigo, agora mais completo, foi apresentada a proposta agora em um estágio mais avançado e final. Conforme agenda do evento, a apresentação se realizará na quinta-feira de tarde, dia 28. Isso soma um total atual de seis artigos publicados em eventos científicos sobre o trabalho.

Em tempo, a primeira versão draft do documento da Tese de Doutorado já foi enviada ao orientador para avaliação, para que novas correções possam ser feitas de modo a amadurecer o trabalho de forma suficiente para ser defendido frente a uma banca de doutorado.

Outra atividade que ainda necessita ser feita é a escrita de um artigo em inglês para ser enviado à uma revista (jornal) internacional de bom conceito. Este é um dos últimos requisitos para que o documento de Tese possa ser defendido.

Quanto à implementação da Arisa, ela se encontra em estágio de espera. Diversos testes foram feitos e sua estabilidade está sendo continuamente testada e avaliada à procura de possíveis bugs. A implementação tem se mostrado estável nos mais diversos módulos e, logo que possível, uma nova faze de desenvolvimento deve iniciar.

Logo postarei notícias sobre a apresentação do artigo no evento Wesaac 2011.

Extração de dados da execução da Arisa

Com o documento da Tese quase terminado, este final de semana foi dedicado a extrair informações dos logs gerados pela execução dos programas que compõe todo o sistema de assistência pessoal, mais especificamente da execução dos comportamentos do assistente pessoal Arisa. Também foram capturadas telas e informações referentes ao processo de compra automatizado. Esses dados serão agora utilizados para a escrita do capítulo de Verificação da Tese, como uma das formas de validação da implementação, que por sua vez está estruturada em cima da Arquitetura de Referência para Assistentes Pessoais orientada a Serviços, proposta na Tese.

Os próximos passos são a escrita do capítulo de Verificação e do capítulo de Considerações Finais. Após isso, o documento deve ser enviado ao orientador para as primeiras sugestões de correções do documento pronto.

Também, foi escrito um artigo com os resultados finais, alcançados até o momento, e enviado para o evento Wesaac 2011, a ser realizado na cidade de Curitiba, nas datas de 27 a 29 de Abril do ano corrente. Os resultados do aceite dos artigos deve sair até dia 5 de Abril.

Por fim, publico hoje no blog uma homenagem à Arisa feita pela minha amiga Fernanda Bueno (Feh), que fez uma releitura do avatar da Arisa-chan. Obrigado Feh!

Versão 1.0 do Sistema Terminada

Hoje foi criado um serviço web de message-box. Este tem a finalidade de gerenciar as mensagens que chegam no GAP (Gerenciador de Assistentes Pessoais), provindas do ISAP (Interface Social para Assistentes Pessoais). Quando uma mensagem que chega no GAP possui um receiver específico, no caso, um comportamento, esta é colocada no message-box com o identificador nome-do-comportamento. Quando o comportamento necessitar, faz a requisição de suas mensagens no message-box.

Também, hoje foram complementadas as operações dos comportamentos de compra. Agora com a possibilidade de alterar uma ordem de compra, interação com o usuário, envio de informações da situação para o usuário e envio de informações para o gerador de relatórios, que deve blogar de noite.

Alguns bugs foram resolvidos em certas operações de serviços web: ws-estoque, ws-fornecedor e outras bibliotecas que ainda não haviam sido testadas.

Alguns testes foram realizados com um certo sucesso e as situações apresentadas foram resolvidas da forma esperada. Dessa forma, hoje, pode-se considerar fechada a implementação da versão 1.0 da instância de implementação do protótipo de Tese de Doutorado, que propõe uma Arquitetura de Referência para Softwares Assistentes Pessoais baseada na Arquitetura Orientada a Serviços, de Saulo Popov Zambiasi, estudante de pós-graduação, nível Doutorado, do Programa de Pós-Graduação em Engenharia de Automação e Sistemas (PPGEAS) da Universidade Federal de Santa Catarina (UFSC).

É claro que ainda podem haver diversos bugs. Contudo, o que foi proposto para o protótipo está implementado e funcionando. Os próximos passos agora são o término da primeira versão da escrita do documento da Tese, refinamentos e correções em conjunto com orientador e, por fim, a defesa da Tese.

De qualquer forma, o fim do Doutorado não implica no fim do projeto, de codinome Arisa, mas sim o início de um grande projeto.

Comportamento de Compra Automática Funcionando

Nesses últimos dias, diversos bugs foram corrigidos, em diversos módulos do sistema, e alguns detalhes visuais dos sistemas foram melhorados, deixando o sistema visualmente mais agradável, principalmente na hora de observar o funcionamento do sistema. Também foi criada uma sessão no GAP para cadastro de Serviços Web, com facilidades para visualização das operações de cada serviço e seus argumentos de entrada.

Os sistemas de controle de Fornecedor e Estoque estavam trabalhando em monossistema. Se eu quisesse que outro usuário tivesse um sistema semelhante, era necessário criar outra base de dados e uma cópia do sistema. Agora estes permitem múltiplas empresas na mesma interface, algo muito importante e que trás facilidades para os testes e validação do sistema como um todo. Com isso, os serviços web de Venda e de Estoque tiveram que ser reestruturados. Incluí também, nos sistemas de Fornecedor e de Estoque, a visualização das ordens de compra/venda e seu estado atual. Essas não podem ser alteradas pelo usuário, são automáticas (pelo menos nessa fase de desenvolvimento/prototipagem).

Foi desenvolvida uma interface web para um sistema de geração automática de relatórios, assim como também um serviço web correspondente para a criação das tarefas e geração do relatório das últimas tarefas executadas. Foi feito um teste com este serviço na última postagem (e primeira) da Arisa. Logo ela deve começar a fazer postagens diárias. Algumas sem sentido, pois serão testes e validações de atividades. Os relatórios são divididos em dois tipos: públicos, que são enviados no blog e privados, que são enviados por e-mail. Isso é diferenciado pelos tipos de tarefas (públicas ou privadas).

Agora, estou salvando os ponteiros de execução dos comportamentos da Arisa. Quando o sistema para, ele não perde mais o ponteiro de execução, recomeçando de onde parou na hora que reinicializa. Também ajeitei as mensagens ISAP/GAP para não serem mais perdidas quando o sistema para. Nada mais no sistema é volátil e se perde quando o sistema para.

No ISAP há uma agenda de contatos, resolvi utilizá-la no GAP também, devido sua praticidade. Para isso, acrescentei algumas operações no serviço web do ISAP.

Por fim, novos serviços de compra (no cliente) e de venda (no fornecedor) foram criados, para serem utilizados no processo de compra automatizada no GAP. Também foram criados, no GAP, os comportamentos de verificação de estoque e geração de ordem de compra, e o comportamento de execução da ordem de compra, que efetivamente faz a compra e paga com cartão de crédito (simulação), atualizando o estoque quando o processo todo com o fornecedor e empresa de cartão de crédito termina.

Nova versão do núcleo do Assistente Pessoal e sua interface web para configuração

Foi terminado hoje o desenvolvimento da segunda versão do módulo central do assistente pessoal, o GAP. Nesta nova versão, a parte de configuração e gerência dos comportamentos foi aperfeiçoada para suportar uma estrutura na forma de algoritmos, conduzindo à uma organizar dos sub-processos dos comportamentos de uma maneira mais eficiente e complexa. A interface web para configuração e gerenciamento, concomitantemente, teve que ser modificada também.

Com essas novas necessidades de modificações, o término do desenvolvimento, que estava planejado para o último domingo, precisou ser reajustado para o próximo. Ainda resta a configuração do comportamento de gerência de estoques e compra automatizada, a ser desenvolvido no GAP. Também, ainda não foi criado o comportamento de compra em BPEL. Ainda há certa dificuldade para a utilização dos recursos para a criação de documentos BPEL, que não é tão trivial quanto deveria ser.

Ainda, hoje foi corrigido um bug no ISAP. O serviço de acesso ao gtalk já se conectava ao servidor quando o daemon era iniciado. Isso já fazia o assistente pessoal aparecer online no gtalk, mesmo o assistente pessoal não estando ligado. Depois de um tempo, o assistente se desconectava.

No GAP-WEB Quando era criada uma nova atividade, todas as subsequentes, inclusive dos outros comportamentos, eram empurradas para frente, incrementando a posição. Isso interferia nos outros comportamentos. Esse problema foi corrigido na adição do código do comportamente na hora de inserir uma nova atividade, na parte da seleção do tipo.

Também foi alterado o modo de recebimento das respostas do GAP para o ISAP. Se a mensagem do usuário foi enviada via algum meio público, mesmo que ele esteja online no Gtalk (para mensagens particular), ele agora passará a receber a resposta no meio público (no caso, timeline do twitter).

Por fim, na hora de editar um comportamento, o sistema parar automaticamente apenas o comportamento  específico, e não o assistente inteiro.