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 2 : Yl.tiltiL

Figure 2.1: la notation du package en AUML [Gen03]

Les paramètres du package : dans les packages d'AUML on utilise des commentaires pour représenter les paramètres. En effet, les paramètres sont préfixés par <<parameters>> et ceci permet de réduire la taille du diagramme dans le cas de nombreux paramètres [Gen03].

Figure 2.2: les paramètres du package AUML [Gen03]

Le développeur a besoin de savoir dans le diagramme AUML: l'ontologie, le
langage descriptif, et le langage de communication entres les agents utilisés

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

C~~pItre 2 : LLM~

dans un protocole. Pour cela ces informations sont spécifiées dans les paramètres du protocole, mais ces informations peuvent être omises s'il n'y a pas de doute [Mic05].

Figure 2.3: notation du package AUML avec des informations supplémentaires
[Gen03]

+ Template « Gabarit »: Un Template « Gabarit » est un élément paramétrable, dont les paramètres sont attachés quand le nouveau modèle est produit [Jam00]. L'utilisation des Template est important car au lieu de définir une composante réutilisable. La personnalisation des paquets devrait être incluse [Jam00]. En effet, les paramètres du Template sont divisés en trois catégories : les paramètres de rôle, les contraintes et les actes de communication [Zei09].

Figure 2.4: la notation du Template en AUML [Jam00]

~énératIon ~~s ~~agrammes 2t'LLMJ à yartIr ~~ yrogrammes DT

C~~pItre 2 : LLM~

1' Notation :

~ le Template est représenté à travers un package avec un trait interrompus dans le coin haut droit du package [Zei09].

Figure 2.5: Exemple d'un protocole d'interaction générique [Zei09] ~ deuxième notation :

Figure 2.6: deuxième notation du Template AUML [Gen03]

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

C~~pItre 2 : LLM~

2. Niveau 2 : Le deuxième niveau représente les interactions entre les agents grâce à des diagrammes d'interactions : diagrammes de séquences, diagrammes de collaborations, diagrammes d'activités ou bien diagrammes d''etats/transitions. [Zei09].

3. Niveau 3 : La modélisation d'un protocole exige, la représentation intérieure qui survient dans un agent lors de l'exécution d'une procédure [Jam00]. Pour cela le troisième niveau est consacré pour la représentation correspond aux processus internes aux agents qui sont principalement modélisés par des diagrammes d''etats/ transitions [Zei09].

Figure 2. 7: un protocole d'interaction spécifié avec plus de détails, a l'aide d'un
ensemble de diagramme [Jam00]

3. Les diagrammes AUML

AUML est une extension de la notation UML pour la modélisation d'agents. Cette extension concerne :

v' le diagramme de classes, qui représente la structure statique du SMA.

v' Les diagrammes d'interactions comme le diagramme de séquence. Ceux ci permettent de modéliser le comportement dynamique du système.

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

C~~pItre 2 : LLM~

3.1.Le diagramme de classe AUML

Les diagrammes de classes sont utilisés pour représenter le point de vue statique [Ste99]. Ainsi, le diagramme de classes dans AUML a pour but de représenter un système entier d'agents, et non simplement des agents individuels ou fortement regroupés [Mic05]. En effet, une classe agent est une classe UML qui peut aussi spécifier [Zei09] :

v' L'identificateur de l'agent [Ste99].

~ un ensemble de rôles [Zei09].

v' des actions [Zei09].

v' des capacités [Zei09].

~ une description des services [Zei09].

~ un ensemble de protocoles [Zei09].

1' des contraintes [Zei09].

Figure 2.8: exemple de diagramme de class AUML [Ste99]

+ La représentation des capacités : Une capacité est composée des parties suivantes [Ste99]:

a) Les entrées: représente les entrées nécessaires de l'agent pour atteindre sa tâche.

b) Sortie : représente ce qui génère la capacité à la fin du travail.

c) Contraintes d'entrées.

d) Contraintes de sortie.

e) Les contraintes d'entrées-sorties.

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

C~~pItre 2 : LLM~

f) Description : Une description en langage naturel de la capacité.

Figure 2.9: exemple de diagramme de class AUML avec la représentation des capacités [Ste99]

+ La représentation de service : Un service est composé des parties suivantes [Ste99]:

a) Nom: Le nom du service.

b) Description : Une description en langage naturel du service.

c) Type : Le type de service.

d) Protocole : Une liste des protocoles d'interaction soutenue par le service.

e) Langue de communication Agent : Les langues de communication utilisées dans ce service.

f) Ontologie : Une liste des ontologies pris en charge par le service.

g) Langue du contenu : Une liste des langues de contenu pris en charge par le service.

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

C~~pItre 2 : LLM~

Figure 2.10: exemple de diagramme de class AUML avec la représentation des services
[Ste99]

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








"Piètre disciple, qui ne surpasse pas son maitre !"   Léonard de Vinci