2.6. Plates-formes de développement de SMA

Les environnements de développement ou les plates-formes multi-agent sont nécessaires pour renforcer le succès de la technologie multi-agent. Les plates-formes multi-agent permettent aux développeurs de concevoir et réaliser leurs applications sans perdre de temps à réaliser des fonctions de base pour la création et l'interaction entre agents et éliminent, dans la plupart des cas, la nécessité d'être familier avec les différents concepts théoriques des systèmes multi-agent.

Dans cette section nous allons présenter sommairement quelques plates-formes de développement de SMA. Nous la concluons par les critères guidant notre choix de la plate-forme à utiliser pour la phase d’implémentation de notre outil SMA.

Il existe un nombre important d'environnements de développement des applications orientées agents : il y a aussi bien des produits commerciaux que des logiciels dans le domaine public. Une liste assez complète de ces plates-formes se trouve à l'adresse « 170H170H191H170H170Hhttp://www.agentlink.org/ ». Parmi les plates-formes fournies comme logiciels libres, il y a quelques unes plus connues pour avoir été utilisées dans le développement de plusieurs applications : JADE, MACE, ZEUS, et MADKIT pour les agents cognitifs, et SWORM pour les agents réactifs. Il faut noter que cette liste n'est pas unique, et qu'il y a aussi d'autres plates-formes qui ont été utilisées avec beaucoup de succès pour bâtir diverses applications.

JADE (Java Agent Development Framework) [Bellifemine et al., 1999] est une plate-forme multi-agent développée en Java par CSELT (Groupe de recherche de Gruppo Telecom, Italie) qui a comme but la construction des systèmes multi-agent et la réalisation d'applications conformes à la norme FIPA [FIPA, 1997]. JADE comprend deux composantes de base : une plate-forme agents compatible FIPA et un paquet logiciel pour le développement des agents Java. La plate-forme multi-agent JADE sera présentée dans le chapitre 4, car c’est cette plate-forme qu’on a utilisée pour développer notre architecture. Les autres mentionnées ci- dessous vont être présentées d'une manière synthétique dans cette section même.

MACE [Gasser et al., 1987] est le premier environnement de conception et d'expérimentation de différentes architectures d'agents dans divers domaines d'application. Dans MACE, un agent est un objet actif qui communique par envoi de messages. Les agents existent dans un environnement qui regroupe tous les autres agents et toutes les autres entités du système. Un agent peut effectuer trois types d'actions : changer son état interne, envoyer des messages aux autres agents et envoyer des requêtes au noyau MACE pour contrôler les événements internes. Chaque agent est doté d'un moteur qui représente la partie active de l'agent. Ce moteur détermine l'activité de l'agent et la façon dont les messages sont interprétés. MACE a été utilisé pour développer des simulations d'applications distribuées.

ZEUS [Nwama et al., 1999] est une plate-forme multi-agent conçue et réalisée par British Telecom (Agent Research Programme of BT Intelligent Research Laboratory) pour développer des applications collaboratives. ZEUS est écrit dans le langage Java et il est fondé sur les travaux de la FIPA. L'architecture des agents ZEUS est similaire à la majorité des agents collaboratifs. Elle regroupe principalement les composantes suivantes :

L'environnement comporte trois bibliothèques : une avec des agents utilitaires, une avec des outils pour la construction des agents, et une avec des composants agents.

ZEUS met un fort accent sur la méthodologie de développement, fondée sur la notion de rôle. ZEUS a été utilisé pour développer plusieurs applications réelles comme les ventes aux enchères et la simulation de la fabrication des ordinateurs. Les caractéristiques des domaines d'applications de ZEUS ont été définies par les concepteurs ; parmi ces caractéristiques, on peut mentionner :

MADKIT [Gutknecht et Ferber, 2001] est une plate-forme développée par le Laboratoire d'Informatique, de Robotique et de Microélectronique de Montpellier (LIRMM) de l'Université Montpellier II. MADKIT est libre pour l'utilisation dans l'éducation. MADKIT est écrit en Java et est fondé sur le modèle organisationnel ALAADIN (cf. section 2.5). Il utilise un moteur d'exécution où chaque agent est construit en partant d'un micro-noyau. Chaque agent a un rôle et peut appartenir à un groupe. Il y a un environnement de développement graphique qui permet facilement la construction des applications.

SWARM [Minar et al., 1996] est une plate-forme multi-agent avec agents réactifs. L'inspiration du modèle d'agent utilisé vient de la vie artificielle. SWARM est l'outil privilégié de la communauté américaine et des chercheurs en vie artificielle. L'environnement offre un ensemble de bibliothèques qui permettent l'implémentation des systèmes multi-agent avec un grand nombre d'agents simples qui interagissent dans le même environnement.

Après cette présentation sommaire de quelques environnements de développement de SMA, nous donnons maintenant les arguments et les caractéristiques qui nous ont conduit à choisir la plateforme JADE pour implémenter notre architecture distribuée (cf. chapitre 4). Nous avons classé ces caractéristiques en deux types, caractéristiques techniques et caractéristiques d’ordre général: