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.
|