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 UML à  partir de programme jade

( Télécharger le fichier original )
par Zina MECIBAH
Université l'Arbi Ben Mhidi d'Oum el Bouaghi -Algérie- - master 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

message.setContent(«contenu_du_message ») ;

send (message);

Exemple de réception de message dans JADE [Ben09] ACLMessagemessageRecu = receive();

Un message ACL dispose obligatoirement des champs suivants :

Performative

type de l'acte de communication

Sender

expéditeur du message

Receiver

destinataire du message

reply-to

participant de la communication

content

contenu du message

language

description du contenu

encoding

description du contenu

ontology

description du contenu

protocol

contrôle de la communication

conversation-id

contrôle de la communication

reply-with

contrôle de la communication

in-reply-to

contrôle de la communication

reply-by

contrôle de la communication

 

Tab 1.2 : les champs d'un message ACL en JADE [Fer05]

Remarque

ü C'est très souvent le Behaviour qui crée le message, mais il délègue à l'agent l'envoi (Agent.send()), et la réception (Agent.receive()).

ü l'une des forces de la POA par rapport à la POO, est l'aptitude d'un agent à refuser de considérer, de traiter des messages. Dans Jade cela se fait au moyen d'une instance de la classe jade.lang.acl.TemplateMessage que l'on passe en paramètre à la méthode Agent.receive().

ü Il n'y a pas de dépendance temporelle entre les agents communicants.

ü L'émetteur et le récepteur peuvent ne pas être joignables en même temps.

ü Le récepteur peut même ne pas exister ou ne pas être directement connu de l'émetteur, par exemple: « tous les agents intéressés par la musique » comme destination [Zac09].

ü la Communication est Peer-to-Peer [5].

Chapitre i : La plate forme multi agents JADE

5. 3. Les comportements « Behaviours » en JADE

L'une des propriétés importante d'un agent est son autonomie : un agent ne doit pas se limiter à réagir aux événements externes, mais il doit être aussi capable de prendre l'initiative de nouveaux actes communicatifs d'une façon autonome et doit être capable de gérer plusieurs tâches de manière concurrente en réponse à différents évènements extérieurs. Afin de rendre efficace cette gestion chaque agent de JADE est composé d'un seul thread et non un thread par comportement. Cela signifié qu'un agent exécute un Behaviour à la fois mais l'agent peut exécuter plusieurs Behaviours simultanément en choisissant un bon mécanisme de passation d'un Behaviour à un autre (c'est à la charge du programmeur et non pas à la charge du JADE) [BYo09].

Un agent JADE utilise l'abstraction Comportement pour modéliser les tâches qu'un agent peut exécuter et les agents instancient leurs comportements selon leurs besoins et leurs capacités. Cependant, Les comportement d'un agents JADE sont des instances de la classe jade.core.behaviours et pour qu'un agent exécute une tâche on doit le lui attribuer par la méthode addBehaviour(Behaviour b) de la classe jade.core.Agent. Donc un comportement d'un agent est la conséquence:

ü De ses observations de l'environnement.

ü De ses connaissances.

ü De ses interactions avec les autres agents.

Pour implémenter un comportement, le développeur doit définir un ou plusieurs objets de la classe Behaviour, les instancier et les ajouter à la file des tâches de l'agent. Il est à noter qu'il est possible d'ajouter des comportements et sous-comportements à un agent ailleurs que dans la méthode setup ().

Tout objet de type Behaviour dispose :

1. d'une méthode action () (qui constitue le traitement à effectuer par celui-ci)

2. d'une méthode done() (qui vérifie si le traitement est terminé).

Il existe également quelques méthodes supplémentaires afin de gérer les objets Behaviour:

1. reset () qui permet de réinitialiser le comportement;

2. onStart () qui définit des opérations à effectuer avant d'exécuter la méthode action();

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








"Il existe une chose plus puissante que toutes les armées du monde, c'est une idée dont l'heure est venue"   Victor Hugo