document fondateur du réseau MEXICO

document fondateur du réseau MEXICO hrichard
Vincent GINOT  
Hervé MONOD  
Robert FAIVRE Juin 2006

Enjeux

La mission "modélisation" de l'INRA, entre autres, a clairement mis en évidence qu'un enjeu méthodologique clef en modélisation portait sur la complexité croissante des systèmes étudiés et sur les méthodes informatiques et mathématiques à développer pour leur étude. Parmi ces méthodes, les méthodes exploratoires fondées sur les plans d'expérience et la simulation sont appelées à jouer un rôle important. En effet, la modélisation s'attaque à des processus spatio-temporels pour lesquels l'étude analytique des solutions est de plus en plus délicate sinon impossible à mettre en œuvre. Parallèlement, de nouvelles techniques se développent, comme les simulations individu-centrées et multi-agents, pour lesquelles la notion même de formalisme et donc de solution analytique se heurte à la complexité des interactions entre entités modélisées. Dans ce contexte, l'analyse des propriétés d'un modèle ne peut plus se faire sur la seule base de son écriture mathématique. Analyses de sensibilité, analyses de stabilité, propagation d'erreurs, surfaces de réponses, identifiabilité des paramètres, comparaisons modèle / données, voire même objectifs de la modélisation et prise en compte de points de vue différents sur une même réalité complexe, c'est pratiquement toute la méthodologie de construction, de compréhension et d'utilisation de ces modèles qu'il faut en partie repenser, et cela souvent sur la seule base toujours disponible : la répétition des simulations dans des plans d'expériences (ou d’échantillonnage) raisonnés et leur traitement statistique. C'est pourquoi le programme proposé repose essentiellement sur l’exploitation des résultats numériques de simulations, le modèle étant alors considéré comme une boîte noire.

Un corollaire de la complexité croissante des modèles est que leurs sorties sont elles-mêmes plus complexes. Là où un modèle calculait quelques variables d'état à valeurs scalaires dans le temps, il produit aujourd'hui communément des variables d'état plus nombreuses, et de plus en plus souvent sous forme de vecteurs ou de matrices multidimensionnelles mélangeant variables qualitatives et quantitatives. Résumer les énormes quantités de données produites par les modèles actuels, et essayer de traiter des données non scalaires, en entrée comme en sortie des modèles, doit donc également faire partie d'un programme d'exploration numérique de ces derniers.

Mais l'expérience montre que si les biologistes / modélisateurs consacrent beaucoup de temps et d'énergie à l'écriture conceptuelle et informatique de leurs modèles, ils en réservent trop peu à l'analyse de leurs propriétés. Une première raison tient peut-être à la fatigue ou à un excès d'optimisme : on a déjà passé beaucoup de temps à construire un modèle, et pourquoi diable ce modèle aurait-il un comportement différent de ce pourquoi il a été programmé ? Une deuxième raison tient sans doute au fait que les modélisateurs ne sont pas toujours mathématiciens ou statisticiens. Or caractériser les propriétés d'un modèle demande soit de rechercher des solutions analytiques (mathématiques), soit de conduire des plans d'expériences couplés à des traitement statistiques. Une dernière raison est peut-être à rechercher dans la relative faiblesse de l'offre logiciel dans ce domaine : si de nombreux outils permettent de construire des modèles, notamment dans le domaine des systèmes dynamiques à base d'équations différentielles ordinaires, bien peu proposent des outils d'exploration des propriétés des modèles produits dignes de ce nom. Un programme d'exploration numérique des propriétés des modèles doit donc posséder un volet opérationnel, et aider le modélisateur à utiliser les méthodes proposées.

 

Propositions d'organisation

Propositions d'organisation hrichard

 

L'objectif est donc de faire circuler questions, information et méthodes dans la communauté de modélisation. Il est donc essentiel de faire se rencontrer biologistes, informaticiens et mathématiciens qui forment cette communauté. A noter que cette communauté est parfois déjà organisée sous forme de groupes de travail "modélisation" à vocation plutôt thématique (cf. partie contexte). Ces groupes sont tous très demandeurs de cette ouverture vers les méthodes d'exploration des modèles.

