Habilitation à Diriger des Recherches Université de Bretagne Occidentale Les systèmes multi agents pour les environnements virtuels de formation Pierre Chevaillier Spécialité «Informatique» Soutenue le 13 décembre 2006 devant le jury composé de : P. Guitton, Professeur, Université de Bordeaux rapporteur P. Mathieu, Professeur, Université de Lille rapporteur J. P. Pécuchet, Professeur, Insa de Rouen rapporteur S. Espié, Hdr, Inrets examinateur P. Fuchs, Professeur, École des Mines de Paris examinateur P. Le Parc, Professeur, Université de Bretagne Occidentale examinateur J. Tisseau, Professeur, Université de Bretagne Occidentale (Énib) directeur
2
Table des matières 1 Activités de recherche et d enseignement 7 1.1 Parcours professionnel............................. 9 1.2 Activités de recherche............................. 13 1.3 Publications scientifiques............................ 15 1.4 Collaborations................................. 19 1.5 Groupes de travail............................... 23 1.6 Encadrements.................................. 25 1.7 Évaluations de travaux............................. 27 1.8 Activités pédagogiques............................. 29 2 Recherches personnelles et encadrées 35 2.1 SMA et réalité virtuelle pour le prototypage interactif........... 41 2.2 Modélisation de l environnement....................... 53 2.3 Simulation comportementale.......................... 73 3 Perspectives 101 3.1 Le projet Mascaret.............................. 103 3.2 Modèle d environnement virtuel : Veha................... 107 3.3 Simulation comportementale :Have..................... 109 3.4 Système tuteur multi agents : Mats..................... 111 3.5 La réalité virtuelle pour la formation scientifique.............. 113 4 Références bibliographiques 115 3
Table des figures 1.1 Titres, diplômes et fonctions exercées..................... 10 1.2 Encadrements de travaux de recherche d étudiants............. 24 1.3 Équipes de recherche du LISyC (septembre 2006)............. 26 1.4 Postes d enseignements et matières enseignées................ 28 1.5 Responsabilités pédagogiques collectives................... 32 2.1 Environnement virtuel pour le prototypage interactif des systèmes automatisés de production.............................. 42 2.2 Simulation orientée agent d un SAP Exemple de la cellule KorSo.... 44 2.3 Conception holonique d un système automatisé de production....... 46 2.4 Modélisation de l activation et de la communication entre agents pour la validation d un Sap multi agents....................... 48 2.5 Modélisation du comportement des agents réactifs de contrôle (ARC) pour la validation d un Sap multi agents..................... 50 2.6 L environnement virtuel de formation SécuRéVi.............. 52 2.7 Le modèle organisationnel de Mascaret.................. 54 2.8 Modélisation des interactions entre entités physiques dans Mascaret.. 56 2.9 Architecture interne des agents entités physiques.............. 58 2.10 Simulation de l effet d une queue de paon sur un nuage de gaz....... 60 2.11 Modélisation des tâches procédurales en équipe avec Mascaret..... 62 2.12 Modélisation de la relation Humain Avatar................. 64 2.13 Relation Humain Avatar........................... 66 2.14 Spécification et contrôle de l exécution de plans d action en logique temporelle 74 2.15 Calcul de plans implicites par un agent dans Mascaret.......... 76 2.16 Architecture d un agent rationnel dans Mascaret.............. 78 2.17 Exemple de simulation participative de procédure. Application de Mascaret à SécuRéVi................................... 80 2.18 Architecture d animat de behavioris..................... 84 2.19 Contrôle du comportement d un animat behavioris............ 88 2.20 Description comportementale sous behavioris............... 90 3.1 Le projet Mascaret.............................. 104 3.2 Principales classes des packages Veha (vue statique)............ 106 3.3 Exemple de description de plan d actions avec Have............ 108 3.4 Exemple d entité organisationnelle du système tutoriel Mats....... 110 3.5 Application de Mascaret à l enseignement de la physique........ 112 4
Avant propos Ce mémoire est structuré en trois chapitres. Le premier présente mes activités de recherche et d enseignement d un point de vue factuel. Dans le second, j expose les travaux de recherche que j ai menés ou que j ai directement encadrés ces dix dernières années. Le dernier chapitre expose un projet de recherche qui est dans le prolongement de mes travaux actuels. Le texte principal de ce mémoire se trouve sur les pages impaires. Sur les pages paires, le lecteur pourra trouver des compléments d information qui étayent le texte principal ; ces compléments sont référencés dans le texte principal en tant que figure. Avant tout, je remercie très chaleureusement les membres de mon jury. Je suis très honoré et très heureux qu ils aient accepté d en faire partie. Je tiens vivement à remercier tous ceux avec qui j ai travaillé ces dernières années et sans qui le travail présenté ici n aurait pu exister. Avant tout, ma gratitude va à Jacques Tisseau qui m a accueilli dans son laboratoire. Son projet d une recherche originale, s inscrivant dans une vision sociétale, est des plus stimulant et enrichissant. Ce projet a conduit à la création du Cerv qui constitue un lieu de recherche et d échanges d une grande convivialité. Je remercie aussi tous mes collègues du LISyC, chercheurs, ingénieurs, doctorants, secrétaires. Mes travaux n auraient jamais pu aboutir sans leurs contributions, directes ou indirectes. Je tiens à leur exprimer mon amitié en regrettant de ne pas avoir plus l occasion de la leur témoigner. Ils seront certainement d accord pour décerner avec moi une mention spéciale à Fabrice Harrouet pour la compétence, la disponibilité et l amabilité dont il fait preuve dans son travail d enseignant chercheur en mettant à la disposition de tous des outils performants pour mener nos recherches. La contribution qu il a apporté à tous nos travaux, et en particulier aux miens, en développant les plates-formes oris et ARéVi est en effet inestimable. Je pense aussi particulièrement à mes collègues les plus proches, ceux de l équipe Spi. Les idées développées dans ce mémoire sont nées d interactions fructueuses, aux travers de projets de recherche, et de séminaires qui se sont toujours déroulés dans un climat amical et stimulant. Enfin, je remercie tous les étudiants avec qui j ai travaillé, en projet de fin d études, en Dea, en master. Je terminerai en exprimant mes remerciements aux doctorants que j ai encadrés et que j encadre ; je tiens à leur témoigner combien il m a été agréable et enrichissant de travailler avec eux. Leur contribution aux idées et aux résultats présentés dans ce mémoire sont majeures. 5
CHAPITRE 1 Activités de recherche et d enseignement Ce premier chapitre présente mon parcours professionnel et ma situation actuelle d enseignant chercheur en informatique. Il donne donc un éclairage sur le contexte dans lequel ont été menés les travaux de recherche que je présente dans le chapitre deux et pour lesquels je dresse des perspectives dans le chapitre trois. 7
1 Activités de recherche et d enseignement Sommaire 1.1 Parcours professionnel....................... 9 1.1.1 De 1983 à 1990 : recherche (Ifremer et partenaires)...... 9 1.1.2 De 1991 à 1996 : ingénierie informatique (Grenat Informatique SA)................................ 11 1.1.3 Depuis 1995 : enseignement et recherche (Énib)......... 11 1.2 Activités de recherche........................ 13 1.3 Publications scientifiques...................... 15 1.3.1 Périodiques à comité de lecture.................. 15 1.3.2 Chapitres d ouvrage........................ 15 1.3.3 Conférences à comité de lecture et publication des actes.... 15 1.3.4 Communications dans des conférences nationales........ 17 1.4 Collaborations............................ 19 1.4.1 Projets internationaux....................... 19 1.4.2 Projets nationaux......................... 19 1.4.3 Rapports de projet......................... 21 1.5 Groupes de travail.......................... 23 1.6 Encadrements............................. 25 1.6.1 Étudiants en troisième cycle.................... 25 1.6.2 Doctorants............................. 25 1.6.3 Équipe................................ 25 1.7 Évaluations de travaux....................... 27 1.8 Activités pédagogiques....................... 29 1.8.1 Enseignements........................... 29 1.8.2 Encadrements de projets et de stages............... 31 1.8.3 Responsabilités collectives..................... 33 8
1.1 Parcours professionnel 1.1 Parcours professionnel Après une formation initiale d ingénieur de l Ensa de Rennes, j ai poursuivi par une formation à la recherche en réalisant une thèse que j ai soutenue à l Université de Rennes I (voir figure 1.1, page 10). Après une première expérience professionnelle, j ai complété ma formation par un mastère spécialisé de l Enst de Bretagne. Mon activité professionnelle se décompose en trois phases résumées dans les sections suivantes. Dans le prolongement de ma formation initiale, j ai exercé une activité de recherche en dynamique des populations (application aux écosystèmes marins exploités). Après une formation complémentaire, j ai travaillé comme ingénieur informaticien puis chef de projets. Depuis 1995, je travaille comme enseignant et chercheur à l Énib où je suis actuellement maître de conférences. J ai une activité effective de recherche en informatique depuis 1996. 1.1.1 De 1983 à 1990 : recherche (Ifremer et partenaires) Au cours de cette première période de mon parcours professionnel, j ai occupé différents postes, soit directement à l Ifremer, soit dans des structures partenaires de cet institut. Fin 1983, juste après la fin de mes études d ingénieur, j ai effectué mon service national en tant que volontaire à l aide technique à la station Ifremer de la Martinique. J étais en charge d un programme de recherche sur la sélectivité des engins de pêche.à la fin de cette période, j ai occupé un poste de chercheur contractuel au centre Ifremer de Nantes où j ai réalisé des outils informatiques pour l ajustement statistique non paramétré de modèles non linéaires. Dans le prolongement de ces travaux, j ai été allocataire de recherche pour la préparation d une thèse en halieutique. Elle portait sur le développement et la validation de méthodes d évaluation des ressources tropicales exploitées par des pêcheries artisanales, avec comme cadre d étude, la pêcherie martiniquaise. Ces travaux ont permis de mettre au point une méthodologie pour le recueil de données sur les activités de pêche et sur la dynamique des stocks de poissons fortement multi-spécifiques. J ai ensuite eu l occasion de mettre en œuvre ces techniques dans le cadre de deux contrats d étude. La première étude (avec le Comité d Expansion Économique des Côtes d Armor) avait pour objectif, en collaboration avec le laboratoire d halieutique du centre Ifremer de Brest, de faire une évaluation et une analyse typologique des activités des flottilles des Côtes d Armor. Le second contrat (en 1990) avait pour objectif de compléter la suite de logiciels développée pendant ma thèse et de la rendre utilisable par des chercheurs d horizons divers, notamment dans des pays en voie de développement. J étais consultant pour la Fao (Food and Agricultural Organization) qui est une organisation sous l égide de l Onu. Au cours de ces sept années, j ai eu une activité de recherche en modélisation de systèmes halieutiques (exploitation économique réglementée de ressources renouvelables partagées). J ai développé des méthodes statistiques et analytiques ainsi que les outils informatiques correspondants. Il s agissait d une première approche de la modélisation des systèmes complexes, plus du point de vue du thématicien expert. 9
1 Activités de recherche et d enseignement Titres universitaires, diplômes et qualifications 1983 Diplôme d Ingénieur Agronome École Nationale Supérieure d Agronomie de Rennes, Ensar 1990 Thèse de Docteur Ingénieur, mention très honorable Université de Rennes I 1991 Mastère Spécialisé en «Génie Logiciel et Temps Réel pour l Informatique Industrielle» École Nationale Supérieure des Télécommunication de Bretagne, Enstb 1999 Qualification maître de conférences, section 61 Qualification maître de conférences, section 27 Thèse de doctorat Type Titre Mention Soutenance Jury directeur rapporteurs examinateurs Thèse de Docteur Ingénieur de l École Nationale Supérieure d Agronomie de Rennes, Ensar, en co-habilitation avec l Université de Rennes-I Méthodes d étude de la dynamique des espèces récifales exploitées par une pêcherie artisanale tropicale : le cas de la Martinique très honorable le 5 janvier 1990 à Rennes M. J. C. Le Guen (Ensar) M. D. Gascuel (Ensar) M. B. Mesnil (Ifremer) M. R. Chevalier (Ifremer) M. C. Deniel (Université de Bretagne Occidentale) M. P. Fréon (Orstom, act. Ird) Fig. 1.1 : Titres, diplômes et fonctions exercées Parcours professionnel 1983 1985 Ingénieur en tant que Volontaire à l Aide Technique 1985 Chercheur contractuel (Ifremer) 1985 1988 Allocataire de recherche (Ifremer) 1989 Chargé d études (Comité d Expansion Économique des Côtes d Armor) 1990 Consultant à la FAO (Food and Agricultural Organisation, ONU) 1991-1996 Ingénieur informaticien et chef de projets (Grenat) 1995 1996 Enseignant chercheur associé à mi-temps (PAST) 1996 1999 professeur contractuel (enseignement et recherche) depuis 2000 Maître de conférences (section 61) au LISyC, Laboratoire d informatique des systèmes complexes, basé au Cerv, Centre Européen de Réalité Virtuelle 29280 Plouzané 10
1.1 Parcours professionnel 1.1.2 De 1991 à 1996 : ingénierie informatique (Grenat Informatique SA) Grenat Informatique est une société de service spécialisée en ingénierie des systèmes informatiques industriels. Cette société, qui comptait 70 personnes à cette époque, est l une des entités du groupe international Altran Technologie. Mon activité d ingénierie portait sur l étude et la réalisation d applications informatiques de pilotage de la production et de la logistique, d ingénierie documentaire et de gestion de la qualité pour différents secteurs industriels : agro-alimentaire, électronique, télécommunication et automobile. En tant que chef de projets, j encadrais des équipes de 3 à 6 ingénieurs et assurais le pilotage de projets et la gestion d affaires. J étais membre du comité de direction de la société : suivi et pilotage de l activité et définition de la stratégie. En marge de mes activités principales, j animais la veille technologique en génie logiciel et j étais en charge de l interface entre l entreprise et les structures locales d enseignement et de recherche. Au cours de cette période, j ai acquis des compétences en pilotage de projets (montage et suivi), encadrement d équipes et gestion d unités, qui me sont très utiles dans mes activités actuelles de recherche et d enseignement. 1.1.3 Depuis 1995 : enseignement et recherche (Énib) Ayant eu l occasion, en tant qu ingénieur, d encadrer des stagiaires et de nouer des liens entre le monde académique et celui de l entreprise, c est assez naturellement que mon parcours professionnel s est infléchit vers le monde de l enseignement et de la recherche. Il y a tout d abord eu une période transitoire d un an (1995 1996) pendant laquelle j ai été Past, tout en continuant à exercer mon activité à Grenat Informatique. J ai eu la responsabilité de monter le module d approfondissement de Génie Industriel (96 heures) et d encadrer deux projets de fin d études qui m ont permis d initier une activité de recherche. J ai ensuite été professeur contractuel jusqu en 1999 (service annuel de 384 heures). J ai alors diversifié mes activités pédagogiques et engagé une activité de recherche au Laboratoire d Informatique Industrielle de l Énib. En 2000, j ai été nommé sur un poste de maître de conférences dans ce même laboratoire, devenu depuis le LISyC (Équipe d Accueil 3883 Ubo Énib). J exerce depuis 10 ans le métier d enseignant chercheur en informatique. J enseigne essentiellement dans le cycle ingénieur de l Énib mais aussi en Master Recherche les méthodes du génie logiciel, la programmation objet, les systèmes multi-agents, les techniques du soft-computing. Ma recherche porte sur l apport des systèmes multi agents pour la simulation en réalité virtuelle des systèmes complexes centrés sur des activités humaines. Alors que mes premiers travaux avaient plus trait au génie informatique (61 e ), la thématique des mes activités de recherche et d enseignement s est vite orientée vers celle de la 27 e section. 11
1 Activités de recherche et d enseignement 12
1.2 Activités de recherche 1.2 Activités de recherche Depuis mon arrivée à l Énib en 1995, je suis membre de son laboratoire d informatique (anciennement Li2, Laboratoire d Informatique Indusrielle) qui, après rapprochement avec le Limi de l Ubo (Langages et Interfaces pour Machines Intelligentes) a pris depuis 2004 le nom de LISyC, Laboratoire d Informatique des SYstèmes Complexes. Ce laboratoire regroupe les chercheurs en informatique et en mathématiques de l Énib, ainsi que les chercheurs du département d informatique et du département Staps de l Ubo. Ce laboratoire pluri disciplinaire, équipe d accueil EA 3883, est dirigé par le Professeur Jacques Tisseau dont le mandat fait suite à celui du Professeur Lionel Marcé. Depuis 2004, j encadre l équipe de recherche Spi, «Simulation Participative & Immersive» qui compte 12 personnes et 2 chercheurs associés. Au sein du LISyC, je pilote trois sous projets menés en collaboration avec d autres équipes du LISyC, ARéVi, Asap et Ebv. Mascaret : MultiAgent System for Collaborative Adaptive and Realistic Environments for Training (collaboration ARéVi et Asap) ; behavioris : modélisation comportementale (collaboration ARéVi) ; virtuocean : simulation multi agents d un écosystème marin et de son exploitation par la pêche (collaboration avec Ebv et Ifremer). J ai participé à l encadrement de quatre thèses : deux sur le projet Mascaret, une sur le projet behavioris et une sur virtuocean. Deux sont terminées, les deux autres sont à mi parcours. Ces travaux se sont traduits par : 5 articles dans des périodiques internationaux à comité de lecture, 2 articles dans des périodiques nationaux à comité de lecture, 1 chapitre d ouvrage collectif, 16 articles dans des actes de conférences internationales avec comité de lecture, 5 articles dans des actes de conférences nationales avec comité de lecture, soit 29 publications scientifiques. Ils ont aussi été présentés dans 2 conférences nationales et dans différents groupes de travail (5 communications). Je participe à différents projets de recherche nationaux et européens. Mes travaux personnels portent sur la conception d environnements participatifs et immersifs pour la simulation de systèmes complexes. L objectif est de proposer des modèles pour la conception d environnements virtuels dans lesquels un ou plusieurs acteurs humains réalisent une tâche dans un environnement dynamique. Ce système est conçu comme un système multi agents hybride un collectif d agents humains et artificiels collaborant pour atteindre un but partagé, ce qui en fait un système participatif. La réalisation de la tâche nécessite une représentation tri-dimensionnelle de l environnement dans lequel elle est exécutée et une forte interaction avec cet environnement, donc la présence des acteurs humains au sein des environnements virtuels ; la simulation est donc également immersive. Les travaux présentés dans ce mémoire concernent plus particulièrement l utilisation des systèmes multi agents pour la conception d environnements virtuels de formation, appelés aussi Evah, environnements virtuels pour l apprentissage humain. 13
1 Activités de recherche et d enseignement 14
1.3 Publications scientifiques 1.3 Publications scientifiques 1.3.1 Périodiques à comité de lecture Buche, C., Querrec, R., Chevaillier, P., et Kermarrec, G. (2005). «Apports des systèmes tutoriaux intelligents et de la réalité virtuelle à l apprentissage de compétences». Cahiers Romans de Sciences Cognitives, In Cognito ISSN 1267 8015, 2(2) :53 87. Buche, C., Querrec, R., De Loor, P., et Chevaillier, P. (2004). «MASCARET : A Pedagogical Multi-Agent System for Virtual Environment for Training». Journal of Distance Education Technologies, 2(4) :41 61. Chevaillier, P., Harrouet, F., et De Loor, P. (1999). «Application des réseaux de Petri à la modélisation des systèmes multi-agents de contrôle». Journal Européen des Systèmes Automatisés, 33(4) :413 437. Chevaillier, P., Harrouet, F., Reignier, P., et Tisseau, J. (2000). «Virtual Reality and Multi-Agent Systems for Manufacturing System Interactive Prototyping». International Journal of Design and Innovation Research, 2(1) :90 101. Harrouet, F., Tisseau, J., Reignier, P., et Chevaillier, P. (2002). «oris : un environnement de simulation interactive multi-agents». Revue des sciences et technologie de l information, série Technique et science informatiques (RSTI TSI), 21(4) :499 524. Popovici, D.-M., Gerval, J.-P., Chevaillier, P., Tisseau, J., Serbanati, L.-D., et Guéguen, P. (2004). «Educative Distributed Virtual Environments for Children». Journal of Distance Education Technologies, 2(4) :18 40. Querrec, R., Buche, C., Maffre, E., et Chevaillier, P. (2004). «Multiagents Systems for Virtual Environment for Training. Application to Fire-Fighting.». Advanced Technology for Learning, 1(1) :25 34. 1.3.2 Chapitres d ouvrage Barthès, J.-P., Chevaillier, P., Courdier, R., Guessoum, Z., Gutknecht, O., Mathieu, P., et Occello, M. (2002). Comparaison des plates-formes SMA françaises à travers un toy problem. Dans Mandiau, R., Grislin-Le Strugeon, E., et Périnou, A., éditeurs, Organisation et Application des SMA, pages 207 242. Lavoisier. 1.3.3 Conférences à comité de lecture et publication des actes Buche, C., Querrec, R., De Loor, P., et Chevaillier, P. (2003a). «Mascaret : Pedagogical Multi-Agents System for Virtual Environment for Training». Dans Kunii, T. L., Soon, S. H., et Sourin, A., éditeurs, Proceedings of the International Conference on Cyberworlds, pages 423 445, Singapore. IEEE Computer Society. Buche, C., Querrec, R., Maffre, E., Chevaillier, P., et De Loor, P. (2003b). «Mascaret : multiagent system for virtual environment for training». Dans Richir, S., Richard, P., et Taravel, B., éditeurs, Proceedings of the 5th Virtual Reality International Conference, VRIC 2003, pages 159 164, Laval, France. 15
1 Activités de recherche et d enseignement Chevaillier, P., Harrouet, F., Reignier, P., et Tisseau, J. (1999a). «oris : un environnement pour la simulation multi-agents des systèmes manufacturiers de production». Dans Habchi, G. et Haurat, A., éditeurs, 2 e conférence francophone de Modélisation et de Simulation des Flux Physiques et Informationnels (MOSIM 99), pages 225 230, Annecy, France. SCS International. Chevaillier, P., Harrouet, F., Reignier, P., et Tisseau, J. (1999b). «Virtual Reality and Multi-Agent Systems for Manufacturing System Interactive Prototyping». Dans Proocedings of the International Scientific Workshop Virtual Reality and Prototyping, 7th Workshop of the French Virtual Reality Group GT-RV, pages 21 30, Laval, France. Chevaillier, P., Harrouet, F., Reignier, P., et Tisseau, J. (1999c). «Virtual Reality and Multi-Agent Systems for Manufacturing System Interactive Prototyping». Dans Proceedings of the International Scientific Workshop Virtual Reality and Prototyping, 7th Workshop of the French Virtual Reality Group GT-RV, Laval, France. Chevaillier, P., Querrec, R., et Tisseau, J. (1997). «Modélisation Multi-Agents d une Cellule de Production». Dans Actes du 2e Colloque National de Productique, pages 1 10, Casablanca, Maroc. Chevaillier, P., Tisseau, J., Harrouet, F., et Querrec, R. (1998). «Prototyping Manufacturing Systems. Contribution of Virtual Reality, Agents and Petri Nets». Dans Preprints of the 9th symposium on Information Control in Manufacturing, volume 3, pages 249 254, Nancy Metz, France. IFAC. Coquelle, L., Buche, C., et Chevaillier, P. (2004). «Un langage à base de logique floue pour la simulation de comportements individuels d animaux». Dans Actes des Rencontres Francophones sur la Logique Floue et ses Applications (LFA 04), pages 379 386, Nantes, France. Cépadues Éditions. Coquelle, L. et Chevaillier, P. (2005). «behavioris : une architecture d agent et un langage pour la simulation de modèles de comportements animaux». Dans Actes de la 3e Conférence internationale Recherche, Innovation et Vision du Futur (RIVF), pages 38 45, Can Tho, Vietnam. De Loor, P. et Chevaillier, P. (2000). «Generation of Agent Interactions from Temporal Logic Specifications». Dans Deville, M. et Owens, R., éditeurs, 16th IMACS World Congress 2000, Lausanne, Suisse. electronic edition. De Loor, P. et Chevaillier, P. (2003). «Solving Distributed and Dynamic Constraints Using an Emotional Metaphor : Application to the Timetabling Problem». Dans 5th EURO/INFORM international conference, new opportunities for operations research, page 144, Istanbul. Invited paper, session : Parallel Algorithms and Implementation. De Loor, P., Septseault, C., et Chevaillier, P. (2003). «Les émotions : Une métaphore pour la résolution de problèmes dynamiques distribués». Dans Briot, J.-P. et Ghédira, K., éditeurs, Déploiement des systèmes multi-agents, vers un passage à l échelle, JFSMA 2003, Revue des sciences et technologies de l information, volume hors série, pages 331 344. Hermes. Follut, D., Querrec, R., Woloszyn, P., et Chevaillier, P. (2000). «The Ambianscope : A New Way to describe Urban Ambiants. The Usage of Virtual Reality». Dans Tisseau, J. et Subsol, G., éditeurs, Proceedings of the First French-British International Workshop on Virtual Reality : virtual environments, pages 99 107, Brest, France. Enib. Le Parc, P., Querrec, R., Chevaillier, P., Tisseau, J., et Marcé, L. (1999). «Un environnement de développement pour la conception des systèmes automatisés de production». Dans Lesage, J.-J., éditeur, Modélisation des Systèmes Réactifs, MSR 99, pages 407 416, Cachan, France. Hermès Science. 16
Popovici, D.-M., Şerbanaţi, L.-D., Chevaillier, P., Morvan, S., et Tisseau, J. (2005). «A Model-Driven Architecture for Virtual reality Agents». Dans Richir, S. et Taravel, B., éditeurs, Proc. of the 7th virtual reality international conference (VRIC 2005), pages 65 74, Laval, France. ISBN : 2-9515730-4-9. Querrec, R., Buche, C., Maffre, E., et Chevaillier, P. (2003a). «MultiAgents Systems for Virtual Environnement for Training». Dans IASTED International Conference on Computers and Advanced Technology in Education (CATE 2003), pages 647 652, Rhodes, Greece. Querrec, R., Buche, C., Maffre, E., et Chevaillier, P. (2003b). «SécuRéVi : virtual environments for fire-fighting training». Dans Richir, S., Richard, P., et Taravel, B., éditeurs, Proceedings of the 5th Virtual Reality International Conference, VRIC 2003, pages 169 175, Laval, France. Querrec, R. et Chevaillier, P. (2001). «Virtual Storytelling for training : An application to Fire-Fighting in Industrial Environment». Dans Balet, O., Subsol, G., et Torguet, P., éditeurs, Virtual Storytelling, Using Virtual Reality Technologies for Storytelling, Proceedings of ICVS 2001, volume 2197 de Lecture Notes in Computer Science, pages 201 204, Avignon, France. Springer. Querrec, R., De Loor, P., et Chevaillier, P. (2001a). «Environnement virtuel pour la formation des officiers sapeurs-pompiers». Dans El Fallah Seghrouchni, A. et Magnin, L., éditeurs, Fondements des systèmes multi-agents modèles, spécifications formelles et vérification, Actes des 9 es Journées Francophones d Intelligence Artificielle et Systèmes Multi- Agents (JFIADSMA 01), pages 311 314, Montréal, Québec, Canada. Hermès Science Publications. Querrec, R., Reignier, P., et Chevaillier, P. (2001b). «Humans and autonomous agents interactions in a virtual environment for fire fighting training». Dans Richir, S., Richard, P., et Taravel, B., éditeurs, Virtual Reality International Conference, pages 54 67, Laval, France. Querrec, R., Tarot, S., Chevaillier, P., et Tisseau, J. (1997). «Simulation d une Cellule de Production. Utilisation d un Modèle à Base d Agents Contrôlés par Réseaux de Petri». Dans AGIS 97 regular communication, pages 209 214, Angers, France. 1.3.4 Communications dans des conférences nationales Chevaillier, P. (2002a). «Sécurité civile et réalité virtuelle». virtu@brest. Chevaillier, P. (2002b). «Un environnement virtuel pour former des officiers sapeurs-pompiers». Journée professionnelle AFPA Réalité virtuelle et formation : une autre approche du réel. 1.3 Publications scientifiques 17
1 Activités de recherche et d enseignement 18
1.4 Collaborations 1.4 Collaborations 1.4.1 Projets internationaux Je participe à deux projets européens. Premecs II (2002 2005) (Predictive Model of CodEnd Selectivity). Notre contribution est le développement d un simulateur permettant de modéliser le comportement des poissons dans les chaluts afin d étudier le processus de sélectivité de ces engins de pêche. C est dans ce cadre que s inscrivent les travaux de thèse de Ludovic Coquelle (Coquelle, 2005) sur behavioris. Je suis membre du comité de pilotage du projet (Priour et al., 2003, 2004, 2005, 2006). Necessity (2004 2006) (NEphrops and CEtacean Species Selection Information and TechnologY) est le prolongement de Premecs II ; il s intéresse au comportement de poissons et de langoustines dans la partie amont du chalut (WP 3). Dans ce projet, le Cerv est sous-contractant de l Ifremer et je suis le responsable scientifique. Je participe également au réseau d excellence européen Intuition sur la réalité virtuelle (Network of excellence on virtual reality and virtual environments applications for future workspaces), plus particulièrement au groupe de travail 2.9, Education and Training. J ai contribué à l organisation du workshop Virtual Reality and Learning qui s est tenu en 2005 à Laval en marge de la conférence Vric 05 (revue et sélection des articles). 1.4.2 Projets nationaux Dans le domaine des Evah, je participe à quatre projets. À l exception du premier, ces projets sont des applications des résultats du projet Mascaret ou servent de support à son développement. Gvt, Giat Virtual Training, environnement virtuel de formation à la maintenance. Ce projet est mené en collaboration avec l équipe Siames de l Irisa (Rennes). SécuRéVi, Sécurité Civile & Réalité Virtuelle. L objectif est de développer des simulations à vocation pédagogique pour l étude des plans d intervention et de secours sur des sites industriels à risque. Il s agit d un partenariat avec l Inesc (Institut National d Etudes de la Sécurité Civile), le Sdis 29 (Service d Incendie et de Secours du Finistère) et la société Inovadys. Gaspar, développement d un simulateur pédagogique de l activité aérienne sur porte-avions. Le maître d ouvrage du projet est la Dcn (Direction des constructions navales) de Brest. «Paillasse virtuelle». Ce projet a été initié en 2006 ; il a pour objectif de développer un environnement virtuel de formation dédié aux travaux pratiques en sciences. Il est mené en collaboration avec des enseignants chercheurs de l Ufr Science de l Ubo et de l Énib, ainsi que deux autres établissements d enseignement supérieur brestois, l Isen et de l Ensieta. 19
1 Activités de recherche et d enseignement 20
1.4 Collaborations Mes travaux sur les environnements virtuels pour la simulation de systèmes complexes se traduisent par différentes collaborations avec l Ifremer. 1.4.3 virtuocean Défi «Golfe de Gascogne» : étude de l évolution des peuplements de poissons et des flottilles de pêche approche individu centrée ; Blanchard et Chevaillier (2003); Bonneaud et al. (2005a); Chevaillier et Bonneaud (2005); Chevaillier et al. (2005). Ifb (Institut Français de la Biodiversité), effets de la pêche et du réchauffement climatique sur la coexistence spatiale des espèces au sein de la communauté de poissons du golfe de Gascogne au cours des trois dernières décennies Conséquences pour les pêcheries ; Blanchard et al. (2005). Chaloupe (Anr 2006-2008) : changement global, dynamique de la biodiversité marine exploitée et viabilité des pêcheries. Je suis co-responsable avec Christian Mullon de l Ird de la tâche sur la modélisation du système bio-économique. behavioris Vital : effet du comportement des poissons sur les estimations de biomasse par observation directe et par chalutage. Rapports de projet Blanchard, F., Bonneaud, S., Chevaillier, P., Guyader, O., et Thébaud, O. (2005). «Effets de la pêche et du réchauffement climatique sur la coexistence spatiale des espèces au sein de la communauté de poissons du golfe de Gascogne au cours des trois dernières décennies Conséquences pour les pêcheries». Rapport d étude, Ifremer Énib. Rapport d étude, appel d offre biodiversité et changement global de l Institut Français de la Biodiversité, 24 pages. Chevaillier, P. (2002). «Modélisation multi-agents de la sélectivité des chaluts». Rapport d étude, Énib. 43 pages. Chevaillier, P. et Bonneaud, S. (2005). «virtuocean : un simulateur individu centré des systèmes pleuplement pêcherie». Rapport d étude, Énib Cerv. 33 pages. Priour, D., Chevaillier, P., Coquelle, L., Herrmann, B., Jones, E., O Neill, F., et Sala, A. (2003). «Premecs-II : Developement of a predictive model of cod-end selectivity. First year». Progress report, European Union. 76 pages. Priour, D., Chevaillier, P., Coquelle, L., Herrmann, B., Jones, E., O Neill, F., et Sala, A. (2004). «Premecs-II : Developement of a predictive model of cod-end selectivity. Second year». Progress report, European Union. 372 pages. Priour, D., Chevaillier, P., Coquelle, L., Herrmann, B., Jones, E., O Neill, F., et Sala, A. (2005). «Premecs-II : Developement of a predictive model of cod-end selectivity. Third year». Progress report, European Union. 196 pages. Priour, D., Chevaillier, P., Herrmann, B., O Neill, F., et Sala, A. (2006). «Premecs-II : Developement of predictive models of cod-end selectivity». Final report, European Union. 371 pages. Tisseau, J., Chevaillier, P., Harrouet, F., et Nédélec, A. (1998). «Des procédures aux agents. Application en oris». Rapport Technique LI2TCH98RPI01, ENIB, Laboratoire d Informatique Industrielle. 110 pages. 21
1 Activités de recherche et d enseignement 22
1.5 Groupes de travail 1.5 Groupes de travail Je participe à différents groupes de travail du GdR I 3 dans le domaine des systèmes multi-agents : 2.2 Asa : «Approches par Sociétés d Agents». Ma contribution à ce groupe s est concrétisée par la participation à la rédaction d un ouvrage collectif (Barthès et al., 2002). 2.4 Mimosa : «Modélisation et Simulation individu-centrées». Ma participation à ce groupe est motivée par les travaux que je mène avec l Ifremer et l Ird en simulation individu centrée des écosystèmes marins exploités (thèse de Stéphane Bonneaud). 2.8 Aca : «Agents Conversationnels Animés». Le groupe Aca met en relation trois grandes thématiques scientifiques : 1 o les systèmes multi-agents, 2 o le dialogue Humain Machine et les interfaces Humain Machine et 3 o la psychologie des interactions langagières et la psychologie ergonomique. Cette thématique est importante dans le développement des Evah et des collaborations devront être engagées sur ce thème. J ai participé au gt-rv (groupe de recherche en réalité virtuelle) ; à ce titre j ai notamment été l un des organisateurs du workshop de 2000 qui a accueilli à Brest plus de 70 personnes. Communications dans des groupes de travail Baudouin, C. (2006). «Une équipe pédagogique dans un environnement virtuel d apprentissage humain». Actes du séminaire du LISyC. Blanchard, F. et Chevaillier, P. (2003). «Modèles individu centrés des peuplements halieutiques». Dans Atelier modélisation du défi golfe de Gascogne, Nantes (France). Ifremer. Communication orale. Bonneaud, S., Blanchard, F., et Chevaillier, P. (2005a). «virtuocean : modèle individucentré d un peuplement de poissons dans un environnement variable». Colloque Golfe de Gascogne. Poster. Bonneaud, S. et Chevaillier, P. (2006). «Proposition d un agent modèle pour la simulation multi modèles des écosystèmes exploités». Actes du séminaire du LISyC. Bonneaud, S., Redou, P., et Chevaillier, P. (2005b). «Modélisation multi-agents d un système complexe écologique et économique». Actes du séminaire du LISyC. Chevaillier, P. (1998). «Des Holons anx agents dans les systèmes de production». Dans Séminaire de l EA2215. Communication orale. Chevaillier, P., Bonneaud, S., Thébaud, O., Guyader, O., et Blanchard, F. (2005). «Modélisation des impacts de mesures de régulation des capacités sur la viablilité des flottilles de pêche : une approche multi-agents». Dans Colloque golfe de Gascogne, Brest (France). Ifremer. Communication orale. 23
1 Activités de recherche et d enseignement Étudiants en troisième cycle 1996 Stéphane Tarot DESS IAP Ubo Simulation en réalité virtuelle de la cellule de production KorSo 1997 Mohamed Bouziane DESS IAP Ubo Téléopération d un robot depuis un environnement virtuel 1997 Ronan Querrec DEA Ifsic Modelisation multi-agents d un système automatisé de production en realité virtuelle 2001 Sophie Bellard DEA Enstb Enrichissement du Contract Net Protocol par un algorithme de négocation entre agents artificiels 2005 Cyrille Baudouin M2R Ifsic Conception d un agent tuteur en Soar Doctorants Fig. 1.2 : Encadrements de travaux de recherche d étudiants 1998 2002 Ronan Querrec 50 % Les systèmes multi agents pour les Environnements Virtuels de Formation. Application à la sécurité civile Querrec (2002) 2002 2005 Ludovic Coquelle 90 % Simulation de comportements individuels instinctifs d animaux dans leur environnement Coquelle (2005) 2004 2007 Stéphane Bonneaud 70 % Modélisation et simulation centrées individu multi échelles 2005 2008 Cyrille Baudouin 90 % Adaptation de la fonction pédagogique par système multi agents dans les environnements virtuels d apprentissage humain 24
1.6 Encadrements 1.6 Encadrements 1.6.1 Étudiants en troisième cycle J ai encadré trois étudiants en Dea et master recherche (voir figure 1.2, page 24). Ronan Querrec et Cyrille Baudouin ont poursuivi en thèse avec moi. Baudouin, C. (2005a). «Rôles des agents pédagogiques dans les environnements d apprentissage humain». Rapport d étude bibliographique de master recherche, Ifsic, Université de Rennes. Baudouin, C. (2005b). «Une agent pédagogique pour les environnements virtuels de formation». Rapport de stage de master recherche, Ifsic, Université de Rennes. Bellard, S. (2001). «Méthodes de négociation dans un système multi-agents». Rapport de stage de DEA, Enstb. Querrec, R. (1997). «Modélisation d une cellule de production avec l atelier de réalité virtuelle ARéVi Cas de la cellule du projet KorSo». Rapport de stage de DEA, Ifsic, Université de Rennes. 1.6.2 Doctorants J ai participé à l encadrement de quatre thèses (voir figure 1.2, page 24) : deux sur le projet Mascaret, une sur le projet behavioris et une sur projet virtuocean. Deux sont terminées (Querrec (2002), Coquelle (2005)) et deux sont à mi parcours (Bonneaud et al. (2005b); Bonneaud et Chevaillier (2006) et Baudouin (2006)). Ronan Querrec a ensuite été recruté en tant que maître de conférences au LISyC. Ludovic Coquelle travaille en recherche et développement dans une société basée à Singapour. Coquelle, L. (2005). «Simulation de comportements individuels instinctifs d animaux dans leur environnement». Thèse de doctorat, Université de Bretagne Occidentale, Brest, France. Querrec, R. (2002). «Les systèmes multi-agents pour les Environnements Virtuels de Formation. Application à la sécurité civile». Thèse de doctorat, Université de Bretagne Occidentale, Brest, France. 1.6.3 Équipe Depuis 2002, je suis responsable de l équipe Spi, Simulation Participative & Immersive du LISyC. À ce titre, je suis membre du conseil de laboratoire du LISyC. L équipe Spi compte 12 personnes (4 Maîtres de Conférences, 1 Ater, 5 doctorants et 2 ingénieurs de recherche) ainsi que 2 chercheurs associés. L équipe Spi a pour objectif l étude des environnements virtuels dans lesquels des acteurs humains et des agents artificiels collaborent pour la réalisation d une tâche. Il peut s agir d environnements de simulation participatifs ou d environnements virtuels d apprentissage humain. 25
1 Activités de recherche et d enseignement ARéVi Ateliers de Réalité Virtuelle : méthodes et outils pour le prototypage interactif, collaboratif d applications de réalité virtuelle ASAP Apprentissages, Stratégies, Attitudes, Performances Psychologie des apprentissages Etude écologique des situations d apprentissages EBV Ecosystemique et Biologie Virtuelles Modélisation et simulation centrées individu de systèmes vivants en réalité virtuelle ESCC Environnements Surs pour le Controle et la Commande Langages, environnements et architectures pour la supervision et l exploitation de systèmes critiques Ingénierie du Logiciel IL Ingénierie des modèles, transformation de modèles Amélioration des processus de développement Fig. 1.3 : Équipes de recherche du LISyC (septembre 2006) MOSC SPI Modélisation pour l Outillage des Systèmes Complexes Multi modélisation de systèmes hétérogènes Simulation Participative et Immersive Simulation comportementale, résolution participative de problèmes Environnements virtuels d apprentissage humain 26
Le paradigme agent sert à la fois de support à la simulation de systèmes complexes et de cadre unifié à la modélisation de comportements collectifs et adaptatifs de communautés mixtes, agents artificiels et humains. Les techniques de réalité virtuelle assurent la présence des acteurs humains dans les systèmes étudiés selon des modalités d interaction et d immersion adaptées. L étude de la pertinence de tels systèmes et la mesure de la performance des utilisateurs conduisent à une analyse des potentialités offertes par la réalité virtuelle pour le transfert de compétence ou le travail coopératif ; ceci nécessite une méthodologie adaptée, objectif poursuivi conjointement par l équipe Asap. Les travaux de recherche de l équipe s orientent selon trois grands axes : 1. la simulation comportementale : modèles pour l analyse et la synthèse de comportements humains ; 2. la résolution participative de problèmes : modèles pour la résolution de problèmes par des collectifs mixtes, ie. composés d humains et agents artificiels ; 3. les environnements virtuels pour l apprentissage humain : formalisation des activités pédagogiques fondée sur le paradigme des systèmes multi agents, en vue du développement d environnements adaptatifs, participatifs et immersifs. Ces travaux sont menés en collaboration avec l équipe ARéVi en ce qui concerne l utilisation des systèmes multi agents pour la réalité virtuelle et avec l équipe Asap pour les aspects ayant trait à la psychologie des apprentissages. 1.7 Évaluations de travaux 1.7 Évaluations de travaux J ai participé à différents jurys de thèse, dont une en tant que rapporteur : 2002 : Ronan Querrec, invité en tant qu encadrant scientifique ; 2004 : Sameh El Hadouaj, rapporteur (Conception de comportements de résolution de conflits et de coordination. Application à une simulation multi-agents du trafic routier, Université de Paris 6) ; 2005 : Ludovic Coquelle, examinateur J ai été membre de différents comités scientifiques de conférences : workshop sur la simulation multi-agents pour les systèmes industriels et les écosystèmes (congrès européen ESS 01) Jfsma, Journées Francophones sur les Systèmes Multi-Agents, depuis 2003 (j anime cette année la session sur la simulation multi agents) Virtual Reality and Learning Seminar, conférence jointe à Vric 2005 (chairman), organisée dans le cadre du réseau d excellence Intuition. J ai également été relecteur d articles pour les revues Jesa (Journal européen des systèmes automatisés) et Tsi (Technique et Science Informatiques). Enfin, j ai expertisé des projets déposés dans le cadre des appels d offre nationaux Anr Rntl en 2005 et 2006. 27
1 Activités de recherche et d enseignement Postes d enseignement (Énib) Rentrée universitaire Service annuel Statut 1995 96 heures Past 1996 1999 384 heures professeur contractuel 2000 192 heures maître de conférences Enseignements principaux (Énib) Module type durée Contenu pédagogique GI1 Génie Industriel 1 CM, TD 25h Gestion de production, logistique, qualité (<2000) GI2 Génie Industriel 2 TP 9h Programmation par contraintes (<2000) POO Programmation Objet CM, TD, TP 54h Concepts, C++, Java MIL Modèles pour l ingénierie CM, TP 48h Uml du logiciel GL1 Génie Logiciel 1 CM, TP 42h Méthodes de spécification et de conception GL2 Génie Logiciel 2 CM, TP 25h Patrons de conception, Métaprogrammation SD Systèmes distribués CM 18h Systèmes Multi Agents, réseaux de Petri RV Réalité Virtuelle TP 4h30 Bibliothèque 3D SC Soft Computing CM, TP 24h Algorithmes génétiques, réseaux de neurones, logique floue PFE Projet de Fin Études Projet 72h Suivi de projet, Systèmes Multi Agents, réalité virtuelle, génie logiciel Autres enseignements Fig. 1.4 : Postes d enseignements et matières enseignées. Établissement Cursus type Contenu pédagogique Énib Mastère Spécialisé CM, TP UML, Soft Computing, Modélisation comportementale Énib Formation continue CM, TD, TP Génie Logiciel Enstb Module ouverture CM, TP Algorithmes génétiques, métaphores biologiques pour l optimisation Enstb Module ouverture CM Systèmes Multi Agents pour la réalité virtuelle Ifsic Master Recherche CM Modélisation comportementale Ubo (Iut) Formation continue CM Conduite de projet 28
1.8 Activités pédagogiques 1.8 Activités pédagogiques J exerce significativement une activité pédagogique en informatique depuis 10 ans, d abord en tant que Past, puis à titre de professeur contractuel et, depuis 2000, comme maître de conférences. En tant qu enseignant, j ai été membre de différents conseils de l Énib : conseil d administration et conseil pédagogique. De 2001 à 2005, j ai été responsable du département «Ingénierie Informatique» de l Énib. À ce titre, j étais membre du comité de direction de l Énib et de la commission paritaire d établissement. J ai participé à l élaboration du plan quadriennal de l établissement ainsi que du dossier de renouvellement de l habilitation de l Énib auprès de la commission des titres d ingénieur (Cti). J ai proposé une refonte de la formation dans la filière «Ingénierie Informatique» qui est mise en œuvre depuis la rentrée 2005 2006. 1.8.1 Enseignements Les champs thématiques de mes enseignements actuels sont le génie logiciel, la programmation orientée-objet, l intelligence artificielle distribuée (systèmes multi agents et soft computing) et la réalité virtuelle. Mes interventions se font essentiellement dans le cycle «ingénieur» (4 e et 5 e années) qui est organisé en modules de 48 heures. Outre mes enseignements principaux à l Énib, j interviens à l Enstb (École Nationale Supérieure des Télécommunications de Bretagne) et dans le master recherche commun entre l Université de Rennes I et l Ubo. J ai aussi enseigné plus ponctuellement en formation continue (à l Iut de Brest et en mastère spécialisé à l Énib). Enseignements principaux à l Énib En 1995, ma première activité pédagogique a constisté à mettre sur pied un nouveau module d approfondissement de l Énib, le module «Génie Industriel» qui fut scindé ensuite en deux modules de 48 heures. Ce module est destiné aux étudiants en dernière année. Il a pour objectif de leur donner une culture sur le monde industriel et de les initier aux techniques «transversales» de l ingénieur. Mon statut de Past et la nature de mes activités professionnelles dans le domaine industriel (en tant que chef de projets informatiques) ont conduit l Énib à me charger de cette mission. J ai eu à définir le programme pédagogique du module, à contacter des intervenants extérieurs et à monter une bonne partie des enseignements (34 heures). Depuis 1996, j assure les enseignements en génie logiciel. J ai commencé par la méthode Omt, puis j ai étendu l enseignement aux méthodologies de développement logiciel. En 1998, j ai introduit le langage Uml dans le module génie logiciel. Ayant constaté que l enseignement académique classique de ces aspects méthodologiques, visant à la rationalisation de savoir faire non connus des élèves, était peu efficace, j ai fait évoluer la pédagogie en privilégiant la mise en situation et la résolution de problèmes. La première partie du module (48 heures) est consacrée à la réalisation d un cas d étude, sans cours magistral. 29
1 Activités de recherche et d enseignement 30
Ce n est que dans la deuxième partie que les techniques et modèles sont présentés formellement en s appuyant sur l expérience précédente : patrons de conception, programmation par aspects, méta-programmation, techniques de test et qualimétrie. Cette solution s est confirmée être beaucoup plus efficace. J ai également assuré les enseignements sur la programmation objet (cours sur les principes) et les travaux pratiques sur les langages (Uml, C++ et Java). Je suis également responsable du module soft computing dans lequel j enseigne les algorithmes génétiques, les réseaux de neurones et les systèmes d inférence floue. Ces disciplines sont abordées dans la perspective de construire une fonction de commande pour un système évoluant dans un environnement partiellement connu voire dynamique. Dans le module sur les systèmes distribués, j ai introduit un cours sur les systèmes multi-agents qui sera étendu l année prochaine pour devenir un module de 48 heures. Autres enseignements À l Énib, je suis intervenu dans les mastères spécialisés Gt2i (Génie logiciel & temps réel pour l informatique industrielle) et Rvd (Réalité virtuelle distribuée), ainsi qu en formation continue (génie logiciel, programmation par contraintes). À l Enstb, j ai donné des cours et assuré des travaux pratiques dans différents modules d «ouverture» dans le domaine des systèmes multi agents, de la réalité virtuelle (modélisation comportementale), et du soft computing (algorithmes génétiques, métaphores biologiques pour l optimisation de systèmes complexes). Je suis également intervenu en formation continue à l Iut de génie électrique de Brest pour un cours sur la conduite de projet informatique dans le cadre d Agroform, une formation pour les chefs d atelier dans les industries agro-alimentaires. Depuis sa création en 2004, je suis responsable du module Mac (modèles et apprentissage de comportements pour la réalité virtuelle) du master recherche en informatique de Rennes I. Ce module aborde trois volets : 1 o les modèles psychologiques pour les comportements humains, 2 o les modèles comportementaux pour les agents artificiels (partie que j assure) et 3 o les algorithmes d apprentissage artificiel de comportements. 1.8.2 Encadrements de projets et de stages L essentiel de mes encadrements d étudiants concerne les Pfe (Projets de fin d études) de l Énib. Jusqu à cette année, ce projet se situait en dernière année et avait une durée d un semestre à plein temps 1 et était mené par un binôme encadré par un enseignant. Les projets que j ai encadrés (plus d une trentaine au total) étaient généralement liés à mes projets de recherche et certaines années ont représenté une charge de travail conséquente. J ai également encadré des étudiants en troisième cycle universitaire : Dea et master recherche (voir le tableau de la figure 1.2, page 24), Dess de productique de l Ubo et stages de mastère spécialisé de l Énib. J assure aussi le suivi de stages en entreprise d élèves de l Énib. 1.8 Activités pédagogiques 1 Depuis cette année, les étudiants sont en projet en 4 e année, 3 jours et demi par semaine pendant un semestre. 31
1 Activités de recherche et d enseignement Responsable pédagogique de modules (cycle ingénieur de l Énib) GI 1995 2000 Génie industriel (5 e année) MIL 2005 Modèles pour l ingénierie du logiciel (3 e année) GL1 2000 2006 Génie logiciel : processus de développement (4 e année) GL2 2000 Génie logiciel : techniques de conception (5 e année) SC 2000 Soft computing (5 e année) Fig. 1.5 : Responsabilités pédagogiques collectives Membres de conseils et comités de l Énib conseil d administration élu titulaire et suppléant conseil pédagogique élu titulaire conseil de direction nommé commission paritaire d établissement nommé commission des marchés publiques informatiques nommé comité hygiène et sécurité élu suppléant 32
1.8 Activités pédagogiques 1.8.3 Responsabilités collectives De 2002 à 2005, j ai occupé une fonction qui a progressivement évolué, à mesure que la nouvelle organisation de l Énib se mettait en place, de coordonnateur de filière pédagogique à responsable de département. À ce titre, j ai présidé les jurys de 4 e et 5 e années pour les élèves de la filière. Je suis également membre du jury sur la Vae (Valorisation des acquis de l expérience) dans le cadre du partenariat entre l Énib et l Ubo sur cette action. En tant que responsable de département, j ai porté un projet de refonte des enseignements en informatique qui est mis en application depuis la rentrée 2005 2006. Le premier point concernait l amélioration de l efficacité de la formation en 3 e année spéciale, soit les semestres S5 et S6 (année d intégration des élèves à Bac+2 dans le cursus de l Énib). Le contenu pédagogique des semestres S5 et S6 nécessitait des prérequis forts en mathématiques et en physique que n avaient pas la grande majorité des étudiants recrutés. De plus, cette situation rendait difficile l intégration d élèves issus des Iut d informatique qui sont pourtant des candidats potentiellement intéressants pour l Énib. Ma proposition consistait à : 1 o supprimer, ou fortement diminuer, les enseignements qui ne sont pas des prérequis de modules de la spécialité informatique ; 2 o renforcer les enseignements en informatique au semestre S5 de façon à réduire l écart en S6 entre les élèves issus du cycle préparatoire de l École et les autres ; 3o renforcer les enseignements en mathématiques sur les prérequis des modules de spécialité ; 4 o déplacer des enseignements pour traiter, en S5 et S6, des prérequis du semestre de projet (S7 ou S8). Cette proposition a été actée au conseil d administration de juillet 2005 et mise en œuvre en septembre 2006. Le deuxième volet de mon projet consistait à améliorer la lisibilité de la formation, tant pour les candidats à l intégration à l École que pour les élèves eux-mêmes. Ceci s est traduit par un regroupement de modules par thème et en un recentrage des contenus pour certains. Cette proposition a été établie après avoir analysé les programmes pédagogiques de différentes écoles d ingénieur. Les thèmes retenus sont les suivants : méthodes de l ingénierie informatique, architecture des systèmes, contrôle et commande des systèmes, systèmes d information, modélisation des systèmes complexes. La synergie entre les domaines d excellence de l Énib en recherche et l enseignement est maintenant clairement affichée, ce qui est apprécié des élèves qui comprennent ainsi mieux le projet pédagogique de l École. Ce projet est été poursuivi par mon successeur à ce poste. Il a conduit à une refonte de l organisation des 4 e et 5 e année. De 1996 à 1999, j ai été webmestre du site internet de l Énib. J ai réalisé la première version du site et j ai ensuite mis en place la partie consacrée à l enseignement en informatique (http://www.enib.fr/info/). Cet espace permet de fournir aux élèves les informations sur les modules et de mettre en ligne différents supports pédagogiques. J ai rédigé le volet Stic du dernier plan quadriennal de l Énib. Je participe à la mise en place d un course management system, le système moodle afin de faciliter la gestion des informations par les enseignants et en offrant une meilleure structuration des contenus pour les élèves. Ce système à l essai jusqu ici est en cours de déploiement. 33
1 Activités de recherche et d enseignement 34
CHAPITRE 2 Recherches personnelles et encadrées Ce chapitre présente mes travaux de recherche sur l apport des systèmes multi agents (Sma) aux environnements virtuels pour l apprentissage humain (Evah). Le recours aux Smas peut s envisager à différents niveaux. Tout d abord, les Smas sont utilisés en simulation de systèmes complexes. L approche, centrée sur les comportements individuels et les interactions entre entités, est intéressante en réalité virtuelle lorsqu on est amené à construire un environnement dont la structure évolue en cours d exécution et qui est régi par des processus de natures différentes (Tisseau, 2001) ; le système est alors dynamique, éventuellement stochastique, et ouvert. Les qualités recherchées sont moins la précision que la robustesse des simulations, avec de fortes contraintes de temps de calcul. Les Smas offrent aussi un cadre opératoire pour la construction d environnements virtuels de formation qui sont des applications potentiellement réparties, technologiquement et sémantiquement hétérogènes, pour lesquels on cherchera à offrir à des apprenants des services qu il pourra composer pour construire son parcours d apprentissage. Les travaux en ingénierie du logiciel sur la composition adaptative de service aux usagers et en sciences cognitives sur la représentation des connaissances sont des contributions nécessaires à la conception d Evahs adaptatifs et collaboratifs. Une première expérience intéressante dans ce domaine est Abits, Capuano et al. (2000a). Enfin, les Smas peuvent constituer un méta modèle pour concevoir une pédagogie dans un cadre socio constructiviste reposant sur un processus adaptatif, fruit d interactions locales entre entités pro actives, humaines et artificielles, ayant chacune un rôle déterminé, immergées dans un environnement et collaborant pour parvenir à un objectif commun (l acquisition de compétences destinées à renforcer leur autonomie) nécessitant la construction conjointe de représentations de l «autre». Il s agit d une vision plus conceptuelle des Evahs mais qui fournit un cadre pour la définition d un système tuteur «intelligent» multi agents, adapté aux situations d apprentissage centrées sur des environnements virtuels. Cette idée est présente notemment dans le projet Baghera (Webber et al., 2002). Les recherches présentées dans ce mémoire ont essentiellement trait au premier point, ie. l utilisation des systèmes multi agents pour la simulation d environnements virtuels destinés à la formation. La problématique et celle de la conception de modèles pour la construction d Evhas reposant sur une plate forme de réalité virtuelle multi agents et permettant un apprentissage fondé sur la mise en situation et la manipulation active d apprenants «présents» dans un environnement virtuel. 35
2 Recherches personnelles et encadrées 36
Les apports de la réalité virtuelle à l apprentissage ont été abondamment exposés et des synthèses récentes ont été publiées (D Cruz et al., 2005; Buche et al., 2005; Fuchs et al., 2006). Tous les travaux mettent l accent sur l intérêt pédagogique de disposer d environnements virtuels fortement interactifs, voire immersifs permettant de placer les apprenants dans des situations pédagogiques contrôlées, qu ils s agissent de mondes réalistes ou abstraits, que le formateur ou l apprenant peuvent faire varier aisément et sans risque. Cependant l immersion d un humain dans un environnement virtuel ne suffit pas au succès de son apprentissage. Il faut motiver l action (pro action) de l apprenant et lui fournir des feedbacks sur ces actions. Le fait que le monde virtuel réagisse d une manière cohérente est déjà un premier retour permettant une auto analyse de ses actions : cela ne se passe pas «comme dans le réel», mais ce qui se passe est une conséquence intelligible des actions de l apprenant ou de ses éventuels partenaires. Pour être efficace, un Evah doit offrir une véritable fonction pédagogique, centrée sur l apprenant, ce qu on attend classiquement d un Its (Intelligent tutoring system). L apprentissage nécessite le guidage, la médiation, l encouragement d un tuteur. Doté d un tel système tuteur qui de notre point de vue n a pas nécessairement vocation à se substituer totalement à un formateur humain mais plutôt à le compléter de manière adaptative un environnement virtuel passe du statut de simulateur à vocation pédagogique (concept des micro mondes) à celui de véritable environnement virtuel pour l apprentissage humain. L introduction d agents pédagogiques soulèvent différentes questions. La première concerne l agentification de la fonction pédagogique et la seconde la personnification du tuteur. L enjeu de l agentification d un Its est une plus grande autonomie du système à construire les différents modèles (modèles du domaine, de l apprenant, de l interface et modèle pédagogique) et une souplesse dans leur utilisation (Razmerita et al., 2004). Les qualités attendues sont la personnalisation de l apprentissage par une adaptation à l apprenant, le renforcement de l interactivité et par conséquent de l activité de l apprenant, et les capacités d amélioration du système tutoriel par apprentissage artificiel. L intérêt des systèmes multi agents pour les environnement d apprentissage humain a également été souligné dans le cas de formations ouvertes à distance, qui sont des environnements distribués hétérogènes, pour lesquelles le sentiment d appartenance à une communauté doit être entretenu (Taurisson et Tchounikine, 2004a) et où le recours à des agents jouant le rôle de médiateur est nécessaire pour accéder aux ressources pédagogiques (Lee et Chong, 2003; Linton et Schaefer, 2000). On parle d agents éducationnels pour désigner ces différents types d agent, dont les agents pédagogiques au sens strict font partie (Chou et al., 2003; Payr, 2003). La personnification d un agent pédagogique est essentiellement motivée par la nécessité de feedbacks vers l apprenant. Elle repose sur une relation en face à face, dialogique, entre un agent tuteur et un apprenant, rendant ainsi l interaction potentiellement plus naturelle et plus «engageante» en impliquant le registre des émotions (Elliot et al., 1999; Gratch, 2000; Jaques et al., 2004; Gratch et al., 2006). Depuis le tuteur Steve de Rickel et Johnson (1999), de nombreux travaux ont été menés sur les agents pédagogiques animés (Johnson et al., 2000) et plus généralement sur les agents conversationnels animés (Cassell, 2000; Pelachaud, 2001). 37
2 Recherches personnelles et encadrées 38
Les agents tuteurs sont très souvent des personnages, généralement anthropomorphes, mais ce n est pas toujours le cas (Lourdeaux, 2001; Buche, 2005) ; dans Jaques et al. (2004), le tuteur est un agent conversationnel émotionnel sans représentation corporelle. Les agents conversationnels animés constituent un domaine de recherche à part entière que nous n avons pas abordé. La réalisation d un système tuteur multi agents agissant dans un environnement virtuel nécessite que les agents puissent se faire une représentation de la situation d apprentissage. Ils doivent être en mesure de répondre aux questions suivantes, sur l environnement, la tâche de l apprenant, les actions pédagogiques à réaliser. Un premier ensemble de questions concerne l environnement. Quels sont les objets qui composent l univers de l apprenant et où sont-ils localisés? Quels en sont les propriétés? Quelles sont les possibilités d action sur ces objets, quels comportements peuvent-ils avoir, quelles interactions existent entre ces objets? Le deuxième point est la représentation de la tâche de l apprenant ; l objectif est de savoir quelles actions l apprenant est censé exécuter (et s il existe des contraintes d enchaînement) et quelles actions ont été exécutées (avec succès ou non). L agent doit être capable d expliquer ce qu il faut faire, éventuellement de faire à la place de l apprenant ou avec lui. Dans un contexte de travail collectif où les responsabilités sont partagées et définies par des règles, il est de plus nécessaire de savoir si une action est réalisée par la bonne personne. Le dernier type de question concerne les interventions pédagogiques. Un agent pédagoqique doit être capable de donner des informations sur la situation d apprentissage (objets manipulables, avancement de la tâche), mais il doit aussi être capable de modifier l environnement dans un but pédagogique : afin de s adapter à l apprenant, il peut être nécessaire de simplifier la situation problème, en masquant certains éléments ou en inhibant certaines interactions. Pour satisfaire ces exigences, il est nécessaire de disposer d un modèle de l environnement manipulable par l apprenant et des activités que ce dernier et ses pairs (humains ou artificiels) sont censés réaliser dans le cadre d une situation d apprentissage. Ce chapitre présente les travaux que j ai menés ou que j ai directement encadrés dans ce domaine. Mes premiers travaux n étaient pas directement orientés vers la modélisation des environnements virtuels de formation, mais ils en partagent de nombreux objectifs. Mon but était de proposer des modèles pour le prototypage interactif et incrémental en réalité virtuelle ; le système est modélisé comme un ensemble d entités réactives en interaction (des agents) dont le comportement est décrit indépendamment de la plate forme d exécution. Les résultats de ces travaux sont présentés dans la section 2.1 de ce chapitre. La dissociation du modèle «métier» de son modèle de simulation et de son implémentation constitue un fil conducteur de mes travaux. Dans un deuxième temps, je me suis intéressé à la modélisation de l environnement dans lequel évoluent les apprenants avec comme objectif une solution qui permette de contrôler les interactions entre les entités, qu il s agisse d entités physiques ou de partenaires engagés dans une activité collective. Ce travail a conduit à une première version de Mascaret qui est présentée en section 2.2. Les entités physiques ont des comportements assimilables à des systèmes réactifs (éventuellement stochastiques). Il n en est pas de même des entités représentant les partenaires de l apprenant pour lesquelles la simulation du comportement (tel qu observable dans l environnement virtuel) nécessite une architecture comportementale plus élaborée (sélection d action, planification) et des langages adaptés de description comportementale. Les résultats sur ces points sont présentés en section 2.3. 39
2 Recherches personnelles et encadrées Sommaire 2.1 SMA et réalité virtuelle pour le prototypage interactif.... 41 2.1.1 Prototypage des systèmes automatisés de production en réalité virtuelle : simulation multi-agents................ 43 2.1.2 Systèmes de production holoniques................ 47 2.1.3 Validation des modèles multi-agents par réseau de Petri... 49 2.1.4 Synthèse............................... 51 2.2 Modélisation de l environnement................. 53 2.2.1 Principes généraux......................... 53 2.2.2 Modèle organisationnel...................... 55 2.2.3 Réseaux d interaction....................... 57 2.2.4 Travail en équipe.......................... 61 2.2.5 Relation humain avatar..................... 65 2.2.6 Synthèse............................... 69 2.3 Simulation comportementale.................... 73 2.3.1 Exécution collective de plans d actions.............. 75 2.3.2 Modélisation de comportements réactifs............. 83 2.3.3 Synthèse............................... 93 40
2.1 SMA et réalité virtuelle pour le prototypage interactif 2.1 SMA et réalité virtuelle pour le prototypage interactif De 1996 à 1999, mes travaux ont porté sur l utilisation de la réalité virtuelle pour le prototypage des systèmes automatisés de production, sap. L objectif était de montrer en quoi la réalité virtuelle améliorait le processus de conception de tels systèmes, d une complexité croissante, difficiles à maîtriser dans le contexte industriel de la recherche d une grande flexibilité des unités de production (ateliers flexibles hautement reconfigurables) et d une diminution du temps de mise sur le marché des produits. Les enjeux sont la conception de systèmes aisément reconfigurables et la prise en compte de contraintes de différentes natures (justesse, performance, fiabilité, ergonomie, flexibilité) très en amont dans le processus de conception. Cette ingénierie est conduite par des experts de différentes disciplines, ayant des représentations différentes du système, utilisant des modèles spécifiques, qu il faut pouvoir confronter de manière efficace autour d un prototype construit selon un processus non linaire et que l on souhaite éprouver avec une grande liberté. Ce processus de prototypage est incrémental, le concepteur veut pouvoir ajouter de nouveaux éléments en ligne, sans avoir recours à une reconfiguration globale du système ; il doit aussi pouvoir modifier le comportement d un élément (pour l adapter au contexte du système qu il construit). Le prototypage est aussi interactif, en ce sens que l utilisateur peut déplacer des éléments, créer des situations imprévues pour tester la robustesse du système... La réalité virtuelle est une réponse technique et industrielle aux enjeux du prototypage des systèmes automatisés de production. Les capacités d immersion et d interaction des environnements virtuels laissent envisager un prototypage incrémental, interactif et éventuellement coopératif. Il est cependant nécessaire de disposer de modèles reproduisant le comportement du système (justesse de la simulation) et qui autorisent, au cours d une même simulation, de tester différentes configurations, d ajouter ou de retirer des éléments et de modifier en ligne leurs comportements et leurs interactions (flexibilité de la simulation). D un point de vue opérationnel, il faut donc aussi disposer d une plate-forme de réalité virtuelle qui supporte cette construction incrémentale et interactive de modèles. Cette problématique n est pas spécifique au prototypage, mais générale à l expérimentation des modèles en réalité virtuelle. L approche agent constitue un paradigme intéressant pour concevoir un tel système qui est composé d entités informatiques n ayant pas été spécifiquement construites pour fonctionner ensemble. Ces entités sont néanmoins en interaction et elles constituent un système ouvert : les entités présentes doivent fonctionner même si l utilisateur en supprime ou en modifie localement le comportement ; elles doivent réagir à la présence d autres entités, sans avoir accès à leur fonctionnement interne. Indépendamment des modèles construits par les utilisateurs, cette interopérabilité repose nécessairement sur une plateforme de réalité virtuelle multi-agents, L objectif du travail était de proposer un modèle d agent réactif minimal permettant l interopérabilité des entités et de proposer un mécanisme permettant de spécifier le comportement spécifique à chaque agent, ceci afin d assurer une grande flexibilité dans la simulation. Ensuite, l objectif a été de montrer que la simulation respectait les hypothèses de réactivité du système. 41
2 Recherches personnelles et encadrées Réalité virtuelle Modèle comportemental des éléments de partie opérative Chaîne développement Grafcet Modèle Grafcet du controle Modèle comportemental du système opérant Modèle synchrone Signal Modèle exécutable du SAP "virtuel" Modèle exécutable de Contrôle du SAP et supervision Simulation interactive du système réactif (a) Environnement de prototypage des systèmes automatisés de production. Le premier élément de la chaîne de développement de systèmes réactifs est un éditeur de modèle de commande en Grafcet réalisé par le département Informatique de Ubo. Les Grafcets sont ensuite traduits en langage Signal (il est possible de choisir le mode d interprétation, avec ou sans recherche de stabilité). Ce modèle Signal permet de procéder à un certain nombre de preuves sur la fonction de commande. Le modèle Signal peut ensuite est traduit en langage C, ce qui permet de disposer d un modèle exécutable de la fonction de commande. La simulation de la partie opérative en réalité virtuelle consiste à modéliser la géométrie et le comportement de chaque élément de partie opérative. Ces composants sont ensuite configurés et placés dans une scène tridimensionnelle. Les services de la plate forme de réalité virtuelle permettent d activer ces éléments et de produire des événements auquels ces derniers pourront réagir. Le couplage entre les deux sous systèmes est réalisé par lecture écriture sur une socket tcp/ip. Fig. 2.1 : Environnement virtuel pour le prototypage interactif des systèmes automatisés de production. Tapis de dépose Robot Grue de transbordement Table élevatrice Tapis de chargement rotative Presse (b) Modélisation tridimensionnelle de la partie opérative de la cellule de production KorSo. Dans le projet intial, seule une représentation plane était disponible (à gauche) et sa dynamique était modélisée de manière logique (modification des variables d état) et non selon un modèle géométrique et mécanique. Le passage à une représentation tridimensionnelle (à droite) améliore le réalisme du rendu comportemental ; il a été possible de détecter des erreurs dans la commande conduisant de ce fait à des collisions du bras manipulateur du robot. 42
2.1.1 2.1 SMA et réalité virtuelle pour le prototypage interactif Prototypage des systèmes automatisés de production en réalité virtuelle : simulation multiagents La première étape du travail avait pour but de montrer en quoi l utilisation de la réalité virtuelle pour la simulation de la partie opérative permettait d améliorer la conception des systèmes automatisés de production. Le génie automatique dispose de méthodes performantes pour la conception et la validation de la commande des systèmes réactifs. En revanche, la modélisation du système opérant (partie opérative) est souvent peu réaliste ; celle-ci se réduit souvent à un ensemble de variables d état caractérisant les capteurs et actionneurs qui constituent les entrées et sorties du sous-système de contrôle commande. Cette vision est réductrice est trop centrée sur le point de vue de celui qui conçoit la partie commande ; cette approche auto-référencée ne permet pas de détecter une éventuelle erreur de représentation de la part du modélisateur. Ce travail a été mené en collaboration avec le département informatique de l Ubo qui a développé une chaîne de développement pour le génie automatique (Le Parc, 2004). Elle intègre différents outils et permet de produire, en sortie, une fonction de contrôle exécutable à partir d une spécification de la commande écrite sous la forme d un modèle Grafcet. Cette chaîne de développement a été couplée sans la modifier à la plate-forme de réalité virtuelle ARéVi pour la simulation globale du Sap, incluant la simulation comportementale de la partie opérative (Le Parc et al., 1999a). À titre d exemple, nous avons travaillé sur la cellule de production du projet KorSo (figure 2.1, page 42) qui avait fait l objet de différentes modélisations en vue d une conception sûre (Broy et Jähnichen, 1995) et pour laquelle des modèles de commande étaient disponibles. Nous avons montré à cette occasion que certains modèles de contrôle de cette cellule, jugés comme justes par leurs auteurs, étaient en réalité incorrects, ce que révélait la modélisation tridimensionnelle et cinématique de la partie opérative. L objectif était de proposer un modèle qui permette de simuler, en réalité virtuelle, le fonctionnement du système opérant et qui soit adapté au prototypage interactif. Le processus de prototypage étant incrémental, le concepteur doit pouvoir ajouter de nouveaux éléments en ligne, sans avoir à reconfigurer (ou recompiler) globalement le système ; il doit aussi pouvoir modifier le comportement d un élément (pour l adapter au contexte du système qu il construit). Le prototypage est aussi interactif, en ce sens que l utilisateur peut déplacer des éléments, créer des situations imprévues, comme masquer un capteur pour tester la robustesse du système. De ce point de vue, le système modélisé est indéterministe et ouvert ; aucune représentation de son fonctionnement global n est explicitement construite. Il se définit comme un assemblage d éléments ayant leur propre comportement et placés en situation d interaction. Il s apparente en ce sens à un système multi-agents. Chaque élément du système opérant est modélisée comme un agent réactif situé, c està-dire que son comportement est calculé uniquement à partir d informations locales sur son environnement et de son état interne et qu il n a comme conséquence que de modifier l état interne de l agent et de produire des stimulus qui pourront être perçus par les autres agents (Chevaillier et al., 1999b,c). La fonction globale du système est obtenue par combinaison des comportements individuels et des interactions entre agents. 43
2 Recherches personnelles et encadrées Ready to Load Blank Presence Turn Rigth Move Up Rigth Position Upper Position Left Position Lower Position Turn left Move down Blank Removed Ready for deposit (a) Individualisation des éléments du système. À chaque élément correspond une représentation physique (modélisation géométrique Vrml), un modèle comportemental (ici sous forme d un réseau de Petri) et un module de contrôle (ici sous forme d un Grafcet piloté par un programme externe). Le modèle comportemental de ces agents réactifs est un réseau de Petri synchronisé. Les événements auxquels sont synchronisés les transitions sont les messages que l agent a reçu dans sa boîte aux lettres. Les réseaux sont saufs (1 bornés), sans conflit et répétitifs. Les actions sont associées aux places ; les places appartenant aux marquages instables ne portent pas d action. Les actions correspondent à la production de signaux (envoi de message) et sont considérées comme instantanées ; elles sont exécutées quand la place devient marquée, c est-à-dire quand la transition entrante est tirée. // Instantiation of a new MSE // Manufacturing System Element execute { string receivedmsg = ["Blank Presence", "Blank Removed"]; string emittedmsg = ["Ready to load", "Ready for Deposit"]; MSETable KorsoTable = new MSETable; KorsoTable->initVisualization(-5300,225,0, 0,0,0); KorsoTable->initController(receivedMsg, emittedmsg); KorsoTable->putScene(ArScene.1); } Fig. 2.2 : Simulation orientée agent d un SAP Exemple de la cellule KorSo (b) Introduction de nouveaux éléments. La figure de gauche montre une version modifiée de la cellule KorSo sous ARéVi oris dans laquelle un nouveau convoyeur a été ajouté et configuré. Le code oris de la partie droite illustre la manière d introduire un nouvel agent «élément de partie opérative», ici la table élévatrice-rotative. Celle-ci est définie par une classe MSETable qui est une spécialisation de la classe GenericMSE qui correspond aux agents du système ; un agent MSETable est défini par un contrôleur comportemental, ici un interpréteur de réseau de Petri synchronisé (classe MSEController) et une représentation physique (MSEVisualization). L intégration de l agent nécessite d établir la correspondance entre les signaux de l environnement et leur représentation interne dans l agent ; elle se fait en définissant la liste ordonnée des identifiants des types de messages que peut traiter (receivedmsg) et émettre l agent (emittedmsg). La dernière ligne consiste à placer l agent dans son environnement, organisé en scènes sous ARéVi. 44
2.1 SMA et réalité virtuelle pour le prototypage interactif Un agent «élément de partie opérative» est constitué d une représentation physique dans l environnement virtuel et est localisé dans l espace. Ceci permet de prendre en compte d éventuelles interactions physiques, comme les collisions ou les déplacements contraints ; ainsi quand une pièce est déposée sur un convoyeur en mouvement (contact entre deux solides), elle doit se déplacer, sans que l utilisateur ait à le préciser, de même elle est soumise à la gravité. Un des avantages de la réalité virtuelle est de pouvoir définir le niveau de réalisme de la modélisation physique. Il est généralement dégradé car la conception d un moteur physique universel, souple et performant, (c est-à-dire spécifiable en ligne et calculable en temps réel) est un problème qui n est encore pas résolu aujourd hui. La représentation physique permet aussi de simuler le fonctionnement des capteurs : ils sont définis par une position, une orientation et un champ de perception. Les fronts montants et descendants génèrent des signaux qui peuvent être perçus par d autres agents. Cette communication événementielle entre entités simule les éventuels câblages entre éléments de partie opérative et l interface avec le système de commande. Dans l environnement virtuel, ce dernier est vu comme un agent qui produit des signaux (commandes) et est réceptif à des stimulus (produits par les capteurs). Les agents «élément de partie opérative» n ont pas de représentation de cet agent. Un agent «élément de partie opérative» est aussi défini par un comportement réactif observable par le système de commande et qui résulte de l activation des capteurs et actionneurs. Les premiers génèrent des événements et les seconds sont sensibles à des événements produits par la partie commande (ou par un autre élément de partie opérative), leur réception déclenchant des actions. Les comportements des éléments de partie opérative pourraient être spécifiés sous forme de règles de causalité très simples. Nous avons fait le choix d utiliser un langage «métier» des automaticiens, les réseaux de Petri synchronisés, l objectif étant de proposer une solution qui s intègre au mieux au métier des utilisateurs et de leur éviter toute programmation spécifique à l utilisation de la plateforme de réalité virtuelle. L introduction d un nouvel agent consiste à instancier une nouvelle entité, à lui attacher une représentation physique, à la localiser dans l environnement, à la doter d un modèle comportemental, et finalement à définir ses interactions avec les autres entités. Ce dernier point consiste à établir une correspondance entre les signaux émis par les éléments et les stimulus auxquels est sensible l agent. Par exemple, la table élévatrice-rotative de la cellule KorSo est réceptive à la présence d une pièce en attente de chargement. Dans le modèle de commande du système, cette information n est pas explicite ; elle se déduit de l état du convoyeur de chargement (pièce en bout de tapis). Pour une conception modulaire de l élément«table», son comportement est défini comme réceptif à la présence d une pièce ; pour son intégration dans le système, il faut pouvoir spécifier que ce stimulus est produit par la réception d un signal «arrêt» émis par l entité «convoyeur de chargement». Cette configuration doit pouvoir être aisément modifiable en cours de simulation afin de tester différentes configurations. Cet environnement de prototypage a été réalisé en utilisant la plate-forme de réalité virtuelle ARéVi oris du Li2 (Reignier et al., 1998). ARéVi assure le rendu tri dimensionnel et l interaction utilisateur environnement. Le langage oris permet la modification locale du code de l application (exécutions indépendantes des agents et interprétation en ligne) et la communication par messages entre entités actives ; elle offre donc les primitives nécessaires à la programmation d agents réactifs (Harrouet et al., 2002). 45
2 Recherches personnelles et encadrées :ProcessElement :ProcessElement :Controleur Element Requete :Controleur Element Requete :Visualisation Element :Visualisation Element signaux Environnement virtuel signaux Point a Point Diffusion signaux Ecoute :ProcessElement arbitre :ControllerElement :ProcessElement :ProcessElement :Controleur Element :Visualisation Element :Controleur Element :Visualisation Element (a) Agentification des éléments du SAP. Chaque agent est doté d un composant de contrôle et d une représentation géométrique réactive. Les agents communiquent par signaux, sous forme de messages. Les éléments composites (tels que le robot) sont composés de ProcessElement et leur contrôle est assuré par un arbitre qui répond aux signaux produits par les autres agents et assure une fonction de transition produisant les stimulus auxquels réagissent les éléments qu il contrôle. :MSHolon :MSHolon :MSHolon sensor :Holon actuator :Holon actuator :Holon sensor :Holon actuator :Holon sensor :Holon sensor :Holon sensor :Holon signaux Holarchie signaux Point a Point Diffusion signaux Ecoute :MSHolon :MSHolon Fig. 2.3 : Conception holonique d un système automatisé de production sensor :Holon :MSHolon actuator :Holon sensor :Holon (b) SAP holonique. Les éléments du Sap forme une holoarchie, sans contrôle centralisé, quel que soit le niveau d organisation. Les éléments terminaux sont les capteurs et actionneurs qui sont alors parfois de manière abusive qualifiés d intelligents (cf. Ims : Intelligent Manufacturing System). actuator :Holon 46
2.1.2 Systèmes de production holoniques 2.1 SMA et réalité virtuelle pour le prototypage interactif Le prolongement de ces travaux a été de proposer une architecture de contrôle décentralisée et adaptative, de conception multi-agents (Chevaillier et al., 1998). Le principe de la décentralisation du contrôle a donné naissance à la notion de système manufacturier holonique (Van Brussel et al., 1998) ou de conception holonique (Tichkiewitch et Kasusky, 1997), concepts proches de celui de système multi agents qui, lui-même a fait l objet de travaux dans le domaine de la commande des systèmes manufacturiers (Sprumont et Müller, 1997). Un système manufacturier holonique est conçu comme un ensemble de modules autonomes ayant leur propre système de contrôle et capable d interagir avec d autres de façon à assurer une fonction de production robuste et flexible. Une entité constituante est appelée holon ; il s agit d une structure auto-similaire (figure 2.3, page 46) : un holon peut lui même être composé d holons et, qu il soit atomique ou composite, à un niveau d agrégation donné, il est perçu par les autres de manière identique. Un agent holon est composé d une partie opérative (capteurs et actionneurs) qui lui permettent de percevoir son environnement et d agir ; il embarque un système de contrôle commande autonome et également une logique de décision pour le pilotage de production (tel qu un algorithme d ordonnancement décentralisé utilisant un Contract Net Protocol). Nous avons appliqué le principe holonique au cas du contrôle commande de la cellule KorSo. La cellule est elle même un holon puisqu elle est destinée à être intégrée dans un ensemble plus vaste. Chaque élément de la cellule est un holon. Ces holons sont éventuellement composés d holons plus simples ; les entités élémentaires sont les capteurs et actionneurs. La décentralisation du contrôle impose de doter chaque entité d un plus grand nombre de capteurs afin de leur conférer une autonomie de décision : elle nécessite aussi de concevoir une fonction de contrôle beaucoup plus robuste (cf. section 2.1.3). Du point de vue de sa simulation en réalité virtuelle, un système holonique est une organisation récursive d agents, appelée holarchie (Maturana et Norrie, 1996). Comme précédemment, les agents ont une représentation physique, ainsi que des capacités de perception et d action. Ils ont des capacités de communication (émission et réception de signaux véhiculés sous forme de messages) et un algorithme de décision (ici un réseau de Petri synchronisé). La différence est que le contrôle n est plus global et externe mais décentralisé dans chaque agent. La structuration holonique facilite le prototypage. D une part, la construction du système se fait entièrement par assemblage de composants et d autre part, l organisation structure les interactions (un holon est un espace d interaction pour les holons). La correspondance entre stimulus (du point de vue de l agent) et signaux véhiculés par l environnement est définie comme précédemment au niveau de chaque agent ; l organisation récursive réduit les couplages et l augmentation du nombre de capteurs rend les agents moins dépendants des informations produites par les autres. À ce stade seul le niveau contrôle commande était considéré, ce qui justifiait le choix d une architecture d agent réactive. Dans Chevaillier et al. (1999b), nous avons montré que les processus décisionnels pouvaient aussi être pris en compte, en intégrant des holons décisionnaires dans le modèle. Nous nous sommes intéressés au pilotage d atelier (engagement de ressource et ordonnancement). Dans la mesure où les règles métier sont formalisées sous forme de règles de production, il est possible de simuler la prise de décision, toujours en considérant des agents situés, ne disposant pas d une information parfaite et totale sur leur environnement (Chevaillier et al., 2000). 47
2 Recherches personnelles et encadrées Pxa Pa1 Td1 Pm1... Pai Tdi Pmi Pc N N Tc PaN TdN... PmN Tf1 Tfi TfN Le marquage de P c correspond au début d un cycle avec la désignation des objets (aléatoire et sans remise). Le tir d une des transitions T d i déclenche la méthode main() de l instance i (place P m i ) ; il s agit d une macro-place (elle correspond à un sous-réseau qui représente le comportement de l objet actif). La place P xa assure que l exécution de la méthode main() est ininterruptible, ce que traduit l invariant : i=n M(P xa) + M(P m i ) = 1 i=1 L arc P c T c a un poids de N ; ainsi les N objets actifs effectuent une fois et une seule par cyle leur méthode main(). Le réseau est vivant et, si le sous-réseau correspondant à P m i est tel que T f i est vivante, alors la simulation n est jamais bloquée (le réseau est répétitif). (a) Modélisation de l activation des agents en mode coopératif. Représentation du comportement de la plate forme multi agents. Fig. 2.4 : Modélisation de l activation et de la communication entre agents pour la validation d un Sap multi agents Pxa Tde Te2 Te1 Tfe Emission message (activation émetteur) Tdn Pdr TdN PdR Réception message (action réflexe) Tdm actions Pdm abscence message Tfd Tdd Traitement message (activation récepteur) PdM TdM actions présence message Ce réseau représente l échange de message entre les agents. L émission du message intervient lors de l activation de l agent émetteur, c està-dire suite au franchissement d une transition T e1. Il s en suit le franchissement de T dn si le destinataire n a pas déjà reçu l information ou de T dn dans le cas contraire, ce qui conduit, dans les deux cas, à un marquage tel que M(P dr) = 0 et M(P dr) = 1. Les places P dr et P dr étant complémentaires, il y a toujours une (et une seule) des transitions T dn ou T dn qui est tirable (l émission est donc non bloquante, quel que soit l état du destinataire). La seule transition tirable est ensuite T e2, soit la fin de l émission du message. Le traitement effectif de l information se fait lors de l activation de l agent destinataire (franchissement de T dd). D une manière générale, on peut considérer que ce dernier réagit différemment selon qu il a reçu un message ou non (franchissement non conflictuel de T dm ou T dm). Il est impératif que l une ou l autre de ces transitions soit franchie afin que tout message émis soit consommé avant la fin de l activation de l agent destinataire. (b) Mode de communication entre agents. Il assure le non blocage des agents émetteur et récepteur et le principe de réactivité. 48
2.1.3 Validation des modèles multi-agents par réseau de Petri Objectifs 2.1 SMA et réalité virtuelle pour le prototypage interactif Une des difficultés (et un des reproches qui lui est fait) de l application des systèmes multi agents à la conception des Sap est le manque de garantie quant à la cohérence de la commande élaborée. Or les exigences de sûreté, de sécurité et de productivité sont essentielles pour ces systèmes. Nous avons montré qu il est possible de construire un modèle formel du comportement d un Sap multi agents qui peut servir de support à sa validation (Chevaillier et al., 1999a). Pour cela, nous avons utilisé les réseaux de Petri pour lesquels il existe des méthodes de validation analytique. Notre objectif était de montrer, qu une fois des propriétés comportementales définies pour les agents, il était possible de construire un modèle du comportement global du système sous forme d un réseau de Petri ordinaire en utilisant des règles de ré-écriture ; l étude des propriétés du système est quant à elle une problématique «métier» de l ingénierie des systèmes automatisés de production. Modélisation La construction du réseau de Petri équivalent au comportement du système global (le prototype virtuel) se fait selon une approche descendante (figure 2.4, page 48 et figure 2.5, page 50). Le premier réseau construit est celui qui représente le fonctionnement de l environnement d exécution des agents, ici oris. À ce niveau, chaque agent constitue une unité d exécution et le réseau décrit le mécanisme d activation des agents par l ordonnanceur. Ensuite, ce réseau est raffiné en intégrant les sous-réseaux correspondants aux différentes instances d agents : éléments de partie opérative et éléments de contrôle. La dernière étape consiste à raffiner certaines places de ces réseaux pour tenir compte des interactions entre agents. Activation des agents. Les différents modes d ordonnancement proposés par oris permettent de définir les conditions de changement de contexte d exécution. Selon le cas, ce dernier a lieu : 1 o à des points de contrôle définis explicitement en mode coopératif, 2 o sur occurrence d un signal d horloge en mode préemptif, 3 o après chaque instruction élémentaire, mode appelé «profondément parallèle». Pour répondre aux exigences de réactivité du système, les comportements des agents sont conçus pour une exécution en mode coopératif. Leurs méthodes sont donc écrites de façon à ce que leur exécution soit ininterruptible, se termine toujours et soit aussi courte que possible afin d assurer un bon entrelacement des exécutions des différents comportements et la réactivité du système. Communication entre agents. Les communications entre élément du Sap correspondent à des requêtes (consignes d un élément de contrôle à destination d un actionneur) ou à la transmission d informations (état d un capteur vers un élément de contrôle ou échanges entre éléments de contrôle). Elle peut se faire en point à point ou par diffusion. L hypothèse de réactivité du Sap impose que tout événement produit soit décelable et que le système y réponde immédiatement. Cela signifie qu il n existe pas d instant observable entre le moment où un événement est émis et celui où il est traité. Le traitement du message doit donc se faire au cours du même cycle ou au cycle suivant l émission. Cette contrainte est satisfaite si la transmission se fait en temps nul (ce qui implique une réception immédiate) et un traitement lors de la prochaine activation de l agent destinataire. 49
2 Recherches personnelles et encadrées PtV Pxa pré conditions valides actions post conditions Tt1 Tt2 Tt3 Tt4 Ptt Ttt Lorsqu un ARC est activé, la place P t0 est marquée. Les transitions T t1, T t2, T t3, T t4 correspondent aux Tdi différentes situations conditionnées par la validité des préconditions à la réalisation de la réaction (M(P tv ) = 1 ou M(P tv) = 1) et par l occurrence Pt0 d un événement (M(P te) = 1 ou M(P te) = 1). Le franchissement de T t1 rend les pré-conditions Ptv invalides (M(P tv) = 1) et le message correspondant pré conditions à l événement est consommé (M(P te) = 1). PtE Pte non valides Le marquage de P tt correspond aux actions effectuées lors de la réaction et la validation des post-conditions. Les transitions T t2, T t3, T t4 correspondent aux cas où l ARC ne fait rien, soit parce que Ptf les pré-conditions ne sont pas valides (M(P tv) = 1), soit parce qu il n y a pas d événement à traiter (M(P te) = 1). La transition T t3 assure que, si la Tfi réaction a lieu, le message correspondant à l événement est bien consommé. (a) Modélisation d un agent réactif de contrôle (ARC). Ce réseau est un pattern de modèle ; les places P tv, P tv et P tt sont des macro places. Tdi Pxa PcOff (détection) (front montant) Tc1 Pc0 Tc2 (pas de détection) PcD Pcd Tc3 Tc4 Tc5 Tc6 Pcfm Pcfd Tc7 Pcf Tc8 (front descendant) Tfi PcOn Le cycle du capteur commence par la perception de son environnement. Selon qu il y a détection ou non, T c1 ou T c2 est tirée. L agent décide s il y a un front en fonction de son état interne (P coff ou P con). P. ex. il y a front montant si l état interne est Off et si T c1 a été tirée. Les actions sont réalisées en fin de cycle (places P cfm ou P cf d marquées). Elles dépendent des relations avec les autres agents (agent à prévenir en cas de front), ce qui conduit à transformer les places P cfm et P cfd en appliquant des règles de réécriture du pattern de communication. (b) Modélisation du comportement d un agent capteur Tout ou Rien. Fig. 2.5 : Modélisation du comportement des agents réactifs de contrôle (ARC) pour la validation d un Sap multi agents Pxa Pbs (Stop) (Demande marche) PbdM Tdi Tb1 Tb2 Tb3 Tb4 Pbfs Pb0 Pbdm Tb5 Tb6 Tb7 Tb8 Pbf Tfi Pbda Pbfm PbdA (Marche) Pbm (Demande arret) (c) Modélisation du comportement d un agent actionneur bistable. L état interne de cet agent est soit arrêté (P bs) soit en marche (P bm). Lorsque l agent est activé, il est possible qu une demande de mise en marche et une demande d arrêt aient été postées (demandes contradictoires). Le principe retenu est que la requête qui ne changerait pas l état de l agent est ignorée. La série de transitions {T b1, T b2, T b3, T b4} correspond au traitement des demandes normales et {T b5, T b6, T b7, T b8} au traitement des demandes ignorées. L agent est également conçu pour traiter les demandes redondantes : seule la première est mémorisée. Cette propriété est assurée par l action réflexe déclenchée lors de la réception du message de requête. 50
2.1 SMA et réalité virtuelle pour le prototypage interactif La transmission d un message se réduit donc à deux événements : son émission et son traitement. L approche agent impose que ces deux événements soient dissociés et non synchronisés. La modélisation de la transmission ne peut donc pas se réduire à une fusion entre deux transitions représentant l une, la production du message, et l autre sa consommation. Les propriétés de la communication entre agents «élément de Sap» sont les suivantes. 1 o l émission du message est non bloquante (le message est émis quel que soit l état du destinataire et l émetteur n a pas un retour immédiat sur la prise en compte de son message) ; 2 o la transmission s effectue sans perte, en mode premier arrivé premier sorti ; 3 o la réception déclenche une modification immédiate d une variable d état de l agent destinataire (cette variable est une représentation locale de l information véhiculée par le message) ; 4 o le traitement du message est effectif lors de l activation de l agent (étape de perception), tout message émis est consommé avant la fin du cycle de l agent. Comportement d un agent. Le comportement d un agent est cyclique et perpétuel. Un cycle commence par la perception de l environnement (variables d états, message de la boîte aux lettres), se poursuit par l application de règles internes de décision et se termine par la réalisation d actions (changements de variables d état, envois de messages). Les agents savent gérer d éventuels conflits ou incohérences (requêtes contradictoires ou redondantes par exemple). Ceci permet de proposer un modèle comportemental générique d un tel agent «élément de de Sap». Trois types de comportement d agent ont été modélisés (figure 2.5, page 50) : les éléments de contrôle (appelés agents réactifs de contrôle), les capteurs et les actionneurs (en ce limitant aux bistables, mais sans perte de généralité). 2.1.4 Synthèse Ces travaux ont constitué une première étape dans l utilisation des systèmes multi agents pour la conception d environnements virtuels à vocation professionnelle. Nous avons proposé un modèle d agent dont le comportement est conforme aux hypothèses de réactivité de ces systèmes et qui utilise un langage métier (les réseaux de Petri). Le fait de s appuyer sur un modèle générique pour modéliser un système en réalité virtuelle était le premier pas d une démarche que nous avons depuis toujours suivie et enrichie. Dissocier la spécification du système de son implémentation permet d une part de proposer des solutions indépendantes des plates-formes de réalité virtuelle, et d autre part d étudier les propriétés du modèle sans recourir nécessairement à son exécution. En effet, une démarche reposant uniquement sur la simulation poserait la question de la reproductibilité des résultats. La recherche de propriétés structurelles ou comportementales sur la base d un modèle est un complément indispensable à l expérimentation des modèles en réalité virtuelle. Pour cela, les modèles proposés possédent trois propriétés fondamentales : 1 o ils sont formels afin de supporter la vérification de propriétés ; 2 o ils ont une sémantique exécutable en temps réel pour leur simulation en réalité virtuelle ; 3 o ils sont modulaires afin d assurer une construction incrémentale des modèles simulés. Au cours de ces travaux, j ai encadré deux étudiants de troisième cycle (M. Stéphane Tarrot et M. Ronan Querrec). De nombreux développements ont été réalisés par des étudiants de l Énib dans le cadre de leur projet de fin d études. 51
2 Recherches personnelles et encadrées Fig. 2.6 : L environnement virtuel de formation SécuRéVi Le projet SécuRéVi (Sécurité Civile et Réalité Virtuelle) avait pour objectif de développer un environnement virtuel à vocation pédagogique destiné à la formation à la Gestion Opérationnelle et au Commandement (Goc) pour les sapeurs pompiers. La Goc se décline selon les différents niveaux de commandement. La formation est collective et repose sur des situations problèmes dans lesquelles les stagiaires jouent un rôle. Les compétences à acquérir sont essentiellement de nature décisionnelle : évaluer une situation (p. ex. sa dangerosité ou l occurrence d une anomalie), prendre la bonne décision (choisir une procédure adaptée) et faire les bonnes actions (engager les moyens adéquats, donner les bonnes consignes aux bons acteurs au bon moment). Il ne s agit donc pas d acquérir des connaissances ou de développer des habiletés manuelles. Les séances de formation concernent un groupe de stagiaires réunis dans une salle (elles complètent les exercices de terrain). L équipe d animation présente la situation problème. Les apprenants analysent la situation par petits groupes et proposent une solution (engagement de moyens). La solution retenue conduit à une nouvelle situation et le processus est réitéré. Une des difficultés pour l équipe d animation est de faire évoluer la situation en fonction des décisions prises, tout en restant dans un domaine où tout a été calculé au préalable. Ceci est préjudiciable au réalisme du scénario et souvent les apprenants ne partagent pas la vision proposée de l évolution de la situation. La réalité virtuelle offre des potentialités intéressantes dans ce contexte. L immersion des apprenants rend la situation problème beaucoup plus explicite et un consensus peut s établir sur son réalisme. Comme l évolution de la situation est calculée en temps réel, la charge de travail de l équipe d animation est fortement allégée. Dans le cas de la formation à la Goc, les actions des apprenants sont orientées vers l analyse et la prise de décision, les interactions avec la plate-forme de réalité virtuelle sont donc simples. En retour, les apprenants doivent visualiser les conséquences de leurs décisions : évolution du sinistre, actions des équipes de secours. Les contraintes intéressantes sur le plan scientifique sont que : l environnement réel est de grande dimension (de l ordre de plusieurs hectares), son évolution est partiellement indéterministe (p. ex. conditions météorologiques), certaines actions sont irréversibles (p. ex. action d un acteur conduisant à une fuite de gaz), il nécessite de modéliser en temps réel des phénomènes complexes (propagation d un feu ou d un nuage de gaz) et de simuler l activité de nombreux acteurs humains (équipes de secours, commandement, personnels techniques) (Querrec et al., 2001b). D un point de vue pédagogique, la formation est généralement coopérative et nécessite d adapter la complexité de l exercice en fonction du niveau d expertise des apprenants et de la complexité de la situation problème (Querrec et al., 2003a,b). 52
2.2 Modélisation de l environnement 2.2 Modélisation de l environnement virtuel de formation Cette problématique s inscrit dans le prolongement des travaux précédents mais en abordant des aspects spécifiquement induits par la vocation pédagogique des environnements virtuels. L objectif n est plus uniquement de disposer d un modèle, juste, modulaire et efficace, simulant le comportement d un système. Il est aussi de mettre à disposition d agents pédagogiques (humains ou artificiels) des informations nécessaires à la construction de connaissances. Notre proposition repose sur la réification totale des entités de l environnement (de leur structure et de leur comportement) et sur leur autonomisation afin de rendre l environnement dynamiquement modifiable en fonction d objectifs pédagogiques ou des actions de l apprenant. Les entités qui constituent l environnement de l apprenant sont tout d abord des objets physiques avec lesquels il peut interagir, ou dont il subit l influence. Ces entités sont modélisées sous forme d agents réactifs. Il s agit aussi de partenaires avec lesquels l apprenant entre en interaction au sein de l environnement virtuel pour l accomplissement de sa tâche. Ces partenaires constituent son environnement social. Leur modélisation est centrée sur leur contribution à la réalisation de la tâche de l apprenant, donc sur la notion de rôle. Le relation entre l apprenant et son environnement est le point central de ce travail. Celle-ci n est pas abordée sur le plan des dispositifs d interaction humain machine ; elle se pose ici en terme d interactions entre agents artificiels évoluant dans un environnement numérique partagé et dynamique. 2.2.1 Principes généraux Nos premiers travaux dans ce domaine avaient pour objectif de concevoir un modèle d environnement virtuel pour les simulateurs pédagogiques à vocation d entraînement (voir la présentation du projet SécuRéVi, figure 2.6 ci-contre). À ce stade, il s agit donc d environnements virtuels qui servent de support à la formation et donc conçus comme tels mais qui n intègrent pas de réelle fonctionnalité pédagogique. De tels simulateurs sont classiquement utilisés en entraînement et la fonction pédagogique est alors assurée par des formateurs. Le point de vue adopté dans la modélisation est centré sur la tâche de l apprenant et donc sur son interaction avec l environnement. Nous nous plaçons dans le cadre du travail procédural collectif : la tâche est décrite sous forme d un enchaînement d actions qui doivent être réalisées à plusieurs, le rôle de chaque partenaire étant défini au préalable. Tous les rôles d une situation problème ne sont pas joués par des humains ; ils sont donc tenus pour partie par des agents artificiels qui doivent réagir à l évolution de la situation. Pour réaliser sa tâche, l apprenant doit collecter des informations sur son environnement physique (positions, propriétés, états des entités présentes) et social (activités de ses partenaires). Il doit aussi interagir avec son environnement : manipuler des objets, solliciter ses partenaires. Certaines entités de l environnement ont une dynamique indépendante des actions de l apprenant. Ces activités autonomes peuvent avoir pour conséquence d influencer la capacité d action de l apprenant. De ce fait l apprenant doit être présent dans l environnement virtuel ; il y est en fait représenté par un avatar qui est l une des entités de l environnement physique et social simulé. 53
2 Recherches personnelles et encadrées apprenant:humain acteur_k:teamagent acteur_j:teamagent médiation u1 équipe B acteur_i:teamagent :Entity Ce schéma illustre (sous forme d un diagramme de collaboration Uml) les situations d interaction entre les entités de acteur_n:teamagent l environnement virtuel. Considérons le point de vue de l apprenant immergé dans son environnement physique et social. équipe A Cet apprenant est représenté dans l environnement par son avatar (en rose). Celui-ci joue un rôle dans une équipe ; il est acteur_m:teamagent donc censé exécuter certaines actions de la procédure réalisée collectivement par l équipe. Dans l exemple, l apprenant, par le biais de son avatar, est membre de l équipe A ; cette structure organisationnelle comprend deux autres membres qui sont simulés sous forme d agents artificiels. Afin de s intégrer dans la structure organisationnelle équipe A, l agent humain doit :Entity être vu par les autres agents de manière identique à un autre agent artificiel. Ceci est assuré par la médiation de l agent réseau 1 Avatar. Afin d apprendre à réaliser la procédure, l agent humain apprenant doit exécuter de sa propre initiative les ac- :Entity :Entity :Entity tions qui lui incombent. Cependant, selon son degré d expertise, il est intéressant qu il puisse déléguer à son avatar certaines actions (p. ex. les déplacements dans l environnement). :Entity réseau 2 La médiation apprenant avatar doit donc être adaptable aux :Entity objectifs pédagogiques. Dans cet exemple, l apprenant est impliqué dans deux équipes (ceci est fréquent dans les organisations hiérarchiques). L apprenant est aussi en interaction avec son environnement physique : il peut agir sur des objets et subir l influence du comportement de certains objets Par exemple, le formateur peut décider que l apprenant doit subir l effet d un gaz toxique mais qu il est insensible à l effet du vent. Dans ce cas, l avatar de l apprenant est impliqué dans un réseau d interactions de type «toxicité» et pas dans les interactions de type contraintes de déplacement dues au vent. Le nuage de gaz est quant à lui impliqué dans les deux types d interaction. (a) Structuration des interactions dans un environnement virtuel de formation. acteur_h:avatar Organisation name : string 1 * Agent 1..* name : string multiplicity : integer +playrole(in orgname:string,in rolename:string):boolean +abandonrole(in orgname:string,in rolename:string):boolean #getpartners(in orgname:string): [*] Agent #getroleplayers(in orgname:string,in rolename:string): [*] Agent -organisationalbehavior() Fig. 2.7 : Le modèle organisationnel de Mascaret Role +prerequisite(in :Organisation,In :Agent):boolean 1 performer 0..1 1..* behaviors BehavioralFeature Le modèle de classe Uml ci contre définit les concepts d organisation, de rôle et d agent de Mascaret. Il s agit d un modèle abstrait, destiné à être spécialisé et réifié. Ces définitions sont indépendantes de toute implémentation dans un système multi agents. Les éléments de ce modèle (classes et associations) peuvent être réifiés tel quel (sous forme d objets, instances de Classifier) ou constitués des items des bases de connaissances des agents et être alors implémentés sous forme de prédicats logiques. Ces trois concepts et la relation ternaire qui le unit servent de support aux notions de structure organisationnelle et d entité organisationnelle. Par exemple, il est possible de spécifier qu un agent de type A 1 doit informer l agent jouant le rôle R x dans l organisation O en cas d échec de l exécution de l action α i du rôle R y. À l exécution, l agent a qui joue le rôle R y dans O a accès à l identifiant de l agent (ou des agents) qui joue le rôle R x dans O et peut donc lui envoyer un message si nécessaire. Les opérations des classes Agent et Role sont des spécifications comportementales des compétences organisationelles requises pour la participation d un agent à une organisation. Ainsi l opération playrole indique que tout agent doit être capable d évaluer sa capacité à jouer un rôle dans une organisation (ce qui nécessite de satisfaire les prérequis du rôle, opération prerequesite et l éventuelle contrainte multiplicity) et d exécuter toutes les actions organisationnelles nécessaires, telles que définies par organisationalbehavior. (b) Modèle générique d organisation de Mascaret. 54
La situation pédagogique peut nécessiter de moduler les capacités d actions de l apprenant et de réaction de l environnement. Par exemple, au cours d un exercice, le formateur peut décider de modifier le niveau d implication de l apprenant dans la simulation de manière à s adapter à son degré de maîtrise de la situation : l apprenant peut passer graduellement d un statut de spectateur à celui d acteur métier (en assumant totalement ou partiellement son rôle). Le formateur doit aussi avoir la possibilité de modifier certaines contraintes environnementales. Par exemple, il peut simplifier une situation pédagogique en inhibant certains effets de l environnement sur l apprenant. Enfin, il est classique dans les situations pédagogiques d entraînement de provoquer des situations inattendues et d évaluer la capacité d adaptation de l apprenant. Bien qu il s agisse de travail procédural, l exercice n est donc pas complètement scénarisé. De ce fait, la décision d exécuter une action ne peut être prise qu en situation, sur la base d informations sur l environnement. Notons que ces adaptations pédagogiques peuvent être déclenchées par un formateur humain, mais aussi à terme par un agent pédagogique artificiel. Pour répondre à ces exigences, nous avons proposé le modèle Mascaret : MultiAgent System for Collaborative, Adaptive and Realistic Environment for Training. Il repose sur un modèle d environnement informé et structuré. Un des points clé étant l interaction adaptative entre l apprenant et son environnement, la modélisation a d abord porté sur la définition d un modèle organisationnel qui permette de formaliser le cadre de ces interactions. Ce modèle organisationnel permet en le spécialisant de définir les interactions entre entités physiques qui ont lieu au sein de réseaux d interaction, entre acteurs humains au sein d équipes structurées réalisant des procédures, ainsi que les interactions des utilisateurs (typiquement les apprenants) qui sont médiées par leur avatar. 2.2 Modélisation de l environnement 2.2.2 Structuration des interactions par un modèle organisationnel Un point central des environnements virtuels de formation est la diversité et la dynamicité des situations d interaction dans lesquelles un apprenant peut être impliqué. Pour cela, nous avons proposé un modèle général d organisation qui structure les interactions entre agents (Querrec et al., 2001a). Ce modèle est ensuite spécialisé pour décrire trois types d interaction : 1 o les interactions entre éléments physiques de l environnement, 2 o les interactions entre acteurs humains réels ou artificiels, 3 o les interactions des utilisateurs dans l environnement. Les interactions les plus riches concernent les acteurs humains (figure 2.7, page 54). En premier lieu, un apprenant est une entité physique en interaction avec son environnement physique sur lequel il agit, mais aussi qu il subit. Pour des raisons pédagogiques, il peut être intéressant d activer ou de relâcher ces contraintes ; par exemple dans SécuReVi, le formateur peut décider, momentanément, d ignorer l effet de toxicité d un nuage de gaz sur l apprenant. Ensuite, les acteurs «métier» doivent, par petits groupes, coordonner leurs actions pour la réalisation collective d une procédure. Les agents doivent donc échanger des informations pour assurer cette coordination. Enfin, un agent humain artificiel peut être l avatar d un apprenant. Le rôle joué par cet avatar peut évoluer en fonction de la situation ; ceci implique des interactions humain avatar pour le partage des responsabilités entre ces deux agents. Cette interaction décrit la médiation entre l utilisateur et le monde simulé. 55
2 Recherches personnelles et encadrées Graph Graph 0..1 graph inputnode * nodes Node * * outputnode Link InteractionNet NestedAgent <<create>> InteractionLink Organisation 1 * Agent -organisationalbehavior() -updatesources() -updatetargets() 1 performer 1..* Role behaviors 0..1 1..* BehavioralFeature Recruiting InteractionSource InteractionTarget Fig. 2.8 : Modélisation des interactions entre entités physiques dans Mascaret Les interactions entre entités physiques sont modélisées en spécialisant le modèle organisationnel générique (figure 2.7). Les interactions sont structurées en réseaux d interactions (InteractionNet), spécialisation de la classe abstraite organisation du modèle générique. Chaque nœud du réseau est un agent de l organisation (NestedAgent). Dans ce modèle, l agent doit connaître les agents de son voisinage. Comme la structure du réseau est dynamique, l agent doit maintenir à jour ses connaissances sur ce voisinage (opération updatesources et updatetargets). Les relations de voisinage sont réifiées sous forme d instances de InteractionLink qui peuvent éventuellement porter une information utile à l agent. Afin de gérer la dynamicité des réseaux d interactions, trois rôles organisationnels ont été définis : Recruiting, InteractionSource et InteractionTarget. Ils définissent des types de comportement, leur réalisation étant spécifique au domaine applicatif. Le premier rôle correspond au comportement de détection de nouveaux entrants ; le second correspond à un comportement qui est susceptible d influencer d autres agents du réseau et le dernier est son symétrique, il correspond au comportement influencé par l interaction. Spécialisation du modèle organisationnel en réseau d interactions. 56
Le modèle organisationnel de Mascaret repose sur trois concepts qui se définissent les uns par rapport aux autres : agent, rôle et organisation. Un rôle est un ensemble de comportements que peuvent adopter des agents au sein d une organisation. Un rôle peut être joué par un ou plusieurs agents de l organisation qui doivent satisfaire un ensemble de conditions. Une organisation est un ensemble de rôles joués par des agents qui, collectivement, assurent une fonction du système. Un agent est une entité qui, de manière autonome, peut jouer un rôle (ou plusieurs) au sein d une organisation. Les compétences organisationnelles minimales d un tel agent sont qu il peut dynamiquement prendre ou abandonner un rôle, qu il connaît les autres agents de l organisation et qu il sait quels rôles ils jouent. De plus, une organisation particulière peut requérir un comportement organisationnel particulier (non spécifié dans le modèle générique). Pour distinguer la spécification d une organisation, d une réalisation de cette organisation, on parle respectivement de structure organisationnelle et d entité organisationnelle (Hannoun et al., 1999). Le modèle abstrait de la figure 2.7, page 54, supporte ces deux notions. Une structure organisationnelle est définie par un ensemble de rôles et par un type de comportement organisationnel de la part des agents, méthodes de prise et d abandon de rôle notamment. Une entité organisationnelle est l instanciation d une structure organisationnelle (instanciation de la relation Organisation, Role, Agent). Une entité organisationnelle est un groupe d agents assurant collectivement l ensemble des rôles de la structure organisationnelle et respectant un comportement organisationnel donné. La réification dans Mascaret de la relation ternaire (Organisation, Role, Agent) sert de support à des raisonnements portant soit sur un type d organisation, soit sur un collectif d agents. La spécification des comportements peut donc se faire sur la base des rôles et des types de comportement, indépendamment de l existence effective des agents. C est pourquoi nous avons réifié ces deux notions de structure organisationnelle et d entité organisationnelle. 2.2.3 Structuration des interactions entre entités physiques Le modèle organisationnel général a été spécialisé en un modèle de réseau d interactions qui sert de support à la modélisation des interactions entre les entités physiques qui constituent l environnement physique de l apprenant (figure 2.8, page 56). Dans SécuRévi, il a été utilisé pour simuler de manière approchée les phénomènes physiques tels que la propagation d un nuage de gaz sous l effet d un vent variable et d éventuels obstacles (p. ex. présence d un «mur d eau» créé par une équipe de sapeurs pompiers). Les contraintes sont ici que l environnement est très dynamique, les agents très nombreux et que certaines interactions doivent pouvoir être inhibées pour des raisons pédagogiques (p. ex. suppression de la sensibilité à la toxicité d un gaz pour un acteur humain en vue d une simplification de la situation problème). Cet environnement physique est modélisé sous forme d agents réactifs qui ont une dynamique interne (p. ex. échauffement d un gaz comprimé) et qui sont en interaction (p. ex. effet du vent sur un nuage de gaz). La modélisation a été guidée par la dynamicité des interactions et la possibilité d activer ou d inhiber temporairement certains types d interaction, l objectif n étant pas d obtenir nécessairement des modèles physiques justes et précis, mais répondant à des objectifs pédagogiques clairement identifiés (voir l exemple de la figure 2.10, page 60). 2.2 Modélisation de l environnement 57
2 Recherches personnelles et encadrées Agent Sensor 1 Sensor 2 Agent Interaction Net 1 Agent RB 1 Controler RBa 1 RBa 3 RBa 2 RB 2 Interaction Net 2 RBa 4 Agent Actuator Agent Dans cet exemple, on considère un agent réactif intervenant dans deux phénomènes physiques et jouant donc un rôle dans chacun des deux InteractionNet. Au sein de chaque réseau d interactions, cela se traduit par une relation d interaction avec d autres agents au travers de rôles source et cible. Le fait de jouer ces rôles active des éléments de comportement (p. ex. RB 1 et RB 2 ) qui sont en entrée d éléments de comportement internes à l agent (ici RBa 3 ). L état interne de l agent est défini par l ensemble de ses variables d état. Chaque composant assure le calcul de la valeur d un vecteur de variables d état (attribut state de la classe ReactiveComponent présentée ci dessous). Les sous-classes Sensor et Actuator correspondent à des composants qui n ont respectivement pas de lien en entrée et en sortie. Il s agit d éléments qui permettent à l agent de percevoir son environnement (indépendement de toute interaction avec un autre agent) et de réaliser des actions (p. ex. effectuer un changement de position en fonction d une variable d état vitesse). Tous les éléments de comportement sont activés de manière asynchrone. Leur activation déclenche le calcul d un vecteur de variables d état. Les arcs entre composants représentent des flots de données (vecteurs de variables d état). (a) Exemple d agent réactif impliqué dans deux réseaux d interactions. Fig. 2.9 : Architecture interne des agents entités physiques NestedAgent 0..1 <<comment>> to be defined <<description>> setstate(input()); <<description>> return getstate(); <<description>> state(); Components * ReactiveController BehavioralFeature Sensor ReactiveBehavior #input(): [N] real #state() +output(): [N] real #main() input() state() output() main() <<create>> ReactiveComponent +state [N] : real <<comment>> to be defined update the current value and e.g. update an attribute or trigger a behavioral feature Actuator state() output() InteractionLink ReactiveLink +weight : real +eval():real <<comment>> May be static or updated at each activation <<description>> return getstate(); Ce modèle de classes Uml montre la spécialisation de la classe BehavioralFeature du modèle général Mascaret (figure 2.7). Un comportement réactif est le résultat de l activation d éléments de comportement (ReactiveBehavior), reliés entre eux par des ReactiveLink qui sont eux mêmes des spécialisations des InteractionLink (figure 2.8). L architecture interne est récursive : elle est similaire à celle des réseaux d interactions, sans intègrer la notion de rôle qui n est pas pertinente ici. Les ReactiveController permettent d introduire des contrôleurs comportementaux tels que des réseaux de Petri hybrides ou des systèmes d inférence floue. La fonction d entrée (input()) correspond à percevoir soit les variables d état qui sont en sortie d autres éléments, soit des variables obtenues de manière autonome dans le cas d un Sensor, soit des variables d état d un autre agent (via le réseau d interactions). Les variables d état locales sont mises à jour par state() et rendues disponibles (éventuellement après transformation) par output(). (b) Modèle des composants d un agent réactif. 58
2.2 Modélisation de l environnement Dynamicité des interactions L environnement physique est continu par certains aspects (feux, gaz) et discontinu par d autres (présence d un mur, fuite de gaz entre une citerne et l atmosphère). Dans notre modèle, il est entièrement discrétisé sous forme d agents réactifs (avec une résolution spécifique à chaque phénomène étudié). Ainsi, un nuage de gaz est modélisé sous la forme de pseudo sphères de gaz qui sont créées par un agent «source» (la fuite de gaz) et qui entrent potentiellement en interaction avec le vent et les murs des bâtiments, jusqu à sortir de la zone simulée. L exemple de la fuite de gaz montre que des agents peuvent être créés (et détruits) dynamiquement au cours d une simulation et, d une façon plus générale, des agents peuvent entrer et sortir d un réseau d interactions. Se pose alors le problème de la mise à jour des connaissances organisationnelles des autres agents qui est selon le principe des systèmes multi agents gérée localement par chaque agent. Pour qu il y ait interaction entre deux agents, il faut que les agents perçoivent les situations d interaction et qu ils agissent en conséquence. Une solution triviale serait de considérer que tous les agents perçoivent en permanence tous les agents et que les réactions soient calculées par des échanges itérés d informations jusqu à une solution équilibrée. Ceci n est pas réaliste pour une simulation en temps réel. Il convient donc de définir quels agents perçoivent les situations d interaction, quand a lieu cette perception et quelles informations sont mises à jour par les agents. Nous avons fait l hypothèse que les interactions avaient une force d autant plus grande que les agents étaient proches et qu il était possible de négliger (et conséquemment d ignorer) les interactions potentielles avec des agents qui ne se situaient pas dans le voisinage d un agent donné. La deuxième hypothèse est que ce voisinage à une certaine stabilité : l ensemble des voisins d un agent évolue moins vite que les variables d état des agents. L information qui doit être maintenue par un agent est donc l ensemble de ses voisins ; leur position relative et leurs caractéristiques peuvent quant à elles être évaluées à la demande. Trois rôles organisationnels ont été identifiés : recruteur (d agents), source (d interaction) et cible (d interaction). Le premier rôle traite les situations d insertion de nouveaux agents dans un réseau d interaction, en particulier la création d agents. Toute entité active étant un agent, un agent est créé par un autre agent. La solution retenue est que l agent créateur insère les agents qu il crée dans le réseau d interaction dont il fait partie. Le rôle de recruteur peut néanmoins être rempli par n importe quel agent (selon des critères applicatifs), sa multiplicity étant a priori limitée à 1. L insertion dans une entité organisationnelle déclenche le comportement de prise de rôle qui, en plus des comportements applicatifs, conduit à prévenir les autres agents de l existence de ce nouvel agent. Dans l absolu, les interactions physiques sont réciproques. Néanmoins, l étude des situations pédagogiques de SécuRéVi a montré qu il était généralement possible de distinguer une source d interaction et une cible et de considérer l effet de la source sur la cible et d ignorer l effet inverse. Considérons le cas de l embrasement d un réservoir de carburant situé à proximité d une flamme. L interaction est un échange thermique, la flamme étant la source de chaleur et le réservoir la cible. Notons que c est le comportement de ce dernier qui est affecté par l interaction : il peut s enflammer si la flamme dégage beaucoup d énergie et est proche. La distinction source cible permet de définir quels agents doivent être pris en compte en cas d interaction et quels agents y réagissent. 59
2 Recherches personnelles et encadrées Fig. 2.10 : Simulation de l effet d une queue de paon sur un nuage de gaz Cette scène est une situation d apprentissage tirée du projet SécuRéVi. Une fuite de gaz toxique et inflammable s est produite au niveau d un camion citerne (à droite). Dans ce cas, une des premières mesures à prendre est de confiner le nuage de gaz par des murs d eau que l on crée en dirigeant une lance à incendie contre une plaque métallique de façon à former un jet d eau en forme de queue de paon (à gauche). Les informations que l apprenant doit prendre en compte sont la nature du gaz (une queue de paon est efficace pour un gaz plus lourd que l air) et la direction du vent, afin de décider où déployer le dispositif. L environnement virtuel doit donc fournir à l apprenant les éléments nécessaires à sa prise de décision et lui montrer les conséquences de ses décisions (l objectif pédagogique n est pas ici d apprendre à diriger un jet d eau pour former une queue de paon). Le vent est simulé par une entité physique située, caractérisée par deux variables d état, direction et intensité, et ayant une représentation géométrique symbolique, sous forme d une manche à air. La direction et la forme de la manche à l air donne à l apprenant une idée de la direction et de la force du vent. Il n est pas nécessaire, ni même souhaitable que l information soit disponible de manière précise car les valeurs exactes n interviennent pas dans le raisonnement. Dans la réalité, le nuage de gaz n est pas toujours décelable visuellement ; il est représenté ici par des pseudo particules sphériques avec une texture transparente. Le retour d information à l apprenant est la propagation du nuage de gaz (plus ou moins dans l axe du vent) et le fait que ce nuage est «bloqué» par la queue de paon, assurant ainsi son confinement. Les agents impliqués dans cette simulation sont : la fuite de gaz, les pseudo particules de gaz, le vent et les éléments qui peuvent bloquer la propagation du gaz, la queue de paon et le sol (et éventuellement des bâtiments). La fuite de gaz crée des agents particule de gaz qui ont une direction aléatoire et une vitesse initiale. Les particules de gaz se déplacent en fonction du vent et de leur densité relative par rapport à l air et sont bloquées en cas de collision avec un obstacle. La queue de paon a un comportement d animation d un jet de particules ; le sol n a aucun comportement applicatif. Les agents gaz sont impliqués dans deux réseaux d interactions : l effet du vent et les collisions avec des parois (sol, mur d eau, bâtiment). Elles jouent le rôle de cible d interaction. Leur comportement est influencé par leur perception de la vitesse et de l orientation du vent et par la détection de collision avec des obstacles. Le vent joue les rôles de recruteur et de source dans le premier réseau et la queue de paon jour ces mêmes rôles dans le second. Le sol joue le rôle source dans le réseau de collision. La fuite de gaz n est pas impliquée dans les interactions, il n est donc pas nécessaire de l insérer dans les réseaux d interaction. Confinement d un nuage de gaz à l aide d une queue de paon. 60
Dans l exemple, la flamme joue le rôle source (de chaleur) ; elle doit être perçue par les agents cible (inflammable) dont le comportement est d augmenter leur température et de s enflammer au delà d un seuil. Le modèle organisationnel permet de spécifier que les agents ayant le rôle «source de chaleur» dans un «réseau d interactions thermiques» doivent être pris en compte par ceux jouant le rôle «inflammable». La réaction de ces derniers (définie par le comportement «s enflammer» du rôle inflammable) dépend d une variable d état de la source (chaleur émise) et de sa distance. Activation inhibition d interaction La prise en compte dynamique des interactions à des fins pédagogiques conduit à des prises et des abandons de rôles dans les réseaux d interaction. Considérons à nouveau le cas de l embrasement potentiel du réservoir de carburant. Le formateur peut décider, en début d exercice, de simplifier la situation d apprentissage en faisant en sorte que le réservoir ne s enflamme pas tout de suite car il veut laisser à l apprenant le temps d évaluer la situation et de dimensionner les moyens qu il aura à engager. Dans ce cas, il faut que momentanément le réservoir ne soit plus sensible aux sources de chaleur, c est-àdire qu il ne joue plus le rôle inflammable ; par contre la flamme doit toujours être active car sa présence doit être prise en compte par l apprenant et elle peut avoir d autres effets que l on souhaite conserver. Cette possibilité d inhibition d interactions conduit à un découplage apparent des différents phénomènes, ce qui est bien évidemment contraire aux lois de la physique dans lesquelles existent des invariants entre variables d état. Nous avons défini une architecture d agent qui permet de spécifier ces relations entre variables d état et qui permet d activer ou d inhiber certains phénomènes sans modification des agents. Pour cela, nous avons repris le principe d architecture holonique que nous avions utilisée pour le prototypage des systèmes automatisés de production. Ainsi, les agents qui simulent le comportement de l environnement physique sont des agents réactifs dont les comportements sont supportés par une structure hiérarchique d éléments de comportement, reliés entre eux par des liens d interaction. Les éléments comportementaux sont soit des éléments terminaux (Sensor, Actuator) soit des éléments intermédiaires (ReactiveController) qui relient des variables d état d entrée à des variables d état de sortie (voir figure 2.9, page 58). Les ReactiveController ont pour fonction de faire évoluer les variables d état de l agent. Le fait de jouer un rôle dans un réseau d interactions se traduit par l ajout d un nouveau lien en entrée d un ReactiveController. 2.2.4 Structuration des interactions au sein des équipes La deuxième spécialisation du modèle organisationnel général de Mascaret (figure 2.7, page 54) permet de simuler la réalisation concertée des actions des acteurs humains impliqués dans une situation d apprentissage. Rappelons que nous nous plaçons dans le cadre d un environnement virtuel pour l entraînement à la réalisation de procédures «métier» (donc formalisées) réalisées par un collectif, appelé ici équipe. L ensemble des actions à réaliser est donc connu mais l indéterminisme de l environnement ne permet pas de précalculer les dates de début et de fin de leurs exécutions. De plus il n est pas toujours possible de désigner à l avance quel agent réalisera telle action. Ceci justifie le recours à un mécanisme de coordination d actions entre agents. 2.2 Modélisation de l environnement 61
2 Recherches personnelles et encadrées * 0..1 missions Team Organisation Mission goal : boolean 1 {team members are TeamAgent} 1..* Role TeamRole * subordinate Agent * performer 1 behaviors 0..1 1..* superior 0..1 BehavioralFeature subordination <<description>> Management of accointances TeamAgent +getsubordinates(): [*] Agent +getsuperiors(): [*] Agent organisationalbehavior() collaborativebehavior() <<description>> What the agent does to fulfill the missions in which it is envolved Le diagramme de classes Uml ci contre présente la spécialisation du modèle organisationnel pour la modélisation d équipe (Team). Une équipe est une organisation constituée d agents ayant des capacités organisationnelles spécifiques (TeamAgent) et jouant des rôles entre lesquels peuvent exister des relations hiérarchiques (association subordination) qui conditionnent certaines règles organisationnelles. De ce fait, un TeamAgent est supposé être en mesure de connaître, en fonction du rôle qu il joue, ses éventuels supérieurs hiérarchiques et ses subordonnés (getsubordinates() et getsuperiors()). Le comportement collaboratif attendu des agents jouant tel ou tel rôle est défini de manière applicative (il correspond à un ensemble de BehavioralFeature). Typiquement, il s agit de compétences dialogiques ou de coordination d actions. (a) Modélisation d un organisation en équipe. Fig. 2.11 : Modélisation des tâches procédurales en équipe avec Mascaret 0..1 Team * Mission Procedure 0..1 missions Constraint Organisation 1..* plan leftterm +eval():boolean 1 1 rightterm 1 -start() -stop() 1..* Role TeamRole Action method : MethodDescriptor starttime : Time stoptime : Time * 0..1 Agent performer behaviors 1..* 1 BehavioralFeature TeamAgent Le diagramme de classes Uml ci contre complète celui du dessus sur les aspects liés au travail procédural. Une Procedure est un agencement d actions exprimé sous forme de contraintes (Constraint) permettant d atteindre un but (l attribut goal de Mission est une expression booléenne décrivant l état du monde espéré à la fin de sa réalisation). Une contrainte est une expression logique dont l évaluation permet de déterminer quelles actions sont exécutables. Pour simplifier, nous avons considéré des contraintes portant sur 2 termes. La classe Constraint est ici abstraite ; le choix de la sémantique des contraintes est déléguée à ses sous classes (nous avons par exemple utilisé une logique temporelle, De Loor et Chevaillier (2000)). La classe Action correspond ici à un concept informatique conforme à la définition d Uml : une unité fondamentale (non décomposable) de description comportementale exécutable par une instance de Classifier (ici le Performer). L exécution d une action est observable et située dans le temps. La manière (method) dont est exécutée l action est de la responsabilité de l agent. (b) Modélisation des tâches procédurales en équipe 62
Nous désignons par environnement social de l apprenant, l ensemble des partenaires avec lesquels il doit interagir pour réaliser la tâche qui lui incombe afin que les objectifs confiés à ce collectif soient atteints. Le modèle organisationnel de l environnement social est donc orienté vers la simulation de la réalisation collective de plans d actions pré établis, appelés procédures. Il sert de support à la coordination des actions entre les agents artificiels simulant l activité des membres d une équipe. Dans ce cas, un rôle est défini par un ensemble d actions exécutables par un agent et l organisation définit des contraintes sur leur exécution. Structuration en équipe Comme dans le modèle organisationnel général, la notion d équipe correspond à la fois à une structure organisationnelle et à son instanciation en entité organisationnelle. Une équipe est une forme d organisation humaine. Sa constitution est motivée par la réalisation d un objectif et elle a généralement une structure hiérarchique. Ces deux notions sont supportées respectivement par les classes Mission et TeamRole (figure 2.11, page 62). Dans le cadre d un environnement virtuel de formation pour l entraînement, la mission représente la tâche collective à laquelle l apprenant doit participer pour réussir l exercice. Le rôle qui lui est attribué définit l ensemble des actions qu il doit exécuter pour y parvenir. La spécification des rôles des autres agents lui permet de connaître les actions que les autres agents sont sensés réaliser, et donc ce qu il peut attendre de ses partenaires. Pour être membre d une équipe, les agents doivent jouer des rôles qui dérivent de TeamRole (équipier). Cette classe de base permet de définir les éventuelles relations hiérarchiques entre rôles d une même équipe (liens supérieur subordonné(s)) et donc les comportements organisationnels associés. Travail procédural Une procédure est la spécification de contraintes sur la réalisation d actions qui permettent d atteindre un but. Cette spécification permet de définir une relation d ordre total ou partiel sur les exécutions des actions des agents. Il s agit donc de l information nécessaire aux agents pour la coordination de leurs actions. Cette information n est pas toujours suffisante et il est alors nécessaire de doter les agents de capacités de planification dynamique. Deux algorithmes d ordonnancement d actions ont été développés. Le premier repose sur une version exécutable de la logique temporelle de Allen (De Loor et Chevaillier, 2000), le second permet une planification dynamique des actions par chaînage arrière sur les préconditions et post conditions de réalisation des actions. Ils sont présentés dans la section sur la simulation comportementale, en 2.3.1, page 75. Comportement organisationnel Comme précédemment, le comportement organisationnel est lié à la prise et à l abandon de rôle. Des comportements supplémentaires ont également été définis pour la coordination d actions. Toute modification de l affectation d un rôle donne lieu à un envoi de message à tous les autres membres de l équipe afin que ces derniers mettent à jour leurs connaissances sur l entité organisationnelle. Ce choix se justifie car une équipe est généralement constituée d un petit nombre d agents (de l ordre de la dizaine) et que les changements d affectation sont peu fréquents ; de plus, dans le cadre du travail procédural collectif, cette connaissance est indispensable aux agents. 2.2 Modélisation de l environnement 63
2 Recherches personnelles et encadrées Organisation 1 * Agent 1..* Role BehavioralFeature 1..* behaviors Mediation UserAvatar notifyexec(:action):boolean UserInterface delegate(action[*]:action) start(:action) stop(:action) User Avatar multiplicity = 1 multiplicity = 1 superior subordinate 1..* Renderer environmentrenderer Fig. 2.12 : Modélisation de la relation Humain Avatar Le diagramme de classe Uml ci dessus présente la spécialisation du modèle organisationnel pour la modélisation des interactions entre un utilisateur et son avatar. Par définition, l utilisateur ne fait pas partie du système multi agents : il existe dans le système informatique par le biais d un agent d interface, UserInterface. Cet agent est en interaction avec un seul agent qui est l avatar de l utilisateur, UserAvatar. Ce dernier est potentiellement en interaction avec les autres agents du système ; il sert de médiateur d interaction à l utilisateur. L agent d interface utilisateur doit permettre à l utilisateur d exécuter des actions (start, stop) et de déléguer à son avatar des actions, ce qui lui permet de collaborer avec son avatar, et par ce biais avec les autres agents. L utilisateur doit bien entendu disposer d un moyen de perception des conséquences de ces actions dans l environnement, ce qui est assuré par un Renderer. Modèle organisationnel pour la collaboration utilisateur avatar. 64
Pour les mêmes raisons, tous les événements de démarrage et de terminaison d action sont diffusés à tous les membres de l équipe. Si l on souhaite simuler des dysfonctionnements dans la coordination d actions, il faut définir de manière applicative les conditions dans lesquelles ils se produisent (non transmission d information, non prise en compte d une information, information erronée...). Le dernier comportement organisationnel est le traitement des situations d échec lors de la planification des actions. Lorsqu un agent ne parvient pas à trouver une action lui permettant de satisfaire une précondition d une action qu il veut exécuter, il fait appel aux services d autres agents. L algorithme utilisé est une adaptation du Contract Net Protocol de Smith et Davis (1981) réalisée par Bellard (2001). 2.2.5 Relation humain avatar Un avatar est le représentant d un utilisateur immergé dans l environnement. Dans un environnement virtuel de formation, les utilisateurs sont classiquement les apprenants, mais on peut aussi décider d immerger le formateur afin qu il puisse y réaliser des actions pédagogiques : jouer le rôle de compagnon, déclencher des événements, fournir des ressources pédagogiques... L interaction entre l utilisateur et son avatar est vue comme une collaboration entre agents dans laquelle les rôles de chacun sont spécifiés, mais dont l affectation est, comme toujours, dynamique. Cette collaboration est donc supportée par notre modèle organisationnel (figure 2.12, page 64). L avatar permet à l utilisateur d être un agent comme un autre et donc interagir avec les agents artificiels sans être différencié. Ceci est nécessaire si l on veut assurer la substitution de tout agent par un humain (l humain fait à la place de l agent artificiel) ou sa subsidiarité (l humain agit en complément, il supplée ce qui viendrait à faire défaut chez l agent artificiel). Cette possibilité est une caractéristique très intéressante pour la conception d un environnement virtuel de formation ; elle doit bien entendu être accompagnée d une démarche pédagogique adaptée. Le partage des rôles entre humain et avatar caractérise la médiation entre l utilisateur et l environnement virtuel. Un humain peut ainsi déléguer à son avatar certaines actions. Aux extrêmes, l avatar n est qu une entité physique sur laquelle sont reproduites les actions de l utilisateur ou une entité complètement autonome, sans aucun contrôle de l utilisateur, celui-ci lui ayant alors entièrement délégué ses capacités de décision et d action. Dans tous les cas, l avatar est perçu de la même façon par les autres agents. Il interagit avec l environnement physique et social et peut éventuellement collaborer avec des agents pédagogiques. L interaction entre l utilisateur et son avatar est dialogique et est supportée par une une interface humain machine. Celle-ci permet à l utilisateur d agir dans l environnement, en envoyant des signaux qui se traduisent par des démarrages et des arrêts d action de la part de son avatar. Cette communication est locale à l entité organisationnelle utilisateur avatar. L utilisateur envoie donc des messages à son avatar ; qu il lui «parle» à la première personne («j ouvre la porte»), à la deuxième («ouvres la porte») ou à la troisième («il faut qu il ouvrir la porte») est certes un point important sur le plan de l apprentissage, mais la solution informatique que nous développons reste la même. Il est d ailleurs vraisemblable que ce positionnement relatif de l apprenant vis à vis de son avatar en je, tu, il évolue selon la situation et le niveau d autonomie laissé à l avatar. 2.2 Modélisation de l environnement 65
2 Recherches personnelles et encadrées Exemple d interface Utilisateur Avatar. Utilisateur retour sensoriel Avatar réalisation action Fig. 2.13 : Relation Humain Avatar Environement Couplage sensori!moteur sans avatar avec avatar couplage interne Couplage Utilisateur Environnement par l intermédiaire de son Avatar 66
Le système doit assurer un retour d information afin que l utilisateur puisse évaluer en quoi ses actions ont un impact sur l environnement, surtout lorsque certaines actions sont réalisées en autonomie par son avatar. Ce retour d information est tout d abord sensoriel : l utilisateur voit son avatar agir dans le monde et ce dernier se transformer en conséquence. Ils sont aussi informationnels : l avatar peut donner à l utilisateur des informations sur son activité. L utilisateur peut aussi être autorisé à déléguer certaines actions à son avatar. Cette délégation porte sur l ensemble des actions d un rôle ; il ne nous a pas paru pertinent de déléguer partiellement les comportements d un rôle car cela risquait d introduire des incohérences dans les comportements des agents. L interaction entre l utilisateur et l avatar est une interaction entre deux agents. L agent avatar est quant à lui impliqué dans trois types d interaction : avec l utilisateur qu il représente, avec les membres de l équipe à laquelle participe (virtuellement) l apprenant et avec des entités de l environnement physique (figure 2.13, page 66). Examinons plus en détails les comportements organisationnels structurant ces interactions. Dans une organisation de type Mediation, le rôle User a autorité sur le rôle Avatar. L avatar accepte de réaliser les actions demandées par l utilisateur qu il représente et il lui rend compte de leur exécution. L avatar ne prend aucun rôle dans une autre organisation sans en avoir été autorisé par l utilisateur, à moins que ce méta rôle (le rôle organisationnel de gestion de rôle) ne lui ait été accordé. Tout événement lié à la gestion des rôles est transmis à l utilisateur. Quand un utilisateur délègue un rôle à son avatar, il conserve cette information (cela permet à l agent d interface de fournir cette information à l utilisateur). Quand un agent joue le rôle Avatar et un rôle d équipier dans une équipe (TeamRole), et qu il n a pas le rôle de gestion de rôle, le comportement de gestion des échecs de réalisation des actions est inhibé. En revanche le comportement de contrôle de l exécution des actions (diffusion des événements de démarrage et d arrêt des actions) est maintenu. Du fait que l avatar accepte de réaliser les actions demandées par l utilisateur, il se peut que celles-ci ne respectent pas les contraintes de la procédure. Pour des raisons pédagogiques, il est possible d autoriser ou non cette possibilité donnée à l apprenant de faire des erreurs. 2.2 Modélisation de l environnement Selon le cas, l avatar doit subir ou non les influences de l environnement physique dans lequel il évolue. Il peut donc être impliqué dans des réseaux d interactions. Nous avons considéré qu un avatar ne jouait pas de rôle de source d interaction mais de cible (éventuellement celui de recruteur). L influence de l environnement physique peut se traduire par une limitation des possibilités d action de l avatar, ce qui nécessite un retour sensoriel médié par l avatar. Par exemple, lorsqu un utilisateur traverse un nuage de gaz, il subit son effet toxique. Ainsi, sa vue se trouble, son champ de vision se rétrécit, ses capacités de mouvement diminuent. Le résultat de cette interaction réactive est perçue par l utilisateur grâce à son interface de rendu qui doit restituer la situation perceptive de l avatar, éventuellement de manière approchée et en recourant si besoin à des métaphores. La limitation des capacités de mouvement peut être restituée par une modification de la sensibilité d un matériel d interaction (retour haptique ou déambulateur par exemple). 67
2 Recherches personnelles et encadrées 68
2.2 Modélisation de l environnement 2.2.6 Synthèse Ces travaux sur la modélisation des interactions dans un environnement virtuel de formation ont constitué un pan de la thèse de Querrec (2002) que j ai co encadrée avec Jacques Tisseau. Le cas d étude sur lequel nous nous sommes appuyés était le projet SécuRéVi qui a été réalisé en utilisant la plate forme ARéVi oris. Dans ce contexte j ai encadré le stage de mastère spécialisé de Tanguy Daniel en 2001 qui a créé depuis une entreprise spécialisée dans l analyse des risques et la sécurité des sites industriels et leur simulation en réalité virtuelle et qui utilise les techniques et outils développés par notre équipe. Le stage de Dea de Sophie Bellard a permis de doter les TeamAgent de Mascaret d un mécanisme d appel d offre pour la gestion des échecs dans la coordination des actions au sein d une équipe. Un des résultats de la thèse de Ronan Querrec est la définition d un modèle organisationnel générique reposant sur les relations qui unissent les concepts d agent, de rôle et d organisation qui permet une réification des entités et structures organisationnelles. En spécialisant ces concepts de base, ce modèle sert à la modélisation de trois types d interaction : les interactions réactives entre entités physiques, les interactions entre acteurs humains simulés pour la coordination des actions et la médiation humain avatar. Comme dans bons nombres de modèles organisationnels, le modèle Mascaret est centré sur la notion de rôle et sur la nécessité de contrôler au niveau applicatif (ici pour des raisons pédagogiques) les interactions entre les agents. Mascaret est plus spécialisé que le modèle Agr d Aalaadin de Gutknecht et Ferber (1998) car il repose sur des propriétés des agents. La spécialisation en réseaux d interactions donne une structure similaire aux réseaux connexionistes, tout en étant récursive. La spécialisation dédiée à la modélisation des interactions entre l apprenant et ses partenaires est orientée vers la coordination d actions et la modélisation des règles métier. Elle reprend les notions d entités et de structures organisationnelles de Moise (Hannoun et al., 1999) ainsi que les notions de mission et de lien organisationnel. Dans SécuRéVi, l organisation des équipes est hiérarchique et leur structure est proche de celle de l architecture Magique de Bensaid et Mathieu (1997) (notre rôle chef d équipe et proche de celui de supervisor de Magique). Contrairement à Cool (Barbuceanu et Fox, 1995) ou à Gaia (Wooldridge et al., 2000) et plus récemment Rio (Mathieu et al., 2003), nous n avons pas explicitement formalisé les interactions entre agents. Les possibilités d interaction reposent sur les actions associées aux rôles (qui sont d ailleurs essentiellement organisationnelles et communicationnelles dans SécuRéVi) et sur les compétences des agents (exprimées comme propriétés comportementales des agents). Ce point sera abordé dans le modèle Have présenté en perspective (en 3.3, page 109) La modélisation de l environnement physique comme le résultat d interactions entre agents réactifs apporte une grande souplesse dans la modélisation et dans le contrôle des phénomènes physiques que l on souhaite simuler. Cependant, cette approche centrée individu présente deux limitations. Tout d abord, elle est coûteuse en temps de calcul. Ceci est dû à l agentification des entités et de la réification des organisations et, surtout, au temps de calcul des agents voisins. 69
2 Recherches personnelles et encadrées 70
Il est possible de limiter les temps de calcul par un dimensionnement adéquat de la simulation (en utilisant des heuristiques pour décider des agents devant intervenir dans chaque réseau d interaction et en choisissant une granularité adaptée à la précision attendue des simulations) ainsi qu en optimisant les algorithmes de perception (utilisation d une discrétisation adaptative de l espace, telle que celle de Manac h (2006)). La deuxième limitation est que dans certains contextes pédagogiques, il est nécessaire de disposer de modèles déterministes dont la justesse et la précision sont mieux contrôlées, par exemple dans le cas de la simulation du comportement d un avion dans un simulateur de vol. Dans nos travaux sur le prototypage interactif des systèmes automatisés de production, nous avons montré qu une approche orientée agent permettait toutefois de respecter certaines règles comportementales (telle que la réactivité) ; cependant obtenir un comportement fondé sur une hypothèse de synchronicité avec un système stochastique asynchrone est une tâche ardue qui peut être difficile de justifier. La modélisation des interactions entre acteurs humains est orientée vers la réalisation de plans d action formalisés sous forme de procédures (voir aussi la section suivante sur la simulation comportementale). L accent est mis sur la possibilité qu une procédure collective puisse être réalisée par un collectif mixte d agents artificiels et d humains, ce que permet le concept d agent avatar. La solution proposée est adaptée à ce contexte où les acteurs humains simulés n exhibent pas de comportements complexes. Néanmoins il serait intéressant de pouvoir introduire une dimension plus humaine dans les interactions. Cette possibilité sera introduite dans le modèle Have ; elle mérite d être soigneusement évaluée sur le plan pédagogique. 2.2 Modélisation de l environnement Depuis la fin de la thèse de Ronan Querrec, nous avons travaillé à l intégration de la fonction pédagogique, toujours selon une approche multi agents, de façon à doter Mascaret de capacités pédagogiques réellement instanciées (Querrec et al., 2004; Popovici et al., 2004). Dans Buche et al. (2004), nous avons montré comment le modèle organisationnel de Mascaret pouvait être étendu pour intégrer les rôles des agents pédagogiques. Chaque entité de l environnement virtuel, ainsi que chaque acteur humain (apprenant ou formateur) est considérée comme un agent jouant un rôle dans le processus d apprentissage. Les interventions qu ils peuvent faire sont définies par leurs rôles pédagogiques. La structure organisationnelle repose sur les différents modèles classiques des Its qui sont attribués à différents rôles. Il s agit d un premier travail qui devra être approfondi afin que Mascaret constitue un système tutoriel pouvant supporter différentes stratégies pédagogiques comme le proposent Mengelle et Frasson (1996) et Frasson et al. (1997). 71
2 Recherches personnelles et encadrées 72
2.3 Simulation comportementale 2.3 Simulation comportementale Dans la section 2.1, nous avons abordé la problématique de la simulation d objets artificiels dont le comportement est la résultante de l application d une fonction de contrôle à un système mécanique. En 2.2, nous avons mis l accent sur l interaction entre les entités de l environnement virtuel, interactions physiques, coordination d actions, interactions utilisateur avatar, en insistant sur la nécessité de pouvoir contrôler ces interactions dans un but pédagogique. Intéressons nous maintenant à la simulation du comportement des entités «vivantes» qui peuplent ces environnements virtuels de formation. L objectif est essentiellement la simulation d activités humaines fortement contextualisées et partiellement contraintes par un scénario, même si certains des modèles que nous avons développés ont une portée plus générale. Notre contribution a pour objectif de définir une architecture d agent qui permet de simuler, dans un environnement virtuel, les comportements d entités qui ont été spécifiés par des spécialistes «métier». Ceci suppose de disposer d un langage de description de comportement d agent et de doter ces agents artificiels de structures et d algorithmes leur permettant d exécuter leurs comportements dans un environnement dont l évolution ne peut être précalculée et qui n est pas en tout point identique à l environnement de référence pour lesquels les comportements ont été spécifiés. Nos travaux ont porté sur deux points complémentaires : la simulation de l exécution coopérative et participative de procédures dans le projet Mascaret et la modélisation de comportements réactifs avec le projet behavioris. Dans Mascaret, le problème est celui de l exécution par un collectif mixte (agents artificiels et agents humains) des plans d actions partiellement spécifiés. Ces plans d actions sont définis comme un agencement d actions sous forme de rôles et de contraintes sur leurs enchaînements. L objectif est de simuler l exécution des actions par les partenaires de l apprenant. L approche est partiellement scénarisée pour deux raisons. 1 o seul un sous ensemble des actions est spécifié. Il existe en effet de nombreuses actions qui sont implicites pour un spécialiste «métier» ou qui se situent à un autre niveau d abstraction. 2 o l évolution de l environnement est en partie imprédictible dès lors que certains rôles sont joués par des acteurs humains. Il est donc possible que certaines actions ne puissent pas être réalisées (préconditions non satisfaites) ou que des acteurs ne respectent pas le plan. Enfin la dernière contrainte évoquée en section 2.2 est la substitution partielle et dynamique d un agent artificiel par un utilisateur. L architecture d agent doit donc autoriser cette possibilité de simulation participative et immersive. Le projet behavioris a pour objectif la simulation de comportements réactifs à partir d une spécification sous forme de règles comportementales. Il a conduit à développer un langage de description de comportements et une architecture d agent réactif. Les connaissances des experts sur les comportements étant souvent imprécises et parcellaires, nous avons eu recours à la logique floue. Les comportements qui ont été modélisés étaient pour l essentiel des déplacements dans un environnement dynamique. La solution est applicable à tout comportement qui conduit à élaborer une réponse à partir d un ensemble de stimulus (internes et externes) et d un ensemble de règles comportementales plus ou moins activées selon la situation. 73
2 Recherches personnelles et encadrées nontemporalevent/ updatedesire() H Sleeping muststart/ wanttostart muststop/ wanttostart; wanttostop [wanttostart] ^SaBSa.mustStart; ^SoBSa.mustStop [canstop]/ notwanttostop; ^iaso.stop(self) start(anaction)/ updaterights() WaitForStart WaitForStop iasa: set of actions that must be informed that the action starts [canstart]/ notwanttostart; ^iasa.start(self) SoBSa.mustStop: set of actions that must stop before the actions starts SaBSo.mustStop: set of actions that must start before the actions stops iaso: set of actions that must be informed that the action stops muststart/ wanttostop; wanttostart [wanttostop]/ ^SoBSo.mustStop; ^SaBSo.mustStart stop(anaction)/ updaterights() Running muststop/ wanttostop Ce diagramme état transition représente la gestion de l exécution d une action (classe TemporalAction, spécialisation de Action). Le mécanisme repose sur les désirs de l agent de réaliser l action et ses droits à l exécuter, compte tenu des contraintes spécifiées dans le plan d actions. Les désirs de l agent correspondent aux deux prédicats wanttostart et wanttostop. Ils sont mis à jour par l opération update- Desire qui est déclenchée dès qu une modification du plan intervient (symbolisé ici par un événement de type non- TemporalEvent). Les droits de l agent vis à vis du démarrage (et de l arrêt) de l action sont évalués à chaque modification du statut d une action (start(anaction), stop(anaction)). L opération updaterights() permet de décider si l action peut démarrer ou s arrêter (canstart, canstop). Les événementsmuststart, muststop correspondent à des requêtes provenant d autres agents (éventuellement l agent lui même). Ils sont générés après changement d état d une action et évaluation des contraintes temporelles. L interprétation de ces contraintes permet de maintenir à jour (pour chaque action) les ensembles SaBSa, SaBSo, SoBSa et SoBSo et donc de diffuser aux agents concernés les événementsmuststart, muststop. SaBSo est l ensemble des actions qui doivent démarrer (Start) avant que l action ne Stoppe. (a) Contrôle de l exécution des actions dont les enchaînements sont spécifiés sous forme de contraintes temporelles. Fig. 2.14 : Spécification et contrôle de l exécution de plans d action en logique temporelle P_Meet (ChefAgres, OrdonneCmdPreparatoire, chefbat, SeTenirPret); P_Meet (ChefAgres, OrdonneCmdPreparatoire, equipierbat, SeTenirPret); P_Meet (ChefAgres, OrdonneCmdExecutoire, chefbat, AllerAuPointAttaque); P_During (ChefBAT, AllerAuPointAttaque, equipierbat, AllerAuPointAttaque); P_Meet (chefbat, AllerAuPointAttaque, chefbat, DecrocherDivision); P_Meet (chefbat, DecrocherDivision, chefbat, OrdonneBasculementFleche); P_Meet (chefbat, OrdonneBasculementFleche, equipierbat, BasculerLaFleche);... Procédure M10 : Etablissement d une division mixte à plus de 200 mètres. (b) Exemple de description d une procédure. La syntaxe d une contrainte est operateur (role1, action1, role2, action2). role1, action1 est le terme de gauche de l opérateur et role2, action2 celui de droite. P désigne la priorité ; P Op donne la priorité au terme de gauche et Op P à celui de droite. Op est un des treize opérateurs de la logique de Allen (meet, during...). 74
2.3.1 Exécution collective de plans d actions Avant de présenter les différents éléments de la solution développée, rappelons brièvement les objectifs et le cadre de ce travail à partir d une situation pédagogique typique. Au cours d un exercice d entraînement, un apprenant doit réaliser sans erreur la séquence des actions, telle que décrite dans une procédure. La réalisation de la procédure nécessite la participation de plusieurs acteurs dont les rôles sont prédéfinis. Comme il n est pas possible de réunir autant de personnes que d acteurs requis par la procédure, certains rôles sont joués par des agents artificiels. La simulation est construite à partir d une bibliothèque d actions élémentaires (non décomposables), éventuellement paramétrées (p. ex. allera(in p :Position). L objectif est de simuler la réalisation de ces actions par les agents artificiels. Pour cela, il faut être en mesure de décider dynamiquement quelles actions chaque agent doit démarrer ou arrêter et, pour celles qui sont paramétrées de déterminer la valeur de leurs paramètres. La coordination des actions entre les agents artificiels requiert des compétences organisationnelles ; ces dernières ne cherchent pas nécessairement à reproduire des comportements humains. Ordonnancement en logique temporelle Une procédure est généralement décrite comme une succession d actions à réaliser, éventuellement en indiquant par qui (en fonction du rôle) et en utilisant quelles ressources. Dans certains cas, les propositions sont enrichies de façon à spécifier des enchaînements particuliers (faire A i tout en faisant A 2...). La logique temporelle de Allen s applique au raisonnement sur des intervalles temporels. Sachant que la réalisation d une action est très rarement de durée nulle, cette logique est applicable à la spécification de contraintes sur les réalisations des actions (un intervalle correspond naturellement à l exécution d une action). L intérêt de la logique de Allen est sa grande expressivité. Cependant son utilisation pour le calcul des démarrages et arrêts d actions n est pas immédiat. Tout d abord deux points d ordre sémantique doivent être précisés (ils sont développés dans les paragraphes qui suivent) : 1 o une procédure spécifie des enchaînements d actions et non de réalisations d action, et 2 o cette logique n est pas destinée au contrôle de l exécution d actions. Ensuite, il faut tenir compte de la spécificité des systèmes multi agents : le plan d actions est réalisé par un collectif d agents et les décisions d exécution sont prises localement (et dynamiquement) par chaque agent. Nous avons donc proposé une extension exécutable de la logique de Allen et un mécanisme de contrôle de l exécution des actions qui puissent être décentralisé au niveau de chaque agent (De Loor et Chevaillier, 2000). Nous avons déjà souligné à propos du modèle organisationnel la nécessité de réifier les deux niveaux, conceptuel pour les structures organisationnelles et opérationnel pour les entités organisationnelles. Ces deux niveaux se retrouvent ici avec d un côté la spécification d actions et d enchaînements entre actions et de l autre le contrôle de l exécution des actions. La spécification des actions permet de dire que l action A j suit l action A i, ce qui s écrira A i < A j ou A i before A j en logique de Allen. Dans le cas d une seule contrainte, il n y a pas de différence entre enchaînement d actions et d exécutions (et il en est ainsi dans le cas général). La différence apparaît quand il existe des cycles dans les procédures. Prenons l exemple du plan : faire alternativement A 1 et A 2 pendant A 3. Ceci peut s écrire à l aide des contraintes temporelles suivantes : A 1 pendant A 3 ; A 2 pendant A 3 ; A 1 avant A 2 ; A 2 avant A 1 2.3 Simulation comportementale 75
2 Recherches personnelles et encadrées L algorithme de planification dynamique a été utilisé dans le projet SécuRéVi pour la simulatin de procédure d intervention. La notion de rôle du modèle organisationnel permet aux agents de connaître les agents avec lesquels ils doivent interagir. (a) Exemple de procédure (projet SécuRéVi). Fig. 2.15 : Calcul de plans implicites par un agent dans Mascaret non vérifié vérifié posseder(ari) posseder(devidoir) voir(devidoir) presde(devidoir) voir(devidoir) NONE SeTenirPret Objet = devidoir Prendre AllerA Chercher etrepret unification posseder(devidoir) presde(devidoir) voir(devidoir) Pré condition Action Post condition La ligne supérieure correspond à une action explicite de la procédure. Deux préconditions doivent être satisfaites pour sa réalisation. Dans la situation présente, la condition posseder(devidoir) n est pas valide. Ceci déclenche le calcul d un plan implicite (ici de profondeur 3). Les actions prendre, allera et chercher sont des actions élémentaires d une bibliothèque de comportements d humains virtuels. posseder(objet), presde(objet), voir(objet) sont des prédicats dont l évaluation nécessite une perception de la part de l agent (de son état ou de son environnement). Le plan est construit par unification de la variable Objet à la valeur devidoir. La première action réalisée est celle de la ligne du bas. Quand elle est terminée, un nouveau plan implicite est recalculé et sa première action réalisée. Ce processus est répété jusqu à ce que toutes les préconditions de l action explicite soient satisfaites. (b) Chaînage d actions avec unification de variables. 76
Cette expression est incohérente en logique de Allen alors qu elle a un sens dans notre cas. Si l on se place maintenant au niveau de l exécution des actions (qui sont assimilables à des intervalles temporels), il est effectivement impossible d avoir une exécution a i avant a j et a j avant a i, ce qui est conforme à Allen. Le deuxième point concerne le contrôle de l exécution, l objectif étant, pour un plan d actions donné, de calculer quelles actions doivent débuter ou s arrêter. Reprenons le plan A 1 avant A 2 (A 1 < A 2 ). A 1 n ayant pas d antécédent, son exécution peut démarrer. Ceci illustre la première règle retenue : un agent démarre toutes les actions possibles. Supposons maintenant que dans l enchaînement A 1 < A 2 les deux actions ne soient pas réalisées par le même agent (A 1 par l agent α i et A 2 par α j ). Est ce la terminaison de l exécution de A 1 par α i qui permet à α j de démarrer A 2 ou est le démarrage de A 2 qui provoque la fin de A 1? Pour lever cette ambiguïté, nous avons introduit une notion de priorité (à gauche ou à droite) dans les opérateurs de Allen. Ainsi A 1 < A 2 signifie que c est la fin de A 1 qui autorise l exécution de A 2 ; symétriquement A 1 < A 2 signifie que le démarrage de A 2 interrompt l exécution de A 1. D une manière générale, pour les treize opérateurs de la logique de Allen, la notion de priorité permet d indiquer si c est le début (ou la fin) de l action à gauche de l opérateur qui déclenche le début (ou la fin) de l action de droite ou le contraire. Les plans d actions étant réalisés par un collectif d agents, il est donc nécessaire que le démarrage ou la terminaison d une action soit décidable localement par un agent et qu il soit possible d ajouter ou d enlever dynamiquement des contraintes. Ceci est justifié par le fait que rien n exclut qu un agent (par définition autonome) modifie son plan d actions, en particulier l agent formateur humain peut décider de modifier le scénario d un exercice (et donc le jeux de contraintes) en fonction de la situation de l apprenant. Enfin, le plan d actions est défini pour une structure organisationnelle. Les rôles pouvant avoir une multiplicité supérieure à 1 (éventuellement variable en cours d exécution), il faut pouvoir évaluer les contraintes sur les exécutions au niveau individuel et en temps réel. La solution proposée pour répondre à ces différentes exigences est un algorithme de contrôle de l exécution des actions (démarrage et arrêt) qui travaille au niveau le plus fin, c est-à-dire celui de l action exécutable par un agent (voir figure 2.14, page 74), et un mécanisme de communication entre agents afin de connaître localement qu elles sont les actions qui doivent s arrêter/démarrer avant que l exécution d une action donnée s arrête/démarre et quelles sont les actions qui doivent être notifiées d un arrêt/démarrage d une de ses exécutions. Toute modification du plan ou du nombre d agents nécessite d actualiser les connaissances de l agent sur la faisabilité de ses actions. Planification dynamique, plans explicites et implicites Le projet SéCuRéVi, et d autres projets depuis, ont montré que les procédures telles qu elles sont écrites par les spécialistes «métier» ne sont jamais une description exhaustive de toutes les actions qui doivent être réalisées. Ceci s observe aussi bien pour les plans d intervention d équipes de secours, les procédures de maintenance de véhicule ou les instructions pour des travaux pratiques. Il ne s agit pas de spécifications incomplètes et la procédure peut parfaitement être réalisée par un opérateur compétent ; mais il en est tout autrement d un agent artificiel. Les raisons de cette incomplétude de la formalisation sont multiples. Certaines actions sont «évidentes» car correspondant à des compétences acquises antérieurement. 2.3 Simulation comportementale 77
2 Recherches personnelles et encadrées Organisational Behavior : Contract Net Protocol On Fail Actions Selection Success / Fail Collaborative Behavior Modify Consult Request Facts Broadcast Eval Pre Conditions Start Actions Result Action s Result Other Members Action s Result Perception Action Communication (a) Architecture d un agent rationnel. Ce schéma synthétise les principaux éléments de l architecture d un agent rationnel dans Mascaret. Un agent dispose de capacités de perception (de son environnement et de son état), d action et de communication. Celles ci sont sollicitées par le comportement de l agent qui est orienté vers la réalisation collaborative de plans d actions. Le module de sélection d actions détermine les actions que l agent veut réaliser. La réalisation d une action est effective si les préconditions sont satisfaites, ce qui nécessite de consulter la base de faits. Les faits correspondent aux connaissances organisationnelles de l agent, à des messages sur l exécution des actions et aux résultat de perceptions. Toute modification du statut de l exécution d une action (démarrage, terminaison, échec) conduit à la diffusion de l information aux autres agents afin qu ils actualisent leur base de faits. En cas d échec dans la réalisation d une action, l agent sollicite ces partenaires en diffusant un appel d offre pour la réalisation d une action. Fig. 2.16 : Architecture d un agent rationnel dans Mascaret. L architecture d un avatar est dérivée de celle des agents Organisational Behavior : Contract Net Protocol rationnels, le principe étant de lui conférer une plus faible autonomie de décision, tout On Fail Success / Fail Request en étant interopérable avec Collaborative Behavior les autres agents rationnels. Actions Selection Consult Modify Facts Ainsi, l exécution des actions n est plus sous le contrôle Action s Result Action s Result du module de sélection d actions ; elle est conditionnée à la réception de messages en Eval Pre Conditions Broadcast provenance de l utilisateur, Start Actions Result via son agent d interface. Perception Action Communication De même, l avatar ne traite les messages relatifs à Interface l exécution des actions par les autres agents uniquement pour tenir à jour sa base de faits ; les éventuelles décisions de modification de inhibition plans d actions reviennent à l utilisateur. L architecture User étant similaire à celle d un agent rationnel et l avatar tenant à jour la base de faits sur l exécution du plan d actions, il peut à tout moment pendre le relais de l utilisateur, totalement ou pour un sous ensemble des rôles de l apprenant. (b) Architecture d un avatar. 78
D autres sont laissées au libre arbitre de l opérateur en situation, sachant que la description exhaustive de tous les cas pouvant être rencontrés rendrait la description de la procédure inutilisable. La lecture d instructions par un humain n est jamais unique et ne suit pas un processus linéaire, pas à pas ; elle se fait en parallèle à la réalisation des actions avec de fréquentes relectures et est donc rédigée en tenant compte implicitement de ce processus qui est fort différent du fonctionnement d un programme informatique. Enfin, toutes les actions ne se placent pas au même niveau sémantique. Par exemple une instruction de montage d un meuble en kit pourrait être «assembler les panneaux A et B au moyen des 2 vis C». Cela suppose entre autre de placer correctement les deux panneaux, de posséder le tournevis adapté, de placer les vis dans les trous... Ce genre de procédure est déjà suffisement délicate à réaliser, une description exhaustive de toutes ces actions découragerait définitivement les bricoleurs, même les plus persévérants. Pour faire exécuter de telles procédures par des agents informatiques, il faut être en mesure de leur faire exécuter des actions qui leur permettent ensuite de réaliser celles de la procédure. Ceci conduit à distinguer deux types de plans d actions : d une part les plans explicites, ceux exprimés dans la procédure, d autre part les plans implicites qui doivent être calculés dynamiquement et qui sont des préalables nécessaires à la réalisation d actions des plans explicites. Pour cela, nous utilisons un algorithme de planification dynamique qui permet à un agent de déclencher des actions de façon à ce que les préconditions à la réalisation des actions de la procédure soient satisfaites. Avant toute exécution d action, l agent vérifie que les préconditions sont satisfaites ; si ce n est pas le cas, l agent recherche parmi les actions de son rôle celles qui permettent de les satisfaire. L algorithme de sélection d action des agents tient donc compte à la fois des contraintes explicites entre les actions de la procédure et aussi des contraintes implicites par chaînage arrière des pré- et postconditions des actions. 2.3 Simulation comportementale Plusieurs actions peuvent permettre de satisfaire les préconditions d une action. Celles ci constituent autant de branches dans le recherche d une solution pour satisfaire le but. Dans le cas général, ceci pourrait conduire à un arbre de recherche de très grande taille. Pour les cas pratiques que nous avons traités la profondeur de l arbre ne dépassait pas 4 et et le nombre moyen de branches était inférieur à 2. La solution retenue est choisie parmi celles contenant le moins d actions (ceci ne garantit pas qu elle soit optimale). Une fois une solution sélectionnée, l action en tête est ajoutée à l ensemble des désirs de l agent et est exécutée. L environnement étant dynamique, l agent recalcule son plan d actions après chaque exécution d une action. Cette méthode, si elle est plus coûteuse en temps, procure un comportement opportuniste à l agent. Si l action échoue, elle est considérée comme inutilisable pour toute la durée du plan implicite. En effet, nous considérons que les plans implicites ont un temps d exécution court, et donc qu une action inutilisable à un instant l est également pendant la durée du plan implicite. Ceci permet d éviter des situations d occilation entre différentes actions. Si l agent échoue dans la satisfaction de son but c est-à-dire qu aucune des actions possibles n a pu être exécutée, alors il déclenche un comportement organisationnel de gestion des échecs. Pour chaque action, il est possible de spécifier une action à déclencher en cas d échec ; la règle par défaut étant de lancer un appel d offre pour la réalisation de la précondition qui n a pû être satisfaite (voir section 2.2.4, page 65). 79
2 Recherches personnelles et encadre es Fig. 2.17 : Exemple de simulation participative de proce dure. Application de Mascaret a Se cure Vi. 80
2.3 Simulation comportementale Architecture d agent rationnel Mascaret Nous venons de présenter les algorithmes de coordiniation et de planification dynamique dont nous avons doté nos agents simulant la réalisation d une procédure par un collectif d agents organisés en équipe. Ils sont supportés par une architecture d agent, appelé agent rationnel, par opposition aux agents réactifs constituant l environnement physique, (voir le schéma du haut, figure 2.16, page 78). En section 2.2.5, page 65, nous avons évoqué la nécessité de la substitution partielle ou totale d un agent artificiel par un humain, par la médiation de son avatar. L interaction entre l humain et l avatar consiste en des échanges d information sur la réalisation des actions (par l avatar et par les autres agents de l équipe) et par des demandes de réalisation d action de la part de l acteur humain. Sachant que la substitution peut être temporaire, il est nécessaire que l avatar puisse devenir à tout moment autonome, et donc qu il ait toutes les informations nécessaires sur les actions (faites, en cours et à faire) et qu il puisse fournir cette information à l utilisateur qu il représente. L architecture de l agent avatar est donc identique à celle des agents des agents artificiels. Cependant, en cas de substitution par un humain, certains comportements sont temporairement inhibés (voir le schéma du bas, figure 2.16, page 78). Les comportements inhibés sont les démarrages et arrêts d action (pour les actions des rôles sous la responsabilité de l utilisateur), le comportement de planification dynamique et le comportement organisationnel en cas d échec de la planification. Ainsi, l acteur humain conserve les comportements décisionnels et organisationnels «métier» et l avatar le suivi de l exécution. De ce fait, un utilisateur (en particulier un apprenant) peut poser à son avatar les questions suivantes. Quelles sont les actions déjà réalisées? L avatar conserve la connaissance sur les exécutions des actions de tous les agents de l entité organisationnelle. Quelles sont les actions à effectuer maintenant? L avatar repond par les actions de la procédure dont les préconditions de réalisation sont satisfaites. Pourquoi ne peut-on pas réaliser telle action? L avatar répond alors en explicitant les préconditions non vérifiées de l action ou par les actions qui la précède dans la procédure et qui n ont toujours pas encore été réalisées. Pourquoi faut-il faire telle action? L avatar répond alors en donnant les post conditions de l action. L agent avatar y répond en exécutant des actions qui font partie de son rôle. Les actions évoquées ci dessus font appel aux connaissances organisationnelles de l agent avatar et à ses capacités communicationnelles. Ces actions sont indispensables sur le plan pédagogique (elles peuvent être déclenchées à la demande de l apprenant ou d un autre agent pédagogique) ; elles correspondent aux compétences de l agent Steve (Rickel et Johnson, 1999). 81
2 Recherches personnelles et encadrées 82
2.3 Simulation comportementale 2.3.2 Modélisation de comportements réactifs Pour le prototypage des systèmes automatisés de production, nous avions utilisé les réseaux de Petri synchronisés. Ce formalisme est (avec le Grafcet) un langage métier de l automatique et de l informatique «temps réel» ; les spécialistes du domaine peuvent donc modéliser les comportements des entités virtuelles comme il le ferait pour un système réel. La sémantique du langage de description comportementale est donc conforme à son usage : réactivité de la commande, indéterminisme et asynchronisme de la partie opérative, formalisation de propriétés. Dans Mascaret, les comportements liés au domaine (phénomènes physiques, activités des personnages) sont écrits en utilisant un langage de programmation. Le recours à un code ne permet pas aux experts «métier» de spécifier directement les comportements des entités virtuelles et cette solution n est donc pas complètement satisfaisante. Définir un «bon» langage de description comportementale, nécessite de revenir à la question de sa finalité, telle que nous l envisageons dans nos travaux : quels comportements, écrits par qui et pour qui, quelles sont les qualités attendues de la simulation? Une partie de la réponse est donnée par l apport spécifique de la réalité virtuelle à la formation. La présence d un apprenant dans un environnement virtuel se justifie si l on souhaite qu il puisse y vivre une expérience qui le conduise à acquérir des compétences. Avant tout, ce qui est simulé doit être conforme à l intuition sensible que l apprenant doit en avoir. Le projet SécuRéVi en est une bonne illustration. Lorsqu on simule la propagation d un nuage de gaz, on souhaite que l apprenant intègre dans son raisonnement que le gaz se propage dans la direction du vent, d autant plus vite que celui-ci est fort, et qu il est possible de le confiner en dressant des obstacles sur sa trajectoire (murs d eau). Lorsqu on simule une intervention dans un établissement recevant du public, on veut observer des mouvements de personnes, des regroupements. La simulation du nuage de gaz ne nécessite pas de disposer d un modèle de mécanique des fluides (qui serait extrèmement difficile à initialiser tant la sensibilité aux conditions initiales et aux limites est grande) ; de même la simulation des mouvements de groupes de personnes ne nécessite pas un modèle bio-mécanique de la marche humaine. L approche développée est donc avant tout phénoménologique et l observateur dont le point de vue nous intéresse ici est celui qui va vivre l expérience, l apprenant. Les comportements peuvent donc être simulés à l aide de modèles approchés. L accent porte d avantage sur la robustesse du modèle (une bonne généralisation sur un domaine assez large) que sur sa précision : la modélisation doit faciliter la possibilité de varier les situations d apprentissage. La deuxième spécificité de notre approche est liée à l expressivité des modèles. L objectif est que les phénomènes simulés puissent être décrits directement dans une forme aussi proche que celle qui est utilisée par le formateur pour l expliquer à l apprenant au cours de l exercice l objectif ultime étant que cette explication puisse être fournie par un agent artificiel. L expressivité des modèles est aussi dictée par la nécessité de développer des simulations multi modèles. Dans SécuRéVi, le formateur est un officier sapeur pompier qui s adresse à un futur pair. L objectif pédagogique est d apprendre à engager les moyens adéquates pour configner le nuage de gaz et ainsi maîtriser le sinistre. Ni le formateur ni le futur formé ne sont des spécialistes de l aéorologie et encore moins de la mécanique des fluides et la connaissance de ces modèles n apporte rien à l acquisition des compétences recherchées. 83
2 Recherches personnelles et encadrées ANIMAT PERCEPTION BEHAVIOR CONTROL perception #1 "name1" behavior #1 pattern #1 controller #1 selector objects detector #1 perception #n "namen" percepts pattern #2 behavior #2 pattern #1 commands actuator controller #m state changes (speed...) detector #1 selector detector #2 behavior #m actuator state values state values C1 C2 C3 W ij C4 INTERNAL STATE Fig. 2.18 : Architecture d animat de behavioris. behavioral module agent component internal state variable object property information flow influence link Modules et flots de données de l architecture d animat 84
Enfin, pour des raisons pédagogiques, il peut être nécessaire de simplifier certaines situations et donc faire vivre aux apprenants des expériences qu ils ne pourraient pas vivre en réalité, le modèle doit donc être contrôlable par les pédagogues. L ensemble de ces objectifs montre l intérêt de l approche phénoménologique dans les environnements virtuels de formation. Le langage de description comportementale doit permettre de décrire le résultat attendu, et non les processus sous-jacents. Cette approche constitue un complément à des apprentissages utilisant des codes de calcul «exacts» (c est-à-dire conforme à un consensus sur l état actuel des connaissances dans un domaine, avec une précision donnée et un domaine d application défini). L expression des connaissances phénoménologiques est essentiellement linguistique ; reposant sur l expérience, elles sont descriptives, fatalement parcellaires et imprécises. Elles doivent néanmoins être inférées pour développer des compétences. Pour répondre à ces exigences, nous avons proposé une architecture d agent qui permet de simuler des comportements réactifs décrits en utilisant un langage de description comportementale spécifique à base de logique floue. Les comportements sont exprimés sous forme déclarative par des thématiciens modélisateurs, n ayant pas de connaissance en langage de programmation, et qui spécifient ces comportements à partir des observations qu ils ont pu en faire. Notre proposition a été initialement développée dans le cadre du projet européen Premecs II l objectif étant la simulation de comportements réactifs d animaux, plus particulièrement de poissons mais leur portée est plus générale. Ces travaux ont été menés par Ludovic Coquelle dont j ai encadré le travail de thèse (Coquelle, 2005). Ils ont conduit au développement de l environnement de simulation comportementale behavioris ; l architecture d agent est néanmoins utilisable dans Mascaret. Par rapport à l architecture initiale d agent réactif de Mascaret, cette nouvelle architecture repose sur des modules dont la description est externalisée grâce à l utilisation d un langage de description comportementale et de modules spécialisés qui facilitent la modélisation. L approche est toujours centrée individu ; elle s adresse néanmoins à la simulation d entités moins nombreuses et de comportement plus riche que, par exemple, les pseudo particules simulant l environnement physique de Mascaret. Elle présente également l avantage d être beaucoup plus extensible. behavioris consiste en une architecture d agent réactif exécutable dans un environnement de réalité virtuelle et en un langage de description comportementale, nommé bea, pour la spécification exécutable des différents modules de l architecture. Cette proposition a été initialement développée pour la simulation éthologique ; elle repose sur la notion d animat, concept né de la rencontre des sciences du comportement, de la robotique mobile et de l intelligence artificielle distribuée et proposé par Wilson (1985). 2.3 Simulation comportementale Architecture réactive d animat Konrad Lorenz, Nikolaas Tinbergen et Karl von Frisch sont les fondateurs de l éthologie et reçurent le prix Nobel de médecine en 1973 pour leur travaux dans ce domaine. Selon Nikolaas Tinbergen, l étude du comportement animal soulève quatre questions. 1 o Quelles sont les causes immédiates du comportement? 2 o Quelle est sa valeur de survie? 3 o Comment s est il mis en place au cours de l ontogenèse? 4 o Comment s est il mis en place au cours de la phylogenèse? Le point de vue qui nous intéresse ici est le premier. 85
2 Recherches personnelles et encadrées 86
Il repose sur la notion de schéma comportemental qui décrit comment un animal réagit à l occurrence de stimulus. Pour Konrad Lorenz, le comportement, tout comme la morphologie, est caractéristique de l espèce. Ces positionnements soulèvent la question de la part respective de l inné et de l acquis et les thèses soutenues par ces auteurs ont été par la suite partiellement controversées. L éthologie admet que le déclenchement d un comportement puisse avoir lieu en présence d un stimulus dans l environnement, mais sous réserve d un certain niveau d excitation interne (ce niveau pouvant éventuellement varier par apprentissage). Ces déterminants internes sont appelées variables hypothétiques ; elles correspondent à des observables, sans que les mécanismes internes conduisant à leurs valeurs soient explicités. Nous retiendrons qu un comportement peut être défini comme la réponse immédiate d un individu en présence de stimulus externes donc perçus et internes liés à son état physiologique. On s intéresse donc à des comportements réactifs, sans apprentissage ni planification. Un schéma comportemental est alors un ensemble de règles du type : si stimulus alors réponse. La notion d animat constitue un pont entre l étude du comportement animal et les sciences de l ingénieur. Pour ces dernières, l objectif de l approche animat est de concevoir des systèmes bio mimétiques : le vivant est une inspiration pour construire des artefacts. Du point de vue éthologique, un animat définit une interface entre des stimulus et des productions d un animal. Un animat est ici un modèle permettant de calculer la réponse d un animal soumis à des stimulus ; le comportement de l animal est assimilé à celui d un artefact (automate). Cette interface se décompose en perceptions de l environnement, en variables hypothétiques caractérisant des stimulus internes, en réponses comportementales, et en réalisation d actions, ces différents éléments étant traversés par des flots d information. Un point important est qu ici un animat est un modèle de comportement, tel que peut le décrire un observateur ; il n est en aucun cas un modèle de fonctionnement d un animal. Il s agit bien d une approche phénoménologique. L architecture proposée (figure 2.18, page 84) repose sur une exécution parallèle et asynchrone de modules réactifs responsables de l évaluation des différentes fonctions de l animat : la perception de l environnement, la dynamique de l état interne, les schémas comportementaux et la réalisation des actions. Les modules sont eux mêmes décomposés en briques, nommées composants, qui constituent les éléments unitaires de description des comportements. 2.3 Simulation comportementale La perception de l environnement est assurée par différents modules de type Perception. Ces modules opèrent la détection des éléments de l environnement (en fonction de leur localisation et de leurs propriétés) et la sélection des informations susceptibles d influencer le comportement de l animat. Ils ne modélisent donc pas le processus de la perception, mais son résultat. Chaque module assure la détection d objets, l évaluation de leurs propriétés et le filtrage des informations. L information perçue par un animat est appelée percept ; c est un ensemble de propriétés d objets, étiquetées et valuées. Une propriété perçue n est pas nécessairement une caractéristique intrinsèque (objective) d un objet mais peut être une information élaborée (subjective) par l animat, p. ex. la distance au plus grand des individus situés dans un voisinage. Une perception devient un stimulus (externe) lorsque sa valeur est interprétée par l animat ; il peut s agir d un stimulus de déclenchement de comportement (quand sa valeur est comparée à un seuil) ou de guidage (quand la réponse de l animat est fonction de sa valeur). 87
2 Recherches personnelles et encadrées Ce schéma représente le mode de fonctionnement d un module comportemental behavioris utilisant un système d inférence floue. Les variables d entrée correspondent aux stimulus externes (issus des perceptions) et internes (variables de l état interne). Les sorties d un module i sont un ensemble de tuples notés λ j, v λj, µ λj où λ i est le nom d une propriété de l animat, v λj sa valeur calculée par le module i à l instant t (définie sur un domaine de R) et µ λi le degré de pertinence du module i vis à vis de λ j à l instant t ; (la notation complète serait λ j, vλ i j (t), µ i λ j (t) ). Chaque variable x d entrée est codée (fuzzyfiée) sous forme d un nombre flou x dont la fonction d appartenance est une distribution de Dirac en x(t). Le système d inférence floue est composé d un ensemble de règles d inférence floue R k qui concluent sur un sous ensemble des propriétés λ i ; µ Rk correspond au degré d activation de la règle R k. Les sous ensembles flous ṽ λj correspondant aux variables de sortie du système d inférence floue ; ils sont le résultat de la combinaison des conclusions de chaque règle sur les λ j. Ces valeurs floues sont ensuite décodées (defuzzyfiées) en nombres réels v λj. Le degré de pertinence du module i vis à vis de la variable λ j (µ λj ) est calculé comme la moyenne des µ Rk pour les règles de i concluant sur λ j. (a) Module comportemental utilisant un système d inférence floue Fig. 2.19 : Contrôle du comportement d un animat behavioris Le mécanisme de sélection par vote est utilisé pour sélectionner les valeurs des propriétés issues des modules comportementaux (cf. supra) pour l actualisation des variables d entrée des fonctions de contrôle de l animat. Il assure deux fonctions : le traitement de l incompétence des modules i et le «consensus» sur les conclusions partielles de ces modules. On dit qu un système d inférence floue est incompétent quand max(µ vj ) < ɛ; ɛ 0, ce qui signifie qu aucune règle ne conclut de façon significative sur la variable v j (la fonction d appartenance prend en tout point une valeur très faible). Cette notion est ici appliquée aux µ λj : seules les modules i pour lesquels µ i λ j (t) > ɛ peuvent participer à une session de vote. Le vote est provoqué par une demande d actualisation des variables d entrée d un contrôleur l (ou plusieurs), ce qui limite les actualisations inutiles (rappelons que tous les modules de behavioris s activent à une fréquence qui leur est propre : le flux de donnée est donc asynchrone) ; chaque module comportemental fournit la valeur de sa variable et son poids dans le vote est µ λj. La politique pour former le consensus peut être différente pour chaque variable (elle est définie par les composants Selector) : il s agit soit de la fusion des valeurs v λj (moyenne arithmétique pondérée par les µ λj des votants), soit du winner take all (la valeur du module ayant le plus fort µ λj ). À la fin du vote, l Actuator évalue la fonction du module de contrôle, ce qui conduit à modifier des variables de l animat (p. ex. sa position, sa vitesse). (b) Mécanisme de sélection d actions par vote 88
L état interne d un animat est décrit par un ensemble de variables appelées parfois variables hypothétiques en éthologie qui, comme les propriétés perçues, peuvent influencer le comportement de l animat. La modélisation de leur dynamique permet de décrire des comportements, partiellement ou totalement, déclenchés ou guidés par des stimulus internes. Ces variables internes ont une dynamique qui n est pas directement influencée par l environnement externe. Une variable peut être fonction d autres variables et peut être modifiée en retour par les actions de l animat. Les variables internes sont étiquetées et valuées ; elles sont reliées entre elles par des arcs d influence (positive ou négative) et sont périodiquement actualisées. Pour le contrôle de la dynamique de cet état interne, nous proposons deux modèles : les cartes cognitives floues et une extension des réseaux de Petri. Les cartes cognitives floues permettent de décrire assez intuitivement les relations d activation ou d inhibition entre des variables abstraites, appelées concepts (il s agit de variables linguistiques) : p. ex. la peur active le stress, le stress inhibe la satisfaction. Elles ont été utilisées par différents auteurs pour modéliser des comportements réactifs (Kosko, 1986; Parenthoën et al., 2001). Leur utilisation devient délicate lorsque l on veut expliciter des variations temporelles de variables d état ou des corrélations entre variables, p. ex. un temps de récupération après un effort, une consommation d énergie au cours du temps liée à un niveau d effort. Pour exprimer ce type de dynamique, nous avons utilisé des réseaux de Petri continus synchronisés particuliers. Chaque place du réseau représente une variable d état. Pour garantir l homogénéité avec les cartes cognitives floues, les réseaux ont une structure de graphe d état et le poids de l arc entrant d une transition est égal au poids de l arc sortant (si c est deux arcs existent). Aussi bien pour les cartes cognitives floues que pour les réseaux de Petri, la modification d une variable d état par un comportement constitue un forçage de sa valeur. Les schémas comportementaux sont décrits sous forme de règles d inférence en logique floue en utilisant le langage de description comportementalebea de behavioris. Le choix de la logique floue est justifié par la nature des descriptions comportementales qui sont généralement linguistiques, incomplètes et imprécises. Chaque module Behavior est un système d inférence floue (voir figure 2.19, page 88). Les entrées de ces modules sont les perceptions et les variables internes de l animat. Les prémisses des règles expriment les stimulus et les conclusions correspondent à des valeurs espérées des variables de contrôle de l animat. Ces variables sont sa position et sa vitesse, ainsi que toute variable linguistique définie par le modélisateur ; il peut aussi s agir de variables internes. Chaque module comportemental conclut sur la valeur de variables de l animat. Le calcul de la réaction effective de l animat nécessite de prendre en compte ces différentes valeurs et d intégrer les contraintes bio mécaniques de l animat dans son environnement. Pour cela, l architecture repose sur des composants de type Controller qui utilisent un mécanisme de vote (comme dans Damn Rosenblatt (1995)) sur les variables avec des politiques de sélection ou de fusion d actions (Coquelle et Chevaillier, 2005). Le choix de la politique, qui peut être différente selon les variables, est défini par le type de composant Selector. Un sélecteur de type Fusion opère la somme pondérée des valeurs des variables issues du vote par leur niveau de pertinence. Un sélecteur de type Maximum retourne la valeur dont le degré de pertinence est le plus élevé. Enfin, les composants de type Actuator appliquent les modifications des variables de l animat (changements d orientation, déplacements, modifications des variables internes...). Ils permettent de tenir compte de contraintes exogènes (non liées au comportement), telles que les capacités d accélération ou les collisions avec d autres objets de l environnement. 2.3 Simulation comportementale 89
2 Recherches personnelles et encadrées Species Fishoid: // --- Body Length frequency distribution and swimming speed Property BL = linearrand(0.15, 0.30) Property standardspeed = 0.632-4.40*(0.830^(BL*100)) // haddock Perception neighbours: Trigger Clock(=0.1) Detector FieldOfView(yaw=2*PI-PI/6, pitch=pi/2, dist=5.0, class="animat", k=4) End Behavior Fuzzy() Schooling: Trigger Clock(0.1) Linguistic : // Fuzzy values sustainedss is speciesfuzzyproperty("stdspeed") stdorientation is "triangle(-0.1, 0.0, 0.1)" // Inter-individual distances (from Huth and Wissel model) toonear is "down_ramp({0.15*bl}, {0.35*BL})" fairdist is "trapeze({0.25*bl}, {0.75*BL}, {1.75*BL}, {2.25*BL})" toofar is "up_ramp({1.75*bl}, {2.25*BL})" End Fig. 2.20 : Description comportementale sous behavioris Pattern FREE_SWIMMING: speedx is sustainedss orientationroll is stdorientation orientationyaw is yawglobal(stdorientation) orientationpitch is pitchglobal(stdorientation) End Pattern BOIDS_ATTRACTION: if min(neighbours.distance) is toofar then orientationyaw is mean(neighbours.yaw) and orientationpitch is mean(neighbours.pitch) end End Pattern BOIDS_REPULSION: if min(neighbours.distance) is toonear then orientationyaw is oppositeangle(min(neighbours.distance).yaw) and orientationpitch is oppositeangle(min(neighbours.distance).pitch) end End Pattern BOIDS_ALIGNMENT: if mean(neighbours.distance) is fairdist then orientationyaw is yawglobal(mean(neighbours.orientationyaw)) and orientationpitch is pitchglobal(mean(neighbours.orientationpitch)) end End End Controller motion: Trigger Clock(0.1) Selector Fusion(xSpeed, pitch, yaw) Actuator linearspeed(maxxspedd = 10*BL) Constraint Current() // drift due to sea watter current End End Exemple de comportement réactif écrit avec le langage de description comportementalebea : poissons nageant en banc selon de modèle des boids (extrait d un modèle de comportement de poisson (églefin) développé pour le projet Premecs II). 90
2.3 Simulation comportementale Langage de description de comportement Pour décrire les différents éléments d architecture d un animat, nous avons développé le langage de description comportementalebea ; la figure 2.20, page 90 est un exemple de description comportementale utilisant ce langage, dont la grammaire est donnée en annexe de la thèse de Ludovic Coquelle. S agissant de comportement animaux, la description se fait au niveau abstrait d espèce, qui est une unité taxonomique arbitraire (famille, espèce, sexe, groupe d âge...), proche de la notion de classifier en Uml. Cette description est utilisée pour la création des individus (animats). Le mode d instanciation pouvant varier d une simulation à une autre de même que l environnement simulé, il est décrit dans un fichier séparé. Le langage couvre la déclaration des propriétés de l espèce d animat, la déclaration des différents modules et la spécification de leurs composants. Certaines propriétés peuvent avoir des valeurs différentes d un individu à l autre et il est possible de préciser selon quelle loi de distribution statistique elles seront initialisées. La valeur d une propriété peut se calculer à partir d autres propriétés. Le type des propiétés est implicite : il s agit de variables réelles, pouvant de ce fait être codées sous forme de sous ensembles flous. Les perceptions sont nommées (il est alors possible d en parler dans les règles comportementales) ; le type de détecteur conditionne le mode de perception (un champ de vision conique dans l exemple) et leur paramétrage correspond aux filtres appliqués. L expressivité du langage pourrait être améliorée sur ce point avec une notation moins «informatique» (propriété = valeur), plus proche d un langage de requête. L ensemble des variables caractérisant l état interne est déclaré de la même façon que les Property et les influences entre variables s écrivent : var1 influences var2 with factor x. La description est la même, qu il s agisse d une carte cognitive floue ou d un réseau de Petri. Les schémas comportementaux forment la majeure partie de la description du comportement d un animat. Dans behavioris, un module behavior peut être tout composant assurant une fonction prenant en entrée un vecteur de propriétés et produisant un vecteur de propriétés auxquelles sont attachées un degré de pertinence (α [0, 1]). Ceci fournit un point d extension de l architecture. Néanmoins, la logique floue nous semble être un formalisme particulièrement adaptée à la description comportementale phénoménologique en vue de son exécution. Le langage bea couvre donc la déclaration de règles d inférence en logique floue. Les quelques règles de l exemple de la figure 2.20, page 90, illustrent bien une des difficultés de la description des comportement en vue de leur exécution. Prenons l exemple du pattern boids repulsion qui décrit la répulsion entre congénères trop proches. Formulée par un expert et après un effort conséquent de formalisation et de simplication syntaxique la règle serait : si trop proche des voisins, alors aller dans la direction opposée. Cette définition n est pas suffisante pour calculer un déplacement d un animat (ici dans un environnement tri dimensionnel). Tout d abord, l assertion être proche des voisins doit être transformée en : le voisin le plus proche est à une distance trop faible. (On aurait aussi pu l interpréter en la moyenne des distances aux voisins est trop faible et c est bien l intérêt de la simulation que de pouvoir tester différentes hypothèses). Ensuite, la direction opposée doit être calculée par rapport à ce voisin le plus proche et ses composantes en lacet, roulis et tangage précisées. 91
2 Recherches personnelles et encadrées 92
Le langage bea dispose d éléments syntaxiques pour manipuler des propriétés sur un ensemble d objets et en extraire une valeur (floue), ainsi que pour faire des opérations (simples) sur les ensembles flous correspondant à ces valeurs. Ainsi, neighbours.distance correspond à l ensemble des valeurs de la propriété distance du percept neighbours. L expression min(neighbours.distance) permet de désigner la plus petite de ces valeurs, et donc de parler du voisin le plus proche. Aller dans la direction opposée se traduit, dans cet exemple, par un lacet égal à l opposé de l orientation du voisin le plus proche dans le plan horizontal (oppositeangle(min(neighbours.distance).yaw)), idem pour le tangage (le roulis est ici toujours nul). L opérateur oppositeangle() effectue une opération sur un sous ensemble flou (en effectuant une symétrie de sa fonction d appartenance : µ (x) = µ( x), x [ π, π]). La règle s éloigne donc très sensiblement de la définition initiale exprimée en langage naturel. La dernière partie de la définition d une espèce d animat concerne le contrôle de l exécution des actions : mode de sélection des actions et contraintes exogènes. Dans l exemple, le calcul des actions de déplacement (vitesse linéaire et changement orientation) se fait par fusion des valeurs issues de l évaluation des règles des différents patterns comportementaux. L exécution d une action sur la vitesse de déplacement est contrainte par une vitesse maximale (ici 10 fois la longueur du poisson par seconde). Enfin, le déplacement des poissons est aussi contraint par l existence d un courant (qui est une propriété de l environnement). Le vecteur correspondant au courant (qui varie dans le temps) est appliqué au calcul du déplacement avant de l effectuer. Exprimée du point de vue de l animat, la nouvelle position n est donc pas celle qu il avait espéré, au vu de ses perceptions et en appliquant ses règles comportementales, car il est contraint par ses propres limites physiques et car il subit son environnement. 2.3 Simulation comportementale 2.3.3 Synthèse Dans cette section sur la simulation comportementale, nous avons proposé deux architectures d agent utilisables dans le cadre d environnements virtuels de formation, chacune ayant un mécanisme de sélection d actions particulier. Nous avons qualifié la première d architecture d agent rationnel (le terme délibératif aurait aussi pu être retenu) et la seconde d architecture d agent réactif (animat). La première architecture est orientée vers la simulation de l exécution collaborative d un plan d actions (partiellement spécifié) par un collectif mixte d agents évoluant dans un environnement dynamique. D un point de vue pédagogique, on cherche à contrôler partiellement le déroulement d un scénario, sachant que rien ne garantit que tel agent pourra effectivement réaliser l ensemble des actions qui incombent à son rôle. L algorithme de sélection d actions a pour objectif de déterminer, à tout instant et en fonction du plan d actions et d occurrences d événements externes (produits par l environnement ou résultant de l activité des autres agents), quelles actions démarrer ou arrêter. Cet algorithme est partiellement dirigé par les buts car la réalisation de certaines actions explicitées dans le plan nécessite que d autres actions soient réalisées au préalable. Cette proposition a été développée dans la thèse de Querrec (2002) ; elle complète le modèle organisationnel présenté précédemment (section 2.2.2). 93
2 Recherches personnelles et encadrées 94
La seconde architecture est destinée à la simulation de comportements réactifs dans un environnement dynamique. L agent est considéré comme un système dynamique, son comportement est donc intrinsèquement dirigé par une fonction de contrôle. La spécification du comportement consiste à décrire l évolution des variables de cette fonction de contrôle (valeurs de propriétés perçues ou variables d états internes). Dans ce cas, l algorithme de sélection d actions a pour rôle de calculer les valeurs des variables d entrée de la la fonction de contrôle en fonction de variables intermédiaires. Ces variables intermédiaires résultent de la perception de l agent, de l application de règles comportementales (ici il s agit d un système d inférence floue) et de variables internes. Les politiques de sélection d actions conduisent soit à la fusion d actions, soit à la sélection d une action. Dans notre proposition, cette politique peut être définie pour chaque variable. Cette architecture est le fruit du travail de thèse de Coquelle (2005) que j ai partiellement encadré. Elle a été développée en utilisant la plate forme ARéVi (Harrouet et al., 2006) dans le cadre du projet européen Premecs II, et utilisée dans le projet européen Necessity, avec pour objectif la simulation de comportements de poissons ; une convention cadre a été établie avec l Ifremer pour compléter cette proposition nommée behavioris. Notre objectif est de l utiliser aussi dans Mascaret. Une question difficile en simulation comportementale est celle de la validité des modèles, ce qui nécessite de revenir aux objectifs et contraintes assignés à cette modélisation. D une manière générale, la qualité d une modélisation dépend du point de vue d un observateur O et un objet A est considéré comme un (bon) modèle de A, dans la mesure où O peut utiliser A pour répondre à des questions qui l intéresse à propos de A. Nous nous plaçons ici dans un contexte d apprentissage humain et le point de vue central est celui de l apprenant. Par essence cet utilisateur n a pas une connaissance complète de l environnement d apprentissage et n a pas toutes les compétences pour agir dans cet environnement. L intérêt de la réalité virtuelle est de confronter les apprenants à des situations plus simples que celles du monde réel et de contrôler ces situations. L environnement virtuel d apprentissage est donc nécessairement une simplification, une idéalisation du réel. Il ne s agit donc pas de reproduire numériquement tous les processus qui gouvernent l environnement et il est nécessaire de distinguer ce qui relèvent ou non de l objet d apprentissage. Dans le premier cas, les processus doivent être simulés explicitement : l apprenant doit acquérir des compétences sur ces processus et manipuler son environnement pour en comprendre les lois, il est donc amener à manipuler le modèle comportemental. Le second cas correspond à des objets ou phénomènes qui font partie de l environnement mais sur lesquels l apprenant n a pas à acquérir de compétences ; ils peuvent alors être considérés comme des «boîtes noires». Dans le premier cas, le critère de validation porte sur le comportement interne de l objet simulé ; dans le second elle porte sur des observables externes (les effets d un comportement interne). Lorsque, dans Mascaret nous avons simulé la dynamique de l environnement physique et le déroulement d un plan d actions, ou que dans behavioris nous avons simulé les comportements des poissons en interaction avec des engins de pêche, nous nous sommes avant tout intéressés à reproduire de manière causale les comportements des entités, tels qu ils sont observables extérieurement. Nous nous sommes donc autorisés à utiliser des algorithmes qui ne simulent pas le fonctionnement interne de ces entités. Nous avons simulé la réalisation collective d un plan d actions ou le comportement de poissons, mais nous n avons pas cherché à simuler comment un humain ou un poisson élabore et produit des actions observables. 2.3 Simulation comportementale 95
2 Recherches personnelles et encadrées 96
Notre approche est donc phénoménologique. Elle correspond aussi au paradigme de l éthologie qui s interdit de faire des hypothèses sur les mécanismes internes régissant les comportements des animaux ou de leur prêter une attitude intentionnelle (intentional stance, Dennett (1987)), trop souvent anthropocentrique. Elle repose uniquement sur des observables in situ. Après la validation des modèles, se pose la question de leur expressivité qui renvoie elle aussi à celle des usages. Comme nous l avons déjà dit, idéalement, les environnements virtuels de formation devraient être construits par les enseignants et ils devraient permettre de faire varier aisément les situations d apprentissage. Ceci justifie le recours à des langages de description comportementale et l utilisation de modélisations comportementales robustes vis à vis des conditions dans lesquelles elles sont déployées afin de ne pas avoir à construire un modèle par situation d apprentissage. Même s il paraît difficile de concevoir un langage universel de description comportementale, supporté par une unique architecture d agent, on peut identifier un certain nombre de propriétés qu exhiberaient les solutions à ce problème. Un point est l équilibre entre le contrôle de la simulation et sa robustesse. Il est nécessaire de disposer d un langage permettant d exprimer des contraintes sur les enchaînements d actions qui puissent être modifiées en fonction de l évolution de la situation d apprentissage, ce que nous avons proposé avec notre version exécutable de la logique temporelle de Allen. L exécution de certaines actions est aussi liée à l occurrence d événements et les systèmes à état transition sont adaptés à ce type de spécification. Nous avons utilisé les réseaux de Petri, le recours à des langages plus expressifs comme les machines à états d Uml ou Hpts (Donikian, 2001) pourrait être envisagé ; Kearney et al. (1999) et Devillers et al. (2002) ont proposé avec Slurhg un langage qui mixte l approche scénarisée et l approche événementielle. Pour que les scénarios construits puissent être appliqués dans différents contextes, il faut que les actions soient paramétrables et que les agents aient des capacités de planification dynamique : les objets que manipuleront les agents ne sont pas tous connus a priori et doivent éventuellement être recherchés dans l environnement avant d être utilisés. Nous avons proposé une solution en ce sens. Un autre point est la spécification des aspects collectifs. Nous avons déjà souligné en 2.2.6, page 69, la nécessité de spécifier les règles organisationnelles métier, ce que devrait aussi intégrer le langage. L utilisation de la logique déontique, tel que l on proposé Hübner et al. (2002) ou Tranier et al. (2003), permettrait de spécifier les obligations (et interdits) des agents au sein d une organisation, ce qui permettrait d exprimer des contraintes générales, indépendamment des plans d actions (Barbuceanu et al., 1999). Le dernier point est l expression des connaissances des agents et leur manipulation. Dans ce domaine, de nombreux langages existent (Brachman et Levesque, 2004). La Fipa a encouragé le développement de Kif comme langage de contenu et Kqml comme langage de communication entre agents, mais ces solutions ne sont pas entièrement satisfaisantes ; elles sont sous spécifiées et ne traitent pas explicitement des ontologies. Pour étendre notre proposition aux agents pédagogiques, il sera nécessaire d intégrer des modules de gestion des connaissances et de communication. Ce travail est en cours. J ai encadré le stage de master recherche de Cyrille Baudouin qui a proposé, à partir d un état de l art sur les agents pédagogiques (Baudouin, 2005a), une architecture d agent permettant de répondre à des sollicitations de l apprenant par des re-médiations ou l explication des buts et sous-buts. 2.3 Simulation comportementale 97
2 Recherches personnelles et encadrées 98
Il a développé une solution fondée sur l architecture cognitive Soar (Laird et al., 1987). Le choix des actions pédagogiques s adapte à l apprenant en tenant compte de sa capacité de conceptualisation. Les connaissances du domaine sont structurées en trois ensembles (concepts, comportements, objets). Selon le profil de l apprenant et la situation pédagogique (rôle joué par l agent, professeur, entraîneur...), les interventions de l agent pédagogique s orientent vers un de ces trois ensembles (Baudouin, 2005b). Comme le montre cette brève revue de différents domaines de la modélisation du comportement d agents, nos propositions d architecture d agent et de langage de modélisation comportementale devront être enrichies. Nous avons identifié un cadre de modélisation et définit une architecture minimale d agent selon une approche classique framework composant que nous continuons à enrichir ; c est un objectif de la thèse de Cyrille Baudouin que j encadre actuellement. Son travail porte sur l extension de Mascaret afin de doter cet environnement de formation d une assistance pédagogique multi agents. Cette problématique d architecture comportementale est aussi abordée dans le travail de thèse de Stéphane Bonneaud sur la multi modélisation adaptative en éco systémique (projet virtuocean). 2.3 Simulation comportementale 99
2 Recherches personnelles et encadrées 100
CHAPITRE 3 Perspectives Mes perspectives de recherche s inscrivent dans le projet général du Cerv en réalité virtuelle. L objectif est de définir des modèles pour concevoir des environnements virtuels dans lesquels des humains peuvent exécuter efficacement une tâche qui nécessite une contribution active orientée vers un but commun d entités du monde virtuel et d autres humains. Les applications type de ces principes sont bien sûr les Evahs environnements virtuels pour l apprentissage humain mais il est envisageable de les appliquer aussi aux environnements de simulation de systèmes complexes, ce qui contribue au projet général du Cerv du développement d un virtuoscope, tel que défini par Tisseau (2001). Mon projet de recherche est le prolongement et l élargissement des mes travaux précédents. Dans la thèse de Ronan Querrec, Mascaret était un modèle d environnement virtuel, il est devenu un projet de recherche visant à définir les modèles nécessaires à la réalisation d environnements virtuels de formation adaptatifs et collaboratifs, projet que je mène en collaboration avec d autres membres du LISyC et qui fait l objet de travaux doctoraux. Ce chapitre présente mes perspectives de recherche dans ce domaine. La définition de ce que peut être un Evah adaptatif et collaboratif est bien loin d être arrêtée. La problématique est vaste, réalité virtuelle, intelligence artificielle, génie logiciel, ergonomie cognitive, ingénierie des connaissances, sciences de l éducation elles mêmes plurielles, et cette définition évoluera nécessairement en retour des usages qui seront faits de tels environnements. Ce point me paraît essentiel dans l adoption d une démarche scientifique à long terme. Un Evah n est pas un objet commun au même titre que les environnements virtuels réellement immersifs et interactifs et les environnements multi agents interactifs, voire ubiquistes ou diffus. C est un objet d étude qui se construit un artefact et non un donné comme en science de la matière et de la vie. in fine les qualités de tels environnements se mesurent à l aulne des performances des usagers. Leur validation nécessite donc leur expérimentation. Les contours de l utilisation des Evahs en formation professionnelle commencent à se dessiner (Mellet d Huart, 2004). En revanche, leur utilisation en formation académique est encore balbutiante (voir D Cruz et al. (2005) pour une revue de cas d étude au Royaume Uni). L expérience montre que pratiques pédagogiques et environnements virtuels de formation doivent encore co évoluer pour être adaptés l un à l autre. Ceci justifie le développement d une plate forme opérationnelle, fortement évolutive, afin de disposer d un objet d étude et d un dispositif d expérimentation et de validation pour mener nos recherches. 101
3 Perspectives Sommaire 3.1 Le projet Mascaret......................... 103 3.2 Modèle d environnement virtuel : Veha............. 107 3.3 Simulation comportementale :Have................ 109 3.4 Système tuteur multi agents : Mats............... 111 3.5 La réalité virtuelle pour la formation scientifique....... 113 102
3.1 Le projet Mascaret 3.1 Le projet Mascaret Le projet Mascaret est un travail d équipe qui vise à proposer des modèles pour la conception d Evahs adaptatifs et collaboratifs et à développer une plate forme opérationnelle supportant ces modèles. Les travaux présentés dans ce mémoire sont des propositions partielles de briques constitutives de Mascaret qui nécessitent maintenant d être précisées et complétées. Tous les éléments constituant un Evah idéal ne seront pas développés par une seule équipe de recherche a fortiori par un chercheur. Des solutions divergentes sont parfois proposées (réalité virtuelle ou réalité augmentée, tuteur personnifié ou non, auto formation ou en présence d un formateur...) sans que l état de l art ne permette toujours de trancher en faveur de l une ou de l autre (souvent le contexte d utilisation justifie la solution retenue). Des choix doivent être faits, des collaborations doivent s établir. Ma contribution au projet Mascaret continuera à porter plus spécifiquement sur la dimension adaptative et collaborative de tels environnements. Mon hypothèse de recherche est que les systèmes multi agents offrent des propriétés pertinentes sur ces points et que les environnements virtuels doivent être spécifiquement conçus pour herberger ces agents. Mes travaux ont contribué à montrer l intérêt de disposer de modèles pour la représentation et l exécution des environnements virtuels pédagogiques multi agents. L approche basée modèle permet 1 o de proposer des solutions indépendantes des plates formes d exécution (et donc d en élargir la portée), 2 o d accroître la maîtrise et l évolutivité des solutions (qui est une exigence de l ingénierie pédagogique, le développement de contenus étant souvent très coûteux), 3 o de vérifier les propriétés des systèmes par leur formalisation, 4 o de disposer d éléments permettant aux agents artificiels et humains de se construire des représentations, éventuellement partagées, sur lesquelles ils peuvent inférer. Ces quatre exigences conjuguées justifient la réification des modèles dans l environnement de simulation et le recours à des langages de modélisation suffisamment expressifs pour que les modèles soient construits par les experts métier eux mêmes. Cette idée a été au centre de mes travaux et nécessite d être poursuivie. Le choix d un langage de modélisation implique de définir la portée et la granularité de la modélisation (quels sont les atomes du modèle?). Deux exigences doivent être satisfaites : 1 o les experts métier ne veulent légitimement spécifier que ce qui est du domaine de leur expertise et 2 o le développeur de l application veut pouvoir définir comment cela va être implémenté (simulé) dans la plate forme de réalité virtuelle. Ces deux représentations sont parfois confondues ; c était le cas avec la modélisation des systèmes automatisés de production en réseaux de Petri que nous avons proposée car le métier des experts était proche de celui des informaticiens. Il me semble donc nécessaire de bien séparer ces deux modélisations. Ceci pourra être réalisé d une part en distinguant clairement ce qui est du domaine de l expertise et qui est une information exploitable par un agent (artificiel ou humain) de ce qui relève d un modèle de simulation (qui ne nécessite pas d être réifié) et, d autre part en adoptant un processus de transformation de modèle qui garantit la production d un modèle exécutable cohérent en fonction de la plate forme cible. L introspection du modèle se limite donc aux concepts métier, ce qui en définit la granularité. 103
3 Perspectives UML metamodel MASCARET metamodel UML Modeler Platform Independant Model MASCARET executable model MASCARET PIM Model transformation Platform Dependant Models MASCARET implementation MASCARET modeler Ce graphique illustre le processus de construction d un Evah Mascaret par transformations successives de modèles. Le méta modèle Mascaret est construit comme un extension de packages du méta modèle Uml (voir ci dessous) et sont méta modèle est formalisé dans ce langage. De ce fait, les modèles peuvent être pour partie construits en utilisant des modeleurs existants (s ils supportent les mécanismes d extension d Uml et exortent les modèles en Xmi). Ces modèles pourront être complétés un utlisant des modeleurs spécialisés. Cette phase de modélisation permet, d obtenir un modèle d Evah indépendant de toute plate forme d implémentation. Ce modèle peut ensuite être transformé pour obtenir, soit une implémentation «native» de Mascaret pour une plate forme de réalité virtuelle (en générant le code source correspondant à son exécution), soit un modèle décrivant les données utilisées par un «native» Mascaret (le modèle est alors interprété ; il peut être au format Xmi). (a) Processus de construction d un environnement de formation utilisant la plate forme Mascaret. MASCARET MATS: Tutorial System VEHA HAVE Agent Fig. 3.1 : Le projet Mascaret Simulation Engine Agent Management System Virtual Reality platform Agent Platform (b) Vue générale des modèles de Mascaret et dépendances avec d autres systèmes. 104
La figure 3.1, page 104, présente les principaux sous systèmes qui constitueront à terme Mascaret. Le sous système Veha (pour Virtual Environment supporting Human Activities) correspond à la modélisation de l environnement «physique» dans lequel les apprenants exécutent leurs tâches. Il correspond à la modélisation du support de l apprentissage et est donc destiné à être entièrement réifié ; ses principes sont présentés dans la section suivante, page 107. Pour être exécuté, le modèle Veha pourra s appuyer sur des modèles de simulation (simulation engine), tels que des réseaux de Petri, des moteurs physiques, exécutables sur des plates formes de réalité virtuelle. Have (pour Human Activities in Virtual Environments) a pour objectif la formalisation des activités des agents artificiels et humains dans l environnement virtuel ; ces activités correspondent à des actions dans l environnement, mais aussi à des actions de communication entre agents (le contenu des messages portant essentiellement sur des représentations des activités, de l état du monde et des agents). Le package Agent correspond à une architecture comportementale d agent, telle que celle de behavioris en l enrichissant de modules décisionnels plus riches (Bdi, Soar) et d algorithmes d apprentissage. Il correspond aussi classiquement au comportement organisationnel et communicationnel des agents. Le tutorial system Mats (pour MultiAgent Tutoring System) est le support de la fonction pédagogique. Il s agit d un système multi agents qui assure les services d un Its. Il est indépendant du domaine d apprentissage (l expertise est didactique) et repose sur les modèles Veha et Have qui constituent le socle du modèle du domaine d un Its. Trois grands types d agent sont identifiés : les agents service qui rendent accessibles les services disponibles dans l environnement virtuel ou de l Its, les agents gestionnaires de connaissance qui sont des agents pédagogiques non situés assurant les fonctions classiques d un Its et les agents situés qui agissent localement dans l environnement virtuel de formation. Les schémas de la figure 3.1, page 104, illustrent le principe de construction d un Evah utilisant Mascaret. Ils mettent l accent sur un choix fort qui est de s appuyer, aussi loin que cela est possible, sur le langage de modélisation Uml, non pas en tant que langage de modélisation informatique mais en tant que langage de description des domaines d expertise. L enjeu est d éviter de redéfinir des concepts déjà éprouvés et de s appuyer sur des standards existants en terme de langage de modélisation et de format d échange de modèles (Xmi). Le recours au langage Uml pour la spécification de systèmes multi agents a déjà été envisagé. Agent UML (Bauer et al., 2001) était une proposition d extension d Uml 1.4 consistant essentiellement à enrichir le modèle de collaboration ; ses principes ont été repris et intégrés dans le modèle des interactions d Uml 2 ; l approche reste néanmoins orientée objet. Odell et al. (2001), Parunak et Odell (2002) ont utilisé Uml pour la modélisation de comportement sociaux autour de la notion de rôle qui est une notion centrale lorsque les structures organisationnelles sont explicites dans les systèmes multi agents (Depke et al., 2001). La définition du méta modèle Mascaret nécessitera de définir des extensions du méta modèle Uml (sous forme de profile). Le raisonnement des agents Mats nécessitera une réification du méta modèle afin d inspecter le modèle et d exprimer des méta connaissances. Les travaux ont déjà commencé (ils ont été pour partie utilisés dans Buche (2005) et Baudouin (2005b)) mais la formalisation n est pas encore complète. 3.1 Le projet Mascaret 105
3 Perspectives (a) Package du méta modèle Veha : dépendances avec le méta modèle Uml et relations Veha Have Fig. 3.2 : Principales classes des packages Veha (vue statique) (b) Vue générale des packages du méta modèle Veha 106
3.2 Modèle d environnement virtuel : Veha 3.2 Modèle d environnement virtuel : Veha L objectif de Veha est de disposer d un méta modèle pour décrire l environnement supportant l activité des agents, humains et artificiels. Ces agents doivent pouvoir se faire une représentation des objets de leur environnement et de la façon dont ils pourraient les utiliser pour réaliser des actions leur permettant d atteindre leurs buts. Des modèles d environnements informés et structurés on déjà été proposés pour la navigation d humains virtuels (Farenc et al., 1999; Thomas et Donikian, 2000; Donikian, 2004) qui est un type de tâche parmi d autres. Les travaux sur le modèle Veha ont débuté récemment et nécessitent d être poursuivis ; ils sont une extension et une généralisation des propositions faites dans les thèses de Ronan Querrec (utilisant des objets de l environnement pour la réalisation de plan d actions), de Ludovic Coquelle (notion de percept) et de Dorin- Mircea Popovici (notion d espace informationnel) (Popovici, 2004). L objectif est de pouvoir décrire un environnement virtuel, non pas en tant qu espace géométrique (tel qu un graphe de scène) mais en introduisant une sémantique permettant aux agents artificiels et aux humains de s en construire une représentation partageable et d y agir conjointement. Un agent a besoin de savoir de quels objets est composé l environnement, d en connaître l accessibilité, les propriétés (attributs), le comportement, et aussi de savoir en quoi ils pourraient lui être utiles dans la réalisation de ses actions. Les connaissances sur lesquelles raisonnent les agents peuvent porter sur des concepts (des classes) ou des objets instanciés. Par exemple, un agent peut savoir qu une vis se visse avec un tournevis et que l attribut taille de vis doit être égal à celui de tournevis, ce qui peut déclencher alors un comportement de recherche d un tournevis (localisation, déplacement, préhension) et l exécution de l opération visser avec le tounevis t i sur la vis v j. Le méta modèle Veha doit donc rendre ces deux niveaux inspectables en ligne (voir figure 3.2, page 106). Le méta modèle Veha est structuré en packages qui sont des spécialisations de packages du méta modèle Uml auxquels s ajoutent des packages qui ont un rapport plus lointain avec le méta modèle objet, et qui sont liés à la notion d environnement virtuel informé et structuré : ils supportent la représentation tangible des objets et leur localisation (l objectif est d intégrer les représentations spatiales dans le raisonnement des agents situés (McNamara, 2003). Le profil Veha sera à la fois une restriction et une extension car tous les éléments d Uml ne sont ni nécessaires ni suffisants pour la modélisation envisagée ici. Il sera nécessaire de définir formellement toutes les extensions apportées par Veha et de montrer leur pertinence pour les environnements virtuels pour l apprentissage humain multi agents. Un point crucial est la modélisation de la manipulation des objets et des interactions (mécaniques) entre objets. Il est à l intersection de la modélisation de l environnement et des actions, donc de Veha et de Have. L objectif est de doter les entités physiques de Veha des propriétés nécessaires à la description et au calcul des interactions, à la manière des smart objects de Kallmann et Thalmann (1998) ou plus récemment du projet Starfish (Badawi et Donikian, 2004). Il sera nécessaire de séparer la description métier de l interaction de ce qui est du ressort de la simulation de son effet et donc d un moteur physique. 107
3 Perspectives (a) Exemple de modèlisation d activités collectives. Utilisation du modèle d activité procédurale de Have couplé à une description de l environnement virtuel selon Veha (projet Dcn Cerv Gaspar). Il s agit d une première application de taille réelle qui nous sert à valider les concepts du projet Mascaret et à en affiner la sémantique. Fig. 3.3 : Exemple de description de plan d actions avec Have (b)exemple de procédure écrite sous forme d un diagrammme d activité Uml. 108
3.3 Simulation comportementale :Have 3.3 Simulation comportementale :Have L objectif ici est de modéliser les comportements d agents artificiels (humains virtuels ou agents pédagogiques) ou humains (apprenants) exécutant de manière collaborative des actions dans un environnement Veha en vue de la réalisation de leurs tâches. La modélisation de ces actions, organisées en flots d activités, a plusieurs objectifs. D un point de vue pédagogique, elle constitue, avec la modélisation de l environnement, une description du domaine sur lequel porte l apprentissage. Elle sert de base à la reconnaissance des actions de l apprenant, et donc à la construction du modèle de l apprenant. Elle contribue donc à l identification de la situation pédagogique courante, et donc du contexte de l intervention des agents pédagogiques (Buche, 2005). Du point de vue de la synthèse comportementale d acteurs virtuels, le modèle des activités est une des données d entrée des algorithmes de l achitecture comportementale : planification dynamique, coordination d actions, apprentissage. Le modèle Have, Human Activities in Virtual Environments, a vocation à décrire les activités des agents et leurs interactions d un point de vue métier. Il est centré sur les notions d action, d activité, d interaction et de collaboration qui sont déjà présentes dans Uml, mais dont la sémantique devra être adaptée au paradigme des systèmes multi agents. La figure 3.3, page 108, est une illustration de ce travail initié en stage de master par Marion (2006). Jusqu ici dans Mascaret, les comportements collectifs ont été envisagés d une manière simple, l exécution d une procédure par un ensemble d agents dont les rôles sont prédéfinis. Ils pourraient être modélisés sous forme d activity chart Uml, enrichi de quelques contraintes d enchaînement d actions. Cette modélisation est cependant restrictive du point de vue des activités humaines, et donc peu adaptée à la reconnaissance des activités des apprenants. Lorsqu elles sont réalisées par un groupe, de nombreuses activités périphériques sont exécutées (Clancey, 2002) ; le plan d actions n est pas exécuté, il est utilisé par les agents (Agre et Chapman, 1990). Si l on souhaite plus de réalisme dans la simulation ou si l on veut qu un agent informatique puisse coopérer avec un agent humain, il est impératif de prendre en compte ces activités (voir Fan et Yen (2004) pour une revue partielle sur ce thème) et, dans un Evah, de ne pas les considérer comme des comportements erronés. Pour cela, je souhaite m intéresser à la théorie des activités et à la cognition située appliquées aux systèmes multi agents, comme dans Pengi (Agre et Chapman, 1987) ou Brahms (Clancey et al., 1998). L une des faiblesses d Uml est qu il ne propose pas de langage d action, et a fortiori pas de logique des actions. L autonomie des agents suppose une typologie des actions qui tiennent compte du modèle Veha. Ce concept est proche de celui de Primitive Comportementale Virtuelle (Lourdeaux, 2001) ou des actions de Starfish. Le travail sur le langage de description comportementalebea devra être poursuivi en intégrant la sémantique des actions dans un monde Veha, ce qui augmentera son expressivité et permettra d intégrer des algorithmes de planification et d apprentissage. L architecture behavioris pourrait être étendue selon un modèle de type processeur humain qui est à la base de bon nombre des architectures cognitives proposées pour simuler le comportement humain (Gluck et Pew, 2005). 109
3 Perspectives Fig. 3.4 : Exemple d entité organisationnelle du système tutoriel Mats Ce diagramme de collaboration Uml illustre ce que pourrait être un exemple d organisation dans un Evah ; il n a pas vocation à figurer un cas réel, mais à en présenter le principe de Mats. Dans ce schéma, les différents agents sont représentés comme des instances de classifierrole et les entités organisationnelles comme des relations n aires entre ces instances. Dans cet exemple, on trouve un apprenant et un formateur, tous deux immergés dans l environnement via leur avatar qui joue le rôle de représentant (proxy). La tâche de l apprenant s insère dans un travail d équipe (comme dans la version initiale de Mascaret). Le système tutoriel n est représenté que partiellement. Sa fonction est le résultat d interactions entre des agents impliqués dans deux structures organisationnelles. La première supporte l application d une stratégie pédagogique perturbatrice (avec les rôles de compagnon et de perturbateur) ; le rôle de perturbateur est joué ici par l avatar du formateur qui lui a délégué ce rôle). La deuxième structure organisationnelle a pour but de caractériser l activité de l apprenant, et donc de participer à construire le modèle de l apprenant ; pour cela, il est nécessaire de disposer de connaissance sur le domaine d apprentissage, rôle joué par un AgentGC (ayant des capacités de gestion de connaissances) et de reconnaître (et mémoriser) les actions de l apprenant (rôle analyseur d activité). Cette tâche étant difficilement automatisable, elle est assurée en collaboration avec le formateur. L objectif à terme est de formaliser les compétences, les actions et les interactions entre ces différents agents afin de rendre le système adaptatif. 110
3.4 Système tuteur multi agents : Mats 3.4 Système tuteur multi agents : Mats De nombreux Evahs intègrent des agents pédagogiques et un plus petit nombre repose sur un système multi agents. Généralement l «agentification» du système est partielle et le processus pédagogique (enseignement/apprentissage) n est pas considéré, dans son ensemble, comme adaptatif et collaboratif. Le dispositif pédagogique repose sur l activité d entités autonomes et proactives collaborant pour atteindre un objectif commun, dont les rôles sont parfaitement déterminés. Il s agit d un collectif mixte (humains et entités informatiques) dont la configuration n est pas fixe (p. ex. l implication d un formateur humain peut être modulée) ; la figure 3.4, page 110 illustre une situation possible. Le but partagé de ce collectif est d accroître les compétences d agents particuliers, les apprenants, et aucune entité ne peut y parvenir isolément. Pour parvenir à cet objectif d agentification de la fonction pédagogique d environnements virtuels qui est l objectif de la thèse de Cyrille Baudouin deux points doivent être traités : 1 o disposer d une plate forme pédagogique multi agents, 2 o formaliser le processus pédagogique en tant que système multi agents. Le premier point est la notion de plate forme multi agents à vocation pédagogique qui nécessite une description des services pédagogiques et des propriétés des agents de façon à ce que ces informations soient découvrables par d autres agents. La définition des services reposera bien entendu sur les concepts classiquement présents dans les Its : représentation du domaine, gestion du profil de l apprenant, de la stratégie pédagogique et des modalités d interaction. Les services de la plate forme seront donc à la fois ceux d un environnement virtuel distribué (immersion et interaction multi utilisateurs), d un système de gestion d agents (au sens Fipa) et d un environnement de simulation participatif (construction du modèle et observation analyse de son comportement). Le deuxième point est la formalisation de la fonction pédagogique en tant que processus adaptatif et collaboratif impliquant un collectif d agents artificiels et humains. La conception d agents pédagogiques reposant sur les principes des Its nécessitera de doter ces agents d une représentation de l activité de l apprenant, de ses connaissances, des compétences qu il doit acquérir, bases du modèle de l apprenant. La solution devra prendre en compte les spécificités de la démarche pédagogique. L approche socio constructivisme implique de mettre l accent sur l activité de l apprenant (et sa régulation) et sur le rôle du contexte (Akhras et Self, 2000). Ces agents devront être en mesure d adapter leurs comportements en fonction des méthodes pédagogiques (Frasson et al., 1997), des stratégies d apprentissage des apprenants (éventuellement de les favoriser). Un rôle pédagogique correspond à un ensemble de responsabilités et de capacité d action dans l environnement virtuel de formation et leur activation devra être modulable en fonction de la situation pédagogique. Les rôles décrits dans la littérature sont les rôles de tuteur, comme Steve, hal (Lourdeaux, 2001), de compagnon (Chou et al., 2003), de conseiller (Linton et Schaefer, 2000), de perturbateur (Frasson et al., 1997), d expert ou de détecteur d erreur (Capuano et al., 2000b), de médiateur ou de facilitateur (Webber et al., 2002)... Les responsabilités des divers agents (en fonction de leurs rôles) devront être définies formellement, ainsi que la nature de leurs interactions. Les algorithmes tiendront compte du fait que les connaissances des agents sont nécessairement partielles, souvent imprécises et peuvent nécessiter de fréquentes ré-évaluations. 111
3 Perspectives Cette scène est celle d un prototype d environnement virtuel de formation Mascaret qui a pour vocation de valider la capacité d apprentissage dans un tel environnement, par comparaison à la réalisation de mêmes travaux pratiques dans un environnement réel. Chaque objet est une entité Veha dont le comportement est contraint de façon à faciliter les manipulations. Toute réalisation d un opération sur un objet génère un événement qui est enregistré de façon à garder une trace de l activité de l apprenant ; il est ainsi possible de savoir quel objet a été manipulé, par qui, dans quel état il était, quelles étaient les valeurs de ses attributs et où était il situé et quelle transformation il a subit. Selon Zibetti et al. (2001), ces informations sont des éléments nécessaires à la reconnaissance des actions. Actuellement, ce protoype est utilisé pour valider la pertinence d action pédagogiques qui, à terme, sont destinées à être déclenchées par un agent pédagogique. (a) Environnement d apprentissage de la mesure de la vitesse de la lumière dans différents milieux en utilisant une méthode par différence. Fig. 3.5 : Application de Mascaret à l enseignement de la physique Dans cette scène, nous avons fait varier l environnement pour évaluer les capacité de transfert de l apprenant. Certains objets sont communs aux deux scènes (mais ne sont pas disposés de la même façon) ; certaines actions doivent être réalisées en utilisant d autres objets (p. ex. la mesure des distances relatives parcourues par le rayon lumineux). La situation problème est elle même un peu plus complexe. L avantage à utiliser Mascaret est que le code est le même pour les deux environnement ; la différence entre les deux situations est la disposition des objets et le comportement de certains (écrits sous forme de machines à états). L objectif à terme est que les apprenants puissent constuire eux mêmes leur environnement d apprentissage en utilisant des dispositifs d un laboratoire de physique virtuel, sans les contraintes du réel. (b) Environnement d évaluation. 112
3.5 La réalité virtuelle pour la formation scientifique 3.5 La réalité virtuelle pour la formation scientifique Mon objectif est aussi d utiliser Mascaret dans mes enseignements comme plate forme de travaux pratiques. Actuellement, j utilise des simulations en réalité virtuelle dans mes travaux pratiques de soft computing. Il s agit de la simulation d un dispositif physique (pendule inversé, robot mobile dans un labyrinthe). L environnement virtuel ne dispose d aucune fonction pédagogique, il est peu interactif et non modifiable par les élèves, donc bien éloigné de ce que les résultats de nos recherches permettraient de réaliser. L utilisation de Mascaret permettrait de fournir aux élèves, directement dans l environnement, des connaissances sur les objets manipulés, de leur présenter différentes représentations de la situation d apprentissage et de les guider dans la tâche qui leur est demandée. Ce dispositif pourrait ensuite être réutilisé par les étudiants dans des activités moins encadrées que sont les mini projets. Les élèves auraient alors la possibilité de varier les contextes d utilisation des techniques vues en cours et déjà mises en œuvre en travaux pratiques et pourraient recevoir un retour sur leurs activités. Avant de mettre en pratique un tel dispositif, il convient d en valider la pertinence, tant sur le plan informatique que pédagogique ; l objectif étant de proposer un Evah et une démarche pédagogique adaptée qui puisse être utilisés, de manière plus générale, en formation scientifique par différents enseignants. Nous avons entrepris, en collaboration avec l équipe Asap du LISyC, une étude sur l utilisation de la réalité virtuelle et des systèmes multi agents pour le développement d une environnement virtuel pour des travaux pratiques de physique. Un premier environnement virtuel a été développé (voir figure 3.5, page 112) ; il sert de référence pour la proposition d enrichissements pédagogiques représentés et manipulables dans l environnement (en tirant parti des potentialités de la réalité virtuelle) et pour la validation d interventions pédagogiques de la part d un système tuteur adaptatif qui sera à terme multi agents. Ce travail fait suite à une étude de Beney et Guinard (2004) sur l efficacité du guidage dans les travaux pratiques sur ce même dispositif, mais en réel. Utiliser Mascaret dans mes enseignements est un projet très stimulant du fait de la synergie de deux rôles, enseignant et chercheur. Mon rôle d enseignant me permet de définir les usages possibles d un Evah et de définir les objectifs et les contraintes de mes recherches. Mon rôle de chercheur me permet de proposer des solutions nouvelles et modifie en retour mes pratiques pédagogiques. En tant qu enseignant, je souhaite disposer d un environnement virtuel aisément manipulable par les élèves, sans dispositif lourd d interaction, de façon à favoriser l apprentissage par la pratique. Pour cela l environnement devrait aussi être fortement réactif de façon à favoriser les stratégies actives d apprentissage reposant sur l expérimentation, sur l observation du comportement des objets d apprentissage, sur l analyse de ses résultats, de sa démarche. Cet environnement ne devrait pas exclure l enseignant du système qui doit pouvoir agir dans l environnement avec ses élèves et apporter une dimension sociale indispensable qui, à mon avis, ne peut aujourd hui être apportée par un agent pédagogique personnifié. Il s agit donc à la fois d un projet de recherche et d un projet pédagogique, tant les pratiques dans ce domaine devront être adaptées à ces nouveaux environnements d apprentissage. 113
3 Perspectives 114
CHAPITRE 4 Références bibliographiques Agre, P. E. et Chapman, D. (1987). «Pengi : An implementation of a theory of activity». Dans Sixth National Conference on Artificial Intelligence, pages 268 272, Anaheim, CA. AAAI Press. Agre, P. E. et Chapman, D. (1990). «What are plans for?». Robotics and Autonomous Systems, 6(1 2) :17 34. Akhras, F. N. et Self, J. A. (2000). «System Intelligence in Constructivist Learning». International Journal of Artificial Intelligence in Education, 11 :344 376. Badawi, M. et Donikian, S. (2004). «Autonomous Agents Interacting With Their Virtual Environment Through Synoptic Objects». pages 179 187. The Computer Graphic Society. Barbuceanu, M. et Fox, M. S. (1995). «Cool : A language for describing coordination in multi agent systems». Dans Lesser, V. et Gasser, L., éditeurs, Proceedings of the First International Conference on Multi-Agent Systems (ICMAS-95), pages 17 24, San Francisco, CA, USA. Barbuceanu, M., Gray, T., et Mankovski, S. (1999). «Role of obligations in multiagent coordination». Applied Artificial Intelligence, 13(1/2) :11 38. Baudouin, C. (2005a). «Rôles des agents pédagogiques dans les environnements d apprentissage humain». Rapport d étude bibliographique de master recherche, Ifsic, Université de Rennes. Baudouin, C. (2005b). «Un agent pédagogique pour les environnements virtuels de formation». Rapport de stage de master recherche, Ifsic, Université de Rennes. Bauer, B., Müller, J., et Odell, J. (2001). «Agent UML : a formalism for specifying multiagent software systems». International Journal of Software Engineering and Knowledge Engeneering, 11(3) :207 230. Bellard, S. (2001). «Méthodes de négociation dans un système multi-agents». Rapport de stage de DEA, Enstb. Beney, M. et Guinard, J.-Y. (2004). «L évaluation de l efficacité du guidage dans les travaux pratiques de Deug : un problème méthodologique complexe». Didaskalia, 24. Bensaid, N. et Mathieu, P. (1997). «A hybrid and Hierarchical Multi-Agent Architecture Model». Dans PAAM 97. 115
4 Références bibliographiques Brachman, R. et Levesque, H. (2004). Knowledge representation and reasoning. Morgan Kaufmann Series in Artificial Intelligence. Elsevier. Broy, M. et Jähnichen, S. (1995). KORSO : Methods, Languages and Tools for the Construction of Correct Software, volume 1009 de Lecture Notes in Computer Science. Springer Verlag, New York. Buche, C. (2005). «Un système tutoriel intelligent et adaptatif pour l apprentissage de compétences en environnement virtuel de formation». Thèse de doctorat, Université de Bretagne Occidentale. Buche, C., Querrec, R., Chevaillier, P., et Kermarrec, G. (2005). «Apports des systèmes tutoriaux intelligents et de la réalité virtuelle à l apprentissage de compétences». Cahiers Romans de Sciences Cognitives, In Cognito ISSN 1267 8015, 2(2) :53 87. Buche, C., Querrec, R., De Loor, P., et Chevaillier, P. (2004). «MASCARET : A Pedagogical Multi-Agent System for Virtual Environment for Training». Journal of Distance Education Technologies, 2(4) :41 61. Capuano, N., Marsella, M., et Salerno, S. (2000a). «ABITS : An Agent Based Intelligent Tutoring System for Distance Learning». Dans Proceedings of the Int. Workshop on Adaptive and Intelligent Web-Based Education Systems (in conjunction with ITS 2000), pages 17 28, Montreal (Canada). Capuano, N., Santo, M. D., Marsella, M., Molinara, M., et Salerno, S. (2000b). «A Multi-Agent Architecture for Intelligent Tutoring». Dans Proceedings of the International Conference on Advances in Infrastructure for Electronic Business, Science, and Education on the Internet SSGRR 2000. Cassell, J. (2000). «Embodied conversational interface agents». Communications of the ACM, 43(4) :70 78. Chevaillier, P., Harrouet, F., et De Loor, P. (1999a). «Application des réseaux de Petri à la modélisation des systèmes multi-agents de contrôle». Journal Européen des Systèmes Automatisés, 33(4) :413 437. Chevaillier, P., Harrouet, F., Reignier, P., et Tisseau, J. (1999b). «oris : un environnement pour la simulation multi-agents des systèmes manufacturiers de production». Dans Habchi, G. et Haurat, A., éditeurs, 2 e conférence francophone de Modélisation et de Simulation des Flux Physiques et Informationnels (MOSIM 99), pages 225 230, Annecy, France. SCS International. Chevaillier, P., Harrouet, F., Reignier, P., et Tisseau, J. (1999c). «Virtual Reality and Multi-Agent Systems for Manufacturing System Interactive Prototyping». Dans Subsol, G., éditeur, Proocedings of the International Scientific Workshop Virtual Reality and Prototyping, 7th Workshop of the French Virtual Reality Group GT-RV, pages 21 30, Laval, France. ISNB 2-9513952-0-5. Chevaillier, P., Harrouet, F., Reignier, P., et Tisseau, J. (2000). «Virtual Reality and Multi-Agent Systems for Manufacturing System Interactive Prototyping». International Journal of Design and Innovation Research, 2(1) :90 101. Chevaillier, P., Tisseau, J., Harrouet, F., et Querrec, R. (1998). «Prototyping Manufacturing Systems. Contribution of Virtual Reality, Agents and Petri Nets». Dans Preprints of the 9th symposium on Information Control in Manufacturing, volume 3, pages 249 254, Nancy Metz, France. IFAC. Chou, C.-Y., Chan, T.-W., et Lin, C.-J. (2003). «Redefining the learning companion : the past, present, and future of educational agents». Computers & Education, 40(3) :255 569. 116
Clancey, W. J. (2002). «Simulating activities : relating motives, deliberation, and attentive coordination». Cognitive Systems Research, 3 :471 499. Clancey, W. J., Sachs, P., Sierhuis, M., et van Hoof, R. (1998). «Brahms : simulating practice for work system design». Int. J. Human Computer Studies, 49 :831 865. Coquelle, L. (2005). «Simulation de comportements individuels instinctifs d animaux dans leur environnement». Thèse de doctorat, Université de Bretagne Occidentale, Brest, France. Coquelle, L. et Chevaillier, P. (2005). «behavioris : une architecture d agent et un langage pour la simulation de modèles de comportements animaux». Dans Actes de la 3e Conférence internationale Recherche, Innovation et Vision du Futur (RIVF), pages 38 45, Can Tho, Vietnam. D Cruz, M., Cobb, S., Eastgate, R., Kerr, S., Patel, H., et Wilson, J. (2005). «Case studies in the application of virtual environments for Education and Training». Dans Richir, S. et Taravel, B., éditeurs, Proc. of the 7th virtual reality international conference (VRIC 2005), pages 85 94, Laval, France. De Loor, P. et Chevaillier, P. (2000). «Generation of Agent Interactions from Temporal Logic Specifications». Dans Deville, M. et Owens, R., éditeurs, 16th IMACS World Congress 2000, Lausanne, Suisse. Dennett, D. C. (1987). The Intentional Stance. MIT Press. Depke, R., Heckel, R., et Küster, J. M. (2001). «Roles in agent oriented modeling». International Journal of Software Engineering and Knowledge Engineering, 11(3) :281 302. Devillers, F., Donikian, S., Lamarche, F., et Taille, J.-F. (2002). «A programming environment for behavioural animation». Journal of Visualization and Computer Animation, 13 :263 274. Donikian, S. (2001). «HPTS : a behaviour modelling language for autonomous agents». Dans Proc. of the Fith International Conference on Autonomous Agents, Montréal (Canada). Donikian, S. (2004). «Modélisation, contrôle et animation d agents autonomes évoluant dans des environnements informés et structurés». Habilitation à diriger des recherches, Université de Rennes. Elliot, C., Rickel, J., et Lester, J. (1999). «Lifelike Pedagogical Agents and Affective Computing : An exploratory Synthesis». Lecture Notes in Compoter Science, 1600 :195 211. Fan, X. et Yen, J. (2004). «Modeling and simulating human teamwork behaviors using intelligent agents». Physics of life reviews, 1 :173 201. Farenc, N., Boulic, R., et Thalmann, D. (1999). «An Informed Environment dedicated to the simulation of virtual humans in urban context». Dans Brunet, P. et Scopigno, R., éditeurs, Proceedings of the Computer Graphics Forum (Eurographics 99), volume 18, pages 309 318. The Eurographics Association and Blackwell Publishers. Frasson, C., Mengelle, T., et Aïmeur, E. (1997). «Using Pedagogical Agents in a Multi strategic Intelligent Tutoring System». Dans Proceedings of the workshop on Pedagogical Agents, World Conference on Artificial Intelligence and Education, pages 40 47, Japan. Fuchs, P., Arnaldi, B., Bourdot, P., et Burkhardt, J.-M., éditeurs (2006). Le traité de la réalité virtuelle volume 4, les applications de la réalité virtuelle. Presses de l Ecole des Mines de Paris. 117
4 Références bibliographiques Gleizes, M.-P. et Marcenac, P., éditeurs (1999). Actes des 7 es Journées Francophones d Intelligence Artificielle et Systèmes Multi-Agents (JFIADSMA 99), Saint-Gilles, Ile de la Réunion, France. Hermes Science. Gluck, K. A. et Pew, R. W., éditeurs (2005). Modeling human behavior with integrated cognitive architectures : Comparison, evaluation, and valisation. Lawrence Erlbaum Associates. Gratch, J. (2000). «Émile : Marshalling Passions in Training and Education». Dans Proceedings of the 4th Interbational Conference on Autonomous Agents, Barcelonna (Spain). Gratch, J., Marsella, S., et Mao, W. (2006). «Towards a Validated Model of Emotional Intelligence». Dans Proceedings of the 21th nationa Conference on Artificial Intelligence (AAI 06), Bonston (USA). Gutknecht, O. et Ferber, J. (1998). «Un méta-modèle organisationnel pour l analyse, la conception et l exécution de systèmes multi-agents». Dans Actes des 6 e Journées Francophones d Intelligence Artificielle Distribuée et Systèmes Multi-Agents, pages 267 280, Pont-à-Mousson (France). Hermès. Hannoun, M., Boissier, O., Sichman, J. S., et Sayettat, C. (1999). «MOISE : un modèle organisationnel pour la conception de systèmes multi-agents». Dans?, pages 105 118. Harrouet, F., Cazeaux, E., et Jourdan, T. (2006). AReVi. Dans Fuchs, P., Moreau, G., et Tisseau, J., éditeurs, Le traité de la Réalité Virtuelle, volume 3, pages 369 392. Les Presses de l École des Mines, 3e edition. Harrouet, F., Tisseau, J., Reignier, P., et Chevaillier, P. (2002). «oris : un environnement de simulation interactive multi-agents». Revue des sciences et technologie de l information, série Technique et science informatiques (RSTI TSI), 21(4) :499 524. Hübner, J. F., Sichman, J. S., et Boissier, O. (2002). «Spécification structurelle, fonctionnelle et déontique d organisations dans les Systèmes Multi-Agents». Dans Mathieu, P. et Müller, J.- P., éditeurs, Actes des JFSMA 2002, pages 205 216, Lille, France. Hermès Science Publications. Jaques, P., Vicari, R. M., Pesty, S., et Bonneville, J.-F. (2004). «Applying Affective Tactics for a Better Learning». Dans Proceedings of the 16th European Conference on Artificial Intellligence, ECAI 04. Johnson, W. L., Rickel, J. W., et Lester, J. C. (2000). «Animated Pedagogical Agents : Faceto-face Interaction in Interactive Learning Environments». International Journal of Artificial Intelligence in Education, 11 :47 78. Kallmann, M. et Thalmann, D. (1998). «Modeling Objects for Interaction Tasks». Dans Proceedings of Computer Animation and Simulation 98, pages 73 86. Kearney, J., Willensen, P., Donikian, S., et Devillers, F. (1999). «Scenario Language for Driving Simulation». Dans Proceedings of the Driving Simulation Conference, DSC 99, Paris (France). Kosko, B. (1986). «Fuzzy Cognitive Maps». International Journal of Man-Machine Studies, 24 :65 75. Laird, J. E., Newell, A., et Rosenbloom, P. S. (1987). «Soar : An architecture for general intelligence». Artificial Intelligence, 33 :1 64. Le Parc, P. (2004). «Méthodes et outils informatiques pour la commande locale ou distante de systèmes réactifs». Habilitation à diriger des recherches, Université de Bretagne Occidentale, Brest. 118
Le Parc, P., Querrec, R., Chevaillier, P., Tisseau, J., et Marcé, L. (1999a). «Un environnement de développement pour la conception des systèmes automatisés de production». Dans Lesage, J.-J., éditeur, Modélisation des Systèmes Réactifs, MSR 99, pages 407 416, Cachan, France. Hermès Science. Lee, Y. et Chong, Q. (2003). «Multi agent systems support for Community Based Learning». Interacting with Computers, 15 :35 55. Linton, F. et Schaefer, H.-P. (2000). «Recommender Systems for learning : Building User and Expert Models through Long Term Observation of Application Use». User Modelleing and User Adapted Interaction, 10 :181 207. Lourdeaux, D. (2001). «Réalité virtuelle et formation : conception d environnements virtuels pédagogiques». thèse de doctorat, École des Mines de Paris. Manac h, K. (2006). «Interactions spatiales entre entités autonomes situées». Rapport de stage de master recherche, Ifsic Université de Rennes I. Marion, N. (2006). «Méta modelisation UML pour les environnements virtuels procéduraux et collaboratifs». Rapport de stage de master recherche, Ifsic, Université de Rennes. Mathieu, P., Routier, J.-C., et Secq, Y. (2003). «RIO : Roles, Interactions et Organisations». Dans Herzig, A., Chaib-Draa, B., et Mathieu, P., éditeurs, Modèles formels de l interaction, Actes des Secondes Journées Francophones, pages 179 188. Cépéduès. Maturana, F. P. et Norrie, D. H. (1996). «Multi-agent mediator architecture for distributed manufacturing». Journal of Intelligent Manufacturing, 7 :257 270. McNamara, T. P. (2003). How are the locations of objects in the environment represented in memory? Dans Spatial Cognition III, pages 174 191. Mellet d Huart, D. (2004). «De l intention à l attention. Contributions à une démarche de conception d environnements vituels pour apprendre à partir d un modèle de l (én)action». Thése de doctorat, Université du Maine. Mengelle, T. et Frasson, C. (1996). «Multi Agent Architecture for an ITS with Multiple Strategies». Dans CALISCE, pages 96 104. Odell, J., Parunak, H. V. D., et Bauer, B. (2001). «Representing agent interaction protocols in UML». Dans First international workshop on Agent-oriented software engineering AOSE 2000, pages 121 140. Springer-Verlag New York, Inc. Parenthoën, M., Reignier, P., et Tisseau, J. (2001). «Put Fuzzy Cognitive Maps to work in virtual worlds». Dans Proceedings of the 10th IEEE International Conference on Fuzzy Systems, volume 1, pages 252 255, Melbourne, Australia. Parunak, H. V. D. et Odell, J. (2002). «Representing social structures in UML». Dans Wooldridge, M. J., Weiss, G., et Ciancarini, P., éditeurs, Agent Oriented Software Engineering Workshop (AOSE 2001), International Conference on Autonomous Agents, volume 2222 de Lecture Notes in Computer Science, pages 1 16. Springer Verlag (Berlin). Payr, S. (2003). «The virtual university s faculty : an overview of educational agents». Applied Artificial Intelligence, 17(1) :1 19. Pelachaud, C. (2001). Contextually Embodied Agents. Dans Magnenat-Thalmann, N. et Thalmann, D., éditeurs, Deformable Avatars, volume 68 de IFIP, Chapitre 9, pages 98 108. Springer. 119
4 Références bibliographiques Popovici, D.-M. (2004). «Modelling the space in virtual universes». thèse de doctorat, Université polytechnique de Bucarest. Popovici, D.-M., Gerval, J.-P., Chevaillier, P., Tisseau, J., Serbanati, L.-D., et Guéguen, P. (2004). «Educative Distributed Virtual Environments for Children». Journal of Distance Education Technologies, 2(4) :18 40. Querrec, R. (2002). «Les systèmes multi-agents pour les Environnements Virtuels de Formation. Application à la sécurité civile». Thèse de doctorat, Université de Bretagne Occidentale, Brest, France. Querrec, R., Buche, C., Maffre, E., et Chevaillier, P. (2003a). «MultiAgents Systems for Virtual Environnement for Training». Dans IASTED International Conference on Computers and Advanced Technology in Education (CATE 2003), pages 647 652, Rhodes, Greece. Querrec, R., Buche, C., Maffre, E., et Chevaillier, P. (2003b). «SécuRéVi : virtual environments for fire-fighting training». Dans Richir, S., Richard, P., et Taravel, B., éditeurs, Proceedings of the 5th Virtual Reality International Conference, VRIC 2003, pages 169 175, Laval, France. Querrec, R., Buche, C., Maffre, E., et Chevaillier, P. (2004). «Multiagents Systems for Virtual Environment for Training. Application to Fire-Fighting.». Advanced Technology for Learning, 1(1) :25 34. Querrec, R., De Loor, P., et Chevaillier, P. (2001a). «Environnement virtuel pour la formation des officiers sapeurs-pompiers». Dans El Fallah Seghrouchni, A. et Magnin, L., éditeurs, Fondements des systèmes multi-agents modèles, spécifications formelles et vérification, Actes des 9 es Journées Francophones d Intelligence Artificielle et Systèmes Multi- Agents (JFIADSMA 01), pages 311 314, Montréal, Québec, Canada. Hermès Science Publications. Querrec, R., Reignier, P., et Chevaillier, P. (2001b). «Humans and autonomous agents interactions in a virtual environment for fire fighting training». Dans Virtual Reality International Conference, pages 57 64, Laval, France. Razmerita, L., Angehrn, A., Nabeth, T., et Roda, C. (2004). «InCA : An Intelligent Cognitive Agent based framework for adaptive and interactive learning». Dans Proceedings of the Conference on Cognition and Exploratory Learning in Digital Age, IADIS CELDA 2004, Lisboa (Portugal). Reignier, P., Harrouet, F., Morvan, S., Tisseau, J., et Duval, T. (1998). «ARéVi : A Virtual Reality Multiagent Platform». Dans Heudin, J.-C., éditeur, First International Conference on Virtual Worlds, volume 1434 de Lecture Notes in Artificial Intelligence, pages 229 240, Paris. Springer Verlag. Rickel, J. et Johnson, W. L. (1999). «Animated agents for procedural training in virtual reality : perception, cognition and motor control». Applied Artificial Intelligence, 13 :343 382. Rosenblatt, J. K. (1995). «DAMN : A Distributed Architecture for Mobile Navigation». Dans Proc. of the AAAI Spring Symp. on Lessons Learned from Implemented Software Architectures for Physical Agents, volume 1, pages 167 178, Stanford (USA). Smith, R. G. et Davis, R. (1981). «Frameworks for Cooperation in Distributed Problem Solving». IEEE Transactions on Systems, Man, and Cybernetics, 11(1) :61 70. Sprumont, F. et Müller, J.-P. (1997). «AMACOIA : A multiagent system for designing flexible assembly lines». Applied Artificial Intelligence, 11 :573 589. 120
Taurisson, N. et Tchounikine, P. (2004a). «Supporting a Learner Community with Software Agents». Educational Technology & Society, 7(2) :82 91. Thomas, G. et Donikian, S. (2000). «Virtual Humans Animation in Informed Urban Environments». Dans Proceedings of Computer Animation (CA 00), pages 129 136, Philadelphia, USA. IEEE Computer Society. Tichkiewitch, S. et Kasusky, E. C. (1997). «Méthodes et outils pour l intégration et la conception holonique». Revue de CFAO et d informatique graphique, 12(6) :647 667. Tisseau, J. (2001). «Réalité virtuelle : autonomie in virtuo». Habilitation à Diriger des Recherches, Université de Rennes I. Tranier, J., Ferber, J., et Koriche, F. (2003). «Un modèle efficace de normes pour les systèmes multi agents organisationnels». Dans Briot, J.-P. et Ghédira, K., éditeurs, Déploiement des systèmes multi agents vers un passage à l échelle, JFSMA 2003, pages 205 217. Hermess Lavoisier. Van Brussel, H., Wyns, J., Valckenaers, P., Bongaerts, L., et Peeters, P. (1998). «Reference architecture for holonic manufacturing systems : PROSA». Computers in Industry, 37(3) :255 274. Webber, C., Pesty, S., et Balacheff, N. (2002). «A multi-agent and emergent approach to learner modelling». Dans van Harmelen, F., éditeur, Proceedings of the 15th European Conference on Artificial Intelligence (ECAI), pages 98 102, Lyon, France. IOS Press. Wilson, S. W. (1985). «Knowledge growth in an artificial animal». Dans Proceedings of the First International Conference on Genetic Algorithms and Their Applications, pages 16 23. Lawrence Erlbaum Associates. Wooldridge, M., Jennings, N. R., et Kinny, D. (2000). «The Gaia methodology for agentoriented analysis and design». Journal of Autonomous Agents and Multi-Agent Systems, 3(3) :285 312. Zibetti, E., Tijus, C., et Poitrenaud, S. (2001). «Construction de la Représentation de l Action Perçue». Intellecta, 1(32) :123 153. 121