You are on page 1of 29

Wesaac 2011

Uma Arquitetura de Referência para


Softwares Assistentes Pessoais
Baseada em Agentes e SOA

Saulo Popov Zambiasi, Ricardo José Rabelo


popov@gsigma.ufsc.br, rabelo@das.ufsc.br
Problemática Geral

• Softwares fornecendo assistência nas atividades rotineiras


das pessoas.
• Propostas existentes atacam problemas isolados e sem
integração com os ambientes empresariais.
• São softwares implementados como sistemas independentes
dos demais da empresa sem interação ou interoperação.
• São, em geral, softwares fechados.
• Necessidade de escalabilidade e flexibilidade, considerando a
evolução temporal da empresa e das pessoas.
• Nenhum dos projetos estudados sugere especificações ou
padronizações para interoperabilidade com outras aplicações
de forma aberta.
• Nenhum apresenta um modelo ou arquitetura de referência
para o desenvolvimento de softwares assistentes pessoais
com padrões suficientes para manter a interoperabilidade.
Objetivo

Este trabalho propõe uma arquitetura aberta de referência para


softwares assistentes pessoais, que possa gerar
implementações interoperáveis e customizáveis para se
adequarem aos processos de negócios da empresa e que
possam auxiliar os usuários em suas tarefas diárias.
Softwares Assistentes Pessoais

• Softwares Assistentes Pessoais - Agentes.


• Avalia a situação do usuário e das tarefas e responde com
uma atividade de auxílio ao usuário (percepção e ação).
• Pode substituir uma pessoa em várias situações.
• Devem saber negociar, aprender, ter portabilidade e
mobilidade, principalmente no cenário da computação móvel.
• Deve ser baseado em rede, ser interativo, adaptativo, de
propósito geral, de execução autônoma.
• A assistência envolve recuperação de informação,
negociação e coordenação. Huhns sugere a utilização de
serviços web pela flexibilidade e interoperabilidade.
Softwares Assistentes Pessoais

• Características:
– Atuar com certa autonomia em suas tarefas;
– Ser flexível à novas situações e cenários de negócios;
– Ser adaptável ao usuário, conforme informações, preferências,
necessidades, situação atual, e evolução das informações;
– Interagir com o usuário;
– Ser baseado em rede, para buscar informações na Internet e
interagir com outros sistemas;
– Ser de propósito geral, ou seja, não específico à apenas uma
atividade ou um grupo de usuários, adaptando-se aos propósitos
do seu usuário;
– Ser integrado e interoperável aos processos de negócios
da empresa.
Proposta

Modelo de
Referência
Arquitetura de Arquitetura de
Referência Software
Estilo
Arquitetural

SOA
Modelo de Referência
Visão Geral
Arquitetura de Referência
Arquitetura de Referência

Tipos de Usuários

• Usuário Simples: cadastra um assistente pessoal, configura


comportamentos e as informações dos comportamentos do
seu assistente.
• Usuário Avançado: pode compor comportamentos mais
complexos no assistente via interface de algoritmos ou
fluxogramas.
• Desenvolvedor de serviços web: Desenvolve serviços
web que podem ser utilizados para compor comportamentos.
• Desenvolvedor de serviços de interoperabilidade:
Desenvolve interfaces de serviços web baseados em SOA da
OASIS para sistemas fora desse padrão.
Arquitetura de Referência

Tipos de Comportamentos

• Comportamento Simples:
– Informações para a chamada do serviço web;
– Executado toda vez que o comportamento é chamado;
– Envia parâmetros de entrada e retorna um resultado.
• Comportamento Condicional:
– Informações para chamada de serviço web;
– Especificações condicionais para a execução do comportamento.
• Comportamento Complexo:
– Conhecimento mais avançado do usuário.
– Modelagem de comportamento na forma de um fluxograma, ou
algoritmo, com laços, condicionais e outros elementos.
Protótipo

Estudo de Caso

