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
Download

UFES - Fabiano da Rocha Louzada