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

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

Um Framework Baseado em Padrões Arquiteturais para o Desenvolvimento de Sistemas Multiagentes Auto-Organizáveis Manoel Teixeira de Abreu Netto

Apresentações semelhantes


Apresentação em tema: "Um Framework Baseado em Padrões Arquiteturais para o Desenvolvimento de Sistemas Multiagentes Auto-Organizáveis Manoel Teixeira de Abreu Netto"— Transcrição da apresentação:

1 Um Framework Baseado em Padrões Arquiteturais para o Desenvolvimento de Sistemas Multiagentes Auto-Organizáveis Manoel Teixeira de Abreu Netto

2 17/2/20142 Manoel Teixeira © LES/PUC-Rio Sumário Motivação Visão Geral Trabalhos Relacionados Framework Estudo de Caso –AGV –Modelo –Execução Próximos Passos

3 17/2/20143 Manoel Teixeira © LES/PUC-Rio Motivação Sistemas capazes de operar em ambientes dinâmicos e heterogêneos, contornando perturbações, antes desconhecidas, no ambiente. De forma espontânea compor um nova organização. Busca por características como flexibilidade, robustez e adaptabilidade. Obtenção de respostas coletivas e complexas decorrentes das interações entre simples componentes do sistema, de forma descentralizada. Interesse da comunidade científica e industrial em soluções inspiradas na natureza.

4 17/2/20144 Manoel Teixeira © LES/PUC-Rio Sumário Motivação Visão Geral Trabalhos Relacionados Framework Estudo de Caso –AGV –Modelo –Execução Próximos Passos

5 17/2/20145 Manoel Teixeira © LES/PUC-Rio Visão Geral – Auto-organização Definido como o processo ou o mecanismo que permite um sistema adequar sua organização sem um comando externo explicito; Interações ocorrem localmente. Baseado em computação natural; Sistemas auto-organizáveis fortes e fracos;

6 17/2/20146 Manoel Teixeira © LES/PUC-Rio Visão Geral – Auto-organização Propriedades: –Inexistência de um controle externo – Obrigatória –Controle descentralizado – Não obrigatória –Operação dinâmica – Obrigatória Emergência

7 17/2/20147 Manoel Teixeira © LES/PUC-Rio Visão Geral – SMA? As entidades autônomas são agentes; SMA é um grupo de agentes cooperando entre si; Comportamento macroscópicos usando apenas interações locais entre agentes.

8 17/2/20148 Manoel Teixeira © LES/PUC-Rio Sumário Motivação Visão Geral Trabalhos Relacionados Framework Estudo de Caso –AGV –Modelo –Execução Próximos Passos

9 17/2/20149 Manoel Teixeira © LES/PUC-Rio Trabalhos Relacionados (Sudeikat, 2009) Systematically Engineering Selg- Organizing Systems: The SodekoVS Approach (Gardelli, 2007) Design Patterns for Self-Organizing Multiagent Systems (De Wolf, 2007) Design Patterns for Decentralised Coordination in Self-organising Emergent Systems

10 17/2/ Manoel Teixeira © LES/PUC-Rio Trabalhos Relacionados - SodekoVS Mesmo responsável pelo Jadex Fonte? Proposta é mais global, um processo

11 17/2/ Manoel Teixeira © LES/PUC-Rio Padrões Básicos São eles: (Gardelli, 2007) –Replication Pattern –Collective Sort Pattern –Evaporation Pattern –Aggregation Pattern –Diffusion Pattern

12 17/2/ Manoel Teixeira © LES/PUC-Rio Padrões Básicos – Replication Problemas: –Como podemos reduzir o tempo de acesso às informações? –Em caso de ataque ou falhas, como evitamos a perda de informações? Trata os dados a serem replicados, GF Ação de coordenação: copia os dados localmente Regra de propagação: propaga para locais vazios na vizinhança (abordagem flooding) Exemplos: Cache, RAID, Grid

13 17/2/ Manoel Teixeira © LES/PUC-Rio Padrões Básicos – Collective Sort Problema: –Ambientes multiagentes que não impõe restrições nos repositórios de informações podem sofrer de overhead na descoberta das mesmas Trata os dados a serem ordenados Ação de coordenação: mantém os dados se necessário Regra de propagação: propaga para os vizinhos