• Funcionário deve gerenciar o estoque de produtos.


• Quando o estoque de um produto se encontra a baixo de um
limite mínimo, então deve efetuar nova compra.
• Conforme produtos são retirados do estoque, sua quantidade
diminui.
• No final do dia, o funcionário faz um relatório das atividades
realizadas durante todo o dia.
• Um assistente deve ser utilizado para auxiliar o funcionário.
• Comunicação usuário-assistente via aplicações que não
precisam ser instaladas em seu computador e que podem
ser acessadas de qualquer lugar, inclusive do celular.
• Exemplo: Mensagens via Twitter, Gtalk, e-mail, ou
mensagem de texto no celular.
Interface de Configuração do AP
Interface dos Comportamentos
Estudo de Caso x Arquitetura
Comportamentos no GAP

• AtualizaHora: atualizar data e horário.


• ISAPalive: avisa o ISAP que o assistente está em execução.
• mbox: Verifica e busca mensagens do usuário.
• Report: Gera os relatórios via e-mail ou via Blog.
• Compra-ordem: Se um produto está com estoque baixo,
gera uma ordem de compra para um fornecedor selecionado.
• Compra: Se ordem alterada, consulta confirmação do
usuário. Se aceita, efetua o pagamento e finaliza a compra.
Ordem cancelada seleciona outro fornecedor.
• Compra-altera: Aguarda a confirmação do usuário. Se
alteração da ordem confirmada, então volta ao estado
aberta. Se cancelada, então cancela a ordem no wsOrdem e
no wsVenda.
Exemplo de Comportamento
Estudo de Caso: Estado Inicial
Estudo de Caso: Alteração

17 Produtos
serão vendidos,
sobrando
apenas 3
produtos.
Estudo de Caso

• Compra-ordem verifica que um produto está com estoque


baixo e gera uma nova ordem de compra no sistema de
estoque e envia para o fornecedor selecionado.
• O fornecedor não possui a quantidade requerida e altera a
ordem. O comportamento Compra envia uma mensagem ao
usuário requisitando confirmação da alteração.
• O usuário envia uma mensagem para cancelar a ordem.
• Compra-altera recebe a mensagem e cancela a ordem.
• Uma nova ordem é gerada por Compra-ordem para o
produto, mas com outro fornecedor selecionado.
• O fornecedor possui os produtos requisitados e o processo
de compra é finalizado.
• Ao final do dia, um relatório é gerado e enviado ao usuário.
Estudo de Caso: Interação
Estudo de Caso: Ordens
Estudo de Caso: Relatório e-mail
Exemplo de Relatório via Blog
Exemplo de interação via Twitter
Exemplo de Interação via Text
Considerações Finais

• Foi apresentada uma proposta para uma Arquitetura de


Referência para Softwares Assistentes Pessoais.
• Apropriação da Arquitetura Orientada à Serviços como estilo
arquitetural;
• Apropriação dos conceito de Agentes.

Resultados de testes sob a implementação

• A instância se comportou conforme o que foi proposto;


• Executou corretamente as ações associadas aos
comportamentos do processo de negócio do estudo de caso.
Considerações Finais

• Todavia ainda existem enormes desafios à serem


enfrentados na área de assistentes pessoais
• Também, limitações das TIs atuais para certos propósitos:
– Problema de interoperabilidade
– Impactos organizacionais
– Complexidade do problema de composição de comportamentos
dentro da abordagem SOA, etc.

Esse trabalho veio no sentido de oferecer uma contribuição


para a área de assistentes pessoais mais flexíveis, mais
interoperáveis, e mais integrados ao mundo das
empresas/processos de negócios.
Wesaac 2011

Uma Arquitetura de Referência para


Softwares Assistentes Pessoais
Baseada em Agentes e SOA

Saulo Popov Zambiasi, Ricardo José Rabelo


popov@gsigma.ufsc.br, rabelo@das.ufsc.br

You might also like