A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Programação Orientada a Agentes Ana Carla Santos Flávia Amaral Jin Jing Yi.

Apresentações semelhantes


Apresentação em tema: "Programação Orientada a Agentes Ana Carla Santos Flávia Amaral Jin Jing Yi."— Transcrição da apresentação:

1 Programação Orientada a Agentes Ana Carla Santos Flávia Amaral Jin Jing Yi

2 Kasbah: virtual marketplace n Como implementar? Data Máxima Preço Desejável Preço Mínimo Função de decaimento de Preço Ciclos Fatores Humanos Ações bobas Experiência Positiva Fechar Negociação Novas Implementações

3 AOP n Ferramentas, técnicas e metáforas para melhorar a forma com que as pessoas concebem e implementam uma variedade de software

4 Os Agentes do Sistema Sistema Descobrir quais são os agentes do sistema... Implementar usando uma estrutura de software para agentes!

5 Cooperação Coordenação Negociação Agente x Multi-Agente

6 Engenharia de Software baseada em Agentes n Programas desenvolvidos por várias pessoas, em linguagens diferentes provendo interfaces diversas. n Agentes de Software, componentes de software que se comunicam através de uma linguagem de comunicação de Agentes. n Um Agente provê uma interface independente de seus dados e algoritmos

7 Engenharia de Software baseada em Agentes n Linguagem de Comunicação Universal n Problemas das linguagens procedimentais –Informações sobre o receptor não estão disponíveis para o transmissor –Unidirecional n Abordagem Declarativa –Troca de sentenças –Compacta e Expressiva

8 ACL n Vocabulário –Dicionário –Múltiplas Ontologias n Inner language - KIF –Representação de conhecimento –Lógica de Predicado de Primeira Ordem n Outer language - KQML –Comunicação entre Agentes –Contexto

9 Aplicações n Controle de Processos n Telecomunicações n Controle de Tráfego Aéreo n Comércio Eletrônico n Jogos n Monitoramento de Pacientes

10 OOP vs.AOP

11 Sistemas baseados em Agentes n Aqueles que empregam, em alguma das fases de desenvolvimento ( análise, projeto ou implementação), a abstração de agentes.

12 Armadilhas no Desenvolvimento Orientado a Agentes n Pouco esforço dedicado ao entendimento de como desenvolver sistemas baseados em agentes n Tecnologia imatura e ainda não testada suficientemente n Desenvolvedores tendem a cair nas mesmas armadilhas

13 Armadilhas n Achar que os agentes resolvem tudo n Não saber para que agentes n Querer construir soluções gerais para problemas específicos n Confundir protótipos com sistemas

14 Armadilhas n Confundir palavras badaladas com conceitos n Esquecer que está desenvolvendo software n Não pesquisar a tecnologia relacionada

15 Armadilhas n Não explorar concorrência n Ignorar os padrões de fato n Decidir criar sua própria arquitetura de agentes n Pensar que sua arquitetura é genérica

16 Armadilhas n Utilizar muita IA n Não utilizar IA n Utilizar agentes para tudo n Utilizar agentes demais n Utilizar poucos agentes

17 Uma metodologia para Análise Orientada a Agentes Sistema de segurança protocolosresponsabilidadespermissões de sobrevivência Papel

18 Modelagem dos Papéis n Os papéis identificam as principais funções do sistema n Na fase de projeto, cada papel será associado a um ou mais agentes n Exemplo: –Num escritório, alguns papéis seriam: < Secretária < CofeeFiller (Preenchedor de café)

19 Papéis (Roles) n São caracterizados por três tipos de atributos: –Permissões < informações ou conhecimento disponível ao agente –Protocolos < ações que o agente é capaz de executar –Responsabilidades < o que o agente deve fazer e manter como invariante

20 Exemplo: CoffeeFiller n Permissões –leitura < coffeeMaker (nome do coffee maker) < coffeeStatus (full or empty) –escrita < coffeeStock (nível da garrafa de café)

21 Exemplo: CoffeeFiller n Protocolos –Fill –InformWorkers –CheckStock –AwaitEmpty

22 Exemplo: CoffeeFiller n Responsabilidades –de sobrevivência (liveness) < sempre que o café acabar, preencha sempre que preencher informe os empregados CofeeFiller=(Fill.InformWorkers.CheckStock.AwaitEmpty) –de segurança (safety) < coffeeStock 0

