WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

La génération des diagrammes AUML à  partir d'un programme Jade

( Télécharger le fichier original )
par Zina Mecibah
Université Larbi Ben M'Hidi d'Oum El Bouaghi Algérie - Master en informatique - systèmes distribués - 2012
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

Chapitre i : La plate forme multi agents JADE

3.2.FSMBehaviour : FSMBehaviour est une sorte de Behaviour qui implémente un automate à états finis dont chaque état correspond à l'exécution d'un sous-Behaviour.

3.3.ParallelBehaviour : Le parallelBehaviour est un Behaviour qui permet d'exécuter plusieurs Behaviours en parallèle. L'ajout de sous-Behaviour se fait par la méthode addSubBehaviour(). Si on veut que le parallelBehaviour termine dès qu'un de ses sous-Behaviours termine alors on doit passer à son constructeur l'argument WHEN_ANY et pour attendre la fin de tous les sous-Behaviours on doit lui passer l'argument WHEN_ALL.

3.4.Combiner plusieurs Behaviours composés : Il est possible de combiner les différents comportements composés pour créer des comportements plus complexes.

Remarque

ü Pour Enlever un comportement on utilise la méthode : removeBehaviour (...).

ü S'il n'existe pas un comportement donc l'agent est Mis en veille .

ü La méthode Behaviour.block() permet de mettre l'agent en sommeil afin de ne pas consommer de ressources systèmes en attendant un nouvel événement (ou message), comme il pourrait le faire avec une boucle infinie. L'agent est alors dormant jusqu'à ce qu'il reçoive un nouveau message dans sa mailbox.

Exemple d'utilisation des Behaviours simples [BYo09]:

Import jade.core.Agent;

Import jade.core.behaviours.Behaviour;

Import jade.core.behaviours.CyclicBehaviour;

Import jade.core.behaviours.OneShotBehaviour;

public class SimpleAgent extends Agent {

protected void setup() {

// Ajouter un OneShotBehaviour

addBehaviour(new OneShotBehaviour(this) {

Generation des diagrammes AlliviL d partir de programmes JADE

Chapitre i : La plate forme multi agents JADE

Public void action() {

System.out.println ("***Bonjour tous le monde \n je suis l'agent : " + getLocalName() + " ***");

}

})

// ajouter un CyclicBehaviour qui affiche chaque fois : cyclique

addBehaviour(new CyclicBehaviour(this) {

public void action()

{

System.out.println("cyclique... ");

}

});

addBehaviour(new RandomBehaviour());

}

private class RandomBehaviour extends Behaviour

{

private int aleatoire ;

public void action()

{

aleatoire = (int) (Math.random()*10);

System.out.println("aleatoire ="+ aleatoire);

}

public boolean done() {

Return aleatoire == 4;

}

Generation des diagrammes AllitiL dyartir de yrogrammes JADE

Chayitre 1 : La ylate forme multi agents JADE

public int onEnd()

{

myAgent.doDelete(); return super.onEnd();

}

}}

5. 4. Le service page jaune « DF »

Le dialogue avec l'agent DF se fait à partir d'un objet appelé DFAgentDescription, qui donne la description (les services) d'un agent que connaitra l'agent DF. Dans un premier temps, il faut créer cette description :

DFAgentDescription dfd = new DFAgentDescription ()

La définition d'un service se fait à partir de la classe ServiceDescription : ServiceDescription sd = new ServiceDescription();

sd.setType(<nom_type_service>);

sd.setName (<nom_service>);

Lorsque le service est créé, il faut enfin l'ajouter dans le DFAgentDescription de l'agent, puis enregistrer cette description au DFAgent :

dfd.addServices(sd);

try

{

DFService.register(this, dfd);

}

catch (FIPAException e)

{

<code d'erreur>

}

A partir d'une certaine DFAgentDescription, recensant un ensemble de services, il est alors possible de rechercher des agents proposant ses services :

1. Création de la DFAgentDescription comprenant nos services recherchés : DFAgentDescription dfd = new DFAgentDescription();

ServiceDescription sd = new ServiceDescription();

sd.setType( "buyer" );

Generation des diagrammes AlliviL d partir de programmes JADE

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Les esprits médiocres condamnent d'ordinaire tout ce qui passe leur portée"   François de la Rochefoucauld