SlideShare a Scribd company logo
1 of 79
Introdução ao 
Framework Jason: 
Sistemas Multi-agentes 
na Prática 
Carlos Eduardo Pantoja
Sumário 
1. Introdução a Sistemas Multi-Agentes 
2. Modelo Belief-Desire-Intention 
3. Linguagem de Programação a Agentes Jason 
4. Beliefs 
5. Goals 
6. Plans & Actions 
7. Comunicação Entre Agentes 
8. O Ambiente dos Agentes 
9. Conclusão 
10. Referências Bibliográficas
1 
1. Introdução a Sistemas Multi-Agentes 
• Agente 
Conforme [WOOLDRIDGE, 2000], agentes são componentes autônomos 
e cognitivos, originados da inteligência artificial, situados em um 
ambiente e possuem uma biblioteca de planos com possíveis ações 
em resposta aos estímulos percebidos, com a finalidade de atingir seus 
objetivos de projeto e modificar o ambiente em que estão inseridos.
2 
Visão Tradicional de um Agente 
Figura 1. Um agente inteligente.
3 
• Sistemas Multi-Agentes (SMA) 
Um SMA contem um quantitativo de agentes que se comunicam entre si 
e podem agir em determinado ambiente. Diferentes agentes possuem 
esferas de influência onde terão controle sobre o que será percebido do 
ambiente e que podem coincidir em alguns casos. 
Os agentes ainda podem estar agrupados em organizações com a 
finalidade de atingir objetivos e metas comuns. [WOOLDRIDGE, 2009].
4 
Visão Tradicional de um SMA 
Figura 2. Um Sistema Multi-agente.
5 
Conforme [WOOLDRIDGE, 2009], a abordagem SMA permite a 
modelagem desde sistemas simples a complexos e são usados em uma 
variedade de aplicações como industria: 
1. Gestão da Informação 
2. Internet 
3. Transportes 
4. Telecomunicações 
5. Medicina 
6. Robótica 
7. Entretenimento
6 
Projetos de SMA no mundo: 
1. Intelligent Room (AIRE/MIT) 
2. A Plan-Based Command Post for UAVs (AIRE/MIT) 
3. Biologically-Inspired Control for Self-Adaptive MAS (Harvard) 
4. JaCaMo Project (UFSC/Itália/França/PUC-RS) 
5. Bio Simulations (PUC/RJ) 
Projetos de SMA no Projeto Turing: 
1. Gerador de Codificação Automática para Jason 
2. Ferramenta Gráficas para Metodologias Orientadas a Agentes 
3. Plataforma Orientada a Agentes para UAVs. 
4. Utilização da Plataforma para Automatização de Hardware
Objetivo Principal 
7 
• Criar sistemas multi-agentes utilizando uma plataforma cognitiva baseada 
em Java e AgentSpeak: Jason Framework. 
Objetivo Secundário 
• Permitir à equipe do projeto Turing adquirir conhecimentos para participar 
do WESAAC.
8 
2. Modelo Belief-Desire-Intention (BDI) 
O BDI se refere ao uso de programas de computadores com analogias a 
crenças (beliefs), desejos (desires) e intenções (intentions). A definição de 
cada uma é descrita como se segue [BORDINI et al., 2007]: 
1. Crenças são informações que o agente tem sobre o mundo. 
2. Desejos são todas as possibilidades de estados de negócio que 
o agente deve querer atingir. Porém, ter um desejo não 
significa que o agente irá atuar sobre ele, mas este é uma 
potencial influência nas ações do agente. 
3. Intenções são todos os estados de negócios em que o agente 
decidiu trabalhar.
9 
A arquitetura BDI permite que programas de computadores 
possuam estado mental [BRATMAN, 1987]. 
Um agente e considerado racional se escolher agir em busca dos seus 
interesses e baseado nas crenças que possuir do mundo 
[WOOLDRIDGE, 1999]. 
Existem diversas linguagens e plataformas que implementam o conceito de BDI: 
1. PRS [BRATMAN, 1987] 
2. JAM [HUBER, 1999] 
3. dMARS [D'INVERNO et al., 1998] 
4. JACK [WINIKOFF, 2005] 
5. JASON [BORDINI et al., 2007] 
6. JADE/JADEX [BELLIFEMINE et al., 2007]
10 
• Procedural Reasoning System 
Caso um modelo computacional de agentes 
precise ser implementado, utiliza-se o modelo 
de raciocínio prático fazendo o uso da 
deliberação e o raciocínio fim-meio.
Os planos em PRS contêm os seguintes componentes: 
1. Metas (Goals) 
2. Contexto (Context) 
3. Corpo (Body) 
No momento de sua inicialização, um agente PRS terá uma 
coleção de planos, e crenças iniciais sobre o ambiente. As 
crenças são representadas como formulas atômicas da linguagem de 
primeira ordem e, alem disso, um agente também possuirá uma 
meta principal [BORDINI et al., 2007]. 
11
A Arquitetura PRS 
Figura 3. O Procedural Reasoning System. 
12
3. Linguagem de Programação a Agentes 
Jason 
• Framework Jason 
O JASON e um framework baseado em AgentSpeak e Java que utiliza as 
principais características do PRS. Em JASON um agente é composto de 
crenças, metas, planos e ações e é programado utilizando o 
AgentSpeak. 
Os agentes em JASON estão inseridos em um ambiente, 
que estende a classe Environment, onde as percepções 
e reações a estímulos do ambiente são programadas 
em Java [BORDINI et al., 2007]. 
13
• Instalando o Framework Jason 
1. Instalando o Eclipse (DVD) 
2. Configurando o Eclipse/Jason (Manual de Instalação) 
14
• Criando um Novo Projeto Jason 
Figura 4. File>New>Other>Jason Project 
15
• Criando um Novo Projeto Jason 
Colocar o 
nome do 
projeto 
Começar o 
projeto com 
um ambiente 
definido 
Figura 5. O Jason Project. 
16
• Criando um Novo Projeto Jason 
Pasta com os 
arquivos dos 
agentes em 
AgentSpeak 
Pasta com os 
arquivos do 
ambiente em 
Java 
Arquivo de 
configuração 
do SMA 
Figura 6. Os arquivos de um projeto em Jason. 
17
• Inserindo um Novo Agente 
Figura 7. File>New>Other>Agent. 
18
• Inserindo um Novo Agente 
Digitar o 
nome do 
Agente. A 
primeira 
letra deve 
ser 
MINÚSCULA. 
Figura 8. Um novo agent AgentSpeak. 
19
• Inserindo um Novo Agente 
Figura 9. Estrutura inicial de um agente. 
20
• Configurando o SMA 
Especificação 
dos agentes 
participantes 
do SMA 
Figura 10. O arquivo de configuração em Jason. 
Especificação do endereço 
da pasta onde estão 
localizados os agentes 
21
• Executando o SMA 
Selecionar o 
arquivo de 
configuração 
Executar o 
projeto 
Figura 11. Executando o projeto. 
22
• Executando o SMA 
Figura 12. O console do framework Jason. 
23
• Debug do SMA 
Figura 13. O debug do framework Jason. 
24
4. Beliefs 
Em Jason, um agente armazena as informações percebidas do 
ambiente; as informações internas; e informações de comunicação 
através de crenças. 
As crenças são armazenadas em uma Base de 
Crenças (Belief Base). 
As crenças são representadas como predicados da lógica 
tradicional. Os predicados representam propriedades 
particulares. 
25
• Tipos 
1. Percepções do Ambiente (Percepts) 
Informações coletadas pelo agente que são relativas ao 
sensoriamento constante do ambiente. 
2. Notas Mentais (Mental Notes) 
Informações adicionadas na base de crenças pelo próprio 
agente resultado de coisas que aconteceram no passado, promessas. 
Esse tipo de informação geralmente é adicionada pela execução de 
um plano. constante do ambiente. 
3. Comunicação 
Informações obtidas pelo agente através da comunicação 
com outros agentes. 
26
• Exemplos: Crenças Iniciais 
salario(5000). 
alto(giba). 
missionStarted. 
carro(c4, kadu). 
OBS.: Toda crença inicial em Jason deve 
terminar com . 
OBS.: Toda crença deve começar com letra 
MINÚSCULA. 
27
• Exemplos: Strong Negation 
~missionStarted. 
~alto(giba). 
~dia. 
OBS.: Toda strong negation em Jason 
deve começar com ~ 
28
• Exemplos: Crenças Iniciais 
salario(5000). 
Figura 14. As crenças iniciais do agente bigBrother. 
29
• Exercício 
a) Crie um SMA que simule um quarto inteligente. O quarto será controlado 
por um agente que começará com as seguintes crenças sobre o quarto: 
• É dia; 
• A luz do quarto está apagada; 
• A Kate está no quarto; 
• O Bob não está no quarto; 
• A temperatura atual do quarto; 
b) Adicione ao SMA um novo agente que simule o despertador. Esse novo 
agente deverá ter 3 crenças, incluindo o horário para despertar da Kate e 
do Bob. 
c) Analise no Mind Inspector as crenças dos agentes do SMA. 
30
5. Goals 
Em Jason, os goals (objetivos) representam os estados do mundo em 
que o agente deseja atingir. 
• Tipos 
1. Achievement Goals (!) 
É um objetivo para atingir determinado estado desejado 
pelo agente. 
2. Test Goals (?) 
É um objetivo que tem basicamente a finalidade de 
resgatar informações da base de crenças do agente. 
31
• Exemplos: Goals Iniciais 
!start. 
!thinking. 
!print(“Kadu”). 
OBS.: Toda goal inicial em Jason deve ser 
um Achievement Goal; começar com !; e 
terminar com . 
OBS.: Todo goal deve começar com letra 
MINÚSCULA. 
32
• Exemplos: Goals Iniciais 
!start. 
!thinking. 
Figura 15. Os objetivos iniciais do agente bigBrother. 
33
• Exemplos: Goals Iniciais 
Figura 16. O console exibindo o resultado da execução. 
34
• Exemplos: Goals Iniciais 
Figura 17. O debug. 
35
• Exercício 
a) Adicione ao agente do quarto inteligente os seguintes objetivos iniciais. 
(para cada objetivo abaixo, gere um plano com a ação .print(“Objetivo”)): 
• Gerenciar a luminosidade; 
• Gerenciar as pessoas que estão no quarto; 
b) Adicione ao agente despertador um objetivo para despertar. Quando o 
objetivo for executado, este deve imprimir alguma mensagem. Obs.: O 
despertador deve despertar sem nenhuma condição específica. 
36
6. Plans & Actions 
Em Jason, um plano é composto por três partes: 
Triggering_event : context <- body. 
37
• Formato de um Plano 
1. Triggering Event 
Um agente pode ter diversos objetivos. Os planos são ativados 
baseados nos eventos que podem ser ativados em determinado 
momento. 
2. Context 
São as condições para a ativação de um plano dentro vários 
eventos. 
3. Body 
É o corpo do plano. Uma sequência de ações a ser executada 
pelo agente. 
38
• Tipos de Triggering Events 
1. Addition 
São ativados quando um plano é transformado de um 
desejo para uma intenção na mente do agente. 
39
• Tipos de Triggering Events 
2. Deletion 
Funciona como um tratamento de erros para planos que 
não possuem ativação. 
40
• Tipos de Planos 
1. Achievement Goal 
São objetivos que os agentes se comprometem em atingir. 
41
• Tipos de Planos 
2. Test Goal 
São objetivos que recuperam informações da base de crenças. 
42
• Tipos de Planos 
3. Belief 
São planos ativados quando o agente adiciona ou remove uma 
crença da sua base de crenças 
43
• Ações de um Plano 
1. Achievement e Test Goals 
São as chamadas para execução de um plano. 
44
• Ações de um Plano 
2. Mental Notes 
São ações que adicionam, removem ou atualizam uma 
crença na base de crença do agente. 
45
• Ações de um Plano 
3. Internal Action 
São ações pré-definidas executadas dentro do raciocínio do 
agente. 
.print 
.send 
.broadcast 
.drop_all_desires 
.my_name 
.concat 
.length 
.min 
.max 
.nth 
.sort 
.substring 
.drop_all_events 
.abolish 
.string 
.count 
.create_agent 
.date 
.wait 
.random 
.kill_agent 
.time 
.perceive 
.stopMAS 
46
• Ações de um Plano 
4. External Action 
São ações executadas no ambiente em que o agente 
estiver inserido. 
47
• Ações de um Plano 
5. Expressões 
48
7. Comunicação Entre Agentes 
• Introdução 
No início de cada ciclo de raciocínio, o agente verifica mensagens que ele 
possa ter recebido de outros agentes 
Baseada em Speech Act e KQML 
49
• Reasoning Cycle 
Seleção de 
mensagens 
aceitáveis 
Verificação 
de novas 
mensagens Seleção de mensagens 
Envio de 
mensagens 
50
• Estrutura 
<sender; illocutionary forces; content> 
i. Sender 
Uma proposição atômica representando o nome do agente 
que enviou a mensagem. 
ii. Illocutionary Forces 
São as performativas que denotam as intenções do 
remetente. 
iii. Content 
Conteúdo da mensagem enviada. 
51
• Estrutura no Jason 
.send(receiver, illocutionary forces, propositional content) 
.broadcast(illocutionary forces, propositional content) 
i. Receiver 
Uma proposição atômica em AgentSpeak representando o 
nome do agente que enviou a mensagem. 
ii. Illocutionary Forces 
São as performativas que denotam as intenções do 
remetente. 
iii. Propositional Content 
Um termo em AgentSpeak que varia de acordo com as 
forças ilocucionárias. 
52
• Performativas Implementadas 
1. tell 
O agente remetente pretende que o receptor acredite que 
o conteúdo enviado é verdadeiro de acordo com as crenças do 
remetente. 
Agente Kate 
53
• Performativas Implementadas 
2. untell 
O agente remetente pretende que o receptor não acredite 
que o conteúdo enviado é verdadeiro de acordo com as crenças do 
remetente. 
Agente Kate Agente Bob 
54
• Performativas Implementadas 
3. achieve 
O agente remetente pede que o receptor tente atingir um 
objetivo de estado verdadeiro de acordo com conteúdo enviado. 
Agente Kate Agente Bob 
55
• Performativas Implementadas 
4. unachieve 
O agente remetente pede que o receptor deixe de tentar 
atingir um objetivo de estado verdadeiro de acordo com conteúdo 
enviado. 
Agente Kate Agente Bob 
56
• Performativas Implementadas 
5. askOne 
O agente remetente deseja saber se a reposta do receptor 
para determinada questão é verdadeira. 
Agente Kate Agente Bob 
57
• Performativas Implementadas 
6. askAll 
O agente remetente deseja saber todas as repostas do 
receptor sobre uma questão. 
Agente Bob Agente Kate 
58
• Performativas Implementadas 
7. askHow 
O agente remetente deseja saber todas implementações 
de planos do receptor para determinado plano. 
Agente Kate Agente Bob 
59
• Performativas Implementadas 
Agente Bob 
8. tellHow 
O agente remetente informa ao agente receptor a 
implementação de um plano. 
60
• Performativas Implementadas 
9. untellHow 
O agente remetente solicita ao agente receptor a remoção 
da implementação de um plano da biblioteca de planos do receptor. 
Agente Bob 
61
• Performativas Implementadas 
10. broadcast 
Permite o uso de todas as performativas vistas 
anteriormente. Contudo, não é preciso identificar o agente de 
destino, visto que ela será enviada a todos os agentes do SMA. 
Agente Kate 
62
• Por trás do Jason 
1. Agente 
Figura 18. A arquitetura de um agente [Bordini et al., 2007]. 
63
• Por trás do Jason 
2. Arquitetura 
Figura 19. A arquitetura de mensagens [Bordini et al., 2007]. 
64
8. O Ambiente dos Agentes 
• Introdução 
Em Jason o ambiente é uma representação simulada por uma classe em Java 
com métodos padrões para a execução de ações e atualização de crenças em 
cada ciclo de raciocínio do agente. 
65 
Figura 20. A arquitetura do ambiente [Bordini et al., 2007].
• Configurando o ambiente do SMA 
Especificação 
da classe que 
representará 
o ambiente 
Figura 21. Configuração da classe que representará o ambiente. 
66
• Pacote do Ambiente 
Localização 
dos arquivos 
do ambiente 
Figura 22. A localização do pacote do ambiente. 
67
• A classe Environment 
método que inicia 
o ambiente 
Figura 23. A classe de ambiente auto-gerada pelo Jason. 
68 
método que 
simula a execução 
de uma ação no 
ambiente
• Criando uma Percepção Global 
Figura 24. Criando um percept e atribuindo a crença aos agentes. 
Atualiza (como 
crença para todos 
os agentes ao 
iniciar o MAS) a 
quantidade de 
alimento 
disponível no 
ambiente. 
69 
Criação de uma percepção global 
como atributo de uma classe em java.
• Programando uma Ação Externa 
Figura 25. Programando a ação externa eat. 
Verifica se a ação 
executada possui 
70 
alguma 
programação no 
método 
executeAction.
• Executando o MAS com o Ambiente 
71
• Debug 
Figura 26. O percept visto como crença pelo agente. 
A percepção 
global com 
origem do 
ambiente 
(percept). 
72
• Agentes Competindo por Um Recurso 
Figura 27. Dois agentes competindo pelo recurso food no ambiente simulado. 
73
9. Conclusão 
Este curso apresentou uma introdução ao Sistemas Multi-Agentes usando 
o Framework Jason. 
O curso é introdutório contudo é possível criar SMA concisos e completos 
para uma realidade simulada. 
Atualmente é utilizado o CArtAgO para a implementação de 
artefatos de ambiente e o Moise para implementação de 
organizações e papéis. 
74
10. Referências Bibliográficas 
Boissier O, Bordini RH, Hübner JF, Ricci A, Santi A. Multi-agent oriented programming 
with JaCaMo. Science of Computer Programming. 2013 Jun;6(1): 747-761. 
Bordini RH, Hubner JF, Wooldridge W. Programming Multi-Agent Systems in 
AgentSpeak using Jason. Jonh Wiley and Sons, London, 2007 
Bratman, M. Intentions, Plans, and Practical Reason. Harvard University Press, 1987. 
Huber MJ. Jam: a bdi-theoretic mobile agent architecture. In Proceedings of the third 
annual conference on Autonomous Agents, AGENTS '99, pags. 236-243, New York, 
1999. 
75
Winikoff M. Jack intelligent agents: An industrial strength platform. Em Bordini R, 
Dastani M, Dix J, Fallah AS, Weiss G, editors. Multi-Agent Programming, volume 15 of 
Multiagent Systems, Articial Societies, and Simulated Organizations, pags. 175-193. 
Springer US, 2005. 
Wooldridge, M. (2000). Reasoning about rational agents. Intelligent robotics and 
autonomous agents. MIT Press. 
Wooldridge M. An Introduction to MultiAgent Systems. John Wiley & Sons, 2009. 
Zambonelli F, Jennings NR, Omicini A, Wooldridge M. Agent-Oriented Software 
Engineering for Internet Applications. In: Omicini A, Zambonelli F, Klusch M, Tolksdorf 
R, editors. Coordination of Internet Agents. Springer Verlag; 2001. p.326-345. 
76
pantoja@cefet-rj.br