Compte tenu des objectifs, on peut imaginer un mode de fonctionnement multipolaire :

  • - Des actions à vocation nationale voire internationale : conférences, séminaires et écoles chercheurs
  • - Des actions à vocation plus opérationnelle : groupes de travail locaux (typiquement à l'échelle d'un "centre" INRA ou d'un "groupement" Cemagref par exemple), ou plus spécifiquement ciblés sur un sous-thème. Réponses ciblées à certains appels d'offre. Cette dimension opérationnelle est indispensable pour faire vraiment se rencontrer les disciplines.
  • - Une cellule "développement logiciel" en charge de coordonner les efforts en matière de développement logiciel.
  • - La constitution et/ou la participation à un/des d'un réseau à l'échelle nationale puis internationale.
  • - Une liste de diffusion
  • - …
Moyens humains

Le réseau s'appuiera au maximum sur les compétences existantes. Mais il implique cependant pour son volet opérationnel une grosse composante ingénierie. On peut imaginer :

  • - Un collège d'animation / administration du projet largement ouvert aux animateurs des différents groupes de travail / réseaux déjà existants en modélisation dans les différents instituts.
  • - Un bureau restreint pour les questions de fonctionnement courant.
  • - Un ingénieur statisticien au moins mi-temps (animation, documentation, programmation)
  • - Un ingénieur informaticien au moins mi-temps (site web, architectures, programmation)

Il sera également souhaitable que chaque membre donne sa part ETP d'investissement dans la thématique portée par le réseau.

Moyens financiers

Le réseau est actuellement financé (2006) par une action incitative du département Mathématiques et Informatique Appliquées (MIA) de l'INRA pour un montant de 6000 Euros. Cela permet de couvrir les déplacements de certains membres du réseau pour les réunions, quelques bourses de stages, ainsi qu'une action type "séminaire de lancement" qui pourrait se dérouler à l'automne. Il faudra trouver un moyen de pérenniser le financement du réseau, sachant que certains projets ciblés qui pourraient émerger de nos rencontres pourront trouver des financement par appel d'offres. Par ailleurs les actions de formation de type Ecole Chercheurs se financent en principe assez facilement.

Contexte

Contexte hrichard

Avant de définir les objectifs du réseau, il nous faut avoir un aperçu de l'existant. A l'heure actuelle, qu'est ce qu'un modélisateur peut trouver pour l'aider à explorer son modèle ?

Les logiciels statistiques

en particulier R, S+ et SAS. Par définition, ils contiennent de belles bibliothèques statistiques dont beaucoup peuvent servir directement ou indirectement à des analyses de sensibilité.

Les logiciels de simulation du commerce qui peuvent proposer des modules d'analyses (à notre connaissance, pour modèles à base d'équation différentielles ordinaires uniquement)

  • Stella. Chef de file historique des outils de modélisation à base d'équations différentielles ordinaires (EDO) destinés au non-informaticien. ??
  • Model Maker. Un clone de Stella, aujourd'hui souvent jugé meilleur que son aîné.
  • VenSim. très utilisé aussi, notamment à l'INRA. Propose un petit module d'optimisation et un module d'analyse de sensibilité élémentaire (faire varier les paramètres 1 par 1).
  • Matlab / Simulink. Le module de simulation par EDO de Matlab. Avantage : bénéficie de l'énorme bibliothèque Matlab et de sorties graphiques de qualité exceptionnelle. Un peu plus lourd à mettre en œuvre que les logiciels précédents pour un non-informaticien. Egalement plus onéreux.
  • ACSL ? Surtout connu pour son très bon outil d'optimisation (mais assez onéreux).
Les logiciels dédiés aux analyses de sensibilité
  • Logiciel Simlab d’analyses de sensibilité globales, développé par le Joint European Research Center d’Ispra (équipe d’A. Saltelli)
  • logiciel en cours de développement à l’U. Sheffield sur l’élaboration d’émulateurs de modèles complexes par des méthodes de statistique bayésienne (équipe de A. O’Hagan)
  • Autres logiciels ?
Les réseaux et groupes de travail "modélisation" de l'INRA
  • Groupe "modélisation systémique" du département PHASE ?
  • Réseau "dynamique des populations et modélisation" du département SPE (Maurice Hullé). Actuellement en stand-by.
  • Voir les départements EA, EFPA de l'INRA
  • Le groupe de développement INRA-ACTA-ICTA (Daniel Wallach, EA) pour lequel deux ingénieurs informaticiens sont chargés des développements logiciels en matière de modèles de cultures. Ils sont également amenés à développer des outils un peu génériques d'analyses de ces modèles.
Les réseaux et groupes de travail plus spécifiquement ciblés sur la sensibilité
  • Conférences SAMO (Sensitivity Analysis of Modelling Output). Se tient tous les 3 ans, à l'initiative de A. Saltelli, et réunit des modélisateurs et mathématiciens appliqués de disciplines très diverses [cf, e.g. : http://www.stat.lanl.gov/SAMO2004/history.html ]. La quatrième du nom s'est tenue à Santa-Fe cette année, avec la participation de Hervé Monod (MIA) et David Makowski (EA)
  • Autres, dans d'autres instituts ?

Objectifs

Objectifs hrichard

Ce bref constat sur les enjeux et l'offre actuelle en matière d'exploration numérique des modèles nous amènent à proposer 5 objectifs, en partie liés :

Ouvrir les biologistes / modélisateurs au traitement statistique de leurs simulations et à une exploration raisonnée du comportement de leurs modèles.

A travers des actions de formation ou d'information qu'il faudra définir (conférences, séminaires, écoles chercheur, groupes de travail, site web…), il s'agit de montrer que bien des méthodes existent déjà, et que la plupart sont accessibles au non spécialiste. Il s’agit également de montrer les points communs, les différences et les complémentarités entre analyser des données expérimentales et des données de simulation (la notion d’inférence, par exemple, est très différente).

Initier de nouveaux fronts de recherches en statistique ou en renouveler de plus anciens.

De nombreuses méthodes d'analyse de données réelles peuvent être adaptées de façon pertinente à l’analyse de données simulées. Mais la spécificité de la simulation est qu'on a (en principe) accès à toutes les variables d'état, aussi précisément que souhaité et avec la possibilité de faire de nombreux réplicats (si les temps d'exécution sont raisonnables, ce qui n'est pas toujours le cas). Cette abondance de données est assez inédite dans le monde de la biologie et se situe à un niveau de complexité un peu intermédiaire entre celle que le statisticien manipule d'ordinaire et celle du monde réel. Ces données simulées sont donc a priori bien adaptées au développement de nouvelles méthodes de planification, d’échantillonnage ou d’analyse, notamment pour traiter le cas de sorties non scalaires.

Augmenter les synergies entre équipes nationales voire internationnale sur ce thème

en favorisant la mise en place de projets communs, que ce soit au plan théorique ou plus opérationnel.

Contribuer à la réflexion méthodologique en modélisation.

C'est un objectif à plus long terme : compte tenu de la grande diversité des types de modèles et de leurs objectifs, il s'agit de dégager progressivement une véritable méthodologie de construction et de compréhension des modèles, ou tout au moins un guide de "bonne pratique" à l'usage du modélisateur.

Rendre ces méthodes accessibles au modélisateur.

C'est un enjeu opérationnel fort du programme : il s'agit de raccourcir le parcours du combattant entre une méthode et son usage effectif pour un modèle particulier. Très concrètement nous proposons, pour les méthodes aujourd'hui non accessibles aux modélisateurs, de développer une bibliothèque de programme. Cela pourrait se faire sous la forme de "modules" normalisés pour lesquels une certaine charte graphique et sémantique serait respectée, et qui normaliserait les graphes, mais aussi les formats d'entrées-sorties des modèles afin d'éviter au modélisateur d'écrire une sortie spécifique pour chaque méthode. Cette normalisation devrait également faciliter le travail du statisticien qui souhaite développer une méthode, et lui assurer une diffusion plus rapide. Elle devrait également permettre de capitaliser l'expérience acquise dans ce domaine par les différentes équipes, en un ensemble cohérent et visible de toute la communauté scientifique. Voir l'annexe pour une proposition plus détaillée.