23 Expressões de Sobrevivêmcia n Define o ciclo de vida de um papel n São essencialmente expressões regulares x.y x seguido de y x|y x ou y ocorre x* x ocorre 0 ou mais vezes x+ x ocorre 1 ou mais vezes x x ocorre infinitamente [x] x é opcional x||y x e y se sobrepõem

24 Esquema do Papel ROLE SCHEMA : CoffeeFiller PROTOCOLS : Fill, InformWorkers, CheckStock, AwaitEmpty PERMISSIONS : reads coffeeMaker //name of the coffee maker coffeeStatus //full or empty changes coffeeStock // stock level of coffee RESPONSABILITIES LIVENESS: CofeeFiller=(Fill.InformWorkers.CheckStock.AwaitEmpty) SAFETY: coffeeStock 0 DESCRIPTION : This role involves ensuring that coffee is kept filled, and informing the workers when fresh coffee has been brewed.

25 Processo de Análise n Identificar os papéis do sistema n Para cada papel, identificar e documentar os protocolos n Elaborar o modelo de cada papel

26 Uma vez tudo bem claro, como implementar? n Linguagem de uso geral (OOP) + vários pacotes (JatLite, JEOPS,...) n Linguagem específica para AOP

27 Componentes de estado mental de um agente n Decisão (ou escolha) - O que determina a ação de um agente. n Crença - O que restringe a decisão de um agente, embora não determina. n Capacidade - O que determina a decisão de um agente.

28 Exemplo n Um robô tem como missão ir de A até B: –capacidade: mover-se em todas as direções e perceber o ambiente através de sensores. –decisão: mover-se na direção do B enquanto o caminho estiver livre. n Encontra uma passagem estreita: –crença: não é capaz de passar. –decisão: procurar outro caminho.

29 Uma linguagem de especificação de agentes n Tempo –segurar(robob, copo) t n Ação –levantar_braço(robob) t n Crença –B a t –Ex.: B a 3 B b 10 gosta(a,b) 7

30 Uma linguagem de especificação de agentes n Obrigação –OBL a,b t n Decisão –DEC a t = def OBL a,a t n Capacidade –CAN a t –ABLE a = CAN a time( )

31 Restrições das componentes mentais n Consistência interna - todas crenças e obrigações devem ser consistentes entre si. n Boa fé - o agente deve executar ações que ele crê que é capaz. n Introspecção - o agente deve estar ciente das suas obrigações. n Persistência do estado mental - o agente deve permanecer no estado mental até que uma proposição contrária aconteça.

32 n O papel de um programa orientado a agentes é controlar a evolução do estado mental dos agentes. Programação em agentes

33 Estrutura de um interpretador de agentes genérico Atualizar estado mental Representação do estado mental e capacidade Executar obrigações no tempo atual Clock Inicialização do estado mental mensagem de saída mensagem de entrada

34 Agent-0: primeira linguagem orientada a agentes n Sintaxe –Comandos de fatos –Comandos de ação privada –Comandos de ação comunicativa –Comandos de ação condicional –Variáveis –Regras de compromisso

35 Agent Builder

36

37 Conclusões n Estudar o problema para definir que metodologia usar n Usar um bom ambiente de desenvolvimento

38 Referências n Shoham, Yoav. Agent-oriented programming, in Reading in Agents. Stanford University, n Chavez, Antony and Maes, Pattie. Kasbah: an agent marketplace for buying and selling goods. MIT Media Lab, n Wooldridge, Michael and Jennings, Nicholas R.. Pitfalls of agent-oriented development. University of Lodon, 1998.

39 n Wooldridge, Michael; Jennings, Nicholas R. and Kinny, David. A methodology for agent-oriented analysis and design. University of Lodon and University of Melbourne, n Jennings, Nicholas R.; Sycara, Katia and Wooldridge, Michael. A roadmap of agent reseach and development. University of Lodon and Carnegie-Mellon University, Referências

40 n Chavez, Antony; Dreilinger, Daniel; Guttman, Robert and Maes, Pattie. A real-time experiment in creating na agent maketplace. MIT Media Lab, n Davies, Winton H. E and Edwards, Peter. Agent-K: an integration of AOP and KQML. University of Aberdeen, n Genesereth, Michael and Ketchpel, Steven P.. Software Agents. Stanford University, Referências


Carregar ppt "Programação Orientada a Agentes Ana Carla Santos Flávia Amaral Jin Jing Yi."

Apresentações semelhantes


Anúncios Google