14 17/2/ Manoel Teixeira © LES/PUC-Rio Padrões Básicos – Evaporation Problema: –Ambientes multiagentes podem rapidamente ficarem sobrecarregados de informações inseridas pelos agentes É agregado aos dados um peso/tempo Ação de coordenação: a falta ou o decremento dos dados implicam em novas ações Regra de propagação: os dados propagados decrementam os seus pesos localmente e nos vizinhos iterativamente até alcançar o valor 0

15 17/2/ Manoel Teixeira © LES/PUC-Rio Padrões Básicos – Aggregation Problema: –Sistemas multiagentes de larga escala sofrem por conta do grande número de dados gerados pelos agentes, que precisa ser sintetizado Trata os dados a serem agregados, GF Ação de coordenação: reforço da ação pela presença da informação Regra de propagação: reforça a informação Com o padrão Evaporation, forma-se um feedback loop

16 17/2/ Manoel Teixeira © LES/PUC-Rio Padrões Básicos – Diffusion Problema: –Em sistemas multiagentes onde agentes só podem acessar dados locais, estes agentes sofrem da falta de informações sobre os nós vizinhos É agregado aos dados um peso Ação de coordenação: fazem algo em virtude da nova informação Regra de propagação: dados propagados (pelo ambiente) decrementam seu peso localmente e incrementam nos vizinhos

17 17/2/ Manoel Teixeira © LES/PUC-Rio Padrões Derivados São eles: (De Wolf, 2007) –Stigmergy / Gradient Field / Field-based coordination Evaporation + Aggregation + Diffusion (Gardelli, 2007) –Pheromone Paths Evaporation + Diffusion –Market-based coordination Aggregation

18 17/2/ Manoel Teixeira © LES/PUC-Rio Sumário Motivação Visão Geral Trabalhos Relacionados Framework Estudo de Caso –AGV –Modelo –Execução Próximos Passos

19 17/2/ Manoel Teixeira © LES/PUC-Rio Framework Extensão do framework Jadex; Implementação dos padrões básicos descritos anteriormente; Definição dos padrões através de capabilities, com a construção dos planos de propagação e coordenação; Utilização do conceito de ambiente ativo; Estrutura que oferece a capacidade de desenvolvimento de novos padrões arquiteturais através da extensão do framework.

20 Framework Evaporation capability

21 17/2/ Manoel Teixeira © LES/PUC-Rio Sumário Motivação Visão Geral Trabalhos Relacionados Framework Estudo de Caso –AGV –Modelo –Execução Próximos Passos

22 Estudo de Caso - AGV AGV ( Automated Guided Vehicles) Aplicação real – Egemin e DristiNet; Veículos totalmente automatizados; Utilizados para transporte de carga; Exigência de um ambiente: –Flexível (riscos PMBOK) –Dinâmico (aberto)

23 Estudo de Caso - AGV Modelagem: Utilização dos padrões: –Diffusion – Warehouse, Destino e Localizações; –Aggregation - Localizações; –Evaporation – Localizções, com dados da Warehouse;

24 Modelo – Diagrama de Caso de Uso

25 Modelo – Diagrama de Classe

26

27

28 Modelo Ambiente

29 Execução – Construindo o Ambiente DEBUG: new AGVEnvironment DEBUG: Adding position 1x1 DEBUG: Adding position 1x2 … DEBUG: Adding position 5x2 DEBUG: Adding position 5x3 DEBUG: Creating Plan.... DEBUG: Adding location in position 1x1 DEBUG: Adding location in position 1x2 … DEBUG: Adding location in position 5x2 DEBUG: Adding location in position 5x3

30 Execução – Adicionando os agentes DEBUG: Alocating Agent in position: 2x1 DEBUG: AgentLocation_1 Executing EvaporationPatternPlan... DEBUG: Alocating Agent in position: 2x2 DEBUG: AgentLocation_2 Executing EvaporationPatternPlan... DEBUG: Alocating Agent in position: 2x3 DEBUG: AgentLocation_3 Executing EvaporationPatternPlan... DEBUG: Alocating Agent in position: 3x1 DEBUG: AgentLocation_4 Executing EvaporationPatternPlan... DEBUG: Alocating Agent in position: 3x2 DEBUG: AgentLocation_5 Executing EvaporationPatternPlan... DEBUG: Alocating Agent in position: 4x1 DEBUG: AgentLocation_6 Executing EvaporationPatternPlan... DEBUG: Alocating Agent in position: 4x2 DEBUG: AgentLocation_7 Executing EvaporationPatternPlan... DEBUG: Alocating Agent in position: 4x3 DEBUG: AgentLocation_8 Executing EvaporationPatternPlan... DEBUG: Alocating Agent in position: 1x1 (Warehouse) DEBUG: Alocating Agent in position: 1x2 (Warehouse) DEBUG: Alocating Agent in position: 1x3 (Warehouse) DEBUG: Alocating Agent in position: 5x1 (Destination) DEBUG: Alocating Agent in position: 5x2 (Destination)

31 Execução – Ação do Agente Destination – Difusão DEBUG: AgentDestination_12 Diffusing 'destination'... DEBUG: Creating diffusionMsg... DEBUG: Setting the content... DEBUG: Getting neighbors... DEBUG: 3 neighbors found... DEBUG: Getting the environment... DEBUG: Getting location of position: 5x2 DEBUG: No agent at this position... DEBUG: Getting location of position: 4x1 DEBUG: Adding a receiver : DEBUG: Getting location of position: 4x2 DEBUG: Adding a receiver : DEBUG: Sending the message... DEBUG: AgentLocation_7 diffusionMsg Receive... DEBUG: AgentLocation_6 diffusionMsg Receive... DEBUG: Data type: dpt size: 5 DEBUG: Saving the DISPATCH in the beliefbase... DEBUG: Data type: dpt size: 5 DEBUG: Saving the DISPATCH in the beliefbase...

32 Execução – Adicionando uma Carga – Difusão DEBUG: Executing UserAgentPlan... DEBUG: Transporter_16 Looking for a Warehouse... DEBUG: Setting agentsId... DEBUG: UserAgent Sending newDataDiffusionMsg to DEBUG: AgentWarehouse_1 received newDataDiffusionMsg from: DEBUG: AgentWarehouse_1 Getting the content... DEBUG: Data received: pck: DEBUG: Saving in the beliefbase... DEBUG: Creating a diffusionMsg... DEBUG: Setting the content... pck:1:1:2:info DEBUG: Getting neighbors... DEBUG: 3 neighbors found... DEBUG: Getting the environment... DEBUG: Getting location of position: 2x1 DEBUG: Adding a receiver : DEBUG: Getting location of position: 1x2 DEBUG: No agent at this position... DEBUG: Getting location of position: 2x2 DEBUG: Adding a receiver : DEBUG: Sending the message...

33 Execução - Evaporação DEBUG: AgentLocation_1 diffusionMsg Receive... DEBUG: AgentLocation_2 diffusionMsg Receive... DEBUG: Data type: pck size: 5 DEBUG: Saving the PACKAGE in the beliefbase... DEBUG: Data type: pck size: 5 DEBUG: Saving the PACKAGE in the beliefbase... DEBUG: AgentLocation_1 Executing EvaporationPatternPlan... DEBUG: Evaporating package... factor = 1.9 DEBUG: AgentLocation_1 execute() evaporate: continues DEBUG: AgentLocation_2 Executing EvaporationPatternPlan... DEBUG: Evaporating package... factor = 1.9 DEBUG: AgentLocation_2 execute() evaporate: continues DEBUG: AgentLocation_3 Executing EvaporationPatternPlan... DEBUG: AgentLocation_4 Executing EvaporationPatternPlan... DEBUG: AgentLocation_5 Executing EvaporationPatternPlan... DEBUG: AgentLocation_6 Executing EvaporationPatternPlan... DEBUG: Evaporating dispatch... factor = 0.9 DEBUG: AgentLocation_6 execute() evaporate: continues DEBUG: Evaporating dispatch... factor = 0.9 DEBUG: AgentLocation_6 execute() evaporate: continues DEBUG: AgentLocation_7 Executing EvaporationPatternPlan... DEBUG: Evaporating dispatch... factor = 0.9 DEBUG: AgentLocation_7 execute() evaporate: continues DEBUG: Evaporating dispatch... factor = 0.9 DEBUG: AgentLocation_7 execute() evaporate: continues

