Vous êtes sur la page 1sur 11

Chapter 1

AUML(Agent UML)

1.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 com-
munes, 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 Intelli-
gent Physical Agents) et l’OMG (Object Management Group). Par rapport
a UML, AgentUML propose des extensions pour la représentation des agents.

1.2 Rappel sur UML


UML (Unified Modeling Language) [Odell, 1 998] est une notation permet-
tant de modéliser un problème de façon standard. Ce langage est né de la
fusion de plusieurs méthodes existant auparavant, et est devenu désormais
la référence en terme de modélisation objet. Le grand succès de UML

1
peut s’expliquer par plusieurs raisons. Ces sont, par exemple, la simplicité,
l’expressivité, une large applicabilité et l’adaptabilité. Une autre raison très
pratique est l’existence d’une large variété d’outils, soutenant la conception
et la construction des modèles.
En effet,UML unifie et formalise les méthodes de plusieurs approches ori-
entées objets,il 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 dia-
grammes 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).

1.3 insuffisances 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 :

2
• Des relations entre classes statiques (agrégation, généralisation, et as-
sociation) 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 engage-


ments, 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 fonction-


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

3
1.4 AUML
AUML 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 s’est expliqué, par rapport aux objets, les agents ont des activites au-
tonomes et des buts. C’est cette difference qui entraine l’insuffisance d’UML
pour modeliser les agents et les systemes multi-agents. Aussi AUML rem-
place la notion de methode par celle de service.
D’autre part il est indispensable d’utiliser des formalismes pour étudier et
modéliser des systèmes avec l’approche orientée-agent.AUML a été proposée
dés le début des travaux sur les SMA. L’avantage de cette approche est très
bien connue dans le domaine de génie logiciel, ce qui permet aux développeurs
de passer facilement d’une méthodologie orientée-objet vers l’approche ori-
entée-agent.
Les principales extensions de AUML par rapport à UML 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 se-


quences en proposant une autre lecture et vision des interactions entre
agents.

4
1.5 les differentes extensions d’AUML

1.5.1 Le diagramme de classe d’agent


Les diagrammes de classes UML montrent un ensemble de classes avec leurs
attributs, leurs opérations ou les méthodes et les relations entre les différentes
classes. Considérant la différence entre un objet et un agent, ces diagrammes
doivent être modifiés pour qu’ils correspondent aux caractéristiques des agents.
Les diagrammes résultants sont appelés des diagrammes de classes d’agent.
Ils contiennent les éléments suivant :

• Identificateur de l’agent : Identifie chaque agent dans un sys multi-


agent

• Rôles :définit le comportement d’un agent dans une société (ex : vendeur,..)

• Organization :définit les relations entre les rôles (similaire aux organ-
isations humaines ou animales telles que les hiérarchies, les groupes
d’intérêt ou de troupeaux)

• Capacité : précise ce qu’est un agent est capable de faire et dans quelles


conditions

• Service : décrit une activité qu’un agent peut exercer, et est fourni à
d’autres agents

Les diagrammes de classes UML peuvent être utilisé pour représenter la vision
statique desagents.

1.5.1.1 Représentation des agents

Les diagrammes de classes UML peuvent être utilisé pour représenter la vision
statique des agents.

5
Figure 1.1: exemple de diagramme de classe AUML

1.5.1.2 Représentation des capacités

Une capacité est composée des éléments suivants:

• Input (Entrée)
Ce que l’agent doit recevoir en entrée pour réaliser sa tâche

• Output (Sortie)
Ce que la capacité génère à la suite des travaux

• Input constraints (Contraintes d’entrée)


Contraintes qui sont attendus à tenir avant que l’action définie par la
capacité peut être réalisée

• Output constraints (Contraintes de sortie)


Contraintes qui sont attendus à tenir dans la situation après l’action
définie par la capacité a été réalisée

• Input-output constraints (Les contraintes d’ entrées-sorties)


Les contraintes qui doivent être titulaires aux situations d’entrée et de
sortie

• Description
Une description en langage naturel de la capacité

6
Exemple d’une représentation de capacités

L’agent sum a deux capacités d’exprimer le fait qu’il est en mesure de faire
des additions et soustractions

Figure 1.2: représentation des capacités

1.5.1.3 Reprèsentation des services

Un service est composé des éléments suivants

• Name :Nom du service

• Description: Description en langage naturel du service

• Type: Type de service

• Protocol:Liste de protocoles d’interaction supporter par le service

• Agent communication language: Langues de communication utilisées


dans ce service

7
• Ontology: Liste des ontologies (info + connaissances) chargé par le
service

• Properties: Une liste de propriétés caractérise le service

Exemple d’une d’une représentation d’un service

L’agent sum exporte ou fournit un service qui fait des additions ou des sous-
tractions sur demande

Figure 1.3: représentation des capacités

1.5.2 Le diagramme de séquence d’agent

1.5.2.1 Représentation des interactions

le diagramme de sequence appelé aussi diagramme de protocole,son objectif


est de montrer l’échange de messages entre les agents dans le temps en util-
isant les protocoles de communication.

8
Ce diagramme est composés de deux axes : un vertical représentant le temps,
et un horizontal représentant différents agents ou différents rôles d’agents.

Figure 1.4: Diagramme de sequence AUML

1.5.2.2 les différentes interactions en AUML

UML a été étendu afin de représenter la communication simultanée des actes


envoyés de l’expéditeur au destinataire.

Figure 1.5: Differentes interactions AUML

(a)Les actes de communication simultanées de CA-1à CA-n sont envoyés


en parallèle.
(b) Une sélection de n actes est envoyé en parallèle (zéro ou plus).
(c) Choix exclusif: un seul des actes de communication est envoyé.
(a)Un agent envoie 3 Actes de communications parallèlement à un autre
agent. Le diagramme peut être interprété de deux manières différentes:

• Chaque CA est obtenue à partir du même agent / rôle par un thread


différent de l’exécution

9
Figure 1.6: Diagramme de sequence AUML

• Chaque CA est attribué à un rôle différent de l’agent (dans ce cas mes-


sages peuvent être annotés en précisant le rôle)
(b) Même sémantique de (a), mais avec une simple notation
(c)Choix de trois différents acte de communication reçu par trois différents
threads (ou rôles)

1.6 AUML objectifs et limites


Les objectifs entre AUML et nombre de methodologies (Gaia, MaSE, etc.)
orientees agent sont communs : partir de methodologies ou langages de mod-
elisation orientes objet et les etendre au paradigme agent .
D’autre part AUML possede des limites telque:

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

10
1.7 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 pub-
liee 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 architec-
tures, et les ontologies.

11