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 3 : Approche proposée et presentation de l~outil d~veloppe

d'un programme JADE vers le diagramme de séquence AUML. En effet, Les rôles du diagramme de séquences AUML sont :

1. présenter les interactions entre agents avec une dimension temporelle.

2. présenter tous les agents/rôles impliqués.

3. présenter les messages échangés suivant un ordre chronologique.

Cependant, dans JADE on ne trouve pas une classe spécifique pour les rôles pour cela on ne peut pas représenter les rôles mais nous avons représenté les interactions qui existent entre les agents à travers les messages échangés. A ce stade, nous avons trouvé des difficultés pour représenter les différents messages échangé entre les agents suivant un ordre chronologique. Pour résoudre ce problème nous avons redéfinir la class ACLMessage parce que tous les messages dans JADE sont des instances de cette classe.

Habituellement, Dans la méthode addReceiver de la class ACLMessage on a seulement comme paramètre : l'identificateur de l'agent récepteur, mais cette information n'est pas suffisante pour déterminer le rôle de l'agent récepteur ainsi que le placement du message dans la ligne de vie. Pour cela, nous avons redéfini la classe ACLMessage pour redéfinir la méthode addReceiver. Nous avons ajouté comme paramètre dans cette méthode le nom du rôle de l'agent récepteur ainsi que le placement du message dans la ligne de vie comme il est illustré par la figure suivante.

import jade.core.AID;

import jade.lang.acl.ACLMessage;

public class ACLMessage_with_role extends ACLMessage {

public void addReceiver(AID r, String name_role,int numero) {

addReceiver(r);

}

}

Figure 3.4: la class ACLMessage_with_role

Chapitre 3 : Approche proposée et presentation de l~oatil d~veloppe

Dans le diagramme de séquence AUML on ne trouve pas seulement des messages échangés entre les agents suivant un ordre chronologique mais on trouve aussi des nouveaux types de branchements afin de prendre en compte l'indéterminisme du comportement d'un agent. Le tableau suivant illustre l'équivalence entre les différents branchements qui existent dans le diagramme de séquence AUML et le programme JADE.

Code JADE

Notation AUML

ACLMessage_with_role message = new

 

ACLMessage_with_role(ACLMessage.INFORM); message.setContent(contenu

_du_message);

 
 
 
 
 
 
 
 
 

message.addReceiver(agent_recepteur, role_recepeteur,placement_message);

send(message);

 

INFORM

 
 

if(condition)

 

{

 

ACLMessage_with_role message = new

 
 
 
 
 
 
 

ACLMessage_with_role(ACLMessage.INFORM);

 
 
 
 
 

message . setContent (contenu du message) ;

message.addReceiver(agent_recepteur, role_recepeteur,placement_message);

send(message);

 
 

[condition]

INFORM

 
 
 

}

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

INFORM

 
 
 
 
 
 
 
 
 

INFORM

 
 
 
 
 
 
 
 
 
 
 
 
 
 

AC1

 

A

 
 
 

...

 
 

Generation des diagrammes A 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








"En amour, en art, en politique, il faut nous arranger pour que notre légèreté pèse lourd dans la balance."   Sacha Guitry