Une synthse d'AUML
Jos Ghislain Quenum
Doctorant Equipe OASIS
LIP6
18 Sep. 2003
Plan
AUML ?
AUML = Agent + UML
AUML et les autres mthodologies orientes
agent
Limitations d'AUML
AUML ?
Pour parvenir vendre la technologie agent, il faut arriver
rduire le risque inhrent toute nouvelle technologie en la
prsentant comme une extension de mthodes dj prouves et en
fournissant des outils pour son utilisation [1]
L'adoption large dont UML a fait l'objet
Le paradigme agent pourrait succder valablement celui objet
Les limitations d'UML face au paradigme agent:
Les agents sont proactifs et autonomes
Les agents interagissent les uns avec les autres
AUML = Agent + UML
Reprsentation des classes d'agent ;
Mcanismes de modlisation des interactions
entre agents
AUML : les diagrammes de classes
d'agent (1)
La notion de classe dans les objets :
Variables
d'instances ;
Statiques (variables globales) ;
Mthodes et mthodes statiques ;
Les notions de constructeur, d'interface, de
ralisation, de visibilit des variables et mthodes.
AUML : les diagrammes de classes
d'agent (2)
Agent versus [2] objet :
Autonomie;
Pro et ractivit ;
Communication base d'actes de langage ;
Architecture interne plus complexe
AUML : les diagrammes de classes
d'agent (3)
Une classe d'agent reprsente un agent ou un
groupe d'agents pouvant jouer un rle ou avoir un
comportement dtermin [2]
Une classe d'agent comporte :
Description de la classe d'agent et des rles;
Description de l'tat interne ;
Actions, mthodes et services fournis ;
Messages changs
AUML: les diagrammes de classes
d'agent (4)
Description de la classe et des rles
Rle d'agent : ensemble d'agents ayant certaines
proprits, interfaces et services ou des
comportements prcis ;
La forme gnrale est : inst1 ... instn / role1 ...
rolem:class (on omet souvent les instances)
Exemples (dans le filtrage des documents):
Psolver, Client / DocumentAgent ;
Psolver, Psubmitter / RequestAgent
AUML: les diagrammes de classes
d'agent (5)
Description de l'tat interne de l'agent
Dfinition de variables d'intances qui rflettent l'tat
de l'agent (types utliss dans les objets + ebf pour
dcrire les expressions logiques, ex:beliefs, desires,
intentions, goals,) ;
Visibilit (public,
( pesistent )
private,
...)
Exemple :
L'objet document : priv et non persistant
persistance
AUML: les diagrammes de classes
d'agent (6)
Actions :
Type = pro-active et ractive ;
Signature = visibilit + nom + liste de paramtres ;
Smantique = pr + post conditions + effets +
invariants ;
Mthodes :
Comme dans UML avec Pr, post conditions et effet
Services
Description informelle des services fournis
AUML: les diagrammes de classes
d'agent (7)
Description des messages mis
et reus par l'agent en
prcisant les protocoles
Un automate reprsente les
changements d'tat induits par
les changes de messages
AC / Protocole
Message reu
AC / Protocole
Message mis
AUML : les protocoles (1)
dcrit le protocole comme un package :
une agrgation conceptuelle de
squences d'interaction
Exemple de reprsentation
Submitter, Solver
Initiation du
problme
Query, refuse, accept,
inform, cancel
Safir Incremental Problem Solver
Submitter
Solver
Le pattern d'interaction est reprsent
comme un template avec les paramtres
spcialiser chaque instanciation
Query
Le protocole peut tre considr comme
un pattern spcialiser suivant les cas
Refuse
Accept
Query
Inform
Cancel
Inform
AUML : les protocoles (2)
Une approche en couches :
Dans le protocole de la page 12, aucune prcision
n'est donne sur le traitement ou la construction des
messages :
La construction de la requte (par Submitter) peut tre un
processus complexe dcrit par un diagramme d'activits ;
Le traitement de cette requte (par Solver) peut tre dcrit
par un autre diagramme d'activits ou de squence.
Ce dcoupage en couches rifie les processus interagents et ceux internes chaque agent
AUML : les protocoles (3)
Le protocole est la couche suprieure reprsente
sous la forme de package ou de template
Un package agrge des morceaux de modles pour
former un ensemble conceptuel ;
Ex : utilisation de la notion de package pour reprsenter
l'imbrication de protocoles ;
Un template est un modle ayant des paramtres qui
sont spcialiss l'instanciation.
Trois types de paramtres : rle, contraintes et actes de
communication
Ex : description d'une instanciation de la rsolution
incrmentale
AUML : les protocoles (4)
Les changes entre agents sont la deuxime
couche :
Diagrammes de squences ;
Diagrammes de collaboration ;
Diagrammes d'activits ;
Diagrammes d'tatstransitions
AUML : les protocoles (5)
Diagrammes de squences :
Nommage des acteurs : nom-agent/rle:classe ;
Les messages changs ne sont plus des noms de
mthodes mais des actes de communication ;
Les threads d'interaction concurrents :
missions concurrentes : connecteur and ;
0 ou plusieurs missions la fois : connecteur or ;
1 seule mission parmi plusieurs candidates : connecteur
xor
AUML : les protocoles (6)
Diagrammes de collaboration :
Se construisent comme dans les modles objets ;
Similaires aux diagrammes de squences ;
Diagrammes d'activits :
Dcrivent les oprations entre
vnements qui les dclenchent ;
agents
et
les
Comparables aux rseaux de ptri colors :
Reprsentation graphique des processus ;
Reprsentation des traitements concurrents et asynchrones ;
Reprsentation de communications simultanes avec divers
participants
AUML : les protocoles (7)
Exemple : une partie du diagramme d'activits du
PRI
Submitter
Decalre
Problem
Solver
Handle
Problem
Declaration
AUML : les protocoles (8)
Diagramme d'tats-transitions :
Dcrit les changements d'tat lors des changes entre
agents ;
Facilite la description des contraintes sur les
protocoles
AUML : les protocoles (9)
Les traitements internes de l'agent constituent la
troisime couche :
Diagramme d'activits pour chaque agent ;
Diagramme d'tats-transitions pour chaque agent
AUML : les protocoles (10)
Notions complmentaires :
conditions sur les messages mis (entre accolades) ;
Nombre de copies des messages mis ;
Types de message : asynchrone, synchrone, retard ;
Rptition d'mission de certains messages ;
Composition de protocoles : inclusion + imbrication
AUML : les protocoles (11)
D'autres extensions [4] :
Diffusion (liste destinataires inconnue) ;
Synchronisation (point de synthse des acteurs) ;
Dclenchement d'actions pour corriger un msg reu ;
Traitement des exceptions (msg non attendu ou
performance en baisse);
Gestion du temps (tout le protocole ou certains msg);
Transactions atomiques ;
mission de message jusqu' acquitement
AUML et les autres mthodologies
Les objectifs entre AUML et nombre de
mthodologies (Gaia, MaSE, etc.) orientes agent
sont communs : partir de mthodologies ou
langages de modlisation orients objet et les
tendre au paradigme agent ;
Des reprsentations (diagramme ou modle) entre
AUML et diverses mthodologies
Limitations d'AUML
Selon [5], AUML prsente les limitations ciaprs:
Les diagrammes sont dsordonns et peuvent tre mal interprts ;
L'expression de toutes les informations ncessaires sur les protocoles peut les rendre
illisibles ;
Les cas de redondance sont difficiles identifier et corriger ;
La description des actions temporelles (telles que le timeout, deadline, ...) est
difficile exprimer
La notion d'historique des changes n'existe pas ;
La terminaison des interactions n'est pas toujours spcifie, surtout
Rfrences
[1] Bernhard Bauer, Jrg P. Mller, James Odell, Agent UML: A Formalism for Specifying Multiagent
Software Systems , International Journal of software Engineering and Knowledge Engineering, Vol 11,
n3, 2001, 207-230
[2] Bernhard Bauer, UML Class Diagram Revisited in the Context of Agent-Based Systems , AOSE
2001, Montreal, 2001
[3] James Odell, Van Dyke Parunak and Bernhard Bauer, Extending UML for Agents , Proc of the
AOIS at the 17th National conference on Artificial Intelligence
[4] Marc-Philippe Huget, Extending Agent UML Protocol Diagrams , Technical Report ULCS02-014,
Department of Computer Science, University of Liverpool, 2002
[5] S. Paurobally, R. Cunningham and N. R. Jennings, Developping Agent Interaction Protocols using
Graphical Methodologies , In Workshop on Programming MAS, AAMAS, 2003
Je vous remercie!