Agentes adaptativos às Normas externas N Estudo de Caso: StockAgents Ricardo Gralhoz [email protected] Índice • Motivação N • NoA – A Normative Agent Architecture • Apresentação do Estudo de Caso – Framework – Andamento • Conclusão Laboratório de Engenharia de Software – PUC-Rio Motivação Contexto: • Normas que devem ser obedecidas. • Alterações nas Normas. • Agentes que “entram”. Busca por solução: • Normas são prioridade em relação aos objetivos/intenções dos Agentes; • Normas devem ser externas aos Agentes; • Agentes devem se adaptar às mudanças; • Agentes que entram devem seguir as Normas. Laboratório de Engenharia de Software – PUC-Rio NoA – A Normative Agent Architecture (1/2) Kollingbaum, M. J.; Norman T. J (2003) “NoA – A Normative Agent Architecture”. • E-commerce • Desenvolver agentes motivados por Normas (externas): – obrigações, – permissões, – proibições. • Normas com mais importância do que os desejos e intenções (desires & intentions). Laboratório de Engenharia de Software – PUC-Rio NoA – A Normative Agent Architecture (2/2) Kollingbaum, M. J.; Norman T. J (2003) “NoA – A Normative Agent Architecture”. • Elementos da arquitetura – Linguagem NoA - especificar Planos e Normas . – Interpretador NoA - interpretar a executar especificações de Planos e Normas. • Não prevê Adaptabilidade!! Laboratório de Engenharia de Software – PUC-Rio StockAgents: Um Sistema para Apoio às Decisões de Investidores de Ações (instanciação do framework) Ricardo Gralhoz [email protected] Índice (Estudo de Caso) – Motivação • Análise do Domínio • O Framework – Frozen-spots (Pontos fixos) – Hot-spots (Pontos flexíveis) • Análise dos Agentes • Instanciação • Andamento Laboratório de Engenharia de Software – PUC-Rio Motivação • Estudo de caso em pesquisas desenvolvidas no contexto do Seminário de Governança de Sistemas Multi-Agentes Abertos; • Proposta para Trabalho Final da disciplina Projeto de Sistemas de Software; • A possibilidade real de realização de ganhos financeiros; Laboratório de Engenharia de Software – PUC-Rio Motivação • Estudo de caso – Por quê? – Agentes adaptativos? – Organização dos agentes? – Normas? N Laboratório de Engenharia de Software – PUC-Rio Análise do Domínio • O sistema deve: – Monitorar o mercado acionário; – Indicar momentos de compra e venda de ações; – Respeitar o perfil de cada um dos investidores; – Atender aos critérios de satisfação, a respeito do desempenho. Laboratório de Engenharia de Software – PUC-Rio Análise do Domínio • Os principais serviços são: – – – – Cadastro do Perfil do Usuário; Acompanhamento do Portfólio do Usuário; Monitoramento do mercado de ações; Armazenamento de informações do mercado de ações na Base de Conhecimento; – Análise do mercado de ações e decisão de compra/venda de ação, de acordo com sua estratégia; – Guardar histórico das decisões na Base de Conhecimento; – Enviar oferta de compra/venda de ações ao Mercado, de acordo com as decisões, com o Portfólio e com o Perfil do usuário; Laboratório de Engenharia de Software – PUC-Rio O Framework: Frozen-spots • Critérios de avaliação do desempenho do sistema; • Interface com o Usuário: – Perfil do Usuário, N – Acompanhamento do Portfólio; • Armazenamento / busca de informações na Base de Conhecimento; Laboratório de Engenharia de Software – PUC-Rio O Framework: Hot-spots • Monitoramento (Recepção das informações) do mercado de ações – extração HTML; – arquivo da Bovespa; – rádio / satélite por prestadora de serviços • Estratégias de análise e decisão de compra/venda de ações disponíveis; – Método da agulhada do Didi (03 médias móveis); – Exponencial suavizada; – Outros métodos / combinações destes • Envio de oferta de compra/venda de ações ao Mercado. – Atuação direta no mercado (corretora) – Aviso ao usuário via Interface Gráfica – SMS ao celular Laboratório de Engenharia de Software – PUC-Rio Análise dos Agentes Agente UserAgent ; U A Agente MarketMonitor ; MM Agente StockAnalyst ; SA Agente StockMarketBroker . SMB Laboratório de Engenharia de Software – PUC-Rio Análise dos Agentes N N Usuário Bolsa U A SMB BC N MM Bolsa Laboratório de Engenharia de Software – PUC-Rio SA Análise dos Agentes • Agente UserAgent Responsável por fazer a interface com U oAUsuário. – Cadastra informações sobre o Usuário; – Cadastra informações sobre Perfil do Usuário; N – Permite ao Usuário o acompanhamento do Portfólio; – Envia alterações das informações sobre Perfil do Usuário ao Agente StockMarketBroker ; – Permite a avaliação do desempenho do Sistema em relação ao Portfólio. Laboratório de Engenharia de Software – PUC-Rio Análise dos Agentes • Agente MarketMonitor ; MM Responsável por monitorar preços e informações do mercado sobre uma determinada ação; – Monitora o mercado de ações; – Armazena informações do mercado de ações na Base de Conhecimento; – Envia um aviso ao Agente StockAnalyst sobre novas informações sobre o mercado. Laboratório de Engenharia de Software – PUC-Rio Análise dos Agentes • Agente StockAnalyst ; SA Responsável por gerar recomendações de compra ou venda de ações; – Busca informações do mercado de ações na Base de Conhecimento; – Analisa o mercado de ações e decide o momento de compra/venda, de acordo com sua estratégia; – Armazena decisão de compra/venda na Base de Conhecimento; – Envia um aviso ao Agente StockMarketBroker sobre nova decisão de compra/venda . N Laboratório de Engenharia de Software – PUC-Rio Análise dos Agentes • Agente StockMarketBroker ; SMB Responsável por comprar ou vender as ações no mercado, respeitando as preferências do cliente ; – Busca informações sobre Portfólio do Usuário na Base de Conhecimento; – Busca informações sobre Perfil do Usuário na Base de Conhecimento; – Busca informações sobre decisão de compra/venda e sobre ação na Base de Conhecimento; – Decide comprar/vender ação do Portfólio; N – Envia oferta de compra/venda de ações ao Mercado. Laboratório de Engenharia de Software – PUC-Rio N Instanciação 1. Recepção das informações do mercado de ações: – Recuperação via extração HTML; • Site do Infomoney Laboratório de Engenharia de Software – PUC-Rio Instanciação 2. Estratégias de análise e decisão de compra/venda de ações disponíveis: – Método da agulhada do Didi (03 médias móveis); – Exponencial suavizada; – Outros métodos / combinações destes. – Qual? Laboratório de Engenharia de Software – PUC-Rio Instanciação 3. Envio de oferta de compra/venda de ações ao Mercado. – Aviso ao usuário via Interface Gráfica Laboratório de Engenharia de Software – PUC-Rio Andamento • O que já existe... – Diversas classes (?) criadas – Interface de entrada (quase) implementada – Sem documentação • Trabalho relacionado – Virtual Broker Laboratório de Engenharia de Software – PUC-Rio Andamento • O que está sendo feito... – Estudo das classes existentes – Implementação de algoritmo Preditor – Pesquisa sobre agentes normativos e agentes adaptativos Laboratório de Engenharia de Software – PUC-Rio Conclusão • Objetivos a alcançar – Preparar um ambiente onde possam ser testados / avaliados os conceitos – Propor um melhoria à arquitetura • Estratégia de decisão após predição: – Agentes adaptativos? – Organização dos agentes? – Normas? • Outras questões... Laboratório de Engenharia de Software – PUC-Rio