Anda di halaman 1dari 26

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!

Anda mungkin juga menyukai