La modélisation participative comme spécification d`une
Transcription
La modélisation participative comme spécification d`une
La modélisation participative comme spécification d’une organisation d’agents « sous-modèles » par un utilisateur Participative modeling as user’s specification of “submodels” agents’ organization Samuel Poujol, Nils Ferrand, Cemagref Montpellier [email protected], [email protected] Summary We introduce the objectives, multi-agent design principles and implementation of a participative modelling platform for watershed management, Aquabot. It aims at supporting formulation and coevolution of models by groups of non expert users. The system’s design has to cope with two different objectives, often contradictory: ergonomics, and models’ validity in regard to various objectives. The former addresses accessibility, attractiveness and usability for any kind of user (including profane public after a very limited training). The latter includes issues related to coherency, basic scientific validity and relevance of the obtained model for knowledge elicitation and cognitive conflicts mitigation. Our proposal is based on the user setting an organization of agents, each one representing a sub-model of specific grain, selected from a catalogue. By structuring agents’ interactions, the user shows her vision of interdependencies, and can evaluate dynamically the simulated results. Practically, users can choose bricks (agents) types within a list, and can instantiate them in a design space. They get information on the brick’s behaviour and can easily parameterize them. Next step is for them to specify interactions by dragging links between bricks. Hence the system becomes “runnable” and can be tested. We describe also the types of constraints we have introduced for valid organizations, and we specify principles for automatic instantiation of interactions, following predefined rules. It will produce some new instances when required e.g. by resources migration in the system. We introduce the prototype platform we have developed on top of [MadKit], a multi-agent development kit including a specific graph editor, SEdit. We conclude on opportunities for future developments in a multi-users version. Résumé Nous présentons ici les objectifs, les principes de conception multi-agents et la réalisation d’une plate-forme de modélisation participative dédiée aux bassins versants, Aquabot. Il s’agit à terme de pouvoir faire formuler et co-évoluer des modèles collectivement par plusieurs utilisateurs issus d’un public non expert. La conception répond à deux objectifs souvent contradictoires : ergonomie et validité du modèle produit en regard des objectifs fixés. Notre proposition se fonde sur l’organisation par l’utilisateur d’un ensemble d’agents qui représentent des sous-modèles de grain variable, disponibles dans un catalogue. En structurant les interactions entre agents, l’utilisateur manifeste sa vision ou sa compréhension des interdépendances et peut en évaluer les résultats dynamiques. Nous abordons ici les formes de contraintes que nous avons introduites sur les organisations admissibles, et nous précisons les modalités de création dynamique d’interactions, en fonction de règles préétablies. Nous présentons enfin le prototype de plateforme que nous avons développé à partir du système [MadKit]. Enjeux et contraintes de la modélisation participative On définit la modélisation participative comme « le processus associant des personnes intéressées pour construire ensemble un modèle de situation ou de système, sans qu’elles ne soient nécessairement réputées expertes, et afin qu’elles mêmes ou le système cible en tirent un bénéfice individuel et collectif ». Les enjeux de cette approche sont divers. Elle a une valeur pédagogique, puisque chacun des participants peut gagner en connaissances sur la réalité modélisée, et sur les perceptions des autres (modélisation médiatrice [Haradji, Ferrand, Li, 2004]). Elle démocratise davantage le processus de décision, en y intégrant des acteurs de terrain, ce qui peut à la fois améliorer le contenu même des modèles, et la légitimité des savoirs [Feldman, Le Grand, 1996] ou décisions produits, en réduisant la distance modèle acteurs. La nature des utilisateurs ciblés par les processus participatifs de gestion de l’eau (« n’importe qui » en général), impose à terme de surmonter des problèmes difficiles d’ergonomie. Les utilisateurs potentiels ne sont ni experts en informatique, ni scientifiques. De plus, l’extraction et l’échange de connaissances sont centraux pour la réussite du projet. Le formalisme de modélisation doit être suffisamment suggestif pour ne pas induire une nouvelle barrière. Et l’incitation à formuler et à échanger doit être réelle. Par ailleurs, le statut de véracité et de transmissibilité du savoir produit doit être clair, et conforme avec les objectifs de validité fixés en début de session. Ne serait ce que pour pouvoir expérimenter avec l’infrastructure, un certain degré de cohérence et de complétude dans l’expression des points de vue est nécessaire. A cela s’ajoute la conformité avec les certitudes scientifiques ou le sens commun, dans la mesure où l’on peut les formuler a priori lors de la conception. Dans cette approche, il ne peut s’agir a priori de faire reconstruire par des utilisateurs non experts des modèles de processus biophysiques ayant été validés par des générations de chercheurs. L’enjeu porte sur les interactions entre processus, et avant cela, sur le choix de considérer ces processus dans un point de vue. On considère ainsi que les modalités d’écoulement de l’eau dans un bief ne sont pas discutées avec l’utilisateur, mais qu’en revanche l’existence d’une dépendance entre ce régime d’écoulement et le parcellaire périphérique est un objet de controverse entre points de vue. Quel support logiciel ? Pourquoi une approche multi-agents ? Il existe un ensemble d’infrastructures logicielles dont on peut estimer qu’elles permettent des services de ce type : logiciels de modélisation mathématique (MathLab1 , Maple, Mathematica, etc), plateformes de simulation par événements discrets (AnyLogic, SimuLink, DEVS), dynamique de systèmes équationnels (VenSim, Stella, ICMS, WEAP21), environnements graphiques de développement logiciel par composants (Rational Rose, WinDev), plateformes multi-agents (Swarm, Repast dont SimBuilder, Cormas, DIAS FACET, MadKit…). Cependant, dans une analyse préalable, nous avons évalué leur adéquation par rapport au activités suivantes : manipulation de modèles existants, paramétrage de modèles existants, modification de l’assemblage dans un modèle, paramétrage de sous-modèles, création de sous-modèles ; et pour les critères suivants : utilisabilité, 1 Tous les noms de marque et produits sont déposés par leurs propriétaires. expressivité, présentation, ainsi que les critères de [Scapin, Bastien, 1997]. Notre conclusion principale est que, si l’on ne souhaite pas devoir révolutionner l’interface de systèmes intégrés de type MathLab, ce qui risque d’être coûteux, un prototypage préalable peut être envisagé à partir d’une plateforme multi-agents que l’on maîtrise déjà (critère pragmatique) et qui dispose d’un environnement spécifique de modélisation organisationnelle. Le choix de MadKit et de son composant SEdit a donc été le notre. Le choix d’une architecture multi-agents se justifie par quatre raisons principales : 1. l’individualisation et la correspondance entre agents et entités conceptuelles 2. la formalisation des interactions comme messages permet une grande flexibilité dans le contenu des interactions, qu’il s’agisse de transfert d’états entre équations (couplage classique) ou de processus d’observation passive, ou de contenus symboliques 3. les voisinages et les organisations sont explicites, et manipulables dans la dynamique des agents – ceci est techniquement renforcé par le paradigme Agents-Groupes-Rôles de Madkit 4. les dynamiques d’activation parallèles permettent l’introduction « au vol » de nouveaux composants En revanche, conformément aux critiques classiques, le modèle résultant n’est pas analytique, peu performant en calcul pour les cas complexes, et pas toujours répétable si l’ordonnanceur n’est pas explicite. Protocole de modélisation participative ergonomique et valide Le formalisme de représentation des points de vue forme la base de l’infrastructure, puisque c’est le langage que les acteurs utiliseront pour s’exprimer. On souhaite que les utilisateurs représentent chacun leur vision du système complexe, c'est-à-dire des agents sous-modèle (ou « briques »2) en interaction non linéaire. Un graphe permet de représenter la structure d’un tel système à un instant donné, avec des briques aux sommets et des interactions possibles (ou « tubes ») comme arcs orientés. Ce graphe peut avoir plusieurs échelles, décomposant ainsi le modèle en sous systèmes. Différents types d’agents et d’interactions sont présents comme primitives du formalisme. Pour aller dans le sens de la validité, à ce formalisme s’ajoute un système de contraintes. La première nécessité est d’obtenir un point de vue « exécutable » en tant que modèle isolé, et /ou raccordable aux autres. Pour arriver à ce stade de validité, une brique est connectable à certains types de tubes, en fonction de ses « baies ». Ce premier type de contrainte permet d’assurer la cohérence locale du point de vue. Il faut, toujours au niveau d’un agent, un minimum de complétude. C’est pourquoi il est possible de définir des dépendances entres briques. Avec ces contraintes on obtient les bases d’un modèle calculable et cohérent. Pour assurer la conformité du savoir extrait avec les attentes, pratiquement n’importe quel type de contraintes doit être exprimable. Des utilisateurs expérimentés les définissent dans un langage de bas niveau. Individuellement, les utilisateurs acteurs peuvent interagir avec le modèle selon plusieurs modalités, de difficulté croissante : 1. chargement, manipulation et test des modèles (stockés sous forme XML) 2. paramétrage global (pas de temps, observations) 2 Sans rapport direct avec « BRIC » de Ferber (1995) 3. formulation et structuration de modèles, par dessin d’une organisation d’agents briques. Ces agents peuvent être constitués de sous-organisations. 4. paramétrage de briques et d’interactions Nous laissons de côté les modalités plus avancées de création de nouvelles briques, limitée ici à la recopie de sous-organisations. Création d’instances d’un type dans un point de vue Création d’instances d’interactions entre entités Abstraction d’un sous-modèle en un nouveau type Evaluation des anticipations selon un point de vue Dans l’article, nous détaillons les différents protocoles de contrainte sur l’organisation, et les modalités d’échange de messages dans le système. La plate-forme Aquabot A partir du système WarBot intégré dans MadKit-SEDIT, nous avons développé un prototype fonctionnel de plateforme de modélisation participative, Aquabot. Celui-ci permet au concepteur expert de proposer des briques (bief, parcelle, agriculteur, poisson, pompe, pluie…) intégrant une aide ergonomique, et caractérisés par les interactions qu’elles acceptent. Il peut aussi spécifier des tubes et préciser leur éventuel paramétrage. L’utilisateur dispose ainsi d’un ensemble de briques qu’il peut instancier puis lier pour définir une organisation, en précisant certains paramètres. L’architecture fournit des briques élémentaires d’assemblage, comme des tests, des afficheurs ou des modules algébriques. Après construction d’une organisation, l’utilisateur peut l‘exécuter et observer l’évolution temporelle du modèle. Conclusion et perspectives La plate-forme Aquabot va être prochainement testée sur une application réelle, sur le bassin de la Drôme, avec des utilisateurs de différents types. Elle permet dores et déjà de formuler et tester des modèles points de vue, sous la forme d’une organisation d’agents, dont les interactions sont contraintes structurellement. La principale évolution que nous prévoyons est la sérialisation complète des instances, qui permettra de gérer complètement l’abstraction d’organisations et leur réinstanciation lors d’une copie. Cela ouvrira la voie aux développements futurs en mode multi-utilisateurs explicites avec identification des propositions et combinaison des versions de modèle partagé. Références Cormas, http://cormas.cirad.fr/ Feldman, J., Le Grand, J.-L., 1996. Savoirs savants, savoirs profanes. Ethique, épistémologie et sciences de l’homme, p. 89-105 Ferber,J., 1995 Systèmes Multi Agents, vers une intelligence collective, InterEditions Haradji, Y., Ferrand, N., Li, H., 2004, Relations à l’utilisateur et nouveaux usages, in Systèmes Multi Agents, ARAGO 29, OFTA, TEC&DOC Madkit, http://www.madkit.org/ Mimosa, http://lil.univ-littoral.fr/Mimosa/ Poujol, S., 2004. Conception d'une infrastructure de modélisation participative par des systèmes multi agents. Rapport de DEA Informatique. LIRMM / Cemagref. Repast, http://repast.sourceforge.net/ Scapin, D.L., Bastien, J.M.C., 1997. Ergonomic criteria for evaluating the ergonomic quality of interactive systems. Behaviour & Information Technology, 6(4-5), 220-231. Swarm, http://www.swarm.org/ Vensim, http://www.vensim.com/ Weap21, http://www.weap21.org/