pubAchetez de l'or en Suisse en ligne avec Bullion Vault


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

Conception et réalisation d'un système multi-agents pour les enchères en ligne


par Chouchane Sahraoui Yacine Med Redha
Université Larbi Ben M'Hidi Algérie - Ingénieur d'état en informatique 2009
Dans la categorie: Informatique et Télécommunications
   
Télécharger le fichier original

précédent sommaire

Annexe B

~ La machine d'arithmitique ait des e~~ets qui approchentplus de la pensee que tout ce que ont les animaux mais elle ne ait rien qui puisse aire dire qu'elle a de la volonte, comme les animaux »-Blaise

Pascal.

AUML

Agent Unified Modeling Language

1. Introduction

Les faiblesses d'UML pour la représentation des systèmes multi-agents ont conduit une équipe de chercheurs travaillant dans différentes entreprises ou universités (Siemens, University Paderborn, Intelligent Automation, Fujitsu...) a concevoir AUML. L'objectif est de mettre au point des sémantiques communes, des méta-modèles et une syntaxe générique pour les méthodologies agents. AUML est un des fruits de la coopération entre FIPA (Foundation of Intelligent Physical Agents) et l'OMG (Object Management Group). Par rapport a UML, AgentUML propose des extensions pour la représentation des agents que nous détaillerons dans cette annexe.

2. Principes sur UML

UML (Unified Modeling Language) [Odell, 1 998] unifie et formalise les méthodes de plusieurs approches orientées objets. UML prend en charge plusieurs types de modèles :

· Les cas d'utilisation : la spécification des actions que le système ou la classe peut réaliser en interaction avec les acteurs extérieurs. Ils sont souvent utilisés pour décrire comment un utilisateur communique avec son logiciel.

· Les modèles statiques : ils décrivent la sémantique statique des données et des messages d'une manière conceptuelle et d'une manière plus proche de l'implémentation (il s'agit des diagrammes de classes et de packages).

· Les modèles dynamiques : ils incluent les diagrammes d'interaction (i.e., les diagrammes de séquence et les diagrammes de collaboration), les schémas d'état et les diagrammes d'activité.

· Les modèles d'implémentation : ils décrivent la répartition des composants sur différentes plateformes (i.e., les modèles de composants et les diagrammes de déploiement).

3. Déficiences d'UML

L'idée générale d'AUML est de combler les déficiences d'UML pour la modélisation des systèmes a agents. Parmi ces déficiences, on trouve [Marc03] :

· Des relations entre classes statiques (agrégation, généralisation, et association) mais qui semblent tout de même adéquats. Il est possible d'utiliser des associations de classes et des stéréotypes pour étendre UML avec des relations spécifiques pour les agents.

· Les accointances sont des relations importantes entres agents, Il s'agit d'une relation dynamique entre des instances et UML n'est pas très adapté pour les représenter.

· Un certain nombre de concepts de haut niveau (comme les engagements, les contrats, etc.) peuvent etre relativement bien représentés avec UML mais d'autres (comme les croyances et les intentions) ne le peuvent pas.

· Il est difficile de representer l'etat interne des agents. Il faudrait un modele proposant des concepts de haut niveau o cognitif » (BDI, BC, GAP, ...).

· UML n'est pas efficace pour representer des connaissances fonctionnelles (buts, planification, processus, etc.). Pourtant beaucoup de methodologies agents utilisent les buts et la decomposition de buts en sous-buts.

· Il n'est pas evident que les approches de modelisation à etats finis soient adaptees pour les agents. Les agents ont des espaces d'etats vastes qu'il n'est pas evident de partitionner en un plus petit nombre de macro-etats de plus haut niveau. Les agents peuvent apprendre et s'adapter à differentes choses et des parametres comme les croyances interagissent pour influencer le comportement de facons subtiles. Ces systemes sont dynamiques, non lineaires et ont un comportement emergeant.

4. AUML

AUML [Odell,00] est base sur la methode UML (Unified Modeling Language) qui est une methode de genie logiciel utilisee pour les developpements en langages orientes-objets. Elle est dejà largement utilisee par la communaute des concepteurs-objet et son succes continue de croitre.

Comme nous l'avons dejà vu, par rapport aux objets, les agents ont des activites autonomes et

des buts. C'est cette difference qui entraine l'insuffisance d'UML pour modeliser les agents et les systemes multi-agents. Aussi AUML remplace-t-il la notion de methode par celle de service. Ses principales extensions sont :

- Diagramme de classes d'agent qui est une reformulation du diagramme de classes d'objets,

- Diagramme de sequence qui permet une meilleure modelisation des interactions entre

agents,

