Méthodes de Développement Des Sma
Méthodes de Développement Des Sma
Méthodes de Développement Des Sma
86 SEPTEMBRE 2008
Méthodes de développement
de systèmes multi-agents
MARIE-PIERRE GLEIZES, CAROLE BERNON, FRÉDÉRIC MIGEON
ET GAUTHIER PICARD
Résumé : Les systèmes multi-agents (SMA) ont montré leur pertinence pour la conception d’applications dis-
tribuées (logiquement ou physiquement), complexes et robustes. Le concept d’agent est aujourd’hui plus qu’une
technologie efficace, il représente un nouveau paradigme pour le développement de logiciels dans lesquels
l’agent est un logiciel autonome qui possède un objectif, évolue dans un environnement dynamique et interagit
avec d’autres agents au moyen de langages et de protocoles. Souvent, l’agent est considéré comme un objet « intel-
ligent » ou comme un niveau d’abstraction au-dessus des objets et des composants. Les méthodes de dévelop-
pement orientées objet – au vu des différences entre les objets et les agents – ne sont pas directement applicables
au développement de SMA. Il est alors devenu nécessaire d’étendre ou de développer de nouveaux modèles, de
nouvelles méthodes et de nouveaux outils adaptés au développement de systèmes multi-agents. L’objectif de cet
article est d’établir la spécificité du paradigme multi-agent, de donner un aperçu du processus de développement
d’un SMA au travers de la méthode ADELFE et de donner les caractéristiques des principales méthodes de
conception de SMA en donnant les caractéristiques essentielles de chacune.
Mots clés : Systèmes multi-agents, méthodes de développement, processus de développement, méta-modèles
La technique des systèmes multi-agents per- Le paradigme multi-agent permet, d’une part,
met de répondre aux demandes provenant de telles de faciliter la compréhension et la modélisation
applications. Un système multi-agent est défini des systèmes complexes. Le paradigme agent est
comme un macro-système constitué d’agents auto- un nouveau niveau d’abstraction qui permet d’ex-
nomes qui interagissent dans un environnement primer une application en termes d’agents auto-
commun pour réaliser une activité collective cohé- nomes qui jouent des rôles et rendent des services
rente [12]. Un agent est une entité physique ou vir- dans une organisation. Par exemple, un système de
2
GÉNIE LOGICIEL Q N o
86 SEPTEMBRE 2008
à chaque méthode, présentés dans la section 2, et en utilisant les concepts définis dans le langage de
3
GÉNIE LOGICIEL Q N o
86 SEPTEMBRE 2008
multi-agents, est-il important de définir la nature Ces besoins, fonctionnels ou non, sont ensuite
des agents et du système associés à la méthode. organisés et gérés de manière à définir plus pré-
Même si, comme nous l’avons fait en introduc- cisément le système et son environnement.
tion, une définition consensuelle peut être don-
née, elle n’est pas suffisamment précise pour être L’analyse exprime les besoins des utilisateurs
appliquée pendant les phases de modélisation. Il en termes liés au domaine et à ce que le système
est alors nécessaire de disposer de moyens de défi- doit faire. Dans le cas des systèmes multi-agents,
nir des langages de modélisation spécifiques. lorsque la tâche du système est clairement identi-
fiée, cette phase doit mener à identifier les agents
Depuis la fin des années 1990, l’Ingénierie qui y interviendront ainsi que leurs interactions.
Dirigées par les Modèles (IDM) permet de recen-
trer les processus de développement sur les La méthode de conception la plus dirigée par
modèles, et non plus sur le code [10]. Les outils les besoins est Tropos dont le processus de déve-
issus de ce domaine permettent de concevoir des loppement s’appuie sur les concepts issus de l’in-
langages de modélisation dédiés à un domaine génierie des besoins. Son analyse des besoins
d’expertise ; ils peuvent être associés à des édi- préliminaires et finals s’appuie sur le cadre de
teurs graphiques générés automatiquement et per- modélisation i* [34] dans lequel les intervenants
mettent d’obtenir des produits dérivés de ce sont représentés comme des acteurs qui dépen-
modèle (comme du code) par transformation [28]. dent les uns des autres pour atteindre des buts,
Cette pratique nécessite une modélisation (un remplir des tâches ou produire des ressources.
méta-modèle) des concepts du domaine source et Des diagrammes d’acteurs sont étendus de manière
une autre pour le domaine cible (par exemple, la incrémentale en analysant chaque but afin d’ex-
plate-forme de développement). primer les dépendances stratégiques entre acteurs.
Les besoins finals étendent ce modèle conceptuel
Cette approche a déclenché la définition de en incluant le système en tant qu’acteur ; les
plusieurs méta-modèles dédiés aux domaines par- dépendances avec son environnement exprimant
ticuliers des SMA et de leur implémentation. On les besoins fonctionnels ou non. La conception
trouve, par exemple, AMAS-ML qui s’intègre dans architecturale définit l’architecture globale du
ADELFE pour la définition d’agent coopératif. système en l’affinant en termes de sous-systèmes
Le méta-modèle CRIO [15], associé au processus connectés par des flots de données et de contrôle.
ASPECS, s’inspire de PASSI pour la définition Des styles architecturaux, s’appuyant sur des struc-
de systèmes holoniques et en reprend trois tures sociales et intentionnelles, sont proposés et
domaines sémantiques : le domaine pour la plate- doivent être évalués en fonction d’un certain
forme cible ; le domaine définissant le type par- nombre de critères (sécurité, adaptabilité, dispo-
ticulier de SMA, holoniques pour CRIO ; et enfin, nibilité…) identifiés lors de l’analyse des besoins.
un domaine permettant de capturer les exigences
que devra remplir le système et se focalisant sur Les méthodes de conception dont le cycle de
la notion de rôle. Cette notion de rôle forme éga- développement repose sur le « processus unifié »
lement le fondement du méta-modèle de GAIA, mettent elles aussi l’accent sur les besoins utili-
qui, en outre, met l’accent sur la notion de ser- sateurs au travers de techniques et de notations
vice que fournit un agent au sein d’une organisa- issues du domaine de l’objet (cas d’utilisation,
tion ainsi que sur les responsabilités et activités diagrammes de séquences…) telles ADELFE,
liées à un rôle. ASPECS, INGENIAS, MaSE ou PASSI. D’autres,
comme GAIA ou Message, bien qu’optant pour
Face à la diversité des approches et au nombre un processus de développement moins formel
grandissant de méta-modèles engendrés, des essais adoptent aussi des concepts similaires.
de factorisation ont déjà été étudiés [4]. Cepen-
dant, les possibilités offertes par l’IDM orientent Pour certaines méthodes, l’environnement du
actuellement les travaux plutôt vers une défini- système est modélisé dès la phase d’analyse, soit
tion des méthodologies par parties composables et en le qualifiant, comme dans ADELFE, soit en
réutilisables [8, 19]. construisant une liste des ressources utilisables
par les agents comme dans GAIA, ou bien en iden-
4. ANALYSE tifiant ce que les agents peuvent percevoir, comme
De manière classique, au cours d’un processus de dans INGENIAS, ainsi que les actions qu’ils peu-
développement, la phase d’analyse des besoins, vent y effectuer comme dans Prometheus.
ou spécification fonctionnelle, doit exprimer les
fonctionnalités du système à concevoir du point de Certaines méthodes effectuent une analyse
vue de l’utilisateur. Il s’agit dans un premier temps fonctionnelle du système (ADELFE, PASSI, Pro-
d’établir un cahier des charges consensuel entre metheus), d’autres le font au travers de rôles
clients, utilisateurs et concepteurs sur ce que le comme GAIA, INGENIAS, PASSI ou SODA ;
4
GÉNIE LOGICIEL Q N o
86 SEPTEMBRE 2008
5
GÉNIE LOGICIEL Q N o
86 SEPTEMBRE 2008
6
GÉNIE LOGICIEL Q N o
86 SEPTEMBRE 2008