Les grands thèmes méthodologiques à aborder

Comprendre les propriétés d'un modèle est un terme très vague. Sachant que l'imagination reste de mise dans ce domaine, un certain nombre de questions sont récurrentes. Pour certaines, les méthodes existent déjà, notamment pour des sorties scalaires. Pour d'autres, elles sont peut-être à inventer :

  • La cohérence numérique. Avant même de chercher à explorer les propriétés du modèle il faut s'assurer que les choix techniques liés à sa résolution numérique n'influencent pas les résultats, et si c'est le cas vérifier que ces choix ont un sens vis-à-vis de la question posée et qu'ils sont bien inclus dans le descriptif du modèle. Car ils en font alors partie intégrante. Un exemple classique est le choix du pas de temps ou d'espace dans les modèles discrets. Mais dans la pratique, l'analyse de la cohérence numériques est difficile à mener car on touche à la structure même du modèle.
  • Les analyses de sensibilité : il s’agit de déterminer l'influence des paramètres sur les sorties du modèle. [mentionner la distinction entre sensibilités locale et globale ?] Il est surprenant de voir à quel point il n'est pas si aisé de désigner a priori le tiercé des paramètres les plus influents, même sur des modèles assez simples…
  • La recherche de singularités, les analyses de stabilité, c'est-à-dire la recherche d'extrema, mais aussi des points d'équilibre (ou des cycles) avec leur stabilité.
  • L'analyse des conditions initiales et la propagation des erreurs. Quelle est l'influence des conditions initiales sur les résultats, et comment se propage dans le temps un éventuel décalage avec la réalité ?
  • L'analyse qualitative du comportement. De manière plus générale, on souhaiterait relier les grands traits du comportement du modèle à des partitions dans l'espace des paramètres.
  • La recherche des comportements "robustes". Et si tout ce qui a été décrit précédemment devient caduc parce que je change légèrement la forme d'une fonction de croissance ? Il s'agit donc d'une analyse de sensibilité un peu particulière, la sensibilité aux choix des équations. [cela rentre dans le cadre de l’analyse de sensibilité, et par ailleurs la robustesse couvre aussi la robustesse par rapport aux paramètres ; on peut laisser mais je trouve la dernière phrase de cet item inutile, un peu maladroite] Remarquons au passage qu'un modèle, ce sont essentiellement des équations et des paramètres, et que la limite entre les deux est finalement assez floue. Il pourra être techniquement intéressant de prendre des formulations assez générales afin de "paramétrer" une certaine souplesse dans l'écriture du modèle, et de pouvoir ensuite tester la robustesse des sorties à cette souplesse via une analyse de sensibilité classique.
  • Les analyses d'incertitude. Compte tenu des incertitudes sur les paramètres, de la variabilité naturelle des variables d’entrée, et des composantes stochastiques qui peuvent être présentes dans le coeur du modèle, il s'agit d’utiliser le modèle pour faire de la prédiction, sous forme de distributions de probabilité associées à ses différentes variables de sortie
  • La "méta" modélisation, c'est à dire l'émulation de modèles complexes et trop coûteux en temps calcul par des modèles simplifiés et aussi fidèles que possibles. Ceci pour pouvoir par exemple effectuer des analyses de sensibilité ou d'incertitude dans des délais raisonnables. Mais aussi parce qu'il peut être intéressant de montrer qu'un modèle considéré comme complexe ne l'est peut-être pas tant que cela (nombreux paramètres sans effet, sorties monotones, peu d'interactions…) et qu'il serait nécessaire de le simplifier. Egalement, on constate une tendance des communautés scientifiques à développer de grands modèles de "connaissances" hyper détaillés, par agrégation de sous-modèles. Il faudra donc souvent les simplifier pour les rendre utilisables dans un contexte donné.
  • Les plans d'expériences. Contrairement à ce que l'on pourrait penser, il n'est pas si facile de produire des plans de grandes dimensions qui conservent toutes les "bonnes" propriétés comme l'orthogonalité des facteurs ou une exploration homogène de l'espace. Et ceci, que ce soit pour les plans factoriels ou pour les plans aléatoires. La théorie actuelle des plans d'expérience, bien adaptée aux expérimentations réelles dont elle est issue, ne semble pas aujourd'hui répondre à toutes les contraintes des expériences numériques. C'est une question sur laquelle il sera sans doute indispensable de se pencher dans le cadre de ce réseau.

La question de l'optimisation, qui inclut en particulier le calage du modèle par l'identification des paramètres, sort a priori du domaine de ce programme dans la mesure où elle demande une très grande interaction entre le modèle et l'algorithme d'optimisation. Dans la pratique, et pour une question de rapidité, il est en effet quasi obligatoire que modèle et algorithme soient programmés dans le même environnement, alors que nous considérons ici des modèles "boites noires" indépendants des traitements statistiques qu'on leur applique. Mais optimisation et sensibilité sont tellement liées que des retombées de ce programme pourront être utilisées en optimisation. Par ailleurs, certains algorithmes d'optimisation comme les algorithmes génétiques se prêtent bien à une séparation modèles/calculs.

L'enjeu méthodologique (ou recherche) du réseau, est de choisir de faire avancer les thèmes qui nous paraissent les plus cruciaux (et il y en a sans doute d'autres).

 

Les grands thèmes méthodologiques

Les grands thèmes méthodologiques hrichard

Comprendre les propriétés d'un modèle est un terme très vague. Sachantque l'imagination reste de mise dans ce domaine, un certain nombre dequestions sont récurrentes. Pour certaines, les méthodes existent déjà,notamment pour des sorties scalaires. Pour d'autres, elles sont peut-être àinventer :

  • La cohérence numérique. Avant même de chercher à explorer les propriétés du modèle il faut s'assurer que les choix techniques liés à sa résolution numérique n'influencent pas les résultats, et si c'est le cas vérifier que ces choix ont un sens vis-à-vis de la question posée et qu'ils sont bien inclus dans le descriptif du modèle. Car ils en font alors partie intégrante. Un exemple classique est le choix du pas de temps ou d'espace dans les modèles discrets. Mais dans la pratique, l'analyse de la cohérence numériques est difficile à mener car on touche à la structure même du modèle.
  • Les analyses de sensibilité : il s’agit de déterminer l'influence des paramètres sur les sorties du modèle. [mentionner la distinction entre sensibilités locale et globale ?] Il est surprenant de voir à quel point il n'est pas si aisé de désigner a priori le tiercé des paramètres les plus influents, même sur des modèles assez simples…
  • La recherche de singularités, les analyses de stabilité, c'est-à-dire la recherche d'extrema, mais aussi des points d'équilibre (ou des cycles) avec leur stabilité.
  • L'analyse des conditions initiales et la propagation des erreurs. Quelle est l'influence des conditions initiales sur les résultats, et comment se propage dans le temps un éventuel décalage avec la réalité ?
  • L'analyse qualitative du comportement. De manière plus générale, on souhaiterait relier les grands traits du comportement du modèle à des partitions dans l'espace des paramètres.
  • La recherche des comportements "robustes". Et si tout ce qui a été décrit précédemment devient caduc parce que je change légèrement la forme d'une fonction de croissance ? Il s'agit donc d'une analyse de sensibilité un peu particulière, la sensibilité aux choix des équations. [cela rentre dans le cadre de l’analyse de sensibilité, et par ailleurs la robustesse couvre aussi la robustesse par rapport aux paramètres ; on peut laisser mais je trouve la dernière phrase de cet item inutile, un peu maladroite] Remarquons au passage qu'un modèle, ce sont essentiellement des équations et des paramètres, et que la limite entre les deux est finalement assez floue. Il pourra être techniquement intéressant de prendre des formulations assez générales afin de "paramétrer" une certaine souplesse dans l'écriture du modèle, et de pouvoir ensuite tester la robustesse des sorties à cette souplesse via une analyse de sensibilité classique.
  • Les analyses d'incertitude. Compte tenu des incertitudes sur les paramètres, de la variabilité naturelle des variables d’entrée, et des composantes stochastiques qui peuvent être présentes dans le coeur du modèle, il s'agit d’utiliser le modèle pour faire de la prédiction, sous forme de distributions de probabilité associées à ses différentes variables de sortie
  • La "méta" modélisation, c'est à dire l'émulation de modèles complexes et trop coûteux en temps calcul par des modèles simplifiés et aussi fidèles que possibles. Ceci pour pouvoir par exemple effectuer des analyses de sensibilité ou d'incertitude dans des délais raisonnables. Mais aussi parce qu'il peut être intéressant de montrer qu'un modèle considéré comme complexe ne l'est peut-être pas tant que cela (nombreux paramètres sans effet, sorties monotones, peu d'interactions…) et qu'il serait nécessaire de le simplifier. Egalement, on constate une tendance des communautés scientifiques à développer de grands modèles de "connaissances" hyper détaillés, par agrégation de sous-modèles. Il faudra donc souvent les simplifier pour les rendre utilisables dans un contexte donné.
  • Les plans d'expériences. Contrairement à ce que l'on pourrait penser, il n'est pas si facile de produire des plans de grandes dimensions qui conservent toutes les "bonnes" propriétés comme l'orthogonalité des facteurs ou une exploration homogène de l'espace. Et ceci, que ce soit pour les plans factoriels ou pour les plans aléatoires. La théorie actuelle des plans d'expérience, bien adaptée aux expérimentations réelles dont elle est issue, ne semble pas aujourd'hui répondre à toutes les contraintes des expériences numériques. C'est une question sur laquelle il sera sans doute indispensable de se pencher dans le cadre de ce réseau.

La question de l'optimisation, qui inclut en particulier le calage du modèle par l'identification des paramètres, sort a priori du domaine de ce programme dans la mesure où elle demande une très grande interaction entre le modèle et l'algorithme d'optimisation. Dans la pratique, et pour une question de rapidité, il est en effet quasi obligatoire que modèle et algorithme soient programmés dans le même environnement, alors que nous considérons ici des modèles "boites noires" indépendants des traitements statistiques qu'on leur applique. Mais optimisation et sensibilité sont tellement liées que des retombées de ce programme pourront être utilisées en optimisation. Par ailleurs, certains algorithmes d'optimisation comme les algorithmes génétiques se prêtent bien à une séparation modèles/calculs.

L'enjeu méthodologique (ou recherche) du réseau, est de choisir de faire avancer les thèmes qui nous paraissent les plus cruciaux (et il y en a sans doute d'autres).

