java.lang.Object | +--jade.core.behaviours.Behaviour | +--jade.core.behaviours.CompositeBehaviour
-
All Implemented Interfaces:
- java.io.Serializable, Serializable
-
Direct Known Subclasses:
- ParallelBehaviour, SerialBehaviour
-
public abstract class
CompositeBehaviour
extends
Behaviour
An abstract superclass for behaviours composed by many parts. This class holds inside a number of children behaviours. When a CompositeBehaviour
receives it execution quantum from the agent scheduler, it executes one of its children according to some policy. This class must be extended to provide the actual scheduling policy to apply when running children behaviours.
-
Version:
- $Date: 2008-10-08 15:14:15 +0200 (mer, 08 ott 2008) $ $Revision: 6050 $ Author:
- Giovanni Rimassa - Universita' di Parma, Giovanni Caire - TILAB See Also:
-
SequentialBehaviour
,ParallelBehaviour
,FSMBehaviour
, Serialized Form
Field Summary |
Fields inherited from class jade.core.behaviours.Behaviour |
myAgent |
Constructor Summary | |
protected | CompositeBehaviour() Default constructor, does not set the owner agent. |
protected | CompositeBehaviour(Agent a) This constructor sets the owner agent. |
Method Summary | |
void | action() Executes this CompositeBehaviour . |
protected abstract boolean | checkTermination(boolean currentDone, int currentResult) This methods is called after the execution of each child in order to check whether the CompositeBehaviour should terminate. |
boolean | done() Checks whether this behaviour has terminated. |
abstract Collection | getChildren() This method returns a Collection view of the children of this CompositeBehaviour |
protected abstract Behaviour | getCurrent() This method returns the child behaviour currently scheduled for execution |
void | reset() Puts a CompositeBehaviour back in initial state. |
protected void | resetChildren() |
protected abstract void | scheduleFirst() This method schedules the first child to be executed |
protected abstract void | scheduleNext(boolean currentDone, int currentResult) This method schedules the next child to be executed |
void | setAgent(Agent a) Associates this behaviour with the agent it belongs to. |
Methods inherited from class jade.core.behaviours.Behaviour |
block, block, getBehaviourName, getDataStore, getParent, isRunnable, onEnd, onStart, restart, root, setBehaviourName, setDataStore |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |