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

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

Sistemas Multi-Agentes Auto-Organizáveis Jadex Self-Organization Framework (JASOF) Manoel Teixeira de Abreu Netto

Apresentações semelhantes


Apresentação em tema: "Sistemas Multi-Agentes Auto-Organizáveis Jadex Self-Organization Framework (JASOF) Manoel Teixeira de Abreu Netto"— Transcrição da apresentação:

1 Sistemas Multi-Agentes Auto-Organizáveis Jadex Self-Organization Framework (JASOF) Manoel Teixeira de Abreu Netto

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

3 7/6/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 7/6/20144 Manoel Teixeira © LES/PUC-Rio Sumário Motivação Visão Geral Framework Estudo de Caso –AGV –Modelo –Execução Próximos Passos

5 7/6/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 7/6/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 Medidas/Métricas –Capacidade de alcançar uma organização capaz de atender ao objetivo do sistema como um todo a partir da inicialização do sistema –Capacidade de alcançar uma re-organização depois de uma perturbação –Nível de descentralização do controle –Capacidade de contornar perturbações

7 7/6/20147 Manoel Teixeira © LES/PUC-Rio Visão Geral – Auto-organização Características: –Endogenous global order – alcança uma estado global –Emergence – ocorrência do fenômeno –Regras Locais – o comportamento complexo pode ser alcançado através de simples regras locais –Dissipação – o sistema estabiliza em um estado –Instabilidade – flutuações por conta de pequenas variações no ambiente –Equilíbrio Multíplo – vários atratores para uma condição estável do sistema –Redundância – insensibilidade contra danos –Self-maintenance – reprudizir ou reparar partes –Adaptabilidade – variações externas no ambiente

8 Visão Geral - Emergência Não há uma definição comumente aceita. The whole is more than the sum of the parts. Witch captures the essence of the emergent phenomena. Tom de Wolf et al., 2005 [1] defines Emergence as A system exhibits emergence when there are coherent emergents at the macroscopic level that arise from the interactions between the parts at the microscopic level. Such emergents are novel w.r.t. the individual parts of the system. Di Marzo Serugendo el at., 2006: A structure (pattern, property or function), not explicitly represented at the level of the individual components (lower level), and which appears at the level of the system (higher level). 8

9 Visão Geral - Emergência 7/6/20149 Manoel Teixeira © LES/PUC-Rio

10 7/6/ 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.

11 7/6/ Manoel Teixeira © LES/PUC-Rio Visão Geral - Padrões Engenharia de Software Desenvolvimento sistemático Reúso de soluções Testes Documentação Tom de Wolf, 2006 Gardelli, 2007

12 7/6/ 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

13 7/6/ 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

14 7/6/ 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 7/6/ 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 7/6/ 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 7/6/ 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

18 7/6/ 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

19 Padrões Derivados Problem(s)SolutionPattern Spatial Source to Destination Routing, Task Recruitment, Relation Identification, Integration of various information Sources Agents explicitly search for goals, tasks, or related items and drop pheromones to form paths for other agents to follow to the goal or task. Reinforcement of an existing path by other agents can be seen as a reinforcement of the relation between source and destination. Evaporation, Aggregation, and Propagation keep the pheromones up-to- date and support integration of various information sources. Digital Pheromone Paths Spatial Movement, Pattern Formation, Structure Formation, Routing, Integration of Contextual Information Spatial, contextual, and coordination-related information is automatically spread/propagated by the environment as multiple computational fields. Agents simply follow the waveform of these fields to achieve the coordination task, no explicit exploration is needed. The spatial information comes to the agents instead of agents explicitly searching. Gradient Fields Resource Allocation in general (resource=task, power, bandwidth, space, time, etc.), Integration of resource Usage/Need Information A virtual market where resource users sell and buy resource usage with virtual currency. The price evolves according to the market dynamics and indicates a high (high price) or low (low price) demand. This information is used by agents to decide on using the resource or not. Economic market theory states that the prices converge to a stable equilibrium. Market-based Coordination Team-formation, Trust and reputation Agents put and modify tags on other agents and a team is formed by only collaborating with agents with the same tag or some other condition. If tags indicate how well agents behaved in collaborations with others then trust and reputation information can be available. Tags Synchronisation, Resource Allocation A capability or a resource is represented by a token. Synchronisation happens because only the holder can use the resource or executes a certain capability. Tokens can be passed among agents to allocate the resource or capability to others. Tokens ………

