1 / 21

Agent-Oriented Programming

Agent-Oriented Programming. Luanda Philippi Remáculo luanda@inf.ufsc.br Sabrina Schürhaus sabrinas@inf.ufsc.br. Agent-Oriented Programming - AOP. Shoham (1993); Agente = entidade que envia e processa mensagens; Diferença entre agentes e objetos: Os campos de uma agente são restritos;

jorn
Download Presentation

Agent-Oriented Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Agent-Oriented Programming Luanda Philippi Remáculo luanda@inf.ufsc.br Sabrina Schürhaus sabrinas@inf.ufsc.br

  2. Agent-Oriented Programming - AOP • Shoham (1993); • Agente = entidade que envia e processa mensagens; • Diferença entre agentes e objetos: • Os campos de uma agente são restritos; • Nos agentes, cada mensagem é também definida em termos de atividades mentais. • Um agente pode ser considerado um objeto, no entanto muitas idéias da teoria dos objetos são esquecidas na AOP.

  3. Sistemas Multiagentes • Criação de entidades de software autônomas - Agentes; • Agentes: interagem através de um ambiente compartilhado por outros agentes de uma sociedade, e atuam sobre esse ambiente, alterando seu estado.

  4. Sistemas Multiagentes • Forma natural que permite analogias diretas com o mundo real e com a forma como raciocinamos sobre ele; • Sistemas computacionais vistos como ambientes onde os agentes atuam; • Nesses ambientes os agentes podem formar grupos, em um nível mais alto de abstração formando comunidades ou sociedades de agentes.

  5. Sistemas Multiagentes • Tipos: • Cognitivos: • Poucos agentes; • Cada agente é um sistema sofisticado e computacionalmente complexo. • Reativos: • Grande número de agentes muito simples; • Seus comportamentos podem ser descritos como autômatos finitos simples; • Agem sob um esquema estímulo-resposta.

  6. Sistemas Multiagentes • Formalismos: • Teoria dos Jogos: • Ferramentas para a decisão de qual estratégia em um jogo abstrato de dois ou mais jogadores é a melhor para os jogadores. • Lógica Matemática: • Lógicas modais complexas para o projeto e desenvolvimento de agentes.

  7. Sistemas Multiagentes • Disciplinas envolvidas no desenvolvimento de SMA: • Psicologia; • Ciência cognitiva; • Sociologia; • Entomologia; • Economia; • Teoria das Organizações; • Teoria dramática; • Antropologia.

  8. Sistemas Multiagentes • Agente: • Estados Mentais: • Crenças; • Objetivos; • Intenções; • Compromissos.

  9. Sistemas Multiagentes • Características: • Técnicas automáticas de decomposição de tarefas e computação distribuída; • Impossível prever todos os casos quem devem ser tratados; • O agente é dito como autônomo; • Os agentes possuem conhecimento incompleto do seu ambiente e seguem o princípio da racionalidade limitada.

  10. Sistemas Multiagentes • Aspectos para compreensão de agentes nos SMA cognitivos: • Percepção; • Ação; • Comunicação; • Representação; • Motivação; • Deliberação; • Raciocínio e aprendizagem.

  11. Arquitetura BDI - Beliefs, Desires, Intentions. • Crenças: agente sabe sobre o estado do ambiente e dos agentes naquele ambiente; • Desejos: estados do mundo que o agente quer atingir; • Intenções: seqüências de ações específicas que um agente se compromete a executar para atingir determinados objetivos.

  12. Linguagem AgentSpeak • Projetada para programação de agentes BDI na forma de sistemas de planejamento reativos; • É extensão natural e elegante de programação em lógica para arquitetura de agentes BDI.

  13. Linguagem AgentSpeak(L) • Um agente AgentSpeak(L) corresponde a especificação de um conjunto de crenças (base inicial do agente) e de um conjunto de planos (biblioteca de planos) • AgentSpeak(L) distingue 2 tipos de objetivos: • Realização(!); • Teste(?).

  14. Linguagem AgentSpeak(L) • Elementos da linguagem: • Eventos ativadores (‘+’) e (‘-’); • Planos (evento ativador + contexto); • +concert(A,V) : likes(A) • !book_tickets(A,V). • +!book_tickets(A,V) : ¬busy(phone) • call(V); • : : :; • !choose_seats(A,V).

  15. Estudo de Caso Robôs coletores de Lixo em Marte • 2 robôs coletando lixo em Marte • r1: procura por lixos e quando encontra leva até r2; • r2 está ao lado de um incinerador. • Agent r2 • +garbage(r2) : true • <- burn(garb). • Agent r1 • Beliefs • pos(r2,2,2). • checking(slots).

  16. Estudo de Caso Robôs coletores de Lixo em Marte • Plans • +pos(r1,X1,Y1) : checking(slots) & not(garbage(r1)) (p1) • <- next(slot). • +garbage(r1) : checking(slots) (p2) • <- !stop(check); • !take(garb,r2); • !continue(check). • +!stop(check) : true (p3) • <- ?pos(r1,X1,Y1); • +pos(back,X1,Y1); • -checking(slots).

  17. Estudo de Caso Robôs coletores de Lixo em Marte • +!take(S,L) : true (p4) • <- !ensure_pick(S); • !go(L); • drop(S). • +!ensure_pick(S) : garbage(r1) (p5) • <- pick(garb); • !ensure_pick(S). • +!ensure_pick(S) : true <- true. (p6)

  18. Estudo de Caso Robôs coletores de Lixo em Marte • +!continue(check) : true (p7) • <- !go(back); • -pos(back,X1,Y1); • +checking(slots); • next(slot). • +!go(L) : pos(L,Xl,Yl) & pos(r1,Xl,Yl) (p8) • <- true. • +!go(L) : true (p9) • <- ?pos(L,Xl,Yl); • moveTowards(Xl,Yl); • !go(L).

  19. Linguagens de Programação a Agentes • Agent-0; • PLACA Extension; • Agente-K Extension; • Agent(): Arquitetura BDI + LISP; • Concurrent METATEM; • STAPLE; • ConGolog; • MINERVA; • 3APL; • Dribble; • AgentTalk; • JAVA

  20. Considerações Finais • Recente; • Há muito o que desenvolver; • Paradigma de Orientação a Agentes;

  21. Referências Bibliográficas • Bordini e Vieira, Linguagens de Programação Orientadas a Agentes: uma introdução baseada em AgenteSpeak(L); http://www.inf.ufrgs.br/~revista/docs/rita10/rita_v10_n1_p7a38.pdf • http://www.cs.berkeley.edu/~davidp/cs263/

More Related