Mestrado em Informática Ontologias e Desenvolvimento Baseado em Agentes Caio Barbosa Fabiano Louzada Ontologias para Engenharia de Software Prof. Ricardo de Almeida Falbo UFES Agenda • Sistemas Baseados em Agentes • Agentes • Sistemas Multiagentes • Ontologias e Sistemas Baseados em Agentes • Aplicações Ontologias para Engenharia de Software UFES Sistemas baseados em Agentes O que são Sistemas Baseados em Agentes? Sistemas capazes de decidir por eles mesmos o que deve ser feito a fim de satisfazer seus objetivos projetados. Quando usar Agentes em Sistemas de Informação? a. O domínio envolve uma inerente distribuição de dados, capacidades para resolução de problemas e responsabilidades; b. Necessidade de autonomia das subpartes envolvidas; c. Interações sofisticadas, incluindo negociação, compartilhamento de informações e coordenação; d. Imprevisibilidade e dinamicidade dos processos de negócio e da necessidade de capacidade proativa. Ontologias para Engenharia de Software UFES Agentes Um agente é tudo o que pode ser considerado capaz de perceber seu ambiente por meio de sensores e de agir sobre esse ambiente por intermédio de atuadores (Russel e Norvig, 2004). Ontologias para Engenharia de Software UFES Agentes Agente Racional – Age no sentido de maximizar seus benefícios e minimizar suas perdas, dada uma sequência de percepções vistas até o momento (Russel e Norvig, 2004). Agente Autônomo – Quando um agente se baseia não somente no conhecimento anterior de seu projetista, mas também em suas próprias percepções (Russel e Norvig, 2004). Ontologias para Engenharia de Software UFES Agentes Agente Inteligente: É capaz de ações autônomas flexíveis (Wooldridge, 1999, apud Schwambach, 2004). Flexibilidade: Reatividade: capacidade de perceber seu ambiente e responder em tempo hábil às mudanças que ocorrem. Pró-atividade: capacidade de exibir um comportamento direcionado a meta, tomando a iniciativa. Habilidade social: capacidade de interagir com outros agentes. Ontologias para Engenharia de Software UFES Agentes Funcionamento: Um agente, tipicamente, sente seu ambiente utilizando sensores e disponibiliza um repertório de ações que podem ser executadas para modificar o ambiente (Wooldridge, 1999, apud Schwambach, 2004). Ontologias para Engenharia de Software UFES Sistemas Multiagentes Sistema que contém uma coleção de dois ou mais agentes. Deve conter pelo menos um agente autônomo. Outro requisito dos sistemas multiagentes é que deve haver alguma interação entre os agentes, onde um satisfaz os objetivos de outro (D’Inverno e Luck, 2004). Ontologias para Engenharia de Software UFES Sistemas Multiagentes Tipos de Interação: Coordenação: gerenciar as dependências entre diferentes atividades, de forma que as ações dos diferentes agentes sejam sincronizadas e o trabalho dobrado seja evitado. Cooperação: trabalhar juntos em busca de um objetivo comum. Negociação: chegar a um acordo que seja aceitável para todas as partes envolvidas. Ontologias para Engenharia de Software UFES Sistemas Multiagentes Por definição não há centralização em SMAs, então, os agentes devem ser capazes de, por eles mesmos, determinar os objetivos que compartilham com outros agentes, determinar tarefas comuns, evitar conflitos desnecessários e reunir conhecimento e evidência. Ontologias para Engenharia de Software UFES Ontologias e Sistemas Baseados em Agentes Na área da Ciência da Computação uma definição de ontologia seria “uma especificação formal e explícita de uma conceitualização compartilhada” (Gruber, 1995, apud Azevedo et. al., 2012), onde: • • • • Formal implica em ser declarativamente definida, portanto, compreensível para agentes e sistemas; Explícita significa que os elementos e suas restrições estão claramente definidos; Conceitualização trata de um modelo abstrato de uma área de conhecimento; Compartilhada, indica um conhecimento consensual. Ontologias para Engenharia de Software UFES Ontologias e Sistemas Baseados em Agentes Aplicações de Ontologias • Interoperabilidade semântica • Base de conhecimento Ontologias para Engenharia de Software UFES Aplicações • AutoCore - Sistema Autonômico baseado em ontologias e agentes inteligentes para uso em segurança da informação (Azevedo et. al., 2012). • Agentes e Ontologias de Negociação (Moreira,[20--]. Ontologias para Engenharia de Software UFES AutoCore O AutoCore é um sistema baseado em agente que possui autonomia para realizar correções preventivas e analisar ataques em tempo real (Azevedo et. al., 2012). O AutoCore faz uso de uma ontologia de domínio como base de conhecimento. Esta ontologia é denominada CoreSec e modela elementos do domínio relacionado à segurança da informação (Azevedo et. al., 2012). Ontologias para Engenharia de Software UFES AutoCore – Ontologia CoreSec Fonte: Azevedo et. al., 2012. Ontologias para Engenharia de Software UFES AutoCore - Arquitetura Fonte: Azevedo et. al., 2012. Ontologias para Engenharia de Software UFES Agentes e Ontologias de Negociação A negociação é definida como dois ou mais agentes que tomam decisões sobre pontos de interesse em comum. (Dong, Hussain and Chang, 2008 apud Moreira, [20--]). A ontologia, como uma tecnologia de modelagem em web semântica, é considerada um instrumento eficaz para melhorar a capacidade de negociação dos agentes, porque pode fornecer expressões semânticas mais ricas para o processo (Moreira, [20--]). Ontologias para Engenharia de Software UFES Agentes e Ontologias de Negociação Na ontologia de negociação tradicional, quando um agente novo quer participar do processo de negociação, ele tem que ser reprogramado para atender os protocolos utilizados. Aplicando a ontologia de negociação no domínio de e-business, uma solução para esse problema baseia-se em uma arquitetura de ontologias composta de duas camadas (Malucelli, Palzer e Oliveira apud Moreira, [20--]): Primeira camada - Ontologia chamada de e-commerce que contem os termos e as mensagens utilizadas no processo de negociação que são compartilhadas entre todos os agentes. Segunda camada - Para uma negociação específica, o agente é codificado com a ontologia específica de domínio. Ontologias para Engenharia de Software UFES Primeira Camada – Ontologia de ecommerce Fonte: Moreira, [20--]. Ontologias para Engenharia de Software UFES Segunda Camada – Ontologia de Domínio Específico Ontologias para Engenharia de Software UFES Fonte: Moreira, [20--]. Agentes e Ontologias de Negociação Ontologias para Engenharia de Software Fonte: Moreira, [20--]. UFES Referências Bibliográficas Azevedo, R. R., Dias, G. A., Freitas, F. L. G., Veras, W. C., Rocha, R. Um sistema autonômico baseado em ontologias e agentes inteligentes para uso em segurança da informação. In: Encontros Bibli, v. 17, n. 35, set./dez., 2012, p. 167 - 184. D’Inverno, M., Luck, M. Understanding Agent Systems. 2nd ed. rev. and ext. Berlin; New York: Springer-Verlag, 2004. Moreira, V. Ontologias em sistemas multi-agentes. Universidade Estadual de Campinas, [20--]. Russell, S., Norvig, P. Inteligência Artificial. Tradução de PubliCare Consultoria, Artificial Intelligence. 2. ed. Rio de Janeiro: Elsevier, 2004. Schwambach, M. M. OplA: Uma Metodologia para o Desenvolvimento de Sistemas Baseados em Agentes e Objetos. Dissertação de Mestrado, UFES, 2004. Ontologias para Engenharia de Software UFES Mestrado em Informática OBRIGADO! Caio Barbosa Fabiano Louzada Ontologias para Engenharia de Software Prof. Ricardo de Almeida Falbo UFES