Escolar Documentos
Profissional Documentos
Cultura Documentos
2012
Este documento contm snippets de cdigo em Java de construo de agentes para serem usados na
plataforma Jade.
Contedo
1 Estrutura........................................................................................................................................... 1
2 Behaviours........................................................................................................................................ 1
Definio ............................................................................................................................................ 2
2.1 Dentro do setup ......................................................................................................................... 2
2.2 Dentro do setup (2) .................................................................................................................... 2
2.3 Fora do setup (Classe) ................................................................................................................ 3
2.4 Temporizado .............................................................................................................................. 3
3 Enviar Mensagens ............................................................................................................................. 3
3.1 Nova mensagem ........................................................................................................................ 3
3.2 Resposta .................................................................................................................................... 4
4 Receber Mensagens .......................................................................................................................... 4
1 Estrutura
public class <Nome> extends Agent {
public void setup() {
Behaviours
}
}
2 Behaviours
Definio
SimpleBehaviour: uma classe bsica que se pode estender de vrias maneiras e que muitas
vezes acaba por ser a melhor soluo quando outros Behaviours podem ter alguns truques
escondidos
CyclicBehaviour: Este Behaviour permanece activo enquanto o seu agente est vivo e ser
chamado depois de cada evento. Bastante til para lidar com a recepo de mensagens.
o TickerBehaviour: um Behaviour cclico que periodicamente executa algumas definidos
pelo usurio
OneShotBehaviour: Este executado uma vez e morre. Bom para execues nicas no
temporizadas
o WakerBehaviour: que executa algum cdigo do usurio uma vez em uma hora
especificada
o ReceiverBehaviour: que dispara quando um determinado tipo de mensagem
recebida (ou um tempo limite expira).
ParallelBehaviour: controla um conjunto de Behaviours-filhos que executam em paralelo. O
importante a condio de encerramento: podemos especificar que o grupo de crianas
termina quando todos so terminados
SequentialBehaviour: este Behaviour executa Behaviour -filhos, um aps o outro, e termina
quando o ltimo filho terminou.
in Agent
void addBehaviour( Behaviour )
void removeBehaviour( Behaviour )
in CompositeBehaviour
void addSubBehaviour( Behaviour )
void removeSubBehaviour( Behaviour )
});
}
}
2.4 Temporizado
Behaviour loop = new TickerBehaviour( this, 300 )
{
protected void onTick() {
System.out.println("Looper:" + myAgent.getLocalName());
}
});
addBehaviour( loop );
3 Enviar Mensagens
De notar que s as funes que so chamadas dentro do setup ou behaviour que podem enviar
mensagens
3.2 Resposta
private void sendmsg(ACLMessage msg, String Content) {
//Cria mensagem de resposta
ACLMessage reply = msg.createReply();
//Adiciona o conteudo
msg.setContent(<Content>);
//Adiciona o time-stamp
msg.setReplyWith(System.currentTimeMillis() + "");
//Enviar Mensagem
myAgent.send(msg);
}
4 Receber Mensagens
if ((msg = myAgent.receive()) != null) {
System.out.println(msg.getContent());
}
else {
block();
}