Implementando os SMA Viviane Torres da Silva viviane
- Slides: 49
Implementando os SMA Viviane Torres da Silva viviane. silva@ic. uff. br http: //www. ic. uff. br/~viviane. silva/2010. 1/isma
Motivação Ø Motivação: Como implementar as entidades de um SMA (agentes, organizações, objetos, . . )? – Não existe uma linguagem de programação para SMA que possibilite implementar todas as características dos agentes Ø Objetivo: propor frameworks e plataformas que se baseiem em linguagens de implementação já conhecidas – Linguagens OO Ø Solução: frameworks e plataformas baseados em Java – ASF, Jadex, Jack, ASF, Jason, . .
Arquitetura BDI Arquitetura abstrata para implementação de SMA
Arquitetura BDI Ø Modelo proposto por Bratman em 1987 Ø Modelo consiste de: – Beliefs: crenças – Desire: desejos ou objetivos – Intetions: intenções ou planos Ø Arquitetura BDI proposta por Rao e Georgeff em 1995 – É uma arquitetura abstrata
Arquitetura BDI
FIPA (Foundation for Inteligent Physical Agents) ISMA Viviane Torres da Silva
FIPA Ø FIPA: propõe padrões para organizar os agentes e os sistemas multi-agente
FIPA: Agent Management Ø Agent Platform (AP): plataforma onde o agente executa – Estrutura física onde o agente se encontra Service
FIPA: Agent Management Ø Directory Facilitator (DF): provê um serviço de páginas amarelas para os agentes. – cada agente registra o serviço que oferece. Ø Agent Management System (AMS): controla o acesso e o uso da plataforma – só existe um por plataforma – todo agente de uma AP precisa se registrar no AMS – contém uma lista de endereços dos agentes registrados na plataforma – oferece serviço de páginas brancas para conhecer os agentes registrados Ø Message Transport Service (MTS): serviço de comunicação entre agentes de diferentes plataformas
FIPA: Agent Message Transport Ø Define as três possíveis formas de comunicação – ACC : Agent Communication Channel (liga com a buferização da mensagem, o endereçamento, a transferência, os erros, . . . )
FIPA: Agent Message Transport Envelope: detalhes do transporte Payload: mensagem ACL comprimida
JADE Java Agent Development Framework http: //jade. tilab. com/
JADE Ø Jade é um framework para o desenvolvimento de SMA Ø Atualmente na versão 4. 0 – Slides associados a versão 3. 6. 1 Ø Inclui: – Um ambiente de execução onde os agentes JADE "vivem" e que deve estar ativo em um host antes que um agente possa ser executado – Uma biblioteca de classes que programadores podem usar para desenvolver agentes – Um conjunto de ferramentas gráficas que permite a administração e o monitoramento das atividades dos agentes em execução
Conceitos Importantes Ø JADE deve ser utilizado para … – implementar sistemas distribuídos – agentes móveis Ø Contêiner – Instância de um ambiente Jade – É onde os agentes executam – Ao iniciar o Jade, um Main. Container é criado Ø Plataforma – Conjunto de contêineres ativos
Contêineres e Plataformas
Modelo FIPA JADE segue o modelo de desenvolvimento da FIPA Ø Todo Main. Container tem um AMS e um DF Ø Ø Agent Management System (AMS) – Agente que exerce o controle sobre o acesso e o uso da plataforma – Existe um único AMS por plataforma – Mantém a lista de identificadores dos agentes (AID) que estão na plataforma – Todo agente deve se registrar no AMS Ø Directory Facilitator (DF) – Oferece o serviço de páginas amarelas na plataforma
Classe Agent Ø Representa a classe base para a definição de agentes Ø Para o desenvolvedor, um agente Jade é uma instância de uma classe Java que estende a classe Agent Ø Já oferece todas as interações básicas da plataforma (registro, configuração, etc. . . ) Ø Oferece um conjunto de métodos para a implementação do comportamento do agente
Modelo Computacional do Agente Ø Um agente é multi-tarefa, onde os serviços são executados concorrentemente Ø Cada serviço de um agente deve ser implementado como um ou mais comportamentos Ø A classe Agent oferece um scheduler (não acessível ao programador) que gerencia automaticamente o agendamento dos comportamentos
O Ciclo de Vida de um Agente I/III
O Ciclo de Vida de um Agente II/III Ø Iniciado – O objeto agente é criado, mas ainda não se registrou no AMS, i. e. não possui um identificador e não pode se comunicar com outros agentes Ø Ativo – O objeto agente está registrado no AMS, possui um identificador e pode executar seus serviços Ø Suspenso – O objeto agente está parado, i. e. sua thread interna está suspensa e o agente não está executando serviço algum
O Ciclo de Vida de um Agente III/III Ø Esperando – O agente está bloqueado, esperando por algum evento, i. e. sua thread interna está dormindo e será acordada quando uma condição se tornar verdadeira Ø Removido – O agente terminou sua execução, i. e. sua thread interna acabou sua execução e o agente não está mais registrado no AMS Ø Em Trânsito – Um agente móvel entra neste estado quando está migrando para um novo local (contêiner). O sistema continua a armazenar as mensagens enviadas a este agente, que lhe serão passadas quando ele estiver no novo local
Criando um agente Jade Ø Jade gerencia a criação de um novo agente com os seguintes passos Ø O construtor do agente é executado – O agente recebe um identificador do AMS – Ex: agente@localhost: 1099/JADE • nome. Agente @ nome. Plataforma : numero. Porta / JADE – Entra no estado Ativo Ø É executado o método setup() – Método responsável por inicializar os comportamentos do agente
Destruindo um agente Jade Ø Mesmo que não esteja fazendo coisa alguma, o agente continua ativo Ø Para terminar um agente, deve-se executar o método do. Delete() que chama o método take. Down() (pode ser reimplementado) – Serve para remover todas as referências ao agente da plataforma
Classe Behaviour Ø Todas as tarefas dos agentes são executadas por meio de "comportamentos" Ø Um comportamento é um objeto da classe Behaviour Ø O agente adiciona um comportamento com o método add. Behaviour(X) Ø Comportamentos podem ser adicionados a qualquer momento com o método remove. Behavior(X)
Classe Behaviour Ø Método action() – Método que define as operações que são executadas quando o comportamento está em execução Ø Método done() – Método que especifica se um comportamento foi completado e deve ser removido do pool de comportamentos que um agente está executando
Hierarquia de comportamentos I/II Ø Comportamentos Simples – Modelam os comportamentos atômicos – One. Shot. Behaviour: modela comportamentos que só devem executar uma vez e que não podem ser bloqueados (parar o comportamento até que algum evento ocorra) – Cyclic. Behaviour: Modela comportamentos atômicos que devem ser executados eternamente Ø Comportamentos Compostos – Modelam comportamentos que são compostos de outros comportamentos. – As operações que devem ser executadas não estão definidas neste comportamento em si, mas nos comportamentos filhos que o compõem – Sequential. Behaviour, Parallel. Behaviour e FSMBehaviour
Hierarquia de comportamentos II/II Ø Comportamentos compostos – Sequential. Behaviour: Executa seus sub-comportamentos seqüencialmente e termina quando todos estes estiverem terminados – Parallel. Behaviour: Executa seus sub-comportamentos concorrentemente e termina quando uma condição particular sobre o conjunto de subcomportamentos é alcançada – FSMBehaviour: Executa seus sub-comportamentos como uma Máquina de Estados Finita (FSM). Quando uma tarefa acaba, sua saída é usada para se calcular a transição para a próxima tarefa. O comportamento termina quando uma tarefa final é executada
Comportamentos Especiais Ø Waker. Behaviour – Comportamento que espera um determinado período de tempo (em ms) para efetivamente executar a tarefa Ø Ticker. Behaviour – Comportamento que executa uma tarefa periodicamente em intervalos de tempo constantes (em ms). Este comportamento nunca acaba
Comunicação entre os agentes I/III Ø A comunicação é assíncrona e utiliza FIPA ACL Ø Os objetos enviados são instâncias de ACLMessage Ø Para enviar uma mensagem se chama o método send()
ASF Framework Agent Society Framework
ASF: Agent Society Framework Ø Objetivo: dar suporte a implementação de agentes, organizações, papéis e ambiente Ø Como implementar. . . – as entidades, – suas propriedades, – seus relacionamentos, – a interação entre as entidades e – a execução interna das entidades
Framework OO Ø É orientado a um domínio de aplicações – Captura os conceitos gerais de um domínio Ø Define um conjunto de classes relacionadas capazes de gerar diferentes aplicações em um mesmo domínio Ø Classes são reutilizadas ou estendidas para implementar uma determinada aplicação – Define partes que são fixas, i. e. , não podem ser estendidas – Define partes que são flexíveis, i. e, podem ser estendidas
Entidades Ø Objetos – Atributos e métodos Ø Agentes – Objetivos, crenças, planos e ações Ø Organizações – Objetivos, crenças, planos, ações e axiomas Ø Papel de agente – Objetivo, crença, deveres, direitos e protocolos Ø Papel de objetos – Atributos e métodos Ø Ambiente – Atributos e métodos
Aspectos Estruturais do ASF Ø Fornece um conjunto de módulos que devem ser estendidos para implementar a aplicação Ø Cada módulo representa uma entidade do SMA Ø Instanciação da aplicação: – para implementar uma classe de agente da aplicação estende-se o módulo Agent – para implementar uma classe de organização da aplicação estende-se o módulo Organization –. . .
Agente Ø Classe Agente – Thread (entidade autônoma) Ø Classe Mensagem – Enviadas e recebidas Ø Classe Objetivo – Nome, tipo, valor – Está associado a planos que podem ser alcançar o objetivo Ø Classe Crença – Nome, tipo, valor
Agente Ø Classe Plano – Define uma ordem de execução de um conjunto de ações – Está relacionado a goals que pode atingir Ø Classe Ação – Define a execução interna do agentes (entidade adaptativa) – Possui pré e pós-condições Ø Tem que existir ao menos uma instância de agente
Módulo Agent
Organização Ø Organização – Thread (entidade autônoma) Ø Classe Main-organization – Não desempenha papéis – Pode definir sub-organizações Ø Classe (Sub-)Organization – Desempenha papéis em organizações – Pode definir sub-organizações Goals, beliefs, plans, actions and messages Ø Axiom: Ø – Nome, tipo, valor Ø Tem que existir ao menos uma instância da organização principal
Módulo Organization
Role de Agente Ø Classes Goals, Beliefs Ø Classe Duty – Define ações que são obrigações Ø Classe Right – Define ações que são direitos Ø Classe Protocol – Define ordem de envio e recebimento de mensagens Ø Tem que existir ao menos uma instância desempenhada por um agente
Módulo Agent Role
Módulo Object Role Atributos Ø Métodos Ø
Módulo Environment Ø Tem que existir ao menos uma instância de ambiente donde estará a organización principal e os agentes
Relação entre as entidades
Estrutura do ASF ISMA Viviane Torres da Silva
Exemplo
ASF + FIPA Ø Classe Agent e Main-Organization têm um atributo que é o identificador único. – Nombre_agente@nombre_plataforma Ø Estão relacionadas a uma classe chamada Description que descreve os estados do agente de acordo com os estados definidos pela FIPA – Começando, executando, congelado e morto. Ø Implementam a interface MTP
ASF + FIPA Ø Interface MTP (Message Transport Protocol) – Define um método send que os agentes podem utilizar para enviar as mensagens Ø Classe AMS: – Gerencia a criação e a destruição das entidades – Informa quais são os agentes que executam um serviço
- Viviane bouysse évaluation positive
- Open to learning conversations
- Viviane dalles
- Viviane sensible
- Viviane pinheiro a viagem
- Patrik karinti
- Cubo achatado
- Yadier molina children
- Julio romero de torres pinto a la mujer morena
- Christian thomas torres
- Baberna
- Características generación del 27
- Dr pedro torres
- Massiel torres
- Valencia isla fluvial
- Tanner torres
- Fettan torres
- Frank sill torres
- Teresa daniela torres
- Kevin torres muerte
- Mastro para montagem de torres
- Sbita
- Esclerosis sistémica progresiva
- Pentaprisma de wheeler
- Oriana torres portales
- Abs eixample lleida
- Discovery green
- Felix gonzalez-torres
- Luis torres paz
- Universidad tecnica luis vargas torres
- Dennes torres
- Mara torres hijos
- Manuel torres vizcaya
- Bianca torres xxl
- Inneo torres
- Indiana inspector general
- Fernando torres pelo largo
- Perlita torres
- Dr manuel torres
- Para que sirve un procesador de texto
- 11 de septiembre torres gemelas
- Escuela normal superior jose maria torres
- Hermenegildo l torres
- Torres morenilla
- Oscar torres el salvador
- Mrs torres en español
- Elizabeth torres rodriguez puerto rico
- Melissa torres fda
- Jesus guillen torres
- Torres de madereo