La méthode GAIA (Graphical Analysis for Interactive
Assistance) [Wooldridge et al. 2000] est basée sur la constatation que
les techniques classiques de génie logiciel, notamment les approches
orientées objet, ne sont pas appropriées à une
programmation orientée agent. Cette méthodologie de conception de
SMA apparaît pour compléter des notions propres aux objets afin de
les appliquer aux agents. Elle couvre un cycle de vie itératif et adopte
une description abstraite et semi-formelle pour exprimer le comportement
prévu des rôles. Cette méthode prend comme point de
départ une description de la
structure organisationnelle du Système : concepts
abstraits, aboutissant progressivement vers des concepts concrets :
· Concepts abstraits : contiennent notamment les notions de
rôle, responsabilité, protocole, activité, et
d'interaction. Ces concepts sont utilisés pendant la phase d'analyse.
· Concepts concrets : sont le modèle d'agent, le
modèle de service et le modèle d'accointance qui correspondent
à la phase de conception.
Les principaux modèles de GAIA correspondant à la
phase d'analyse et de conception sont présentés dans la Figure
9.
Modèle
d'Agent
Modèle de Rôle
Modèle de
Service
Spécification
de besoin
Modèle
d'Interaction
Modèle
d'Accointance
Analyse
Conception
Figure 9 : Relations entre les modèles de
GAIA [Wooldridge et al. 2000]. a. Phase d'analyse
L'objectif de cette phase est de modéliser et de
comprendre la structure du système sans faire référence au
détail de l'implémentation. Le terme organisation est
défini selon [Wooldridge et al. 2000] comme suit : «une
organisation est un ensemble de rôle qui interagissent entre eux
».
· Le modèle de rôles
décrit les différents rôles du système. Un
rôle est défini par quatre éléments :
- Responsabilités : Elles représentent
ce que l'agent doit être capable d'assurer dans le système, elles
sont divisées en deux classes, les propriétés de
vivacité et les propriétés de sûreté, avec
les significations habituelles de ces concepts. Les premières sont
exprimées sous forme d'expressions régulières dont les
éléments constitutifs sont des
activités ou des protocoles ; les secondes sont quant
à elles exprimées par une liste de prédicats.
- Permissions : Elles représentent les
ressources auxquelles le rôle a accès et consistent
essentiellement en la liste des valeurs que le rôle a le droit de lire ou
de modifier.
- Activités : Ils décrivent les
calculs pouvant être effectués par l'agent sans interaction avec
l'extérieur, elles sont à ce stade considérées
comme des éléments atomiques.
- Protocoles : Il s'agit ici de simples liens vers les
protocoles définis dans les modèles d'interaction.
· Le modèle d'interactions
définit les relations de dépendances entre les
différents rôles. Dans ce modèle, pour chaque type
d'interaction inter-rôle, est identifié un ensemble de
définitions de protocoles décrivant les communications possibles
entre les rôles. Les définitions de protocoles sont
composées des attributs suivants :
- Le but : une brève description de la nature de
l'interaction.
- L'initiateur : le ou les rôles responsables de
l'initiation de l'interaction. - Le correspondant : le ou les
rôles avec qui l'initiateur interagit.
- Les entrées : les informations
utilisées par l'initiateur.
- Les sorties : les informations fournies par le
correspondant durant l'interaction. - Le traitement : une brève
description de tout traitement que l'initiateur du protocole exécute
durant l'interaction.
b. Phase de conception
La phase d'analyse est suivie d'une phase de conception qui
correspond au niveau concret. Son but est d'abstraction suffisamment bas pour
que les techniques traditionnelles de conception puissent être
employées. Durant cette phase trois modèles, contenant les
entités concrètes du système :
· Le modèle d'agent :
il identifie les types d'agents qui seront utilisés pour
l'implémentation du système, les instances d'agents qui
traduiront ces types d'agents à l'exécution.
· Le modèle de services :
il définit les principaux services associés
à chaque type d'agent. Un service est un bloque cohérent
d'activités que l'agent s'engage à accomplir.