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

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

Manoel Teixeira de Abreu Netto

Apresentações semelhantes


Apresentação em tema: "Manoel Teixeira de Abreu Netto"— Transcrição da apresentação:

1 Manoel Teixeira de Abreu Netto mnetto@les.inf.puc-rio.br
Um Framework Baseado em Padrões Arquiteturais para o Desenvolvimento de Sistemas Multiagentes Auto-Organizáveis Manoel Teixeira de Abreu Netto

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 25/03/2017 Manoel Teixeira © LES/PUC-Rio

3 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. 25/03/2017 Manoel Teixeira © LES/PUC-Rio

4 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 25/03/2017 Manoel Teixeira © LES/PUC-Rio 4 4

5 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; 25/03/2017 Manoel Teixeira © LES/PUC-Rio 5

6 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 25/03/2017 Manoel Teixeira © LES/PUC-Rio 6

7 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. 25/03/2017 Manoel Teixeira © LES/PUC-Rio 7

8 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 25/03/2017 Manoel Teixeira © LES/PUC-Rio

9 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 25/03/2017 Manoel Teixeira © LES/PUC-Rio

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

11 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 25/03/2017 Manoel Teixeira © LES/PUC-Rio

12 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 25/03/2017 Manoel Teixeira © LES/PUC-Rio

13 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 25/03/2017 Manoel Teixeira © LES/PUC-Rio 13

14 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 25/03/2017 Manoel Teixeira © LES/PUC-Rio 14

15 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 25/03/2017 Manoel Teixeira © LES/PUC-Rio 15

16 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 25/03/2017 Manoel Teixeira © LES/PUC-Rio 16

17 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 25/03/2017 Manoel Teixeira © LES/PUC-Rio

18 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 25/03/2017 Manoel Teixeira © LES/PUC-Rio 18 18

19 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. 25/03/2017 Manoel Teixeira © LES/PUC-Rio

20 Framework Evaporation capability

21 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 25/03/2017 Manoel Teixeira © LES/PUC-Rio 21 21

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 Modelo – Diagrama de Classe

27 Modelo – Diagrama de Classe

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

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: 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: 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: AgentLocation_7 Executing EvaporationPatternPlan... 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 trying to move to 2x2... 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: 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: 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 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 2x3... 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 Manoel Teixeira de Abreu Netto mnetto@les.inf.puc-rio.br
Um Framework Baseado em Padrões Arquiteturais para o Desenvolvimento de Sistemas Multiagentes Auto-Organizáveis Manoel Teixeira de Abreu Netto


Carregar ppt "Manoel Teixeira de Abreu Netto"

Apresentações semelhantes


Anúncios Google