jade.core.behaviours
Class LoaderBehaviour

java.lang.Object
  |
  +--jade.core.behaviours.Behaviour
        |
        +--jade.core.behaviours.LoaderBehaviour
All Implemented Interfaces:
java.io.Serializable, Serializable

public class LoaderBehaviour
extends Behaviour

This behaviour serves behaviour-loading requests according to the Behaviour-loading ontology. When an agent runs an instance of this behaviour it becomes able to load and execute completely new behaviours, i.e. behaviours whose code is not included in the classpath of the JVM where the agent lives. Loading behaviour requests must have the ACLMessage.REQUEST performative and must use the BehaviourLoading ontology and the LEAP language.
NOT available in MIDP

Author:
Giovanni Caire - TILAB
See Also:
LoadBehaviour, BehaviourLoadingOntology, LEAPCodec, Serialized Form

Field Summary
 
Fields inherited from class jade.core.behaviours.Behaviour
myAgent
 
Constructor Summary
LoaderBehaviour()
          Construct a LoaderBehaviour.
LoaderBehaviour(Agent a)
          Construct a LoaderBehaviour to be executed by the given agent.
 
Method Summary
protected  boolean accept(ACLMessage msg)
          Suclasses may redefine this method to prevent the behaviour loading operation under specific conditions.
 void action()
          The action() method is redefined to serve behaviour loading requests
protected  void addBehaviour(Behaviour b, ACLMessage request)
          Add a loaded behaviour to the agent.
 boolean done()
          The done() method is redefined to make this behaviour terminate when its stop() method is called.
 void stop()
          Make this behaviour terminate.
 
Methods inherited from class jade.core.behaviours.Behaviour
block, block, getBehaviourName, getDataStore, getParent, isRunnable, onEnd, onStart, reset, restart, root, setAgent, setBehaviourName, setDataStore
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LoaderBehaviour

public LoaderBehaviour()
Construct a LoaderBehaviour.


LoaderBehaviour

public LoaderBehaviour(Agent a)
Construct a LoaderBehaviour to be executed by the given agent.

Method Detail

action

public final void action()
The action() method is redefined to serve behaviour loading requests

Specified by:
action in class Behaviour
See Also:
CompositeBehaviour

done

public boolean done()
The done() method is redefined to make this behaviour terminate when its stop() method is called.

Specified by:
done in class Behaviour
Returns:
true if the behaviour has completely executed.

stop

public void stop()
Make this behaviour terminate.


addBehaviour

protected void addBehaviour(Behaviour b,
                            ACLMessage request)
Add a loaded behaviour to the agent. Subclasses may redefine this method to handle the behaviour addition operation in an application specific way.

Parameters:
b - The Behaviour to be added.
request - The ACLMessage carrying the LoadBehaviour request.

accept

protected boolean accept(ACLMessage msg)
Suclasses may redefine this method to prevent the behaviour loading operation under specific conditions. This default implementation always returns true



JADE