20 7/6/ Manoel Teixeira © LES/PUC-Rio Sumário Motivação Visão Geral Framework Estudo de Caso –AGV –Modelo –Execução Próximos Passos

21 7/6/ 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.

22 Framework - Localizações 7/6/ Manoel Teixeira © LES/PUC-Rio LOCALIZAÇÃO ARTEFATO Agente Location Base do Conhe- ciment o Leitura/Inserção Resposta Agente Usuário

23 Framework Evaporation capability

24 7/6/ Manoel Teixeira © LES/PUC-Rio Sumário Motivação Visão Geral Framework Estudo de Caso –AGV –Modelo –Execução Próximos Passos

25 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)

26 Estudo de Caso - AGV Modelagem: Utilização dos padrões: –Warehouse - Replication; –Destination - Diffusion; –Locations – Evaporation, Aggregation, Diffusion e Replication. WarehouseDestinationLocations AMBIENTE

27 Modelo – Diagrama de Caso de Uso

28 Modelo – Diagrama de Classe

29

30 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

31 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)

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

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

34 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

35 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:

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

37 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***************

38 7/6/ Manoel Teixeira © LES/PUC-Rio Referências Gatti, M. A. de C.; Lucena, C. J. P. de; Garcia, A.; A pattern Language for Self-Organizing Systems. SASO 2009 (Submetido). Gatti, M. A. C. ; Lucena, C.J.P. de. A Multi-Environment Multi-Agent Simulation Framework for Self- Organizing Systems. In: The 10th Workshop on Multi-Agent-Based Simulation (MABS'09) at AAMAS'09, 2009, Budapest. The Eighth International Conference on Autonomous Agents and Multiagent Systems, Jan Sudeikat and Lars Braubach and Alexander Pokahr and Wolfgang Renz and Winfried Lamersdorf. Systematically Engineering Self–Organizing Systems: The SodekoVS Approach. In Proceedings des Workshops über Selbstorganisierende, adaptive, kontextsensitive verteilte Systeme (KIVS 2009 – March). Luca Gardelli, Mirko Viroli and Andrea Omicini. Desing Patterns for Self-Organizing Multiagent Systems. In 5th International Central and Eastern European Conference on Multi-Agent Systems September 2007, Leipzig, Germany. T. De Wolf, and T. Holvoet, Design Patterns for Decentralised Coordination in Self-organising Emergent Systems, Editors: Sven Brueckner, Salima Hassas, Màrk Jelasity and Daniel Yamins, Engineering Self-Organising Systems: Fourth International Workshop, ESOA 2006, Future University-Hakodate, Japan, 2006, Revised Selected Papers, Lecture Notes in Computer Science, Volume 4335, 2007, pp. 28–49, Springer Verlag Jan Sudeikat and Wolfgang Renz: "Toward Requirements Engineering for Self-Organizing Multi-Agent Systems" in: Proceedings of the First International Conference on Self-Adaptive and Self-Organizing Systems, 2007.

39 Referências G. Di Marzo Serugendo, M.-P. Gleizes, A. Karageorgos. "Self-organisation and emergence in MAS: an overview", Informatica 30(1): 45-54, Slovene Society Informatika, Ljubljana, Slovenia, G. Di Marzo Serugendo, M.-P. Gleizes, A. Karageorgos. "Self-Organisation in MAS", Knowledge Engineering Review 20(2): , Cambridge University Press, G. Di Marzo Serugendo. "Autonomous Systems with Emergent Behaviour". Chapter in Handbook of Research on Nature Inspired Computing for Economy and Management. Jean-Philippe Rennard (Ed), Idea Group, Inc., Hershey-PA, USA, pp , September T. De Wolf, Analysing and engineering self-organising emergent applications, Ph.D. Thesis, Department of Computer Science, K.U.Leuven, Leuven, Belgium, May, T. De Wolf, and T. Holvoet, Emergence Versus Self-Organisation: Different Concepts but Promising When Combined, Engineering Self Organising Systems: Methodologies and Applications (Brueckner, S. and Di Marzo Serugendo, G. and Karageorgos, A. and Nagpal, R., eds.), Lecture Notes in Computer Science, 2005, Volume 3464, May 2005.

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


Carregar ppt "Sistemas Multi-Agentes Auto-Organizáveis Jadex Self-Organization Framework (JASOF) Manoel Teixeira de Abreu Netto"

Apresentações semelhantes


Anúncios Google