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

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

Desenvolvimento Orientado a Agentes

Apresentações semelhantes


Apresentação em tema: "Desenvolvimento Orientado a Agentes"— Transcrição da apresentação:

1 Desenvolvimento Orientado a Agentes

2 O que é um procedimento/função?
Um procedimento é uma abstração de um comando e é caracterizado por: realizar operações que modificam o estado do sistema; Uma função é uma abstração e uma expressão e é caracterizada por: Realizar alguma operações sobre ‘valores’ e devolver um ‘resultado’ Ambos são metáforas de modelagem

3 O que significa dizer que um sistema é estruturado
O que significa dizer que um sistema é estruturado? Como reconhecemos um sistema estruturado? Utiliza como metáfora de modelagem procedimentos e funções Utiliza metodologia de desenvolvimento estruturadas

4 O que é um objeto? É uma entidade de abstração caracterizada por:
Encapsulamento/information hidding; Capacidade de relacionamentos com outros objetos de herança/agregação Comunica-se através do envio de mensagens É uma junção das abstrações de comando, expressão e declaração

5 O que significa dizer que um sistema é orientado a objetos
O que significa dizer que um sistema é orientado a objetos? Como reconhecemos um sistema orientado a objetos? Utiliza objetos como metáfora de modelagem Utiliza metodologia de desenvolvimento orientada à objetos; Utiliza ferramentas implementação orientadas à objetos

6 Um sistema concebido de forma orientada a objetos pode ser também concebido de forma estruturada?

7 O que é um agente? É uma entidade de abstração caracterizada por:
Autonomia; Capacidade social (interação com outros agentes); Reatividade; Pro-atividade; Mobilidade; Racionalidade (busca sempre atingir seus objetivos); Regras de ‘consistência’

8 O que significa dizer que um sistema é “orientado a agentes”
O que significa dizer que um sistema é “orientado a agentes”? Como reconhecemos um sistema “orientado a agentes”? Utiliza o agente como metáfora de modelagem Utiliza metodologia de desenvolvimento orientada à agentes

9 Caracterização de um sistema
Linguagem de Implementação? Abstração utilizada na modelagem? Metodologia de desenvolvimento?

10 POO X POA

11 Desenvolvimento orientado a objetos
Busca: Definição das entidades que serão representadas no sistema; Definição das funcionalidades que estão associadas a cada entidade; Definição dos objetos e relacionamentos de agregação e herança; Definição de atributos e métodos.

12 Desenvolvimento orientado a agentes
Busca: Definição das entidades que serão representadas no sistema (domínio); Definição das percepções e ações que cada agente pode realizar; Definição de crenças e objetivos. Definição dos relacionamentos de comunicação entre os agentes (estabelecer protocolos);

13 Sendo assim, temos... Metáfora para modelagem Objeto Agente
Desenvolvimento OO Desenvolvimento OA Sistema “Multiobjetos” Sistema “Multiagentes”

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

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

16 Armadilhas Confundir “palavras badaladas” com conceitos
Esquecer que está desenvolvendo software Não pesquisar a tecnologia relacionada

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

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

19 Uma metodologia para Análise Orientada a Agentes
Sistema de segurança protocolos responsabilidades permissões de sobrevivência Papel

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

21 Papéis (Roles) 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

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

23 Exemplo: CoffeeFiller
Protocolos Fill InformWorkers CheckStock AwaitEmpty

24 Exemplo: CoffeeFiller
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

25 Expressões de Sobrevivêmcia
Define o ciclo de vida de um papel 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

26 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.

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

28 Como implementar? Utilizando linguagens OO convencionais + Bibliotecas adicionais Para comunicação: JATLite (KQML), FIPA; Para raciocínio Motores de inferência lógica: JEOPS, ABE, JESS, CLIPS Motores de inferência bayesiana: Hugin, MSBN; Redes neurais; Para mobilidade: Aglets, Telescript, etc. Utilizar ambientes de desenvolvimento Agent Builder Utilizar linguagens orientadas a agentes: Agents0, Jackal, etc.

29 FIM


Carregar ppt "Desenvolvimento Orientado a Agentes"

Apresentações semelhantes


Anúncios Google