GEAMAS est une plate-forme logicielle générique pour
la modélisation et la simulation multi-agents, entièrement
implémentée en Java, qui fonctionne sous Unix, MacOS et Windows.
Encore à l?état de prototype, cette plate-forme nourrit deux
objectifs : elle constitue une base logicielle expérimentale, en
évolution permanente, pour les besoins de recherche de l?équipe,
mais elle participe également à l?intégration des
techniques multi-agents dans des projets scientifiques de la Zone Océan
Indien. Des expertises pour la modélisation de phénomènes
sismiques et volcaniques ont déjà été menées
avec succès. Nous participons aujourd?hui à l?élaboration
de simulateurs pour l?aide à la gestion de déchets organiques
en zone tropicale (projet mené en collaboration avec le CIRAD),
ainsi que pour l?étude des dynamiques comportementales de la ressource
pÈlagique dans l?environnement ocÈanique ? l?aide de donnÈes
satellitaires (projet mené en collaboration avec l?IFREMER et l?IRD).
Nous projetons, par ailleurs, de nous associer à l?initiative internationale
RoboCup (en partenariat avec le CSIRO australien).
L?architecture logicielle de la plate-forme s?appuie sur un micro-noyau
générique, JAAFAAR [1], offrant les structures et mécanismes
minimaux nécessaires à l?implémentation de systèmes
multi-agents, autours duquel gravitent un certain nombre d?extensions logicielles
spécialisées (modules d?apprentissage, d?auto-organisation,
de conception assistée, etc.). Le modèle d?agent proposé
dans JAAFAAR est entièrement générique : les états
du monde parviennent au système conatif, via des capteurs, sous
la forme de percepts, et l?agent peut exercer des influences sur le monde
via des effecteurs. Les travaux décrits dans [1] proposent un modèle
conatif auto-adaptatif, doté de facultés d?apprentissage,
baptisé MUTANT, et fondé sur une approche de la programmation
génétique associée aux techniques d?apprentissage
par renforcement. La notion d?organisation est abordée, dans GEAMAS,
sous deux angles, et pour cette raison n?a pas été introduite
dans le noyau. La première approche considère que les notions
de groupe et de structure organisationnelle sont purement cognitives, et
de ce fait ne peuvent être introduites qu?au niveau du système
conatif de l?agent. MUTANT dispose du concept de groupe, ainsi que celui
de rôle pour
identifier la fonction d?un agent au sein d?un groupe et propose des
mécanismes d?auto-organisation. La seconde approche réifie
(pour ne pas dire agentifie) les notions de groupe et de rôle : un
groupe est représenté par un agent d?un niveau organisationnel
supérieur, jouant le rôle de groupe, et responsable de la
structure organisationnelle qui définit le réseau d?accointances
du groupe. L?environnementoccupe une place centrale dans GEAMAS,
dans la mesure où il est le vecteur exclusif des processus interactionnels
entre les agents. Ces derniers ne peuvent percevoir le monde qu?au travers
de leurs capteurs, ni même exercer une influence qu?à travers
leurs effecteurs. De ce fait, les capteurs et effecteurs d?un agent sont
ses seules interfaces avec le monde. Ainsi, toute interaction n?est possible
que par le jeu de flux bilatéraux perception-action, véhiculés
par l?environnement. En ce sens, toute communication peut être considérée
comme indirecte dans la mesure où elle emprunte un canal (l?environnement)
entre l?agent émetteur et l?agent récepteur. Les langages
de communication et les
protocoles d?interaction ne sont pas imposés au niveau du noyau,
et peuvent donc être librement définis dans des couches logicielles
complémentaires, en fonction des besoins du modélisateur.
GEAMAS a été entièrement réalisée
en Java, qui un langage orienté objet de haut niveau et multi-plateformes,
offrant tous les mécanismes nécessaires à la programmation
de tâches concurrentes, et permettant l?ouverture des applications
sur un réseau comme Internet. Ceci nous a permi d?intégrer
au noyau une couche client-serveur, permettant de mettre en relation des
architectures d?agents hétérogènes, implémentées
avec n?importe-quel langage supportant les communications réseau.
Dans
son état actuel, la plate-forme offre la possibilité
de distribuer physiquement les agents. Une étude est en cours concernant
la distribution physique de l?environnement sur plusieurs sites (machines),
autorisant la mobilité des agents de sites en sites.
Il n?existe pas, actuellement, d?environnement de développement
spécifique à GEAMAS. Le modélisateur est donc contraint
d?implémenter son modèle directement en Java, en dérivant
ses propres classes de celles fournies par la plate-forme. Une méthodologie
de conception est toutefois à l?étude dans le cadre d?un
travail de thèse. Le modèle utilise les graphes conceptuels
qui semblent bien adaptés au fondement d?une méthodologie
pouvant s?appuyer sur une représentation graphique ou littérale
de la connaissance sans perte d?expressivité. Ce travail devrait
donner le jour à des outils de conception assistée pour la
réalisation de systèmes multi-agents minimisant les besoins
de codage bas-niveau. Une documentation et un tutoriel sont actuellement
en cours de rédaction pour une distribution gratuite de la plate-forme.
Les publications de l?équipe sont disponibles sur notre site web.
Diverses bibliothèques logicielles additionnelles seront distribuées
prochainement (vie artificielle, robotique collective, etc.). Toutes les
applications développées jusqu?ici ont été
faites « sur mesure ». Des outils génériques
de configuration et de contrôle de la simulation sont cependant en
cours de développement pour permettre à l?utilisateur final
d?adapter un simulateur à ses besoins de manière autonome.
[1] S. Calderoni, Thèse de Doctorat de
l?Université de la Réunion, Novembre 1999.
[2] S. Calderoni et P. Marcenac, « Emergence
of Earthquakes by MultiAgent Simulation », Proceedings of the 11th
European
Simulation MultiConference, Istanbul, 1997,
Society for Computer Simulation.
[3] F. Guerrin, R. Courdier, S. Calderoni,
J.M. Paillat, J-C. SouliÈ et J.D. Vally, « Conception d?un
modËle multi-agents pour la gestion
des effluents d?Èlevage ? l?Èchelle d?une localitÈ
rurale », Actes des 6Ëmes JournÈes Francophones
pour l?Intelligence Artificielle DistribuÈe et les SystËmes
Multi-Agents, Pont-?-Moussons, Novembre 1998, Editions
HermËs.
[4] D. Guyomard, J-C. Soulié, P. Marcenac
et M. Larue, « Mise en place d?un système multi-agents destiné
à la simulation
de dynamiques comportementales spatiales environnement/ressource,
appliqué à l?espadon Xiphias Gladius dans le
Sud-Ouest de l?Océan Indien », Actes du 4ème Forum
de l?Association Française d?Halieumétrie -Les Espaces de
l?Halieutique, Rennes, Juin 1999, Editions
de l?IRD.
[5] P. Marcenac et S. Giroux, « GEAMAS:
a Generic Architecture for Agent Oriented Simulations of Complex Processes
»,
International Journal of Applied Artificial
Intelligence, Neural Networks and Complex Problem-Solving Technologies,
vol. 8, may/june 1998, pp. 247-267, Kluwer
Academic Publishers.
[6] J-D. Vally et Rémy Courdier, «
A Conceptual Role-Centered Model for Design of Multiagent Systems »,
Multiagent
Platforms, Toru Ishida (Ed.), Lecture Notes
in Artificial Intelligence, vol. 1599, pp. 33-46, Springer-Verlag, 1999.