[java]
/**
* Section 5.2.3, Page 95
*
* Agent using ParallelBehaviour class to abort a task
* in case it does not complete within a given timeout
**/
import jade.core.behaviours.*;
import jade.core.Agent;
public class ParallelBehaviourAgent extends Agent {
public void setup() {
Behaviour task = new CyclicBehaviour() {
public void action() {
System.out.println("Operation TASK");
}
};
ParallelBehaviour pb = new ParallelBehaviour(this, ParallelBehaviour.WHEN_ANY);
pb.addSubBehaviour(task);
pb.addSubBehaviour(new WakerBehaviour(this, 60000) {
public void onWake() {
System.out.println("timeout expired");
}
});
addBehaviour(pb);
}
}
[/java]