Expériences méthodologiques en cours à l'INRA

Expériences méthodologiques en cours à l'INRA hrichard

Indépendamment des groupes de travail qui peuvent déjà exister en modélisation, mais qui sont à vocation plutôt thématique et que nous avons essayé de lister dans la partie contexte, il existe encore peu d'expériences spécifiquement dédiées aux questions de méthodologie ou de développement opérationnel dans le domaine de l'exploration. A notre connaissance :

  • Sur le volet méthodologique, l'unité MIA de Jouy, déjà compétente en matière de plans d'expériences, développe une expertise sur les analyses de sensibilité, avec en particulier deux travaux récents (DEA et DESS) l'un sur l'applications (sous R) de méthodes d'analyses de sensibilité (FAST, Anova, méthode de Sobol), l'autre sur l'utilisation d'une décomposition ACP adaptée à des sorties multi-dimensionnelles. L'unité a par ailleurs déposé (obtenu ?) un projet de thèse sur ce thème des analyses de sensibilité, en partenariat avec EA.
  • Toujours sur ce volet méthodologique… Fred, un petit couplet sur le travail en cours en IA ?
  • Sur un plan plus opérationnel, l'unité MIA d'Avignon a initié une réflexion sur le thème "modules statistiques" avec deux stages de DESS en informatique/statistique (2002 et 2004). Sur la base de 3 modèles très différents ils ont exploré la faisabilité de modules d'exploration numérique aussi indépendant que possible des modèles (généricité). Ces modules concernent l'analyse mono ou bi-dimensionnelle (faire varier un ou deux paramètres simultanément) de sorties scalaires ou vectorielles des modèles, l'analyse de variance et le calcul empirique des fonctions de sensibilité. Ce travail à débouché sur la création de modules de dépouillement de simulations sous forme de package 'R' mais non totalement finalisé. Mais il a surtout permis de mieux spécifier le cahier des charges et de travailler les formats d'échanges XML entre modèles et modules. La proximité de l'IUP d'informatique d'Avignon, à la formation duquel l'unité participe, est un gros atout pour développer de tels travaux. S'ajoute sur ce volet opérationnel l'expérience déjà citée du groupe de travail INRA-ACTA-INCTA. (David, tu veux en mettre un peu plus ?)
  • En ce qui concerne les groupes de travail "locaux" évoqués plus haut, MIA-Avignon a ouvert deux chantiers : un groupe de lecture de 8-10 personnes, qui se réunit 2 heures toutes les 3 semaines pour faire une lecture commune d'un livre traitant des décompositions de variance en analyse de sensibilité, et un groupe de 15-20 personnes qui partage ses expériences de modélisation deux ou trois ois par an. Un groupe de lecture "sensibilité" a aussi fonctionné à MIA-Toulouse. Soulignons ici que le réseau, telle que proposé dans ces lignes, sera d'autant plus utile qu'il existera une collaboration très étroite entre des biologistes et modélisateurs porteurs de questions sur leurs modèles et des statisticiens et informaticiens. Les groupes de travail locaux de ce type en sont donc une composante essentielle.

 

