1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
| import jade.core.Agent;
import jade.core.behaviours.OneShotBehaviour;
import jade.core.behaviours.FSMBehaviour;
import jade.core.AID;
import jade.core.ContainerID;
import jade.core. PlatformID;
public class Mimish extends Agent
{
protected void setup(){
FSMBehaviour fsm = new FSMBehaviour(this)
{
public int onEnd()
{
System.out.println("FSM behaviour terminé");
myAgent.doDelete();
return super.onEnd();
}
};
fsm.registerFirstState (new local(),"A");
fsm.registerState(new deplacer1(),"B");
fsm.registerState(new deplacer2(),"C");
fsm.registerLastState(new retour(),"D");
fsm.registerDefaultTransition("A","B",tab);
fsm.registerTransition("B","B",1);
fsm.registerTransition("B","C",0);
fsm.registerTransition("C","C",1);
fsm.registerTransition("C","A",0);
fsm.registerTransition("A","D",0);
//fsm.registerTransition("A","A",1);
addBehaviour(fsm);
}
//Inner Class
private class local extends OneShotBehaviour
{
public void action()
{
System.out.println("je suis dans le Conteneur principal ...");
String containerName = "Container-1";
ContainerID destination = new ContainerID();
// on déclare la variable qui represente la destination
destination.setName(containerName);
System.out.println("je vais aller au conteneur1 ...");
// et on fait la migration
myAgent.doMove(destination);
}
}
private class deplacer1 extends OneShotBehaviour
{
public void action()
{
System.out.println("je suis dans le conteneur1 ...");
String containerName2 = "Container-2";
ContainerID destination2 = new ContainerID();
// on déclare la variable qui represente la destination
destination2.setName(containerName2);
System.out.println("je vais aller au conteneur2 ...");
// et on fait la migration
myAgent.doMove(destination2);
}
}
private class deplacer2 extends OneShotBehaviour
{
public void action()
{
System.out.println("je suis dans le conteneur2 ...");
String containerName3 = "Main-Container";
ContainerID destination3 = new ContainerID();
// on déclare la variable qui represente la destination
destination3.setName(containerName3);
System.out.println("je vais retourner ...");
// et on fait la migration
myAgent.doMove(destination3);
}
}
private class retour extends OneShotBehaviour
{
public void action()
{
System.out.println("The agent has terminated its itinirary");
}
}
//private ContainerID[] dest={};
private String tab[]={"A"};
} |
Partager