6. Ingénierie logicielle orienté agent
6.3 Méthodologies orientées agent
6.3.2 Méthodologies orientées agent basées sur
l'ingénierie des connaissances
Plusieurs méthodologies pour le développement des systèmes
multi-agents ont été proposées en partant des celles
qui ont été dédiées à la modélisation
des systèmes à bases de connaissances. La méthodologie
la plus connue est celle qui étend la méthodologie CommonKADS,
norme européenne pour la modélisation de connaissances.
La méthodologie MAS-CommonKADS
La méthodologie MAS-CommonKADS
(Iglesias e.a., 1997) est une extension du modèle défini
dans CommonKADS (Schreiber e.a., 1994) qui ajoute des techniques
venant des méthodologies orientées objet à des techniques
de conception des protocoles dans le but de modéliser les agents
et les interactions entre agents.
La méthodologie prévoit une phase
de conceptualisation qui est dédiée à
recueillir les besoins de l'utilisateur et à obtenir une première
description du système de son point de vue. Ensuite, la méthodologie
définit les modèles
décrits ci-dessous pour l'analyse et la conception d'un système.
Pour chaque modèle, la méthodologie définit les constituants
(les entités devant être modélisées) et les
rapports entre ces constituants. MAS-CommonKADS définit un spécimen
textuel pour décrire chaque constituant et une série d'activités
pour construire chaque modèle, basées sur l'état
de développement de chaque constituant (vide, identifié,
décrit ou validé). Ces activités facilitent la gestion
du projet.
L'extension à CommonKADS comprend les modèles suivants
:
- Le Modèle d'Agent : décrit les caractéristiques
principales des agents, y compris les capacités de raisonnement,
les habiletés, les détecteurs et les effecteurs, les services,
les buts, etc. Plusieurs techniques sont proposées pour l'identification
des agents, tel que l'analyse des acteurs de la phase de conceptualisation,
l'analyse syntaxique de l'énoncé du problème, l'application
des heuristiques pour l'identification des agents, la réutilisation
des composantes (agents) développées précédemment.
- Le Modèle de Tâche : décrit les tâches
(les buts) devant être exécutés par les agents,
et la décomposition des tâches, en utilisant les spécimens
textuels et les diagrammes.
- Le Modèle d'Expertise : décrit les connaissances
nécessaires aux agents pour exécuter les tâches.
La structure de connaissances suit l'approche de KADS, et distingue
les connaissances de domaine, les connaissances de la tâche, les
inférences et les connaissances spécifiques au problème
à résoudre. Les auteurs proposent une distinction entre
des méthodes autonomes de résolution du problème,
où le but est décomposé dans des sous-buts qui
peuvent être exécutés directement par l'agent lui-même,
et des méthodes coopératives de résolution du problème,
où on décompose un but en sous-buts qui sont exécutés
par l'agent en coopération avec les autres agents du système.
- Le Modèle de Coordination : décrit les conversations
entre les agents, c'est-à-dire leurs interactions, leurs protocoles
et les capacités d'interaction exigées. Le développement
du modèle définit deux étapes. La première
étape doit identifier les conversations et les interactions.
La deuxième étape sert à améliorer ces conversations
avec des protocoles plus flexibles tels que la négociation et
l'identification de groupes et de coalitions. Les interactions sont
modélisées en utilisant les techniques de description
formelle MSC (Message Sequence Carts) et SDL (Specifications and Description
Language).
- Le Modèle d'Organisation : décrit l'organisation
dans laquelle le système multi-agents sera introduit et l'organisation
de la société d'agents. La description de la société
d'agents utilise une extension du modèle d'objets d'OMT, et décrit
la hiérarchie des agents, le rapport entre les agents et leur
environnement, et la structure de la société d'agents.
- Le Modèle de Communication : détaille les interactions
entre l'agent humain et le logiciel, et les facteurs humains nécessaires
au développement de ces interfaces utilisateur.
- Le Modèle de Conception : recueille les modèles
précédents et est subdivisé en trois sous-modèles
: la conception de l'application - la composition ou la décomposition
des agents de l'analyse, selon des critères pragmatiques et la
sélection de l'architecture d'agent la plus convenable pour chaque
agent ; la conception de l'architecture - concevoir les aspects pertinents
du réseau d'agents, par exemple le réseau exigé,
les facilités télématiques ; et la sélection
de la plate-forme de développement pour chaque architecture d'agent.
Cette méthodologie a été appliquée avec succès
dans le développement de projets tels que la gestion intelligente
des réseaux d'ordinateurs et l'intégration modulaire des
systèmes à bases de connaissances et connexionnistes.
|