SimuLE est l'acronyme de Simulations Large Echelle. Ce projet a pour objectif d'étudier les techniques logicielles à mettre en oeuvre pour réaliser des systèmes multi-agents réactifs situés à large échelle. Situé signifie que chaque agent est positionné dans un espace métrique et qu'il est obligé de se déplacer pour mener à bien ses actions. Réactif signifie que le comportement des agents obéit à des règles simples étroitement dépendantes de leur environnement physique et social. Un enjeu majeur dans ce type de systèmes consiste à passer à une échelle de simulation de plusieurs milliers ou dizaines de milliers d'agents, en conservant des comportements non triviaux affichables en temps réel. C'est le Large échelle.
On peut constater que de plus en plus de secteurs très différents ont des besoins croissants concernant les simulations d'agents à large échelle :
Dans le cadre de ce projet nous avons proposé une architecture réactive spécifique centrée sur la notion d'interaction. Dans SimuLE les interactions se définissent indépendamment des agents. Une fois définies il est alors possible de les plugger à volonter dans les différents agents qui peuplent la simulation. Le moteur de coordination que nous proposons tend à exécuter une interaction aussitot qu'un agent pouvant effectuer cette interaction entre en contact avec un agent pouvant la subir.
Cette approche permet, d'un point de vue Génie Logiciel, d'espérer faciliter la prise en compte de milliers de comportements différents comme ce peut être le cas en biologie cellulaire.
Parmi nos verrous technologiques actuels on trouve :
Le passage au large échelle dans le domaine de la biologie possède des propriétés qui lui sont spécifiques. Hartwell, Hopfield, Leibler et Murray expliquent que les fonctions cellulaires sont réalisées par des modules composés de nombreux types de molécules interagissant les unes avec les autres. Pendant la plus grande partie du siècle dernier, les biologistes ont tenté de réduire les phénomènes biologiques au comportement de molécules, mais en dépit du succès rencontré par cette approche, une fonction biologique peut rarement être attribuée à une molécule unique. En effet, la plupart des fonctions naissent de l'interaction entre plusieurs composants. Les modules naissent donc de l'interaction des molécules. Une molécule peut appartenir à un module à un moment donné puis à un autre en raison d'un changement de son activité.
Cette approche, ainsi que les travaux de R. Paton sur les protéines de signalisation intracellulaire nous laisse à penser qu'une approche multi-agent basée sur les interactions est donc tout à fait appropriée à une application biologique.
Les quelques exemples accessibles ici concernent tous la biologie cellulaire et ont été réalisé avec plusieurs milliers d'agents. Il s'agit d'applets JAVA :