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

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

1 Desenvolvimento Orientado a Agentes. 2 O que é um procedimento/função? Um procedimento é uma abstração de um comando e é caracterizado por: –realizar.

Apresentações semelhantes


Apresentação em tema: "1 Desenvolvimento Orientado a Agentes. 2 O que é um procedimento/função? Um procedimento é uma abstração de um comando e é caracterizado por: –realizar."— Transcrição da apresentação:

1 1 Desenvolvimento Orientado a Agentes

2 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 3 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 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 5 Utiliza objetos como metáfora de modelagem Utiliza metodologia de desenvolvimento orientada à objetos; Utiliza ferramentas implementação orientadas à objetos O que significa dizer que um sistema é orientado a objetos? Como reconhecemos um sistema orientado a objetos?

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

7 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 8 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 9 Caracterização de um sistema Abstração utilizada na modelagem? Linguagem de Implementação? Metodologia de desenvolvimento?

10 10 POO X POA

11 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 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 13 Sendo assim, temos... ObjetoAgente Desenvolvimento OODesenvolvimento OA Metáfora para modelagem Sistema MultiobjetosSistema Multiagentes

14 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 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 16 Armadilhas Confundir palavras badaladas com conceitos Esquecer que está desenvolvendo software Não pesquisar a tecnologia relacionada

17 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 18 Armadilhas Utilizar muita IA Não utilizar IA Utilizar agentes para tudo Utilizar agentes demais Utilizar poucos agentes

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

20 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 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 22 Exemplo: CoffeeFiller Permissões –leitura coffeeMaker (nome do coffee maker) coffeeStatus (full or empty) –escrita coffeeStock (nível da garrafa de café)

23 23 Exemplo: CoffeeFiller Protocolos –Fill –InformWorkers –CheckStock –AwaitEmpty

24 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 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 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 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 28 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. Como implementar?

29 29 FIM


Carregar ppt "1 Desenvolvimento Orientado a Agentes. 2 O que é um procedimento/função? Um procedimento é uma abstração de um comando e é caracterizado por: –realizar."

Apresentações semelhantes


Anúncios Google