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
Sistemas Multi-Agentes Auto-Organizáveis Jadex Self-Organization Framework (JASOF) Manoel Teixeira de Abreu Netto

2 Manoel Teixeira © LES/PUC-Rio
Sumário Motivação Visão Geral Framework Estudo de Caso AGV Modelo Execução Próximos Passos 01/04/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. 01/04/2017 Manoel Teixeira © LES/PUC-Rio

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

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

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

9 Visão Geral - Emergência
01/04/2017 Manoel Teixeira © LES/PUC-Rio

10 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. 01/04/2017 Manoel Teixeira © LES/PUC-Rio 10

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

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

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

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

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

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

19 Padrões Derivados Problem(s) Solution Pattern
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 Manoel Teixeira © LES/PUC-Rio
Sumário Motivação Visão Geral Framework Estudo de Caso AGV Modelo Execução Próximos Passos 01/04/2017 Manoel Teixeira © LES/PUC-Rio 20 20

21 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. 01/04/2017 Manoel Teixeira © LES/PUC-Rio

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

23 Framework Evaporation capability

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

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. Warehouse Destination Locations AMBIENTE

27 Modelo – Diagrama de Caso de Uso

28 Modelo – Diagrama de Classe

29 Modelo – Diagrama de Classe

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

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

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

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

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 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, 2009. 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. 01/04/2017 Manoel Teixeira © LES/PUC-Rio

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, 2006. G. Di Marzo Serugendo, M.-P. Gleizes, A. Karageorgos. "Self-Organisation in MAS", Knowledge Engineering Review 20(2): , Cambridge University Press, 2005. 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 2006. T. De Wolf, Analysing and engineering self-organising emergent applications, Ph.D. Thesis, Department of Computer Science, K.U.Leuven, Leuven, Belgium, May, 2007. 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 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