More Related Content

What's hot

Intermediate code kode antara
Intermediate code   kode antaraIntermediate code   kode antara
Intermediate code kode antaraGunawan Manalu
 
Métricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetosMétricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetosJosé Claudemir Pacheco Júnior
 
Metodologia de Desenvolvimento de Softwares
Metodologia de Desenvolvimento de SoftwaresMetodologia de Desenvolvimento de Softwares
Metodologia de Desenvolvimento de SoftwaresAragon Vieira
 
Question Ppt Powerpoint Presentation File Pictures
Question Ppt Powerpoint Presentation File PicturesQuestion Ppt Powerpoint Presentation File Pictures
Question Ppt Powerpoint Presentation File PicturesSlideTeam
 
Introdução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareIntrodução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareCamilo Almendra
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareCamilo de Melo
 
[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collection[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collectionrizki adam kurniawan
 
Modelo de especificação de caso de uso
Modelo de especificação de caso de usoModelo de especificação de caso de uso
Modelo de especificação de caso de usoLeandro Rodrigues
 
Pertemuan 9 Representasi Pengetahuan
Pertemuan 9 Representasi PengetahuanPertemuan 9 Representasi Pengetahuan
Pertemuan 9 Representasi PengetahuanEndang Retnoningsih
 
Excel Avançado - Aulas
Excel Avançado - AulasExcel Avançado - Aulas
Excel Avançado - AulasGustavo Sousa
 
Engenharia de Software Pressman
Engenharia de Software PressmanEngenharia de Software Pressman
Engenharia de Software PressmanSimoneinfo
 
Rudi hartanto tutorial 01 rapid miner 5.3 decision tree
Rudi hartanto   tutorial 01 rapid miner 5.3 decision treeRudi hartanto   tutorial 01 rapid miner 5.3 decision tree
Rudi hartanto tutorial 01 rapid miner 5.3 decision treeilmuBiner
 
Rpl 6-analisis sistem
Rpl 6-analisis sistemRpl 6-analisis sistem
Rpl 6-analisis sistemf' yagami
 
Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Ricardo Terra
 

What's hot (20)

Intermediate code kode antara
Intermediate code   kode antaraIntermediate code   kode antara
Intermediate code kode antara
 
UML
UMLUML
UML
 
Eng.ª do Software - 10. Testes de software
Eng.ª do Software - 10. Testes de softwareEng.ª do Software - 10. Testes de software
Eng.ª do Software - 10. Testes de software
 
Métricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetosMétricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetos
 
Metodologia de Desenvolvimento de Softwares
Metodologia de Desenvolvimento de SoftwaresMetodologia de Desenvolvimento de Softwares
Metodologia de Desenvolvimento de Softwares
 
Question Ppt Powerpoint Presentation File Pictures
Question Ppt Powerpoint Presentation File PicturesQuestion Ppt Powerpoint Presentation File Pictures
Question Ppt Powerpoint Presentation File Pictures
 
Introdução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareIntrodução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de Software
 
Qualidade de software
Qualidade de softwareQualidade de software
Qualidade de software
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
 
[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collection[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collection
 
Modelo de especificação de caso de uso
Modelo de especificação de caso de usoModelo de especificação de caso de uso
Modelo de especificação de caso de uso
 
Pertemuan 9 Representasi Pengetahuan
Pertemuan 9 Representasi PengetahuanPertemuan 9 Representasi Pengetahuan
Pertemuan 9 Representasi Pengetahuan
 
Excel Avançado - Aulas
Excel Avançado - AulasExcel Avançado - Aulas
Excel Avançado - Aulas
 
Engenharia de Software Pressman
Engenharia de Software PressmanEngenharia de Software Pressman
Engenharia de Software Pressman
 
Rudi hartanto tutorial 01 rapid miner 5.3 decision tree
Rudi hartanto   tutorial 01 rapid miner 5.3 decision treeRudi hartanto   tutorial 01 rapid miner 5.3 decision tree
Rudi hartanto tutorial 01 rapid miner 5.3 decision tree
 
Banco de dados aula 2
Banco de dados  aula 2Banco de dados  aula 2
Banco de dados aula 2
 
Rpl 6-analisis sistem
Rpl 6-analisis sistemRpl 6-analisis sistem
Rpl 6-analisis sistem
 
Use skenario
Use skenarioUse skenario
Use skenario
 
Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)
 
Curso de Node JS Básico
Curso de Node JS BásicoCurso de Node JS Básico
Curso de Node JS Básico
 

Viewers also liked

Comunicação entre Java e Arduino Utilizando o Middleware Javino
Comunicação entre Java e Arduino Utilizando o Middleware JavinoComunicação entre Java e Arduino Utilizando o Middleware Javino
Comunicação entre Java e Arduino Utilizando o Middleware JavinoCarlos Eduardo Pantoja
 
Introdução a Programação de Agentes Robóticos Usando Jason e ARGO
Introdução a Programação de Agentes Robóticos Usando Jason e ARGOIntrodução a Programação de Agentes Robóticos Usando Jason e ARGO
Introdução a Programação de Agentes Robóticos Usando Jason e ARGOCarlos Eduardo Pantoja
 
ARGO - A Customized Jason Architecture for Programming Embedded Robotic Agents
ARGO - A Customized Jason Architecture for Programming Embedded Robotic AgentsARGO - A Customized Jason Architecture for Programming Embedded Robotic Agents
ARGO - A Customized Jason Architecture for Programming Embedded Robotic AgentsCarlos Eduardo Pantoja
 
LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...
LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...
LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...Carlos Eduardo Pantoja
 
Redes neurais, lógica fuzzy e inteligência artificial
Redes neurais, lógica fuzzy e inteligência artificialRedes neurais, lógica fuzzy e inteligência artificial
Redes neurais, lógica fuzzy e inteligência artificialMiguel Sellitto
 
Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o ...
Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o ...Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o ...
Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o ...Carlos Eduardo Pantoja
 
Utilizando Sistemas Multi-agentes para a Programação de Plataformas Robóticas
Utilizando Sistemas Multi-agentes para a Programação de Plataformas RobóticasUtilizando Sistemas Multi-agentes para a Programação de Plataformas Robóticas
Utilizando Sistemas Multi-agentes para a Programação de Plataformas RobóticasCarlos Eduardo Pantoja
 

Viewers also liked (8)

Agentes inteligentes com jason
Agentes inteligentes com jasonAgentes inteligentes com jason
Agentes inteligentes com jason
 
Comunicação entre Java e Arduino Utilizando o Middleware Javino
Comunicação entre Java e Arduino Utilizando o Middleware JavinoComunicação entre Java e Arduino Utilizando o Middleware Javino
Comunicação entre Java e Arduino Utilizando o Middleware Javino
 
Introdução a Programação de Agentes Robóticos Usando Jason e ARGO
Introdução a Programação de Agentes Robóticos Usando Jason e ARGOIntrodução a Programação de Agentes Robóticos Usando Jason e ARGO
Introdução a Programação de Agentes Robóticos Usando Jason e ARGO
 
ARGO - A Customized Jason Architecture for Programming Embedded Robotic Agents
ARGO - A Customized Jason Architecture for Programming Embedded Robotic AgentsARGO - A Customized Jason Architecture for Programming Embedded Robotic Agents
ARGO - A Customized Jason Architecture for Programming Embedded Robotic Agents
 
LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...
LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...
LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...
 
Redes neurais, lógica fuzzy e inteligência artificial
Redes neurais, lógica fuzzy e inteligência artificialRedes neurais, lógica fuzzy e inteligência artificial
Redes neurais, lógica fuzzy e inteligência artificial
 
Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o ...
Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o ...Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o ...
Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o ...
 
Utilizando Sistemas Multi-agentes para a Programação de Plataformas Robóticas
Utilizando Sistemas Multi-agentes para a Programação de Plataformas RobóticasUtilizando Sistemas Multi-agentes para a Programação de Plataformas Robóticas
Utilizando Sistemas Multi-agentes para a Programação de Plataformas Robóticas
 

Similar to Introdução ao Framework Jason

Comunicação em Sistemas Multi-agentes Utilizando o Framework Jason
Comunicação em Sistemas Multi-agentes Utilizando o Framework JasonComunicação em Sistemas Multi-agentes Utilizando o Framework Jason
Comunicação em Sistemas Multi-agentes Utilizando o Framework JasonCarlos Eduardo Pantoja
 
Introdução à Engenharia de Software Orientada a Agentes com JaCaMo
Introdução à Engenharia de Software Orientada a Agentes com JaCaMoIntrodução à Engenharia de Software Orientada a Agentes com JaCaMo
Introdução à Engenharia de Software Orientada a Agentes com JaCaMoNécio de Lima Veras
 
Jason: Componentes personalizados
Jason: Componentes personalizados Jason: Componentes personalizados
Jason: Componentes personalizados Nécio de Lima Veras
 
Plano de projeto cafis
Plano de projeto cafisPlano de projeto cafis
Plano de projeto cafisJonathas Silva
 
Agent based software development
Agent based software developmentAgent based software development
Agent based software developmentAlan Prando
 
Arquiteturas concretas de agentes inteligentes - bdi agents
Arquiteturas concretas de agentes inteligentes - bdi agentsArquiteturas concretas de agentes inteligentes - bdi agents
Arquiteturas concretas de agentes inteligentes - bdi agentsNécio de Lima Veras
 
01 Orientacao A Objetos Programacao
01   Orientacao A Objetos   Programacao01   Orientacao A Objetos   Programacao
01 Orientacao A Objetos Programacaotaniamaciel
 
Grupos de processos de planejamento
Grupos de processos de planejamentoGrupos de processos de planejamento
Grupos de processos de planejamentoLeonardo Soares
 
Plano de Projeto - Gerencia de Projetos
Plano de Projeto - Gerencia de ProjetosPlano de Projeto - Gerencia de Projetos
Plano de Projeto - Gerencia de ProjetosHelder Filho
 
Slides 02 - Orientacao a Objetos.pdf
Slides 02 - Orientacao a Objetos.pdfSlides 02 - Orientacao a Objetos.pdf
Slides 02 - Orientacao a Objetos.pdfJadna Almeida
 
Automação de um Veículo Terrestre Não Tripulado Utilizando Jason Framework
Automação de um Veículo Terrestre Não Tripulado Utilizando Jason FrameworkAutomação de um Veículo Terrestre Não Tripulado Utilizando Jason Framework
Automação de um Veículo Terrestre Não Tripulado Utilizando Jason FrameworkCarlos Eduardo Pantoja
 
Android app communication
Android app communicationAndroid app communication
Android app communicationEloi Júnior
 
Grupo de processos de planejamento - Parte 02
Grupo de processos de planejamento - Parte 02Grupo de processos de planejamento - Parte 02
Grupo de processos de planejamento - Parte 02Leonardo Soares
 
Plano de projeto de software
Plano de projeto de softwarePlano de projeto de software
Plano de projeto de softwareSigelman Araujo
 
Composição de Modelos em Sistemas Multiagentes
Composição de Modelos em Sistemas MultiagentesComposição de Modelos em Sistemas Multiagentes
Composição de Modelos em Sistemas MultiagentesFelipe Neves Brito
 
Lean, sprints e outras técnicas
Lean, sprints e outras técnicasLean, sprints e outras técnicas
Lean, sprints e outras técnicasBarbara Wolff Dick
 

Similar to Introdução ao Framework Jason (20)

Comunicação em Sistemas Multi-agentes Utilizando o Framework Jason
Comunicação em Sistemas Multi-agentes Utilizando o Framework JasonComunicação em Sistemas Multi-agentes Utilizando o Framework Jason
Comunicação em Sistemas Multi-agentes Utilizando o Framework Jason
 
Introdução à Engenharia de Software Orientada a Agentes com JaCaMo
Introdução à Engenharia de Software Orientada a Agentes com JaCaMoIntrodução à Engenharia de Software Orientada a Agentes com JaCaMo
Introdução à Engenharia de Software Orientada a Agentes com JaCaMo
 
Jason: Componentes personalizados
Jason: Componentes personalizados Jason: Componentes personalizados
Jason: Componentes personalizados
 
Plano de projeto cafis
Plano de projeto cafisPlano de projeto cafis
Plano de projeto cafis
 
Analise e projeto de Sistemas
Analise e projeto de SistemasAnalise e projeto de Sistemas
Analise e projeto de Sistemas
 
Visual Basic Básico
Visual Basic BásicoVisual Basic Básico
Visual Basic Básico
 
Agent based software development
Agent based software developmentAgent based software development
Agent based software development
 
Arquiteturas concretas de agentes inteligentes - bdi agents
Arquiteturas concretas de agentes inteligentes - bdi agentsArquiteturas concretas de agentes inteligentes - bdi agents
Arquiteturas concretas de agentes inteligentes - bdi agents
 
MaDKit
MaDKitMaDKit
MaDKit
 
01 Orientacao A Objetos Programacao
01   Orientacao A Objetos   Programacao01   Orientacao A Objetos   Programacao
01 Orientacao A Objetos Programacao
 
Grupos de processos de planejamento
Grupos de processos de planejamentoGrupos de processos de planejamento
Grupos de processos de planejamento
 
Plano de Projeto - Gerencia de Projetos
Plano de Projeto - Gerencia de ProjetosPlano de Projeto - Gerencia de Projetos
Plano de Projeto - Gerencia de Projetos
 
Slides 02 - Orientacao a Objetos.pdf
Slides 02 - Orientacao a Objetos.pdfSlides 02 - Orientacao a Objetos.pdf
Slides 02 - Orientacao a Objetos.pdf
 
Automação de um Veículo Terrestre Não Tripulado Utilizando Jason Framework
Automação de um Veículo Terrestre Não Tripulado Utilizando Jason FrameworkAutomação de um Veículo Terrestre Não Tripulado Utilizando Jason Framework
Automação de um Veículo Terrestre Não Tripulado Utilizando Jason Framework
 
Android app communication
Android app communicationAndroid app communication
Android app communication
 
Grupo de processos de planejamento - Parte 02
Grupo de processos de planejamento - Parte 02Grupo de processos de planejamento - Parte 02
Grupo de processos de planejamento - Parte 02
 
Plano de projeto - Gerência de Projetos
Plano de projeto - Gerência de ProjetosPlano de projeto - Gerência de Projetos
Plano de projeto - Gerência de Projetos
 
Plano de projeto de software
Plano de projeto de softwarePlano de projeto de software
Plano de projeto de software
 
Composição de Modelos em Sistemas Multiagentes
Composição de Modelos em Sistemas MultiagentesComposição de Modelos em Sistemas Multiagentes
Composição de Modelos em Sistemas Multiagentes
 
Lean, sprints e outras técnicas
Lean, sprints e outras técnicasLean, sprints e outras técnicas
Lean, sprints e outras técnicas
 

More from Carlos Eduardo Pantoja

Integrando a Programação Java com Arduino Utilizando o Javino
Integrando a Programação Java com Arduino Utilizando o JavinoIntegrando a Programação Java com Arduino Utilizando o Javino
Integrando a Programação Java com Arduino Utilizando o JavinoCarlos Eduardo Pantoja
 
Transporte de Agentes Cognitivos entre SMA Usando Framework Jason e o Middlew...
Transporte de Agentes Cognitivos entre SMA Usando Framework Jason e o Middlew...Transporte de Agentes Cognitivos entre SMA Usando Framework Jason e o Middlew...
Transporte de Agentes Cognitivos entre SMA Usando Framework Jason e o Middlew...Carlos Eduardo Pantoja
 
A Heterogeneous Architecture for Integrating Multi-Agent Systems in AmI Systems
A Heterogeneous Architecture for Integrating Multi-Agent Systems in AmI SystemsA Heterogeneous Architecture for Integrating Multi-Agent Systems in AmI Systems
A Heterogeneous Architecture for Integrating Multi-Agent Systems in AmI SystemsCarlos Eduardo Pantoja
 
An Architecture for the Development of Ambient Intelligence Systems Managed b...
An Architecture for the Development of Ambient Intelligence Systems Managed b...An Architecture for the Development of Ambient Intelligence Systems Managed b...
An Architecture for the Development of Ambient Intelligence Systems Managed b...Carlos Eduardo Pantoja
 
Transporte de Agentes Cognitivos entre SMA Distintos Inspirado nos Princípios...
Transporte de Agentes Cognitivos entre SMA Distintos Inspirado nos Princípios...Transporte de Agentes Cognitivos entre SMA Distintos Inspirado nos Princípios...
Transporte de Agentes Cognitivos entre SMA Distintos Inspirado nos Princípios...Carlos Eduardo Pantoja
 
Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...
Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...
Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...Carlos Eduardo Pantoja
 
Questões de Concursos - Sistemas de Informação (Parte 1)
Questões de Concursos - Sistemas de Informação (Parte 1)Questões de Concursos - Sistemas de Informação (Parte 1)
Questões de Concursos - Sistemas de Informação (Parte 1)Carlos Eduardo Pantoja
 
Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...
Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...
Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...Carlos Eduardo Pantoja
 
LISA - Laboratório Inteligente de Sistemas Autônomos
LISA - Laboratório Inteligente de Sistemas AutônomosLISA - Laboratório Inteligente de Sistemas Autônomos
LISA - Laboratório Inteligente de Sistemas AutônomosCarlos Eduardo Pantoja
 
Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...
Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...
Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...Carlos Eduardo Pantoja
 
Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...
Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...
Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...Carlos Eduardo Pantoja
 
Instalação e Manutenção de Computadores
Instalação e Manutenção de ComputadoresInstalação e Manutenção de Computadores
Instalação e Manutenção de ComputadoresCarlos Eduardo Pantoja
 
Desenvolvimento de Uma Smart Home Baseada na Arquitetura ARGO
Desenvolvimento de Uma Smart Home Baseada na Arquitetura ARGODesenvolvimento de Uma Smart Home Baseada na Arquitetura ARGO
Desenvolvimento de Uma Smart Home Baseada na Arquitetura ARGOCarlos Eduardo Pantoja
 
Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...
Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...
Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...Carlos Eduardo Pantoja
 
Inside Jason: Experiências no Desenvolvimento de Arquiteturas Customizadas
Inside Jason: Experiências no Desenvolvimento de Arquiteturas CustomizadasInside Jason: Experiências no Desenvolvimento de Arquiteturas Customizadas
Inside Jason: Experiências no Desenvolvimento de Arquiteturas CustomizadasCarlos Eduardo Pantoja
 
Sistema de Controle de Justificativas de Medicamentos Antimicrobianos
Sistema de Controle de Justificativas de Medicamentos AntimicrobianosSistema de Controle de Justificativas de Medicamentos Antimicrobianos
Sistema de Controle de Justificativas de Medicamentos AntimicrobianosCarlos Eduardo Pantoja
 
Prototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with Jason
Prototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with JasonPrototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with Jason
Prototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with JasonCarlos Eduardo Pantoja
 
Introdução a Administração e a Economia
Introdução a Administração e a EconomiaIntrodução a Administração e a Economia
Introdução a Administração e a EconomiaCarlos Eduardo Pantoja
 
Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...
Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...
Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...Carlos Eduardo Pantoja
 

More from Carlos Eduardo Pantoja (20)

Integrando a Programação Java com Arduino Utilizando o Javino
Integrando a Programação Java com Arduino Utilizando o JavinoIntegrando a Programação Java com Arduino Utilizando o Javino
Integrando a Programação Java com Arduino Utilizando o Javino
 
Transporte de Agentes Cognitivos entre SMA Usando Framework Jason e o Middlew...
Transporte de Agentes Cognitivos entre SMA Usando Framework Jason e o Middlew...Transporte de Agentes Cognitivos entre SMA Usando Framework Jason e o Middlew...
Transporte de Agentes Cognitivos entre SMA Usando Framework Jason e o Middlew...
 
A Heterogeneous Architecture for Integrating Multi-Agent Systems in AmI Systems
A Heterogeneous Architecture for Integrating Multi-Agent Systems in AmI SystemsA Heterogeneous Architecture for Integrating Multi-Agent Systems in AmI Systems
A Heterogeneous Architecture for Integrating Multi-Agent Systems in AmI Systems
 
An Architecture for the Development of Ambient Intelligence Systems Managed b...
An Architecture for the Development of Ambient Intelligence Systems Managed b...An Architecture for the Development of Ambient Intelligence Systems Managed b...
An Architecture for the Development of Ambient Intelligence Systems Managed b...
 
Transporte de Agentes Cognitivos entre SMA Distintos Inspirado nos Princípios...
Transporte de Agentes Cognitivos entre SMA Distintos Inspirado nos Princípios...Transporte de Agentes Cognitivos entre SMA Distintos Inspirado nos Princípios...
Transporte de Agentes Cognitivos entre SMA Distintos Inspirado nos Princípios...
 
Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...
Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...
Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...
 
Questões de Concursos - Sistemas de Informação (Parte 1)
Questões de Concursos - Sistemas de Informação (Parte 1)Questões de Concursos - Sistemas de Informação (Parte 1)
Questões de Concursos - Sistemas de Informação (Parte 1)
 
Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...
Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...
Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...
 
LISA - Laboratório Inteligente de Sistemas Autônomos
LISA - Laboratório Inteligente de Sistemas AutônomosLISA - Laboratório Inteligente de Sistemas Autônomos
LISA - Laboratório Inteligente de Sistemas Autônomos
 
Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...
Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...
Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...
 
Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...
Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...
Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...
 
Instalação e Manutenção de Computadores
Instalação e Manutenção de ComputadoresInstalação e Manutenção de Computadores
Instalação e Manutenção de Computadores
 
Desenvolvimento de Uma Smart Home Baseada na Arquitetura ARGO
Desenvolvimento de Uma Smart Home Baseada na Arquitetura ARGODesenvolvimento de Uma Smart Home Baseada na Arquitetura ARGO
Desenvolvimento de Uma Smart Home Baseada na Arquitetura ARGO
 
ContextNet Middleware
ContextNet MiddlewareContextNet Middleware
ContextNet Middleware
 
Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...
Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...
Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...
 
Inside Jason: Experiências no Desenvolvimento de Arquiteturas Customizadas
Inside Jason: Experiências no Desenvolvimento de Arquiteturas CustomizadasInside Jason: Experiências no Desenvolvimento de Arquiteturas Customizadas
Inside Jason: Experiências no Desenvolvimento de Arquiteturas Customizadas
 
Sistema de Controle de Justificativas de Medicamentos Antimicrobianos
Sistema de Controle de Justificativas de Medicamentos AntimicrobianosSistema de Controle de Justificativas de Medicamentos Antimicrobianos
Sistema de Controle de Justificativas de Medicamentos Antimicrobianos
 
Prototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with Jason
Prototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with JasonPrototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with Jason
Prototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with Jason
 
Introdução a Administração e a Economia
Introdução a Administração e a EconomiaIntrodução a Administração e a Economia
Introdução a Administração e a Economia
 
Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...
Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...
Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...
 

Introdução ao Framework Jason

  • 1. Introdução ao Framework Jason: Sistemas Multi-agentes na Prática Carlos Eduardo Pantoja
  • 2. Sumário 1. Introdução a Sistemas Multi-Agentes 2. Modelo Belief-Desire-Intention 3. Linguagem de Programação a Agentes Jason 4. Beliefs 5. Goals 6. Plans & Actions 7. Comunicação Entre Agentes 8. O Ambiente dos Agentes 9. Conclusão 10. Referências Bibliográficas
  • 3. 1 1. Introdução a Sistemas Multi-Agentes • Agente Conforme [WOOLDRIDGE, 2000], agentes são componentes autônomos e cognitivos, originados da inteligência artificial, situados em um ambiente e possuem uma biblioteca de planos com possíveis ações em resposta aos estímulos percebidos, com a finalidade de atingir seus objetivos de projeto e modificar o ambiente em que estão inseridos.
  • 4. 2 Visão Tradicional de um Agente Figura 1. Um agente inteligente.
  • 5. 3 • Sistemas Multi-Agentes (SMA) Um SMA contem um quantitativo de agentes que se comunicam entre si e podem agir em determinado ambiente. Diferentes agentes possuem esferas de influência onde terão controle sobre o que será percebido do ambiente e que podem coincidir em alguns casos. Os agentes ainda podem estar agrupados em organizações com a finalidade de atingir objetivos e metas comuns. [WOOLDRIDGE, 2009].
  • 6. 4 Visão Tradicional de um SMA Figura 2. Um Sistema Multi-agente.
  • 7. 5 Conforme [WOOLDRIDGE, 2009], a abordagem SMA permite a modelagem desde sistemas simples a complexos e são usados em uma variedade de aplicações como industria: 1. Gestão da Informação 2. Internet 3. Transportes 4. Telecomunicações 5. Medicina 6. Robótica 7. Entretenimento
  • 8. 6 Projetos de SMA no mundo: 1. Intelligent Room (AIRE/MIT) 2. A Plan-Based Command Post for UAVs (AIRE/MIT) 3. Biologically-Inspired Control for Self-Adaptive MAS (Harvard) 4. JaCaMo Project (UFSC/Itália/França/PUC-RS) 5. Bio Simulations (PUC/RJ) Projetos de SMA no Projeto Turing: 1. Gerador de Codificação Automática para Jason 2. Ferramenta Gráficas para Metodologias Orientadas a Agentes 3. Plataforma Orientada a Agentes para UAVs. 4. Utilização da Plataforma para Automatização de Hardware
  • 9. Objetivo Principal 7 • Criar sistemas multi-agentes utilizando uma plataforma cognitiva baseada em Java e AgentSpeak: Jason Framework. Objetivo Secundário • Permitir à equipe do projeto Turing adquirir conhecimentos para participar do WESAAC.
  • 10. 8 2. Modelo Belief-Desire-Intention (BDI) O BDI se refere ao uso de programas de computadores com analogias a crenças (beliefs), desejos (desires) e intenções (intentions). A definição de cada uma é descrita como se segue [BORDINI et al., 2007]: 1. Crenças são informações que o agente tem sobre o mundo. 2. Desejos são todas as possibilidades de estados de negócio que o agente deve querer atingir. Porém, ter um desejo não significa que o agente irá atuar sobre ele, mas este é uma potencial influência nas ações do agente. 3. Intenções são todos os estados de negócios em que o agente decidiu trabalhar.
  • 11. 9 A arquitetura BDI permite que programas de computadores possuam estado mental [BRATMAN, 1987]. Um agente e considerado racional se escolher agir em busca dos seus interesses e baseado nas crenças que possuir do mundo [WOOLDRIDGE, 1999]. Existem diversas linguagens e plataformas que implementam o conceito de BDI: 1. PRS [BRATMAN, 1987] 2. JAM [HUBER, 1999] 3. dMARS [D'INVERNO et al., 1998] 4. JACK [WINIKOFF, 2005] 5. JASON [BORDINI et al., 2007] 6. JADE/JADEX [BELLIFEMINE et al., 2007]
  • 12. 10 • Procedural Reasoning System Caso um modelo computacional de agentes precise ser implementado, utiliza-se o modelo de raciocínio prático fazendo o uso da deliberação e o raciocínio fim-meio.
  • 13. Os planos em PRS contêm os seguintes componentes: 1. Metas (Goals) 2. Contexto (Context) 3. Corpo (Body) No momento de sua inicialização, um agente PRS terá uma coleção de planos, e crenças iniciais sobre o ambiente. As crenças são representadas como formulas atômicas da linguagem de primeira ordem e, alem disso, um agente também possuirá uma meta principal [BORDINI et al., 2007]. 11
  • 14. A Arquitetura PRS Figura 3. O Procedural Reasoning System. 12
  • 15. 3. Linguagem de Programação a Agentes Jason • Framework Jason O JASON e um framework baseado em AgentSpeak e Java que utiliza as principais características do PRS. Em JASON um agente é composto de crenças, metas, planos e ações e é programado utilizando o AgentSpeak. Os agentes em JASON estão inseridos em um ambiente, que estende a classe Environment, onde as percepções e reações a estímulos do ambiente são programadas em Java [BORDINI et al., 2007]. 13
  • 16. • Instalando o Framework Jason 1. Instalando o Eclipse (DVD) 2. Configurando o Eclipse/Jason (Manual de Instalação) 14
  • 17. • Criando um Novo Projeto Jason Figura 4. File>New>Other>Jason Project 15
  • 18. • Criando um Novo Projeto Jason Colocar o nome do projeto Começar o projeto com um ambiente definido Figura 5. O Jason Project. 16
  • 19. • Criando um Novo Projeto Jason Pasta com os arquivos dos agentes em AgentSpeak Pasta com os arquivos do ambiente em Java Arquivo de configuração do SMA Figura 6. Os arquivos de um projeto em Jason. 17
  • 20. • Inserindo um Novo Agente Figura 7. File>New>Other>Agent. 18
  • 21. • Inserindo um Novo Agente Digitar o nome do Agente. A primeira letra deve ser MINÚSCULA. Figura 8. Um novo agent AgentSpeak. 19
  • 22. • Inserindo um Novo Agente Figura 9. Estrutura inicial de um agente. 20
  • 23. • Configurando o SMA Especificação dos agentes participantes do SMA Figura 10. O arquivo de configuração em Jason. Especificação do endereço da pasta onde estão localizados os agentes 21
  • 24. • Executando o SMA Selecionar o arquivo de configuração Executar o projeto Figura 11. Executando o projeto. 22
  • 25. • Executando o SMA Figura 12. O console do framework Jason. 23
  • 26. • Debug do SMA Figura 13. O debug do framework Jason. 24
  • 27. 4. Beliefs Em Jason, um agente armazena as informações percebidas do ambiente; as informações internas; e informações de comunicação através de crenças. As crenças são armazenadas em uma Base de Crenças (Belief Base). As crenças são representadas como predicados da lógica tradicional. Os predicados representam propriedades particulares. 25
  • 28. • Tipos 1. Percepções do Ambiente (Percepts) Informações coletadas pelo agente que são relativas ao sensoriamento constante do ambiente. 2. Notas Mentais (Mental Notes) Informações adicionadas na base de crenças pelo próprio agente resultado de coisas que aconteceram no passado, promessas. Esse tipo de informação geralmente é adicionada pela execução de um plano. constante do ambiente. 3. Comunicação Informações obtidas pelo agente através da comunicação com outros agentes. 26
  • 29. • Exemplos: Crenças Iniciais salario(5000). alto(giba). missionStarted. carro(c4, kadu). OBS.: Toda crença inicial em Jason deve terminar com . OBS.: Toda crença deve começar com letra MINÚSCULA. 27
  • 30. • Exemplos: Strong Negation ~missionStarted. ~alto(giba). ~dia. OBS.: Toda strong negation em Jason deve começar com ~ 28
  • 31. • Exemplos: Crenças Iniciais salario(5000). Figura 14. As crenças iniciais do agente bigBrother. 29
  • 32. • Exercício a) Crie um SMA que simule um quarto inteligente. O quarto será controlado por um agente que começará com as seguintes crenças sobre o quarto: • É dia; • A luz do quarto está apagada; • A Kate está no quarto; • O Bob não está no quarto; • A temperatura atual do quarto; b) Adicione ao SMA um novo agente que simule o despertador. Esse novo agente deverá ter 3 crenças, incluindo o horário para despertar da Kate e do Bob. c) Analise no Mind Inspector as crenças dos agentes do SMA. 30
  • 33. 5. Goals Em Jason, os goals (objetivos) representam os estados do mundo em que o agente deseja atingir. • Tipos 1. Achievement Goals (!) É um objetivo para atingir determinado estado desejado pelo agente. 2. Test Goals (?) É um objetivo que tem basicamente a finalidade de resgatar informações da base de crenças do agente. 31
  • 34. • Exemplos: Goals Iniciais !start. !thinking. !print(“Kadu”). OBS.: Toda goal inicial em Jason deve ser um Achievement Goal; começar com !; e terminar com . OBS.: Todo goal deve começar com letra MINÚSCULA. 32
  • 35. • Exemplos: Goals Iniciais !start. !thinking. Figura 15. Os objetivos iniciais do agente bigBrother. 33
  • 36. • Exemplos: Goals Iniciais Figura 16. O console exibindo o resultado da execução. 34
  • 37. • Exemplos: Goals Iniciais Figura 17. O debug. 35
  • 38. • Exercício a) Adicione ao agente do quarto inteligente os seguintes objetivos iniciais. (para cada objetivo abaixo, gere um plano com a ação .print(“Objetivo”)): • Gerenciar a luminosidade; • Gerenciar as pessoas que estão no quarto; b) Adicione ao agente despertador um objetivo para despertar. Quando o objetivo for executado, este deve imprimir alguma mensagem. Obs.: O despertador deve despertar sem nenhuma condição específica. 36
  • 39. 6. Plans & Actions Em Jason, um plano é composto por três partes: Triggering_event : context <- body. 37
  • 40. • Formato de um Plano 1. Triggering Event Um agente pode ter diversos objetivos. Os planos são ativados baseados nos eventos que podem ser ativados em determinado momento. 2. Context São as condições para a ativação de um plano dentro vários eventos. 3. Body É o corpo do plano. Uma sequência de ações a ser executada pelo agente. 38
  • 41. • Tipos de Triggering Events 1. Addition São ativados quando um plano é transformado de um desejo para uma intenção na mente do agente. 39
  • 42. • Tipos de Triggering Events 2. Deletion Funciona como um tratamento de erros para planos que não possuem ativação. 40
  • 43. • Tipos de Planos 1. Achievement Goal São objetivos que os agentes se comprometem em atingir. 41
  • 44. • Tipos de Planos 2. Test Goal São objetivos que recuperam informações da base de crenças. 42
  • 45. • Tipos de Planos 3. Belief São planos ativados quando o agente adiciona ou remove uma crença da sua base de crenças 43
  • 46. • Ações de um Plano 1. Achievement e Test Goals São as chamadas para execução de um plano. 44
  • 47. • Ações de um Plano 2. Mental Notes São ações que adicionam, removem ou atualizam uma crença na base de crença do agente. 45
  • 48. • Ações de um Plano 3. Internal Action São ações pré-definidas executadas dentro do raciocínio do agente. .print .send .broadcast .drop_all_desires .my_name .concat .length .min .max .nth .sort .substring .drop_all_events .abolish .string .count .create_agent .date .wait .random .kill_agent .time .perceive .stopMAS 46
  • 49. • Ações de um Plano 4. External Action São ações executadas no ambiente em que o agente estiver inserido. 47
  • 50. • Ações de um Plano 5. Expressões 48
  • 51. 7. Comunicação Entre Agentes • Introdução No início de cada ciclo de raciocínio, o agente verifica mensagens que ele possa ter recebido de outros agentes Baseada em Speech Act e KQML 49
  • 52. • Reasoning Cycle Seleção de mensagens aceitáveis Verificação de novas mensagens Seleção de mensagens Envio de mensagens 50
  • 53. • Estrutura <sender; illocutionary forces; content> i. Sender Uma proposição atômica representando o nome do agente que enviou a mensagem. ii. Illocutionary Forces São as performativas que denotam as intenções do remetente. iii. Content Conteúdo da mensagem enviada. 51
  • 54. • Estrutura no Jason .send(receiver, illocutionary forces, propositional content) .broadcast(illocutionary forces, propositional content) i. Receiver Uma proposição atômica em AgentSpeak representando o nome do agente que enviou a mensagem. ii. Illocutionary Forces São as performativas que denotam as intenções do remetente. iii. Propositional Content Um termo em AgentSpeak que varia de acordo com as forças ilocucionárias. 52
  • 55. • Performativas Implementadas 1. tell O agente remetente pretende que o receptor acredite que o conteúdo enviado é verdadeiro de acordo com as crenças do remetente. Agente Kate 53
  • 56. • Performativas Implementadas 2. untell O agente remetente pretende que o receptor não acredite que o conteúdo enviado é verdadeiro de acordo com as crenças do remetente. Agente Kate Agente Bob 54
  • 57. • Performativas Implementadas 3. achieve O agente remetente pede que o receptor tente atingir um objetivo de estado verdadeiro de acordo com conteúdo enviado. Agente Kate Agente Bob 55
  • 58. • Performativas Implementadas 4. unachieve O agente remetente pede que o receptor deixe de tentar atingir um objetivo de estado verdadeiro de acordo com conteúdo enviado. Agente Kate Agente Bob 56
  • 59. • Performativas Implementadas 5. askOne O agente remetente deseja saber se a reposta do receptor para determinada questão é verdadeira. Agente Kate Agente Bob 57
  • 60. • Performativas Implementadas 6. askAll O agente remetente deseja saber todas as repostas do receptor sobre uma questão. Agente Bob Agente Kate 58
  • 61. • Performativas Implementadas 7. askHow O agente remetente deseja saber todas implementações de planos do receptor para determinado plano. Agente Kate Agente Bob 59
  • 62. • Performativas Implementadas Agente Bob 8. tellHow O agente remetente informa ao agente receptor a implementação de um plano. 60
  • 63. • Performativas Implementadas 9. untellHow O agente remetente solicita ao agente receptor a remoção da implementação de um plano da biblioteca de planos do receptor. Agente Bob 61
  • 64. • Performativas Implementadas 10. broadcast Permite o uso de todas as performativas vistas anteriormente. Contudo, não é preciso identificar o agente de destino, visto que ela será enviada a todos os agentes do SMA. Agente Kate 62
  • 65. • Por trás do Jason 1. Agente Figura 18. A arquitetura de um agente [Bordini et al., 2007]. 63
  • 66. • Por trás do Jason 2. Arquitetura Figura 19. A arquitetura de mensagens [Bordini et al., 2007]. 64
  • 67. 8. O Ambiente dos Agentes • Introdução Em Jason o ambiente é uma representação simulada por uma classe em Java com métodos padrões para a execução de ações e atualização de crenças em cada ciclo de raciocínio do agente. 65 Figura 20. A arquitetura do ambiente [Bordini et al., 2007].
  • 68. • Configurando o ambiente do SMA Especificação da classe que representará o ambiente Figura 21. Configuração da classe que representará o ambiente. 66
  • 69. • Pacote do Ambiente Localização dos arquivos do ambiente Figura 22. A localização do pacote do ambiente. 67
  • 70. • A classe Environment método que inicia o ambiente Figura 23. A classe de ambiente auto-gerada pelo Jason. 68 método que simula a execução de uma ação no ambiente
  • 71. • Criando uma Percepção Global Figura 24. Criando um percept e atribuindo a crença aos agentes. Atualiza (como crença para todos os agentes ao iniciar o MAS) a quantidade de alimento disponível no ambiente. 69 Criação de uma percepção global como atributo de uma classe em java.
  • 72. • Programando uma Ação Externa Figura 25. Programando a ação externa eat. Verifica se a ação executada possui 70 alguma programação no método executeAction.
  • 73. • Executando o MAS com o Ambiente 71
  • 74. • Debug Figura 26. O percept visto como crença pelo agente. A percepção global com origem do ambiente (percept). 72
  • 75. • Agentes Competindo por Um Recurso Figura 27. Dois agentes competindo pelo recurso food no ambiente simulado. 73
  • 76. 9. Conclusão Este curso apresentou uma introdução ao Sistemas Multi-Agentes usando o Framework Jason. O curso é introdutório contudo é possível criar SMA concisos e completos para uma realidade simulada. Atualmente é utilizado o CArtAgO para a implementação de artefatos de ambiente e o Moise para implementação de organizações e papéis. 74
  • 77. 10. Referências Bibliográficas Boissier O, Bordini RH, Hübner JF, Ricci A, Santi A. Multi-agent oriented programming with JaCaMo. Science of Computer Programming. 2013 Jun;6(1): 747-761. Bordini RH, Hubner JF, Wooldridge W. Programming Multi-Agent Systems in AgentSpeak using Jason. Jonh Wiley and Sons, London, 2007 Bratman, M. Intentions, Plans, and Practical Reason. Harvard University Press, 1987. Huber MJ. Jam: a bdi-theoretic mobile agent architecture. In Proceedings of the third annual conference on Autonomous Agents, AGENTS '99, pags. 236-243, New York, 1999. 75
  • 78. Winikoff M. Jack intelligent agents: An industrial strength platform. Em Bordini R, Dastani M, Dix J, Fallah AS, Weiss G, editors. Multi-Agent Programming, volume 15 of Multiagent Systems, Articial Societies, and Simulated Organizations, pags. 175-193. Springer US, 2005. Wooldridge, M. (2000). Reasoning about rational agents. Intelligent robotics and autonomous agents. MIT Press. Wooldridge M. An Introduction to MultiAgent Systems. John Wiley & Sons, 2009. Zambonelli F, Jennings NR, Omicini A, Wooldridge M. Agent-Oriented Software Engineering for Internet Applications. In: Omicini A, Zambonelli F, Klusch M, Tolksdorf R, editors. Coordination of Internet Agents. Springer Verlag; 2001. p.326-345. 76