III.2.4. Plate-forme Agent Builder
Agent Builder est une plate-forme commerciale de
développement de systèmes multi-agents, reposant sur Java, et
proposant un certain nombre d'outils graphiques pour la conception d'agents, la
génération de squelette de code, et l'interprétation et
l'exécution des agents [URL 2]. Cette plate-forme présente
plusieurs similarités avec ZEUS. L'élaboration
du comportement des agents se fait à partir du
modèle BDI. KQML est utilisé comme langage de communication entre
les agents. Un éditeur de protocoles permet de générer au
moins leur squelette, sous forme de diagrammes à états finis
simples. Plusieurs rôles peuvent y être définis, toutefois
la notion de rôle est ici faible dans la mesure où le diagramme
à états finis est global au protocole. Le parallélisme et
la synchronisation ne peuvent y être représentés,
visiblement. La réutilisation est limitée par le fait que les
squelettes de règles sont complétés manuellement,
après génération. Seules les classes définies dans
les ontologies, sont facilement réutilisables. AgentBuilder est un outil
complexe qui demande des efforts d'apprentissage importants et de bonnes
connaissances dans le domaine des systèmes multi-agents pour être
utilisé de façon performante.
III.2.5. Plate-forme MADKIT
a. Présentation
MadKit (Multi agent development Kit), est une plate-forme
multi-agents, implémentée en java et a l'originalité
d'être basé sur un modèle organisationnel «
modèle AGR » plutôt qu'une architecture d'agent ou un
modèle d'interaction spécifique. L'utilisation de groupes et de
rôles associés à des agents est mis en oeuvre tant en tant
qu'outil de modélisation et de conception pour les développeurs
de systèmes multi-agents, que de principe d'architecture de la
plate-forme elle-même. Cette architecture est basée sur un noyau
agent minimal découplé de tout modèle individuel d'agent.
Elle permet d'intégrer au sein d'un même outil une grande
variété d'architectures d'agents et de modèles de
communication. De plus, les outils de communication sont déjà
implémentés et gèrent les envois de messages distants (en
utilisant le protocole TCP/IP). Les agents Madkit sont des Threads Java, ils
sont donc indépendants les un des autres et évoluent de
manière asynchrone.
b. Architecture
La structure organisationnelle est implémentée
au coeur de la plate-forme MADKIT tant pour fournir un modèle
organisationnel aux SMA exécutés que pour le fonctionnement
interne du système. Cette plate-forme est basée sur trois
principes :
· Architecture à micro-noyau (Figure 10).
· Agentification systématique des services
· Découplage applicatif entre noyau, agents et
application d'accueil.
Concrètement, MadKit est un ensemble des packages Java qui
implémentent le noyau agent, diverses bibliothèques de base de
messages, d'agents et de sondes.
Figure 10 : L'Architecture
Générale du MadKit.
D'après [Ricordel 2001], la principale
caractéristique de MadKit est son micro- noyau agent. Ce centrage sur
l'infrastructure simplifie les phases de développement et de
déploiement. Les phases d'analyse et de conception sont encore peu
documentées, le modèle AGR étant plutôt un
modèle organisationnel descriptif qu'une méthode de conception.
Le principal point faible de MadKit est son manque de modèle d'agent. La
construction d'agent complexe nécessite l'écriture de beaucoup de
code Java. De plus, cette propriété est aussi un point fort sous
certains aspects, car elle offre une plus grande flexibilité, et permet
à tout programmeur Java de commencer à utiliser la plate-forme,
ce qui est un atout dans un contexte pédagogique.
|