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

3.2. Le diagramme de sequence AUML

Les diagrammes d'interaction sont des diagrammes dynamiques, qui décrivent le comportement collectif des agents. On retrouve dans les diagrammes d'interaction deux types de diagramme [Jam00] :

1. Le diagramme de séquence.

2. Le diagramme de collaboration.

Le diagramme de séquence est défini comme suit en UML: "le diagramme de séquence est un diagramme qui montre les interactions des objets disposés dans la séquence temporelle. En particulier, elle montre les objets participant à l'interaction et la séquence de messages échangés. Contrairement à un diagramme de collaboration, un diagramme de séquence comprend des séquences de temps, mais ne comprend pas les relations entre objets." [Gen03]. En effet, le diagramme de séquence en AUML est initialement adopté par la

~énératIon ~~s ~~agrammes 21'LLM1 à yartIr ~~ yrogrammes DT

C~~pItre 2 : LLM~

FIPA pour exprimer des protocoles d'interaction des agents. Ainsi, on considère des agents et non des objets, donc il faut lire agents au lieu des objets dans la précédente définition. Les diagrammes de séquence dans les systèmes multi agents sont des schémas qui expriment l'échange de messages dans les protocoles [Gen03]. Donc les déférences qui existent entre le diagramme de séquence en UML et en AUML sont :

a) Dans le diagramme de séquence AUML il existe une spécification plus riche du rôle d'un agent [Jam00].

b) L'extension du diagramme de séquence donne des étiquettes (acte de communication), aux flèches au lieu du message style orienté objet [Jam00].

c) l'ajout de nouveaux types de branchements dans les diagrammes de séquence AUML afin de prendre en compte l'indéterminisme du comportement d'un agent. La figure 11 montre les trois types de branchement: branchement ET (a), branchement OU (b) et branchement XOR (c) [Zei09].

Figure 2.11: les différents branchements en AUML [Zei09]

Generation des diagrammes AtiltiL dyartir de yrogrammes JADE

Chayitre 2 : AtiltiL

Figure 2.12: des techniques pour exprimer les communications concurrentes avec un agent
jouant des rôles différents, ou recevant des CAs différents [Jam00]

~énératIon ~~s ~~agrammes 4'LLM1 à yartIr ~~ yrogrammes DT

C~~pItre 2 : LLM~

Les barres parallèles dans la figure 12 indiquent que l'agent de réception est capable de traiter plusieurs communications concurremment [Jam00]. Ainsi Chaque bar d'activation indique que l'agent peut utiliser un différent rôle ou un processus différents, pour l'acte de communication. Notons que le sens est le même (exemple : la figure (a) = la figure (b)) donc le choix est fondé sur la clarté visuelle [Jam00].

Le diagramme de séquence AUML se compose de deux dimensions:

v' Verticale: pour le temps.

v' Horizontale: pour les différents rôles ou bien pour les agents jouant un rôle spécifique [Mic05].

Figure 2.13: format de base pour la communication [Jam00] + La ligne de vie dans le diagramme de séquence AUML

La ligne de vie AUML est en contradiction avec la ligne de vie d'UML2. En UML2, une ligne de vie représente un participant individuel dans l'interaction. En AUML, la ligne de vie définie la période durant laquelle un rôle existe pour une interaction, elle est représenté par une ligne verticale [Mic05]. Il est possible de représenter plusieurs agents sur la même ligne de vie [Gen03]. Ainsi une ligne de vie ne représente pas nécessairement un agent, mais aussi un rôle joué par un ou plusieurs agents [Gen03].

~énératIon ~~s ~~agrammes 4'LLM1 à yartIr ~~ yrogrammes DT

C~~pItre 2 : LLM~

Figure 2.14: la notation de la ligne de vie en AUML [Gen03]

La ligne de vie dans le diagramme de séquence AUML est composée de deux éléments: un label représente dans une boite au-dessus de la ligne de vie et une ligne verticale en pointille.

Plusieurs formats sont possibles pour l'étiquette du label:

 

Pour indiquer que Client est un rôle indépendant des agents qui jouent ce rôle donc la ligne de vie ne représente pas nécessairement un agent, mais aussi un rôle joué par un ou plusieurs agents [Gen03].

 

: Client

 
 
 

BOB serait le cas d'un agent jouant le rôle d'un client

[Jam00].

 

BOB/Client

 
 
 

Pour indiquer que BOB est une personne indépendante de n'importe quel rôle joués [Jam00].

 

BOB: Personne

 
 
 

Format de base pour l'étiquette de boite. Utiliser Pour spécifier qu'un rôle doit être jouaient par une classe d'agents « le nom de la classe doit apparaitre » [Jam00].

Nom_agent / role: Personne

 

Exemple :

BOB/ Consommateur: Personne

 
 

Tab 2.1: les différents formats possible pour l'étiquette du label de la ligne de vie du
diagramme de séquence AUML

~énératIon ~~s ~~agrammes 4'LLM1 à yartIr ~~ yrogrammes DT

C~~pItre 2 : LLM~

L'étiquette contient ainsi la cardinalité du rôle : Il existe trois formats pour la cardinalité du rôle [Gen03]:

~ n qui représente le nombre exact d'agents jouant ce rôle dans cette interaction.

~ m op n qui représente une plage de valeurs pour la cardinalité rôle. (op désigne

les opérateurs >,> =, <, <=) m et n se réfèrent respectivement à la partie

inférieure et la limite supérieure de la fourchette de valeurs.

~ une condition ou une formule logique qui représente le nombre d'agents. + L'échange de messages

Dans les diagrammes de séquence AUML, les messages sont ordonnés selon un axe de temps déroulant selon la dimension verticale de haut en bas. Cependant, les diagrammes de séquence n'utilisent les numéros de séquence, comme les diagrammes de collaboration pour représenter le message mais l'ordre des messages est implicitement défini par l'axe des temps [Gen03].

Figure 2.15: exemple d'échange de message dans AUML [Gen03]

Un message définit une communication particulière entre deux lignes de vie. Les expéditeurs et les récepteurs d'un message peuvent être sur la même ligne de vie ou non [Gen03]. Deux situations doivent être prises en considération dans la ligne de vie de l'expéditeur et la même chose pour la ligne de vie du récepteur:

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








"Nous devons apprendre à vivre ensemble comme des frères sinon nous allons mourir tous ensemble comme des idiots"   Martin Luther King