• Aucun résultat trouvé

5.3 Simulation dans MadKit

5.3.5 Exemples d’applications

Les outils et la m´ethodologie que nous venons de pr´esenter ont ´et´e utilis´es au sein et en dehors de notre ´equipe pour de nombreuses exp´eriences de simulation dans des domaines divers. Nous pr´esentons ici quelques-unes de ces r´ealisations et nous en mentionnerons d’autres plus tard dans ce document (notamment l’application Warbot dans le chapitre6).

Robotique mobile collective

Les travaux de Simonin ont ´et´e parmi les premiers `a essuyer les plˆatres grandeur nature, c’est-`a-dire dans le cadre d’un projet de recherche [Simonin, 2001] (figure 5.4). Finalement, apr`es quelques am´eliorations, les outils de conception ont permis de r´ealiser une plate-forme de simulation multi-robots dont les possibilit´es ne sont pas fig´ees [Simonin et al. , 2002]. Cette plate-forme de simulation a notamment permis d’´etudier divers syst`emes li´es aux probl´ema- tiques de la RMC : la r´esolution de conflits entre robots autonomes dans des environne- ments tr`es contraints [Simonin & Ferber, 2001], le traitement des probl`emes de fourragement par de nombreux robots sur de vastes environnements [Simonin & Ferber, 2000], la simu- lation de leurs communications locales, ainsi qu’une repr´esentation dynamique 3D de leurs influences, la mise au point d’une architecture de navigation r´eactive pour robots mobiles au- tonomes [Lucidarm et al. , 2002]) et l’´etude d’un module d’apprentissage introduit `a ce mod`ele [Chapelle et al. , 2002].

Fig. 5.4 – Simulations multi-robots dans MadKit.

Simulation distribu´ee interactive

Comme nous l’avons dit, l’un des atouts majeurs de ces outils tient dans le fait qu’ils sont impl´ement´es sous la forme d’agents et qu’ils sont ainsi capables de communiquer par message. Cette fonctionnalit´e a notamment facilit´e la conception d’une application de simu-

5.3 Simulation dans MadKit 105

lation distribu´ee interactive [Michel & Bommel, 2002]. Inspir´ee du monde des jeux vid´eo, le principe de cette application est de permettre `a plusieurs utilisateurs connect´es en r´eseau d’interagir sur une mˆeme simulation10. Dans ce cadre, la possibilit´e de pouvoir communiquer entre agents sans se soucier de leur localisation a ´et´e d’un int´erˆet remarquable. En effet, Mad- Kit g`ere la distribution de mani`ere transparente pour les agents en assurant la coh´erence de la structure organisationnelle qui est partag´ee par l’ensemble des sites connect´es. Le routage des messages est ainsi effectu´e par le noyau et les agents n’ont pas se pr´eoccuper de savoir si leurs interlocuteurs sont ex´ecut´es sur un autre noyau ou non. Autrement dit, grˆace `a la structure organisationnelle, l’agentification des composants a pour principal int´erˆet de per- mettre `a ces derniers de communiquer, notamment par broadcast sur un groupe, avec tous les agents pr´esents dans l’organisation sans se soucier de leur localisation physique. En suppri- mant ainsi les contraintes techniques li´ees `a la distribution, MadKit permet de se focaliser sur les probl`emes d’algorithmique distribu´ee et de profiter au mieux des principaux atouts de la plate-forme (h´et´erog´en´eit´e et mod`ele organisationnel).

Hormis les agents simul´es, cette application utilise 5 types d’agent. L’agent Scheduler est charg´e de l’ordonnancement de l’ensemble des agents de l’application. Les agents de type Controller contrˆolent le d´eplacement des agents. Les agents Epiphyt espionnent le syst`eme et envoient les informations recueillies aux agents de type Projectionist qui sont eux charg´es de l’affichage. Enfin, les agents de type InputListener ´ecoutent les interactions utilisateurs et les transmettent aux agents concern´es (de type Controller).

Cette organisation est r´epliqu´ee sur l’ensemble des sites o`u se d´eroulent les simulations. Les communications entre les agents se font quant `a elles suivant la place qu’ils tiennent dans l’organisation. La figure 5.5 illustre le m´ecanisme qui a ainsi ´et´e mis en place. Par ailleurs, ce principe et les outils de simulation MadKit associ´es sont utilis´es au cœur d’un jeu vid´eo multi-joueurs en ligne, Astrono¨ıd11, d´evelopp´e par la soci´et´e Aleph 0.

Fig. 5.5 – Principe de l’application de simulation interactive distribu´ee. 10

La simulation consiste dans un ensemble d’agents se d´epla¸cant dans un environnement continu. Outre la possibilit´e pour les diff´erents utilisateurs de param´etrer la simulation, ils peuvent aussi contrˆoler le d´eplacement des agents `a l’aide de la souris ou en leur imposant une politique de mouvement pr´ed´efinie. Il est par ailleurs possible de filtrer la perception que chaque utilisateur a de la simulation en fonction de son rˆole.

11

La plate-forme TurtleKit

Le TurtleKit est une plate-forme de simulation pour agents r´eactifs qui clone une partie des principes de simulation des environnements StarLogo/NetLogo [Michel, 2002]. Elle a ´et´e pour nous le moyen de mettre `a l’´epreuve l’ensemble des fonctionnalit´es des outils de simulation puisqu’elle constitue une plate-forme de simulation compl`ete : d´efinition d’une architecture agent, de l’environnement, du principe d’ex´ecution et de visualisation. Il est ainsi possible de programmer des simulations tr`es rapidement en d´efinissant des comportements simples.

Cependant, au contraire des environnements d’ex´ecution qui nous ont inspir´es, le propos de TurtleKit est de permettre aux utilisateurs exp´eriment´es qui le souhaitent de modifier et/ou d’´etendre l’ensemble des parties de la plate-forme le plus simplement possible. Ceci grˆace `

a l’utilisation syst´ematique des outils que nous avons pr´esent´es et `a la mise `a disposition de l’ensemble du code source, celui-ci ayant ´et´e programm´e de mani`ere `a rendre explicites les diff´erents points du mod`ele de simulation. Les agents de la simulation (interface graphique, scheduler, outil d’analyse, etc.) peuvent ainsi ˆetre librement red´efinis/´etendus selon les besoins de l’utilisateur.

De nombreuses d´emonstrations de la plate-forme sont disponibles en ligne (sous la forme d’Applets ex´ecutables) `a l’adresse suivante : www.lirmm.fr/∼fmichel/turtlekit. La figure 5.6 montre une copie d’´ecran de certaines de ces applications. TurtleKit a par ailleurs ´et´e uti- lis´e par Beurier pour ses travaux de recherche qui concernent les probl´ematiques d’´emergence multi-niveaux dans les syst`emes complexes [Beurier et al. , 2002]. Une version de cette appli- cation peut aussi ˆetre consult´ee en ligne `a l’adresse suivante : www.lirmm.fr/∼beurier/mle.