Collaborations potentielles, expériences non INRA

Collaborations potentielles, expériences non INRA hrichard

 

  • Le Cemagref Clermont (LISC): Equipe de Guilaume Déffuant, dont le thème est la modélisation des systèmes complexes pour l'environnement. Le LISC vient de lancer le programme "SimExplorer" qui comme son nom l'indique poursuit un objectif voisin du présent programme, mais avec pour l'instant une dimension surtout informatique (distribution des calculs sur de multiples processeurs, visualisation génériques des résultats des simulations). Ils sont à la recherche de collaborations plus statistiques.
  • Le Cirad Montpellier (Green): équipe de Jean-Pierre Müller, dédiée à la simulation multi-agents des interactions sociétés/environnements. Ils proposent un environnement de programmation de SMA et se heurtent aujourd'hui à la question des plans d'expériences simulatoires.
  • L'université de Lilles (Lab. Informatique du litoral) : équipe de Eric Ramat, spécialisée dans le couplage de modèles hétérogènes dans le domaine de l'écologie. Ont beaucoup travaillé les problèmes d'échanges de données entre modèles et se posent également la question des plans d'expériences.
  • voir aussi IRIT-Université de Toulouse, IFREMER, Lille-Wimereux, ...etc.
Réseaux :
  • Réseau VERSIM (VERs une théorie de la SIMulation, animation Norbert Giambiasi, CNRS-LSIS Marseilles et David Hill, ISIMA Clermont-Ferrand). A dominante informatique, mais sensibilisé aux questions de simulation.
  • Réseau MIMOSA (animation J.P. Müller, Cirad Montpellier). Réseau dédié à la promotion des simulations multi-agents dans le domaine des sciences sociales, de l'économie et de l'environnement.

 

Annexe - Volet opérationnel : proposition de spécification des outils logiciels

Annexe - Volet opérationnel : proposition de spécification des outils logiciels hrichard

Sans préjuger des décisions de la cellule "développements logiciel", on peut déjà avancer quelques spécifications sur lesquelles il conviendra de réfléchir :