34 Execução – Procurando Carga DEBUG: Transporter_16 trying to move to 3x1... DEBUG: Transporter_16 Moved... DEBUG: Transporter_16 new position: 3x1 DEBUG: AgentLocation_4 received a getPackage request... DEBUG: AgentLocation_4 sending DEBUG: Transporter_16 reply received... DEBUG: Data received: DEBUG: Transporter_16 null received as reply... DEBUG: Transporter_16 trying to move to 2x1... DEBUG: Transporter_16 Moved... DEBUG: Transporter_16 trying to move to 2x2... DEBUG: Transporter_16 Moved... DEBUG: Transporter_16 new position: 2x2 DEBUG: AgentLocation_2 received a getPackage request... DEBUG: Data to be replyed: pck:1:1:1.9:info DEBUG: AgentLocation_2 sending DEBUG: Transporter_16 reply received... DEBUG: Data received: pck:1:1:1.9:info DEBUG: Transporter_16 Received 1 Packages... DEBUG: Try position: 1x1 DEBUG: Transporter_16 trying to move to 1x1... DEBUG: Transporter_16 Moved... DEBUG: Getting the loaded package... DEBUG: Requesting AgentWarehouse_1 package... DEBUG: AgentWarehouse_1 Received a getPackage fromRParameter(name=sender, class=class jadex.adapter.fipa.AgentIdentifier) DEBUG: Package:

35 Execução – Procurando Destino DEBUG: Transporter_16 looking for destination... DEBUG: Transporter_16 trying to move to 2x2... DEBUG: Transporter_16 Moved... DEBUG: Transporter_16 trying to move to 3x2... DEBUG: Transporter_16 Moved... DEBUG: Transporter_16 new position: 3x2 DEBUG: AgentLocation_5 received a dispatchPackage request... DEBUG: AgentLocation_5 sending DEBUG: Transporter_16 reply received... DEBUG: Data received: DEBUG: Transporter_16 trying to move to 2x2... DEBUG: Transporter_16 Moved... DEBUG: Transporter_16 trying to move to 2x3... DEBUG: Transporter_16 Moved... DEBUG: Transporter_16 new position: 2x3...

36 Execução – Encontrando Destino DEBUG: Transporter_16 new position: 4x2 DEBUG: AgentLocation_7 received a dispatchPackage request... DEBUG: Data to be replyed: dpt:5:1:0.9:info DEBUG: AgentLocation_7 sending DEBUG: Transporter_16 reply received... DEBUG: Data received: dpt:5:1:0.9:info DEBUG: Try position: 5x1 DEBUG: Transporter_16 trying to move to 5x1... DEBUG: Transporter_16 Moved... DEBUG: Send the package to destination... DEBUG: Requesting AgentDestination_12 dispatch... DEBUG: AgentDestination_12 Dispatch requested... **************DEBUG: Package dispatchated at AgentDestination_12***************

37 Próximos Passos Separar o framework da instância (AGV) Aprimorar detalhes de implementação do AGV, como a busca por feromônios Aumentar a quantidade de agentes (Locations, Warehouses e Destinations) Implementar uma interface gráfica para visualização Implementar o caso de uso do VANT

38 VANT

39 Um Framework Baseado em Padrões Arquiteturais para o Desenvolvimento de Sistemas Multiagentes Auto-Organizáveis Manoel Teixeira de Abreu Netto


Carregar ppt "Um Framework Baseado em Padrões Arquiteturais para o Desenvolvimento de Sistemas Multiagentes Auto-Organizáveis Manoel Teixeira de Abreu Netto"

Apresentações semelhantes


Anúncios Google