- Diagramme de collaboration qui complemente le diagramme de sequences en proposant

une autre lecture et vision des interactions entre agents.

5. Presentation generale des extensions d'AUML 5.1. Le diagramme de classes d'agent

Une classe d'agent represente un agent ou un groupe d'agents pouvant jouer un role ou avoir un comportement determine, Une classe d'agent comporte :

-Description de la classe d'agent et des roles;

-Description de l'etat interne ;

-Actions, methodes et services fournis ;

-Messages echanges

Fig.1 : Diagramme de classe d'agent.

- Nom de la classe agent/ role1, role2,...: Un agent d'une classe donnée peut avoir plusieurs roles (un détaillent peut etre acheteur ou vendeur) .

- Description des états: Définition de variables d'instance qui refletent l'état de l'agent, - Actions (Plans): deux types d'actions peuvent etre spécifies: action pro-active exécutée

par l'agent lui meme si une pré-condition devient vraie, et ré-active résultant d'un message recu d'un autre agent. En d'autres termes les actions sont les plans qu'a un agent.

- Méthodes: Elles sont définies comme dans UML, avec éventuellement des pré-conditions, post-conditions ou invariants.

- Envoi et reception de messages: description des messages émis

et recus par l'agent en précisant les protocoles.

-Un automate : représente les changements d'état induits par les échanges de messages.

5.2. Protocoles d'interaction (AIP : Agent Interaction Protocol):

Exemple de representation :


· Un decoupage en couches :

Dans le protocole de la figure ci-dessus, aucune precision n'est donnee sur le traitement ou la construction des messages :

- La construction de la requete (par Submitter) peut etre un processus complexe decrit par un diagramme d'activites ;

- Le traitement de cette requete (par Solver) peut etre decrit par un autre diagramme d'activites ou de sequence.

- Ce decoupage en couches reifie les processus inter-agents et ceux internes a chaque agent.

La couche superieure : c'est le protocole qui est representee sous la forme de package ou de template.

- Un package agrege des morceaux de modeles pour former un ensemble conceptuel ;

- Un template est un modele ayant des parametres (Trois types de parametres : role, contraintes et actes de communication) qui sont specialises a l'instanciation.

La deuxieme couche : les echanges entre agents :

ü Diagrammes de sequences :

Nommage des acteurs : nom-agent/rOle:classe ;

- Les messages echanges ne sont plus des noms de methodes mais des actes de communication ; -Les threads d'interaction concurrents :

-emissions concurrentes : connecteur and ;

0 ou plusieurs emissions a la fois : connecteur or ;

1 seule emission parmi plusieurs candidates : connecteur xor

ü Diagrammes de collaboration :

Se construisent comme dans les modeles objets ;

Similaires aux diagrammes de sequences ;

ü Diagrammes d'activites :

Decrivent les operations entre agents et les evenements qui les declenchent ; Comparables aux reseaux de petri colores :

Representation graphique des processus ;

Representation des traitements concurrents et asynchrones ; Representation de communications simultanees avec divers participants

Diagrammes d'etats de transitions :

Decrit les changements d'etat lors des echanges entre agents ; Facilite la description des contraintes sur les protocoles.

La troisieme couche : les traitements internes de l'agent : -Diagramme d'activites pour chaque agent ;

-Diagramme d'etats-transitions pour chaque agent.

6. AUML et les autres methodologies

Les objectifs entre AUML et nombre de methodologies (Gaia, MaSE, etc.) orientees agent sont communs : partir de methodologies ou langages de modelisation orientes objet et les etendre au paradigme agent ;

Des representations (diagramme ou modele) entre AUML et diverses methodologies

7. Limitations d'AUML

-Les diagrammes sont desordonnes et peuvent etre mal interpretes ;

-L'expression de toutes les informations necessaires sur les protocoles peut les rendre illisibles ;

-Les cas de redondance sont difficiles a identifier et corriger ;

-La description des actions temporelles (telles que le timeout, deadline, ...) est difficile a exprimer ;

- La notion d'historique des echanges n'existe pas ;

-La terminaison des interactions n'est pas toujours specifiee.

8. Conclusion

Aujourd'hui AUML n'est pas encore un langage de modelisation fini et adopte par la communaute car aucune specification finale n'a ete publiee officiellement mais plusieurs publications sur des extensions d'UML ont etes publiees par les membres du groupe. Actuellement, leurs travaux se concentrent sur les interactions, plus specifiquement sur les protocoles d'interaction, mais aussi sur d'autres aspects connexes comme les langages d'interaction, la coordination, les roles des agents. D'autres travaux portent egalement sur les architectures, et les ontologies.

précédent sommaire