Type de logiciel

C'est une question cruciale : du logiciel presse-bouton à "débrouille toi pour re-bidouiller des bouts de code" il y en a pour tous les goûts. Mais l'expérience montre qu'un logiciel intégré avec interfaces évoluées, donc en principe plus agréable pour l'utilisateur, est non seulement coûteux à développer, mais aussi très difficile à co-développer par une pluralité de programmeurs. Inconvénient supplémentaire, il est rigide, et l'utilisateur ne peut en général pas l'adapter à ses besoins au cas où la "bonne" option soit absente. Il paraît donc plus réaliste, au moins dans un premier temps, de s'orienter vers une bibliothèque de modules indépendants, avec une interface basique de type "carte de paramètres" (ou mieux si le développeur du module le souhaite), mais qui partageraient une même charte graphique et sémantique, et si possible un même format de données.

Communauté de développeurs - charte de développement

Toute personne qui souhaite développer un module doit pouvoir le faire. Mais l'expérience montre qu'il est très difficile de mettre en place une communauté et qu'il faut minimiser les contraintes sous peine de faire fuir les développeurs. Les modules doivent donc être aussi autonomes et indépendants que possible, mais doivent suivre une "charte" claire concernant les structures d'échanges de données, les choix graphiques, la langue, la documentation… Cette dernière devrait inclure le descriptif de l'objectif du module, son mode d'emploi (en particulier nombre et type des entrées et des sorties du modèle compatibles avec le module), le plan d'expérience à faire exécuter par le modèle, l'interprétation des traitement statistique et graphique des résultats obtenus, ainsi qu'un exemple traité.

Langage de programmation

Il est souhaitable de laisser le statisticien libre de choisir son langage de programmation, dans la mesure où il peut avoir des contraintes spécifiques. Un très bon candidat est cependant le logiciel 'R', déjà évoqué. Il s'agit d'un clone gratuit du logiciel Splus que de nombreux biologistes et statisticiens de l'INRA utilisent déjà. Ses principaux défauts sont sa lenteur relative et la pauvreté de son environnement de programmation, mal adaptée à de gros projets de développement. Dans tous les cas, il semble indispensable que le module puisse fonctionner sur toute plateforme (Unix/Linux, Windows, Macintosh…).

Format d'échange des données

Une des clefs du succès tiendra à la définition d'un format d'échange de données entre modules et modèles qui soit à la fois simple, performant et évolutif. Ceci pour ne pas alourdir le travail du modélisateur qui souhaiterait utiliser la bibliothèques de modules, ni celle du statisticien qui souhaiterait programmer un nouveau module. Un bon candidat semble le langage de balise XML (extended markup langage) qui tend à devenir le standard d'échange entre applications informatiques, et qui est supporté par un nombre grandissant d'environnement, et en particulier par le logiciel R. MIA-Avignon teste la faisabilité de son usage dans ce contexte.

Glossaire

Il semble indispensable de bien définir les termes employés. On peut proposer qu'un glossaire soit mis en place dès le début du projet, avec traduction en anglais. Ceci afin que tous les modules partagent la même sémantique.

Langue

C'est un choix délicat qui doit être fixé dès l'origine du projet, car il est ensuite très difficile de faire machine arrière. Une solution consiste à développer systématiquement en anglais. Une alternative plus ambitieuse est de travailler avec des dictionnaires de traduction. Il ne paraît pas indiqué de développer uniquement en français, car on souhaite donner une audience internationale à ce projet. De même pour la documentation.

Mise à disposition des modules

Quoi de plus pratique q'un site web ? Une difficulté qui risque d'émerger rapidement est d'organiser la documentation des modules. Comment repérer si un module permettant tel traitement sur telle structure de données existe déjà ? On peut imaginer modulariser un peu plus, et concevoir des modules de plans d’expériences ou d’échantillonnage, des modules d’analyse des données simulées, des modules d’interprétation graphique, et peut-être pour simplifier l’usage, des modules qui intègrent ces différentes étapes.