107
Universit ´ e de Rennes 1 Habilitation ` a Diriger des Recherches Sp´ ecialit´ e : Informatique — Document de Synth` ese — ealit´ e Virtuelle — autonomie in virtuo Jacques TISSEAU Soutenance : 6 d´ ecembre 2001 Herman D. Pr´ esident Bourdon F. Rapporteur Coiffet P. Rapporteur Thalmann D. Rapporteur Abgrall J.F. Examinateur Arnaldi B. Examinateur

R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Universite de Rennes 1

Habilitation a Diriger des Recherches

Specialite : Informatique

— Document de Synthese —

Realite Virtuelle— autonomie in virtuo —

Jacques TISSEAU

Soutenance : 6 decembre 2001

Herman D. President

Bourdon F. Rapporteur

Coiffet P. Rapporteur

Thalmann D. Rapporteur

Abgrall J.F. Examinateur

Arnaldi B. Examinateur

Page 2: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

2

Page 3: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Table des Matieres

Table des Matieres 3

Liste des Figures 5

1 Introduction 71.1 Un obstacle epistemologique . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2 Une demarche originale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2 Concepts 112.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.2 Contexte historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2.1 La construction des images . . . . . . . . . . . . . . . . . . . . . . . 122.2.2 L’animation des images . . . . . . . . . . . . . . . . . . . . . . . . . 132.2.3 L’appropriation des images . . . . . . . . . . . . . . . . . . . . . . . 152.2.4 Des images reelles aux objets virtuels . . . . . . . . . . . . . . . . . 16

2.3 Le reel des philosophes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.3.1 Dualite sensible/intelligible . . . . . . . . . . . . . . . . . . . . . . . 182.3.2 Opposition virtuel/actuel . . . . . . . . . . . . . . . . . . . . . . . . 202.3.3 Philosophie et realite virtuelle . . . . . . . . . . . . . . . . . . . . . 22

2.4 Le virtuel des physiciens . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.4.1 Images virtuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.4.2 Perception des images . . . . . . . . . . . . . . . . . . . . . . . . . 252.4.3 Physique et realite virtuelle . . . . . . . . . . . . . . . . . . . . . . 26

2.5 Principe d’autonomie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.5.1 Exploitation des modeles . . . . . . . . . . . . . . . . . . . . . . . . 282.5.2 Modelisation de l’utilisateur . . . . . . . . . . . . . . . . . . . . . . 302.5.3 Autonomisation des modeles . . . . . . . . . . . . . . . . . . . . . . 312.5.4 Autonomie et realite virtuelle . . . . . . . . . . . . . . . . . . . . . 33

2.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3 Modeles 373.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.2 Entites autonomes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3

Page 4: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Table des Matieres

3.2.1 Approche multi-agents . . . . . . . . . . . . . . . . . . . . . . . . . 383.2.2 Simulation multi-agents participative . . . . . . . . . . . . . . . . . 393.2.3 Modelisation comportementale . . . . . . . . . . . . . . . . . . . . . 41

3.3 Auto-organisation collective . . . . . . . . . . . . . . . . . . . . . . . . . . 423.3.1 Simulations en biologie . . . . . . . . . . . . . . . . . . . . . . . . . 423.3.2 Exemple de la coagulation . . . . . . . . . . . . . . . . . . . . . . . 453.3.3 in vivo, in vitro, in virtuo . . . . . . . . . . . . . . . . . . . . . . . 49

3.4 Perception individuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533.4.1 Sensation et perception . . . . . . . . . . . . . . . . . . . . . . . . . 533.4.2 Perception active . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.4.3 Le berger, son chien et son troupeau . . . . . . . . . . . . . . . . . 58

3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4 Outils 634.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634.2 Le langage oRis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4.2.1 Vue d’ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644.2.2 Des objets et des agents . . . . . . . . . . . . . . . . . . . . . . . . 664.2.3 Interactions entre agents . . . . . . . . . . . . . . . . . . . . . . . . 70

4.3 Le simulateur oRis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.3.1 Les flots d’execution . . . . . . . . . . . . . . . . . . . . . . . . . . 734.3.2 Les procedes d’activation . . . . . . . . . . . . . . . . . . . . . . . . 754.3.3 La dynamicite du systeme multi-agents . . . . . . . . . . . . . . . . 77

4.4 Les applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804.4.1 Simulations multi-agents participatives . . . . . . . . . . . . . . . . 804.4.2 Champs d’application . . . . . . . . . . . . . . . . . . . . . . . . . 824.4.3 La plateforme AReVi . . . . . . . . . . . . . . . . . . . . . . . . . . 83

4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

5 Conclusion 875.1 Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Bibliographie 91

4

Page 5: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Liste des Figures

1.1 Metaphore de Pinocchio et autonomisation des modeles . . . . . . . . . . . . . 9

2.1 Realite et principales doctrines philosophiques . . . . . . . . . . . . . . . . . . 192.2 Les quatre modes d’etre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.3 Les trois mediations du reel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.4 Systeme optique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.5 Image reelle (a) et image virtuelle (b) . . . . . . . . . . . . . . . . . . . . . . . 242.6 Image virtuelle (a), image reelle (b) et objet virtuel (c) . . . . . . . . . . . . . 252.7 Illusions de la propagation rectiligne et du retour inverse . . . . . . . . . . . . 262.8 Les trois mediations du modele en realite virtuelle . . . . . . . . . . . . . . . . 272.9 Les differents niveaux d’interactivite en realite virtuelle . . . . . . . . . . . . . 292.10 Le statut de l’utilisateur en simulation scientifique (a), en simulation interac-

tive (b) et en realite virtuelle (c) . . . . . . . . . . . . . . . . . . . . . . . . . 312.11 Autonomie et realite virtuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.1 Conception d’un agent-cellule . . . . . . . . . . . . . . . . . . . . . . . . . . . 463.2 Les interactions du modele de coagulation . . . . . . . . . . . . . . . . . . . . 483.3 Evolution de la simulation multi-agents de la coagulation . . . . . . . . . . . . 493.4 Principaux resultats du modele multi-agents de la coagulation . . . . . . . . . 503.5 Modelisation et comprehension des phenomenes . . . . . . . . . . . . . . . . . 523.6 Exemple de carte cognitive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543.7 Definition d’une carte cognitive floue . . . . . . . . . . . . . . . . . . . . . . . 553.8 Comportement de fuite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.9 Vitesse de fuite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.10 Perception de soi et des autres . . . . . . . . . . . . . . . . . . . . . . . . . . . 593.11 Peur et socialisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603.12 Le chien de berger et les moutons . . . . . . . . . . . . . . . . . . . . . . . . . 61

4.1 Execution d’un programme simpliste en oRis . . . . . . . . . . . . . . . . . . 654.2 L’environnement graphique d’oRis . . . . . . . . . . . . . . . . . . . . . . . . 664.3 Localisation et perception en 2D . . . . . . . . . . . . . . . . . . . . . . . . . 684.4 Dedoublement du flot d’execution en oRis . . . . . . . . . . . . . . . . . . . . 744.5 Structure de la machine virtuelle oRis . . . . . . . . . . . . . . . . . . . . . . 754.6 Modification d’une instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

5

Page 6: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Liste des Figures

4.7 Une application AReVi : plateforme de formation pour la securite civile . . . . 844.8 Metaphore d’Ali Baba et paradigmes de programmation . . . . . . . . . . . . 85

6

Page 7: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Chapitre 1

IntroductionConstruite sur l’opposition du sens courant de ses deux composantes, la formule realitesvirtuelles est absurde. Qui vous parlerait de la couleur blanc-noir vous apparaıtrait commeun esprit confus ne sachant pas lui-meme, en associant un mot et son contraire, de quoi ilveut parler. Certes, en toute rigueur, virtuel et reel ne sont pas en opposition. Le virtuel,du latin virtus (vertu, force), est ce qui est en puissance dans le reel, ce qui a en soi toutesles conditions essentielles a sa realisation; mais alors, que peut bien etre une realite qui aen soi toutes les conditions de sa realisation ? Vue sous cet angle, la formule est encore plusinepte. [Cadoz 94a]

L’expression anglo-saxonne virtual reality fut proposee pour la premiere fois en juillet1989 lors d’un salon professionnel1, par Jaron Lanier, alors responsable de la societe VPLResearch specialisee dans les peripheriques d’immersion. Il forgea cette expression dansle cadre de la strategie marketing et publicitaire de son entreprise, sans chercher a endonner une definition tres precise.

1.1 Un obstacle epistemologique

L’emergence de la notion de realite virtuelle illustre le dynamisme des dialogues in-terdisciplinaires entre l’informatique graphique, la conception assistee par ordinateur, lasimulation, la teleoperation, l’audiovisuel. . . Mais comme le souligne le philosophe Gas-ton Bachelard dans son etude epistemologique sur la formation de l’esprit scientifique[Bachelard 38], une avancee scientifique ou technologique doit faire face a de nombreuxobstacles epistemologiques. Parmi ceux-ci, la realite virtuelle devra au moins franchirl’obstacle verbal (une fausse explication obtenue a l’aide d’un mot explicatif), elle dont lenom meme ne veut a priori rien dire, tout en faisant reference a la notion intuitive derealite, une des notions premieres et constitutives de l’esprit humain.

En anglais, selon le BBC English Dictionary (HaperCollins Publishers, 1992), Vir-tual : means that something is so nearly true that for most purposes it can be regardedas true, also means that something has all the effects and consequences of a particularthing, but is not officially recognized as being that thing. Ainsi, une virtual reality estune quasi-realite qui a l’apparence et le comportement d’une realite mais qui n’en est pasune : il s’agit plutot d’un ersatz ou d’un succedane de realite. La traduction litterale del’expression anglo-saxonne donne en francais le terme realite virtuelle qui devient alors une

1Texpo’89 a San Francisco (USA)

7

Page 8: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Introduction

expression absurde et inepte, comme le souligne la citation placee en exergue de cette in-troduction. En effet, selon Le Petit Robert (Editions Le Robert, 1992), Virtuel : [qui] a ensoi toutes les conditions essentielles a sa realisation. Une realite virtuelle serait donc unerealite qui aurait en soi toutes les conditions essentielles a sa realisation; ce qui est bien lemoins pour une realite ! Ainsi, de l’anglais au francais, le terme de realite virtuelle est de-venu equivoque. Il releve d’un procede rhetorique, appele oxymoron, qui consiste a reunirdeux mots qui semblent incompatibles ou contradictoires (les expressions mort vivant,clair obscur, silence eloquent, relevent du meme procede); ce type de construction donnea l’expression un caractere inattendu qui, il faut bien en convenir, est plus mediatiqueque scientifique. D’autres expressions telles que cyber-espace [Gibson 84], realite artifi-cielle [Krueger 83], environnement virtuel [Ellis 91], monde virtuel [Holloway 92], furentegalement proposees, mais l’antonymie realite virtuelle reste encore tres largement usiteecomme le montre une rapide recherche sur la Toile2.

Cette equivoque entretient la confusion et constitue un veritable obstacle epistemolo-gique au developpement scientifique de cette nouvelle discipline. C’est le role des scien-tifiques et des professionnels de la discipline concernee d’effectuer cet effort de clarificationepistemologique afin de lever les ambiguıtes et de preciser son statut de discipline scien-tifique (concepts, modeles, outils), en particulier vis-a-vis des disciplines connexes tellesque la modelisation, la simulation et l’animation.

1.2 Une demarche originale

Ce document propose une contribution originale a cette reflexion sur la necessaireclarification de ce nouveau champ disciplinaire qu’est la realite virtuelle.

Le mot autonomie caracterise le mieux notre demarche et nous tient lieu de fil con-ducteur tout au long de nos travaux de recherche en realite virtuelle. En effet, nousnous heurtons tous les jours a une realite qui nous resiste, qui s’oppose, qui se regitpar ses propres lois et non par les notres, en un mot, qui est autonome. Nous pensonsdonc que la realite virtuelle s’affranchira de ses origines si elle s’engage dans la voie del’autonomisation des modeles numeriques qu’elle manipule, afin de peupler d’entites au-tonomes les univers realistes que les images numeriques de synthese nous donnent deja avoir, a entendre et a toucher. Ainsi, comme la celebre marionnette italienne, les modelesdevenus autonomes participeront a l’invention de leurs mondes virtuels (Metaphore dePinocchio3, figure 1.1). L’homme, libere en partie du controle de ses modeles, n’en seraque plus autonome lui-meme, et participera a cette realite virtuelle en tant que specta-teur (il observe le modele : figure 1.1a), acteur (il experimente le modele : figure 1.1b) etcreateur (il modifie le modele pour l’adapter a ses besoins : figure 1.1c).

2Une recherche simple effectuee avec le moteur de recherche www.google.fr donne les resultats sui-vants : cyber(-)espace(s) ≈ 25 540 occurrences, realite(s) virtuelle(s) ≈ 19 920, monde(s) virtuel(s) ≈15 030, environnement(s) virtuel(s) ≈ 3 670, realite(s) artificielle(s) ≈ 185. En anglais, le classement estidentique.

3Cette metaphore nous a ete inspiree par Michel Guivarc’h, charge de mission a la CommunauteUrbaine de Brest.

8

Page 9: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Une demarche originale

a. utilisateur-spectateur b. utilisateur-acteur c. utilisateur-createur

Figure 1.1: Metaphore de Pinocchio et autonomisation des modeles

Ce document s’articule autour de trois grandes parties : les concepts qui oriententnos travaux et qui fondent un principe d’autonomie (chapitre 2), les modeles que nousavons developpes pour respecter ce principe (chapitre 3), et les outils qui permettent deles implementer (chapitre 4).

Dans le chapitre 2, l’analyse du contexte historique, ainsi que l’exploration du reel desphilosophes et du virtuel des physiciens, nous conduisent a preciser notre definition de larealite virtuelle, centree autour du principe d’autonomie des modeles numeriques.

Pour construire des applications de realite virtuelle a base d’entites autonomes, nouspreconisons au chapitre 3 une approche multi-agents, et etudions a partir d’exemplesnon triviaux, les consequences du principe d’autonomie en termes d’auto-organisationcollective (exemple de la coagulation du sang) et de perception individuelle (exemple d’unchien de berger).

Le chapitre 4 concerne la description de notre langage oRis — langage de programma-tion par objets actifs concurrents, dynamiquement interprete, avec une granularite instan-ces — et du simulateur associe, outils qui ont favorise, par construction, l’autonomisationdes modeles qui constituent les applications que nous avons deja realisees.

Enfin, dans le chapitre 5 de conclusion, nous dressons un bilan de ces premiers travauxet evoquons nos futures voies de recherche en guise de perspectives.

9

Page 10: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Introduction

10

Page 11: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Chapitre 2

Concepts

2.1 Introduction

Dans ce chapitre, nous presentons les principaux elements de la reflexion d’ordre episte-mologique qui orientent nos travaux de recherche en realite virtuelle.

Dans un premier temps, nous passons en revue les conditions historiques de l’emergencedu concept de realite virtuelle. Nous constaterons qu’au debut des annees 90 — epoque alaquelle le vocable realite virtuelle apparaıt — le rendu sensoriel des images de synthese aatteint un tel realisme qu’il devient necessaire de s’interesser plus precisement aux objetsvisualises plutot qu’a leurs images.

Dans un deuxieme temps, un apercu de la notion philosophique de realite nous permet-tra de preciser les conditions qui nous paraissent necessaires a l’illusion du reel, a savoirla perception, l’experimentation et la modification du reel.

Nous nous appuierons ensuite sur la notion de virtuel en physique pour preciser notreconception d’une realite qui soit virtuelle. Quelques exemples simples mais significatifs,empruntes a l’optique, mettront en evidence l’importance des modeles sous-jacents aussibien dans la comprehension et l’explication des phenomenes que dans leur perception. Levirtuel apparaıtra alors resolument comme une construction dans l’univers du modele.

Enfin, l’analyse du statut de l’utilisateur face a l’exploitation de ces modeles nousconduira a postuler un principe d’autonomie qui nous guidera dans la conception de nosmodeles (chapitre 3) et dans la realisation de nos outils (chapitre 4).

2.2 Contexte historiqueAussi bien n’est-ce pas l’etablissement d’une chronique de la decouverte scientifique quiinteresse au premier chef l’epistemologue, mais la mise a jour de la structure conceptuelled’une theorie ou d’une œuvre, qui n’est pas toujours manifeste, et pas meme pour soncreateur. Il lui faut tenter de discerner ce qui est efficace dans l’enchaınement des con-cepts et joue un role essentiel dans l’architecture de l’edifice; reconnaıtre ce qui fait obstacleou demeure encore imprecis ou indecis. A cet effet, il devrait s’attacher a montrer avecexactitude en quoi et comment l’etat de la science qu’il examine constitue une reponse, unecritique, une maturation relativement a des etats anterieurs. [Granger 86]

Historiquement, la notion de realite virtuelle apparaıt au carrefour de differents do-maines tels que l’informatique graphique, la conception assistee par ordinateur, la simu-

11

Page 12: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Concepts

lation, la teleoperation, l’audiovisuel. . . Elle se developpe ainsi dans un cadre pluridisci-plinaire ou l’informatique graphique y joue un role determinant car, depuis la premiereinterface graphique de Sutherland (Sketchpad [Sutherland 63]), elle s’est attachee a ren-dre de plus en plus realistes les images numeriques de synthese qu’elle visualise sur lesecrans d’ordinateurs. Aussi nous interesserons-nous aux principaux developpements del’informatique graphique avant 1990 — epoque a laquelle l’expression realite virtuelle sepopularise — a travers la construction des images, leur animation et leur appropriationpar les utilisateurs.

2.2.1 La construction des images

De l’image 2D a l’image 3D

L’informatique graphique dut d’abord s’attaquer aux problemes 2D tels que l’affichagedes segments de droite [Bresenham 65], l’elimination des lignes cachees [Jones 71], ladetermination des intersections de segments pour le coloriage des polygones [Bentley 79],les techniques d’anticrenelage [Pitteway 80] et la triangulation des polygones [Hertel 83].

Les bureaux d’etudes des industries aeronautiques et automobiles comprirent rapide-ment tout l’interet de ces techniques infographiques et les integrerent comme outils d’aidea la conception de leurs produits. Ainsi naquit la conception assistee par ordinateur(CAO) qui tres vite ne se contenta plus des representations filaires initiales, et intro-duisit les courbes et surfaces parametriques dans ses systemes [Bezier 77]. Ces surfacesparametriques se manipulent aisement de maniere interactive et autorisent le concepteura imaginer des formes libres. Cependant, lorsque la forme de l’objet doit respecter descontraintes physiques fortes, on leur prefere les surfaces implicites qui sont des isosurfacesd’un champ scalaire spatial predefini [Blinn 82]. La triangulation de ces surfaces permitensuite d’aborder des problemes physiques de plaques et de coques tant sous l’angle dessimulations numeriques (methodes des elements finis [Zinkiewicz 71]) que sous celui de lavisualisation realiste des resultats [Sheng 92].

Mais la modelisation surfacique s’avera insuffisante pour garantir la coherence topo-logique des objets modelises. La modelisation volumique se developpa alors a partir dedeux types de representation : la representation par frontieres et la representation volu-mique. La representation par frontieres modelise un objet par une surface polyedriqueconstituee de sommets, de faces et d’aretes. Ce type de representation necessite la priseen compte des relations d’adjacence entre faces, aretes et sommets, donc de la topolo-gie du modele. La topologie peut etre maintenue au niveau des aretes (winged-edge[Baumgart 75], n-G-maps [Lienhardt 89]) ou dans un graphe d’adjacence des faces (FaceAdjacency Graph [Ansaldi 85]). La representation volumique decrit un objet comme unecombinaison de primitives volumiques a l’aide d’operateurs ensemblistes (CSG : Cons-tructive Solid Geometry [Requicha 80]). La topologie de l’objet est definie par un arbre(arbre CSG) dont les feuilles sont les formes solides elementaires et dont les nœuds sontles operations ensemblistes, les translations, les rotations, ou autres deformations (tor-sion [Barr 84], deformations libres [Sederberg 86]) appliquees aux nœuds sous-jacents.L’elimination des faces cachees remplaca alors l’elimination des lignes cachees et se scinda

12

Page 13: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Contexte historique

en deux grandes categories [Sutherland 74] : la visibilite est soit traitee directement dansl’espace-image, le plus souvent a l’aide d’un tampon de profondeur (z-buffer [Catmull 74]),soit dans l’espace-objet en partitionnant cet espace (BSP : Binary Space Partitionning[Fuchs 80], quadtree/octree [Samet 84]).

Ainsi, grace a des modeles geometriques et topologiques de plus en plus proches de ladescription des solides, les images filaires sont devenues surfaciques puis volumiques.

De l’image geometrique a l’image photometrique

Mais le realisme visuel des objets ne se contente pas de la precision des formes : il luimanque entre autres la couleur, les textures [Blinn 76] et les ombres [Williams 78]. Aussi,l’informatique graphique se posa le probleme de l’eclairement des objets par des sourceslumineuses. Il fallut donc simuler la lumiere depuis son emission jusqu’a sa reception aupoint d’observation, en tenant compte des surfaces reflechissantes qui composent la scenea eclairer. Les premiers modeles d’eclairement furent empiriques [Bouknight 70] et utili-saient des interpolations de couleurs [Gouraud 71] ou de normales aux faces [Phong 75].Puis vinrent les methodes fondees sur les lois physiques de la reflectivite [Cook 81]. Lesphenomenes d’illumination indirecte des scenes y sont traites soit par un lancer de rayons[Whitted 80], soit par un calcul energetique de radiosite [Cohen 85], soit en combinantces deux methodes [Sillion 89]. Du point de vue de l’observateur, une meilleure qualite durendu visuel necessita la prise en compte de la diffusivite du milieu ambiant [Klassen 87]ainsi que des principales caracteristiques des cameras [Kolb 95], y compris leurs defauts[Thomas 86].

Ainsi, de figuratives, les images de synthese sont progressivement devenues plus realis-tes en integrant les lois de l’optique.

2.2.2 L’animation des images

De l’image fixe a l’image animee

Depuis ses debuts, le cinema generait manuellement des sequences d’images pourproduire ses dessins animes. L’arrivee des images numeriques a permis d’envisager lageneration automatique de ces sequences. Dans un premier temps, la realisation d’unesequence d’animation numerique reposait sur la creation d’images intermediaires par in-terpolation entre des images-cles creees par l’animateur [Burtnyk 76]. L’interpolation, leplus souvent de type polynomiale cubique (spline) [Kochanek 84], porte sur des positions-cles de l’image affichee [Wolberg 90] ou sur des parametres du modele 3D de l’objetrepresente [Steketee 85]. La prise en compte du parametre temps dans l’interpolationdefinit alors une cinematique directe. La cinematique inverse permit au contraire dereconstituer automatiquement les trajectoires spatio-temporelles des constituants d’unechaıne cinematique [Girard 85], en donnant les positions extremes de la chaıne et descontraintes d’evolution. Mais ces techniques s’avererent vite limitees pour reproduire cer-tains mouvements complexes, en particulier les mouvements humains [Zeltzer 82]. Aussi,l’acquisition du mouvement reel sur des sujets humains equipes de capteurs de locali-

13

Page 14: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Concepts

sation electromecaniques [Calvert 82] ou optiques (cameras + reflecteurs) [Ginsberg 83]apparut-elle comme une alternative.

Mais toutes ces techniques ne reproduisent que des effets sans aucune connaissancea priori sur leurs causes. Des methodes fondees sur des modeles dynamiques prirentalors en charge les causes pour en deduire les effets. Cette approche conduit le plus sou-vent a des modeles regis par des systemes d’equations differentielles avec conditions auxlimites, systemes qu’il faut resoudre pour expliciter la solution qu’ils definissent implicite-ment. Differentes methodes numeriques de resolution furent ainsi adaptees a l’animation :les methodes directes par approximations successives (de type Runge-Kutta) pour lessystemes rigides poly-articules [Arnaldi 89], la discretisation structurelle des objets parelements finis plus appropries pour les systemes deformables [Gourret 89], ou encore ladiscretisation structurelle et physique des systemes par des reseaux de masses-ressorts per-mettant de modeliser une grande variete de systemes [Luciani 85]. Les problemes generauxde deformations elastiques [Terzopoulos 87] ou plastiques [Terzopoulos 88] furent abordesainsi que celui de la detection de collisions entre solides [Moore 88]. Une attention particu-liere fut portee a l’animation de personnages humains consideres comme des squelettes ar-ticules et traites par des techniques de dynamique inverse [Isaacs 87]. En fait, l’animationd’acteurs virtuels cristallise sur elle toutes ces techniques d’animation [Badler 93] puis-qu’elle s’interesse aussi bien au squelette qu’aux formes [Chadwick 89], a la marche[Boulic 90] qu’a la prehension [Magnenat-Thalmann 88], aux expressions faciales [Platt 81]qu’aux cheveux [Rosenblum 91], et meme aux vetements [Weil 86].

La cinematique et la dynamique permettent ainsi la generation automatique de se-quences d’animation avec un rendu mecanique plus proche des comportements reels.

De l’image precalculee a l’image temps reel

Si, au debut du 20eme siecle, les premiers simulateurs de vol etaient des simulateursde vol aux instruments, sans visibilite, les images de synthese permirent d’y introduire lavision, d’abord pour simuler les vols de nuit (points et segments en noir et blanc) puisles vols de jour (surfaces colorees avec elimination des faces cachees) [Schumacker 69].Mais les simulateurs d’entraınement necessitent des temps de reponse compatibles avecl’apprentissage du comportement reactif de l’appareil simule. Or, les methodes de rendurealiste fondees sur les lois de la physique conduisent a des temps de calcul souvent tresgrands devant les temps de reponse attendus dans les simulateurs de vol. Aussi, dansles annees 60-70, imagina-t-on des materiels specifiques — les visuels1 temps reel — pouraccelerer les differents traitements de rendu. Ces generateurs d’images de synthese tempsreel, couples a des calculateurs, furent peu a peu remplaces par des stations graphiquesqui integraient la generation et la gestion des structures de donnees sur un processeura usage general et le rendu sur un processeur graphique specialise (SGI 4D/240 GTX

1La societe Evans et Sutherland (www.es.com) crea les premiers visuels du commerce couples a uncalculateur PDP-11. Pour plusieurs millions de dollars, ils permettaient d’afficher quelques milliers depolygones par seconde. Aujourd’hui, une carte graphique GeForce3 pour PC (www.nvidia.com) atteintdes performances de l’ordre de quelques millions de polygones par seconde pour quelques milliers defrancs.

14

Page 15: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Contexte historique

[Akeley 89]). Correlativement, on imagina reduire le nombre de facettes a afficher par destraitements effectues en amont du rendu graphique [Clark 76]. D’une part, les structuresde donnees sous-jacentes permettent d’identifier, selon le point de vue de l’observateur,les objets situes en dehors du champ d’observation (view-frustum culling), les faces malorientees (backface culling) et les objets occultes (occlusion culling), et donc de ne pastransmettre ces objets au moteur de rendu. D’autre part, plus un objet est situe loin del’observateur, plus sa geometrie peut etre simplifiee tout en gardant une apparence, sinonune topologie, satisfaisante pour l’observateur. Cette simplification du maillage, manuelleou automatique, qui conduit a des niveaux de details discrets ou continus, s’avera parti-culierement efficace dans le cas des modeles numeriques de terrain largement utilises dansles simulateurs de vol [Cosman 81].

Ainsi, grace a des optimisations, a des artifices de calcul et a des dispositifs materielsplus adaptes, les images deviennent calculables en temps reel.

2.2.3 L’appropriation des images

De l’image contemplee a l’image vecue

Calculer l’image en temps reel, c’est autoriser la navigation au sein du monde virtuelqu’elle represente [Brooks 86a], mais c’est sans doute avec les experiences artistiques et lesbesoins de la teleoperation que l’utilisateur commence vraiment a s’approprier les images.

L’art numerique interactif permit dans les annees 70 d’experimenter des situations oudes images numeriques evoluent grace aux mouvements libres d’artistes qui observent, entemps reel, et sur grand ecran, l’influence de leurs mouvements sur les images (VideoPlace[Krueger 77]). Avec les travaux de l’ACROE2, l’expression artistique assistee par ordina-teur franchit une nouvelle etape avec la synthese multisensorielle assistee d’un controlegestuel a retour d’effort [Cadoz 84]. Des peripheriques, appeles transducteurs gestuelsretroactifs, permettent, par exemple, de sentir dans ses doigts le frottement d’un archetreel sur une corde de violon virtuelle, d’entendre le son genere par la vibration de lacorde, et d’observer la corde vibrer sur un ecran. Un systeme de modelisation physiquedes objets virtuels, de type masses-ressorts, pilote ces peripheriques (CORDIS-ANIMA[Cadoz 93]), et permet ainsi de vivre une experience artistique tout a fait originale.

De son cote, la teleoperation s’interessa tres tot aux moyens de controler et de piloter adistance des robots situes en milieu hostile (nucleaire, sous-marin, spatial) afin de degagerl’operateur humain des risques associes a de tels environnements. En particulier, la NASAdeveloppa un casque de visualisation a cristaux liquides (VIVED : Virtual Visual Environ-ment Display [Fisher 86]) couple a un capteur electromagnetique de localisation [Raab 79]qui permettait de se deplacer dans une image 3D observee en stereovision. Il s’agissaitla d’une reelle amelioration par rapport au premier visiocasque a tubes cathodiques, pluslourd, maintenu sur la tete par un bras mecanique fixe au plafond [Sutherland 68]. Cenouveau casque fut tres vite associe a un gant de donnees [Zimmerman 87] et a un systeme

2ACROE : Association pour la Creation et la Recherche sur les Outils d’Expression, Grenoble(www-acroe.imag.fr)

15

Page 16: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Concepts

de son spatialise fonde sur les lois de l’acoustique [Wenzel 88]. Ces nouvelles fonction-nalites vinrent ainsi renforcer les sensations des systemes a retour tactile [Bliss 70] eta retour d’effort (GROPE [Batter 71, Brooks 90]) deja connus des teleoperateurs. Lesroboticiens parlerent alors de telesymbiose [Vertut 85], de telepresence [Sheridan 87] ouencore de tele-existence [Tachi 89], pour exprimer l’impression d’immersion que peut avoirl’operateur, impression d’etre present sur les lieux de travail du robot alors qu’il le mani-pule a distance. L’insertion de l’operateur dans la boucle du systeme robotise posa alors,et ce des le debut de la teleoperation, le probleme de la prise en compte des facteurshumains pour ameliorer l’ergonomie des postes de travail et des peripheriques associes[Smith 89].

Ainsi devenue multimodale, l’image permet a l’utilisateur de voir, d’entendre, detoucher, de deplacer ou de deformer des objets virtuels avec des sensations proches decelles du reel.

De l’image isolee a l’image partagee

Au cours des annees 70, se developpa ARPANET3, premier reseau longue distancefonde sur le protocole TCP/IP4 [Cerf 74]. Devant ces nouvelles possibilites d’echange etde partage d’informations, le ministere americain de la Defense decida l’interconnexion desimulateurs (chars, avions, . . . ) a travers le reseau ARPANET afin de simuler des champsde batailles. Ainsi, pour le projet SIMNET (simulator networking), qui se deroula en-tre 1983 et 1990, il s’agissait de tester des strategies de groupe librement executees parles dizaines d’utilisateurs en reseau, et non pas controlees par des scenarios preetablis[Miller 95]. Les protocoles de communication mis en place pour SIMNET [Pope 87] in-troduisirent des modeles predictifs de mouvement (estime : dead-reckoning) afin de nepas surcharger le reseau par des synchronisations trop frequentes, tout en garantissantune coherence temporelle entre les simulateurs. Ces protocoles furent ensuite repris etstandardises pour les besoins de la simulation interactive distribuee (DIS : DistributedInteractive Simulation [IEEE 93]).

Ainsi, les reseaux informatiques et les protocoles associes permettent de partager desimages entre plusieurs utilisateurs, et a travers ces images, des idees et des experiences.

2.2.4 Des images reelles aux objets virtuels

Interdisciplinarite

Ce rapide tour d’horizon du contexte historique duquel emerge le concept de realitevirtuelle illustre d’abord le dynamisme de l’informatique graphique comme en temoignentegalement des manifestations comme le Siggraph5 aux Etats-Unis et Eurographics6 ou

3ARPANET : Advanced Research Projects Agency Network du ministere americain de la Defense.4TCP/IP : Transmission Control Protocol/Internet Protocol5Siggraph (www.siggraph.org) : 29eme edition en 20026Eurographics (www.eg.org)

16

Page 17: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Contexte historique

Imagina7 en Europe. Mais c’est egalement au sein d’un veritable creuset interdisci-plinaire que se forgent cette nouvelle expression et ce nouveau champ d’investigation,qui beneficient ainsi des apports conjoints de l’informatique graphique, de la simula-tion, de la conception assistee par ordinateur, de la teleoperation, de l’audiovisuel, destelecommunications . . .

La realite virtuelle apparaıt ainsi comme une discipline de synthese au sein des scien-ces de l’ingenieur. Elle manipule des images interactives, multimodales (3D, sonores,tactiles, kinesthesiques, proprioceptives), realistes, animees en temps reel, et partageessur les reseaux informatiques. En ce sens, elle constitue une evolution naturelle del’informatique graphique. Au cours de la derniere decennie, un effort particulier futporte sur l’integration de toutes les caracteristiques de ces images au sein d’un memesysteme8, et sur l’optimisation et l’amelioration de l’ensemble des techniques necessairesa ces systemes. La realite virtuelle repose alors sur l’interaction en temps reel avec desobjets virtuels et sur la sensation d’immersion dans les mondes virtuels; elle s’apparente aune interface multisensorielle [Burdea 93], instrumentale [Cadoz 94b] et comportementale[Fuchs 96]. A ce jour, les principaux travaux sur la realite virtuelle ont permis de donnerun sens plus precis et surtout plus operationnel a l’expression realite virtuelle, qui peutse resumer par cette definition du groupe de travail sur la realite virtuelle9 : ensembled’outils logiciels et materiels permettant de simuler de maniere realiste une interactionavec des objets virtuels qui sont des modelisations informatiques d’objets reels.

Transdisciplinarite

Avec cette definition, on opere un changement de point de vue qui, de l’etude desimages reelles en informatique graphique, passe a l’etude des objets virtuels qui sont vi-sualises. Les objets ne sont pas uniquement caracterises par leurs apparences (leurs ima-ges), mais egalement par leurs comportements, dont l’etude ne releve plus specifiquementde l’informatique graphique. Les images sont alors revelatrices de comportements autantque de formes. Ainsi, la realite virtuelle devient transdisciplinaire et se detache progres-sivement de ses origines.

En 1992, D. Zelter proposait deja d’evaluer les univers virtuels par rapport a troisnotions de base : l’autonomie des objets visualises, l’interaction avec ces objets, et lasensation de presence au sein du monde virtuel [Zelter 92]. Un univers donne est alorsrepresente par un point dans le repere AIP (autonomie, interaction, presence). Ainsi, dansce repere, le cinema 3D a pour coordonnees (0,0,1), le simulateur de vol (0,1,1), et Zelterplacait la realite virtuelle au point (1,1,1). Mais il faut bien reconnaıtre que le probleme del’autonomie des objets virtuels a ete peu etudie jusqu’a present. On peut cependant noterque l’animation, dite comportementale, introduisit quelques comportements autonomesavec les systemes de particules [Reeves 83], les nuees d’oiseaux [Reynolds 87], les bancsde poissons [Terzopoulos 94], et bien sur les humains virtuels [Thalmann 99].

7Imagina (www.imagina.mc) : 21eme edition en 20028On trouvera dans [Capin 99] une comparaison d’un certain nombre de ces plateformes.9GT-RV : Groupe de Travail Realite Virtuelle du CNRS et du Ministere de l’Education Nationale de

la Recherche et de la Technologie (www.inria.fr/epidaure/GT-RV/gt-rv.html).

17

Page 18: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Concepts

Un objet a un comportement considere comme autonome, s’il est capable de s’adapteraux modifications non connues de son environnement : il doit ainsi etre dote de moyensde perception, d’action, et de coordination entre perceptions et actions, pour pouvoirreagir de maniere realiste a ces modifications. Cette notion d’autonomie est au cœur denotre problematique. Avec cette nouvelle perspective, il nous faut revenir sur la notionmeme de realite virtuelle en explorant le reel des philosophes (section 2.3) et le virtueldes physiciens (section 2.4) pour comprendre pourquoi l’autonomie des objets virtuels estessentielle au realisme des images qu’ils habitent (section 2.5).

2.3 Le reel des philosophes

Figure-toi des hommes dans une demeure souterraine en forme de caverne, dont l’entree,ouverte a la lumiere, s’etend sur toute la longueur de la facade; ils sont la depuis leurenfance, les jambes et le cou pris dans des chaınes, en sorte qu’ils ne peuvent bouger deplace, ni voir ailleurs que devant eux; [...] Et d’abord penses-tu que dans cette situation ilsaient vu d’eux-memes et de leurs voisins autre chose que les ombres projetees par le feu surla partie de la caverne qui leur fait face ? [...] Des lors, s’ils pouvaient s’entretenir entreeux, ne penses-tu pas qu’ils croiraient nommer les objets reels eux-memes, en nommantles ombres qu’ils verraient ? [...] Il est indubitable, repris-je, qu’aux yeux de ces gens-la larealite ne saurait etre autre chose que les ombres des objets confectionnes.

Platon, La republique, Livre VII, ≈ 375 avant J.C.

Le mot reel vient du latin res, la chose. Une realite est une chose qui existe; elle apour principales caracteristiques la resistance et la recurrence : elle est subie, elle nousresiste, elle revient sans cesse. . . Mais qu’est-ce qu’une chose, et en quoi existe-t-elle ?Ces interrogations sont sans doute aussi anciennes que la philosophie elle-meme, et c’estpourquoi cette notion de realite, a la fois intuitive et complexe, est revisitee regulierementpar les philosophes et les scientifiques.

2.3.1 Dualite sensible/intelligible

Il y a pres de 2500 ans, Platon dans sa celebre allegorie de la caverne, placait dejades hommes en situation quasi-immersive devant un ecran (la partie de la caverne quileur fait face) de telle sorte qu’ils ne puissent y voir que les images d’objets virtuelsqui etaient projetees (les ombres des objets confectionnes). Cette simple experience depensee est sans doute la premiere experience de realite virtuelle, et prefigurait deja lesReality Centers d’aujourd’hui [Gobel 93]. Depuis lors, du je pense donc je suis de ReneDescartes10 au reel voile du physicien Bernard d’Espagnat [D’Espagnat 94], toutes lesdoctrines philosophiques oscillent entre deux opinions extremes (figure11 2.1). La premiereattitude, objectiviste, affirme que les choses existent independamment de nous-memes :il existe une realite objective independante des conditions sensibles, experimentales etintellectuelles de sa manifestation. La seconde attitude, subjectiviste, rapporte tout a lapensee subjective, de sorte qu’il est vain de discuter de la veritable nature des choses : la

10Descartes R., Discours de la methode, Livre IV, 1637.11La figure 2.1 est librement inspiree du Dictionnaire de Philosophie de Baraquin et al. [Baraquin 95].

18

Page 19: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Le reel des philosophes

realite n’est qu’un artefact, une idee. Et le jeu des oppositions entre ces deux points de vueenrichit la reflexion; chacun y trouve son point d’equilibre, entre l’objet et la consciencequi le percoit [Hamburger 95].

- Le materialisme (philosophie de la matiere) affirme la preeminence de la matiere sur lapensee. On y retrouve les atomistes de l’Antiquite ainsi que les scientistes des 19eme et20eme siecles pour lesquels toute explication est uniquement d’ordre physico-chimique.

subjectivisme

idealisme

rationalisme

positivisme

empirisme

materialisme

objectivisme

6

?

- L’empirisme (philosophie de l’induction) fait de l’experiencela seule source du savoir; il legitime l’induction comme prin-cipale demarche pour passer d’un ensemble de faits observesa l’affirmation d’une loi generale.

- Le positivisme (philosophie de l’experience), rationalismeempirique ou empirisme rationnel, repose sur la methodeexperimentale en insistant sur l’importance de l’hypothesequi gouverne le raisonnement et commande l’experience :l’experimentation devient deliberee, consciente et methodique.Elle confere a la deduction le role de justifier les lois posterieu-rement a leur formulation inductive ou intuitive. Le pragma-tisme de cette doctrine, initiee par A. Comte, amendee entreautres par G. Bachelard et K. Popper, a seduit un grand nom-bre de scientifiques des 19eme et 20eme siecles (C. Bernard,N. Bohr, . . . ).

- Le rationalisme (philosophie de la deduction) postule que laraison est une faculte organisatrice de l’experience; a l’aide deconcepts et de principes a priori, elle fournit le cadre formelde toute connaissance des phenomenes en s’appuyant sur unedemarche logico-deductive.

- L’idealisme (philosophie de l’idee) affirme que la realite n’est pas d’ordre sensible mais ideel.On y retrouve les conceptions idealistes de Platon, R. Descartes, E. Kant, ou G. Berkeley.

Figure 2.1: Realite et principales doctrines philosophiques

Sans entrer dans ce debat, notons que c’est par l’intermediaire de nos sens et denotre esprit que nous apprehendons le monde. Certes, les sens ne nous preservent pasd’illusions, de mirages ou d’hallucinations, de meme que les idees peuvent etre arbi-traires, desincarnees ou schizophreniques; cependant ces deux approches du sensible et del’intelligible sont nos seuls moyens d’investigation du reel. Deja en son temps, E. Kant12

introduisit la notion de noumene — objet de l’entendement, du domaine de l’intelligible— par opposition a la notion de phenomene — objet d’experience possible qui apparaıtdans l’espace et dans le temps, du domaine du sensible. Recemment, avec Edgar Morinet son paradigme de complexite, la frontiere entre le sensible et l’intelligible s’estompe. Ilpostule un principe dialogique que l’on peut definir comme l’association d’antagonismes,necessaires ensemble a l’existence, au fonctionnement et au developpement d’un pheno-mene organise. Ainsi, une dialogique sensible/intelligible controle la perception, depuisles recepteurs sensoriels jusqu’a l’elaboration d’une representation cognitive [Morin 86].Dans une meme perspective, le physicien Jean-Marc Levy-Leblond considere commeirreductibles les couples antinomiques qui structurent la pensee : continu/discontinu,determine/aleatoire, elementaire/compose, fini/infini, formel/intuitif, global/local, reel/fictif . . . , et a partir de nombreux exemples empruntes aux sciences physiques, montre

12Kant E., Critique de la raison pure, I, Livre II, Chapitre III, 1781.

19

Page 20: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Concepts

comment ces couples de contraires sont indissociables et structurent notre comprehensionscientifique de la nature, et par la meme notre apprehension de la realite [Levy-Leblond 96].

Ainsi, dans une dialogique objective/subjective, la realite devient descriptive non de lachose en soi, mais de la chose telle qu’elle est vue par l’homme par le biais des conditionssensibles, experimentales et intelligibles de sa manifestation. La frontiere entre les deuxcontraires de cette dialogique est sans cesse redessinee sous l’effet des interactions entrele monde et l’homme. Les sens peuvent etre trompeurs, aussi l’esprit imagine-t-il desactions pour ameliorer sa comprehension du monde; ces actions provoquent des reactionsau niveau des sens qui permettent en retour d’eviter la desincarnation des idees. Chacunse construit ainsi sa realite par des aller-retours continuels entre sens et imagination;les sciences tentent elles d’en donner une representation universelle la plus degagee desillusions individuelles.

2.3.2 Opposition virtuel/actuel

Alors que le concept de realite hante les philosophes depuis toujours, celui de virtualitene constitue un theme de recherche en soi que depuis quelques decennies environ. Le motvirtuel, du latin virtus (vertu, force), qualifie la chose en puissance, qui a en soi toutes lesconditions de son actualisation; en ce sens le virtuel s’oppose a l’actuel, ici et maintenant,qui est en acte et non en puissance. Cette acception du virtuel, qui remonte au Moyen-Age, est analysee en detail par Pierre Levy; il reconnaıt dans le reel, le possible, l’actuelet le virtuel, quatre modes differents d’etre qui s’opposent deux a deux : le possible aureel et le virtuel a l’actuel (figure 2.2 [Levy 95]). Le possible est un reel non manifeste,latent : il se realisera sans que rien ne change dans sa determination ni dans sa nature;la realisation correspond a l’occurrence d’un possible predefini. L’actuel se manifeste iciet maintenant comme une solution creative d’une problematique, le virtuel, configurationdynamique de forces et de finalites. La virtualisation transforme l’actualite initiale ensolution d’une problematique plus generale.

Pour illustrer cette opposition virtuel/actuel, considerons le cas d’une entreprise deservices qui decide de generaliser le teletravail. L’entreprise actuelle regroupe en memetemps ses employes en un meme lieu. Or le teletravail tend a rendre inutile cette presencephysique des employes simultanement au meme endroit : le lieu de travail et l’emploi dutemps d’un employe dependent maintenant de l’employe lui-meme. La virtualisation del’entreprise consiste alors en une modification radicale de ses references spatio-temporelles;les employes peuvent y travailler d’un point quelconque du globe, 24 heures sur 24. Onpasse ici par une forme de dematerialisation au profit d’un renforcement des communi-cations informationnelles au sein de l’entreprise. Pour l’entreprise, il s’agit d’une sortede deterritorialisation ou les coordonnees spatio-temporelles du travail constituent unprobleme toujours pose plutot qu’une solution particuliere. Pour idealiser cette nouvelleentreprise, l’esprit en construit une representation mentale qui repose sur la metaphore del’entreprise actuelle; il commence par interpreter le fonctionnement de l’entreprise virtuellepar analogie a celui de l’entreprise classique, puis au fur et a mesure de sa comprehension,se forge une nouvelle idee de la notion d’entreprise. L’entreprise virtuelle n’est pas fictivepour autant : bien qu’elle soit detachee de l’ici et maintenant, elle produit encore des

20

Page 21: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Le reel des philosophes

ensemble

de

problèmes

ensemble

de

possibles

prédéterminés

choses

persistantes

et

résistantes

solution

ici et

maintenant

à un

problème,

particulière

potentialisation

réalisation

virtualisation

actualisation

Pôle du latent Pôle du manifeste

VIRTUEL ACTUEL

REELPOSSIBLE

Figure 2.2: Les quatre modes d’etre

services et fait toujours des benefices !

Aujourd’hui, l’adjectif virtuel a ete substantive : on dit le virtuel comme on parledu reel, et cette evolution s’accompagne d’un changement de sens qui rend moins nettel’opposition entre le virtuel et l’actuel. Pour Gilles-Gaston Granger, epistemologiste, levirtuel est une des categories de connaissance objective, avec le possible et le proba-ble, essentielle a la constitution des objets de science a partir des phenomenes actuelsde l’experience. Le virtuel est une representation des choses et des faits detachee desconditions d’une experience complete, singuliere, actuelle [Granger 95]. A l’oppose, pourPhilippe Queau, le virtuel est present, d’une maniere reelle et actuelle : c’est un art quifabrique des imitations dont on peut se servir : il agit sur la realite dont il fait partie[Queau 95]. Entre ces deux extremes, Dominique Noel s’appuie sur la semantique desmondes possibles de S. Kripke [Kripke 63] pour ordonner les mondes possibles selon unerelation dite d’accessibilite : un monde M1 est accessible d’un autre monde M2 si ce qui estpossible relativement a M1 est aussi possible relativement a M2. La relation d’accessibiliteR fait l’hypothese d’un monde initial M0 qui est interprete comme le monde actuel; lesmondes M1, M2, . . . se deduisent de M0 par une relation R et sont autant de mondesinterpretes comme des mondes virtuels. Il propose ainsi un formalisme pour etablir une

21

Page 22: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Concepts

cartographie des principales conceptions du virtuel [Noel 98].

2.3.3 Philosophie et realite virtuelle

Bien que le concept de realite divise les philosophes depuis les origines de la philosophie,ces memes philosophes s’accordent en general pour admettre que, quel que soit le statutde la chose en soi — existe-t-elle, ou non, independamment de l’homme qui la percoit— trois types de mediation interviennent entre le monde et l’homme : la mediation dessens (le monde percu), la mediation de l’action (le monde experimente) et la mediation del’esprit (le monde imagine). Ces trois mediations sont indissociables et constituent troispoints de vue d’une meme realite (figure 2.3).

A ce premier stade de notre reflexion, nous affirmerons donc que, en tant que realite,la realite virtuelle doit elle aussi permettre cette triple mediation des sens, de l’actionet de l’esprit. Autrement dit, nous devons pouvoir repondre par l’affirmative aux troisquestions suivantes :

1. Est-elle accessible a nos sens ?

2. Reagit-elle a nos sollicitations ?

3. En avons-nous une representation modifiable ?

Mais en quoi une telle realite serait-elle virtuelle ? L’appropriation grandissante du termevirtuel par toutes les spheres de la societe, des scientifiques aux philosophes, des artistesau grand public, provoque des glissements de sens qui ne semblent pas encore stabilises etqui renouvellent le concept meme de realite. Pour notre part, nous avons choisi de nousreferer a la notion de virtuel des sciences physiques pour preciser notre conception d’unerealite qui soit virtuelle.

Realite

•Esprit

Representation

AA

AA

AA

AA

AA

AA

AA

¢¢¢¢¢¢¢¢¢¢¢¢¢¢

•SensPerception

•ActionExperimentation

- La mediation des sens autorise la perceptiondu reel.

- La mediation de l’action permet de menerdes experimentations sur le reel.

- La mediation de l’esprit forge une represen-tation mentale de la realite.

Figure 2.3: Les trois mediations du reel

22

Page 23: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Le virtuel des physiciens

2.4 Le virtuel des physiciensL’optique geometrique repose tout entiere sur la figuration des rayons lumineux selon lesquelsse propagerait la lumiere. A force d’en dessiner les reflexions et les refractions, on finit parconsiderer ces rayons comme des objets physiques reels. [...] L’image des faisceaux de phares,automobiles ou marins, et plus encore, celles, modernes, des minces faisceaux lasers ou desfibres de verre conduisant la lumiere, impose ici le trop vif sentiment d’une realite familiere.Pourtant, ces rayons lumineux de la theorie, lignes sans epaisseur, sont-ils autre choseque des etres de raison, des constructions, fecondes, certes, mais purement intellectuelles ?[Levy-Leblond 96]

Les physiciens qualifient de virtuel un certain nombre de concepts : images virtuellesen optique, travaux virtuels en mecanique, processus virtuels d’interaction en physiquedes particules . . . , autant de modeles dont les pouvoirs explicatifs et predictifs sont large-ment utilises pour faire progresser la connaissance des phenomenes qu’ils cherchent arepresenter. En fait, cette notion de virtuel semble accompagner la mathematisation dessciences physiques depuis le 17eme siecle. Le formalisme mathematique utilise en physiquedevenant de plus en plus inaccessible au langage ordinaire, il se met de fait hors de porteed’une representation intuitive. On est alors conduit a utiliser des analogies, des images etdes mots, sur ce qui n’est pleinement saisissable que sous la forme d’un calcul; ces notionsintermediaires, bien qu’insuffisantes pour etre pleinement credibles, eclairent neanmoinsla demarche du physicien [Omnes 95].

2.4.1 Images virtuelles

L’optique geometrique s’interesse aux phenomenes lumineux a travers l’etude de lamarche des rayons lumineux dans les milieux transparents. Elle repose sur la notion derayons lumineux, independants les uns des autres, qui se propagent en ligne droite dansles milieux homogenes transparents, et dont le comportement a la surface d’un dioptre oud’un miroir est decrit par les lois de Snell-Descartes (voir par exemple [Bertin 78]).

Pour fixer les idees, considerons le cas general d’un systeme optique (S) limite par uneface d’entree L1 et une face de sortie L2, et separant deux milieux homogenes respective-ment d’indice n1 et n2 (figure 2.4). Par definition, si la lumiere se propage de gauche adroite, le milieu situe a gauche de la face L1 s’appelle le milieu objet, le milieu a droite dela face L2 le milieu image. Soit O une source lumineuse ponctuelle envoyant sur L1 des

L2L1

(S)

axe optique

(n2)(n1)

milieu imagemilieu objet

IO

���������������������������������������������������������������������������������

���������������������������������������������������������������������������������

���������������������������������������������������������������

���������������������������������������������������������������

�����������������������������������

�����������������������������������

��������������������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������������

���������������

���������������

���������������������������������������������������������������

���������������������������������������������������������������

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������������

Figure 2.4: Systeme optique

rayons lumineux dits rayons incidents. Le point O est considere comme un objet pour

23

Page 24: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Concepts

(S), et si apres avoir traverse le systeme (S), les rayons lumineux emergents passent touspar un meme point I, ce point I est appele image de O a travers le systeme (S). Ondistingue alors deux cas :

- les rayons emergents passent effectivement par I : on dit que I est l’image reelle del’objet O; c’est le cas pour une lentille convergente comme le montre la figure 2.5a ;

- ce ne sont que les prolongements de ces rayons qui passent par I : on dit alors que Iest l’image virtuelle de O; c’est le cas pour une lentille divergente comme le montrela figure 2.5b . Si une image reelle peut etre materialisee sur un ecran place dansle plan ou elle se situe, il n’en est pas de meme pour une image virtuelle qui n’estqu’une construction de l’esprit.

Ainsi, si l’on place en O un laser de puissance, un petit bout de papier brulera en I dans lecas d’une image reelle (concentration d’energie), et ne brulera pas en I dans le cas d’uneimage virtuelle (pas de concentration d’energie).

axe optiqueO I O I

L L

b) lentille divergentea) lentille convergente

Figure 2.5: Image reelle (a) et image virtuelle (b)

Dans un milieu transparent, isotrope, homogene ou non, le trajet de la lumiere estindependant du sens de parcours : si un rayon lumineux part d’un point O pour allervers un point I en suivant un certain trajet, un autre rayon lumineux peut partir de Iet suivre le meme trajet en sens inverse pour aller vers O. Ainsi, les roles respectifs desmilieux objet et image peuvent etre interchanges : cette propriete est connue sous le nomde principe du retour inverse de la lumiere. Reprenons les montages de la figure 2.5.Dans le cas de la lentille convergente, il n’y a aucune difficulte a placer en I une sourceponctuelle dont les rayons convergent en O. Dans le cas de la lentille divergente dont leschema est repris sur la figure 2.6a, il faut avoir recours a un artifice. Placons en O′ unesource ponctuelle de facon a former au moyen d’une lentille convergente auxiliaire L′ uneimage qui, si L n’existait pas, se formerait en I (figure 2.6b); a cause de la presence de L,les rayons viennent converger en O (figure 2.6c) : on dit que I joue le role d’objet virtuelpour la lentille L.

Ces notions d’images virtuelles et d’objets virtuels en optique geometrique correspon-dent a des constructions geometriques, lieux de rencontre des prolongements des rayonslumineux. Ce sont des concepts intermediaires, construits comme tels, qui ne peuvent pasetre materialises, mais qui peuvent faciliter la construction des images : ils sont pour celalargement utilises dans la conception des appareils d’optique.

24

Page 25: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Le virtuel des physiciens

O I

L

O’

L’

O I

L

I O’

L’

a)

b)

c)

Pour illustrer le principe de re-tour inverse dans le cas d’unelentille divergente qui donne d’unobjet O une image virtuelle I (fi-gure 2.6a), il faut avoir recours aun artifice. Placons en O′ unesource ponctuelle de facon a for-mer au moyen d’une lentille con-vergente auxiliaire L′ une imagequi, si L n’existait pas, se for-merait en I (figure 2.6b); a causede la presence de L, les rayonsviennent converger en O (figure2.6c) : on dit que I joue le roled’objet virtuel pour la lentille L.

Figure 2.6: Image virtuelle (a), image reelle (b) et objet virtuel (c)

Les images de la realite virtuelle ne sont donc pas virtuelles. Ce sont essentielle-ment des images de synthese, produites par ordinateur, qui comme toute image, repro-duisent une realite du monde physique ou visualisent une abstraction mentale. Elles sematerialisent sur les ecrans de nos terminaux et sont donc, au sens des opticiens, desimages reelles. Par contre, elles nous donnent a voir des objets virtuels, et c’est la qualitedu rendu visuel qui provoque en partie l’illusion du reel.

2.4.2 Perception des images

Comme dans la plupart des disciplines anciennes, les fondements de l’optique geometri-que reposent sur des concepts directement issus du sens commun et acquis de l’experiencejournaliere. Il en va ainsi de la notion de rayon lumineux, de la propagation rectiligne etdu principe du retour inverse. Ces notions sont si bien ancrees en nous-memes13, tellementefficaces dans la perception usuelle de notre environnement, qu’elles nous font commettredes erreurs d’interpretation qui sont a l’origine de certaines illusions ou mirages. Cesillusions sont en fait des solutions que propose le cerveau apres simulation du trajet suivi

13Les geneticiens diraient qu’elles sont codees, les neurophysiologistes qu’elles sont memorisees, leselectroniciens qu’elles sont cablees, les informaticiens qu’elles sont compilees, . . .

25

Page 26: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Concepts

par la lumiere : il parcourt le trajet en sens inverse (principe du retour inverse), en lignedroite (propagation rectiligne), en ignorant les dioptres et les miroirs (ni refraction, nireflexion), et en supposant le milieu homogene !

O

I

b) courbure des rayons

Terre

c) miragea) miroir

O I

O

I

Chaque matin, nous voyons notre image derriere le miroir alors qu’il n’y a rien, sinon une image mentaleconstruite par notre cerveau . . . qui a oublie les lois de la reflexion (figure 2.7a). Par beau temps sec et clair,on peut apercevoir une ıle derriere l’horizon. Les variations de densite avec l’altitude au sein de l’atmosphereen font un milieu non homogene, qui provoque la courbure des rayons lumineux; si cette variation de densiteest suffisamment importante, la courbure infligee aux rayons lumineux peut effectivement faire apparaıtre l’ıleau-dessus de l’horizon (figure 2.7b). Les mirages sont des illusions du meme type (figure 2.7c). Les couchesd’air voisines du sol peuvent devenir moins denses que les couches superieures du fait d’un echauffementlocal : elles provoquent alors une courbure des rayons se propageant vers le sol. L’observation simultaneed’un objet O en vision directe et d’une image I due a la courbure de certains rayons, peut alors s’interpreterpar la presence d’une nappe d’eau dans laquelle l’objet O se refleterait.

Figure 2.7: Illusions de la propagation rectiligne et du retour inverse

Ces illusions sont reelles au sens ou des images reelles impressionnent notre retine;elles sont virtuelles au sens ou l’interpretation que nous faisons de ces images reellesnous conduit a supposer l’existence d’objets virtuels qui sont le resultat de constructionsgeometriques inadequates (figure 2.7). L’interpretation est le resultat d’une simulationde la construction de l’image, pour laquelle le cerveau, tel un etudiant inexperimente,n’aurait pas verifie les conditions d’application du modele qu’il utilise (ici, un modele depropagation rectiligne de la lumiere dans un milieu transparent et homogene). L’optiquegeometrique nous propose une interpretation d’un certain nombre d’illusions d’optique,mais pour mieux les comprendre, il nous faut, comme l’heroıne de Lewis Carroll14, tra-verser le miroir, passer de l’autre cote et entrer dans l’univers du modele.

2.4.3 Physique et realite virtuelle

Les physiciens fondent leurs modeles sur l’observation des phenomenes, et en retour,ils expliquent les phenomenes observes a l’aide de ces modeles. C’est la confrontationde la simulation du modele et de l’experimentation du reel qui permet cet enrichissementmutuel entre l’observation et la modelisation d’un phenomene. Une telle confrontation estegalement mise en œuvre par le cerveau lors de la perception de notre environnement : ilcompare ses propres predictions aux informations qu’il preleve sur l’environnement. Ainsiles sens servent aussi bien de sources d’informations que de verificateurs d’hypotheses; lestroubles perceptifs naissent alors des incoherences non resolues entre les informations etles estimations [Berthoz 97].

14Lewis Carroll, De l’autre cote du miroir, 1872.

26

Page 27: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Le virtuel des physiciens

Pour les physiciens, le virtuel est un outil d’intelligibilite du reel; il apparaıt resolumentcomme une construction dans l’univers des modeles. Ainsi en va-t-il des constructionsgeometriques qui conduisent aux images virtuelles de l’optique, ou a la prise en compte demouvements virtuels dans la determination du mouvement en mecanique. L’expressiontout se passe comme si est d’ailleurs la plus couramment employee par un specialistelorsqu’il tente d’expliquer un phenomene qui releve de sa competence. A l’image de laformule il etait une fois qui introduit le conte de fees, tout se passe comme si est lepreambule consacre qui marque le passage dans l’univers du modele scientifique; il metclairement le lecteur en garde : ce qui va suivre n’a de sens et d’existence que dans lecadre du modele.

Poursuivant notre reflexion, nous affirmerons donc que la realite virtuelle est virtuelleparce qu’elle concerne resolument l’univers des modeles. Une realite virtuelle est ununivers de modeles au sein duquel tout se passe comme si les modeles etaient reels parcequ’ils proposent simultanement la triple mediation des sens, de l’action et de l’esprit(figure 2.8). L’utilisateur peut ainsi observer l’activite des modeles a travers l’ensemblede ses canaux sensoriels (mediation des sens), tester en temps reel la reactivite des modelesa l’aide de peripheriques adaptes (mediation de l’action), et construire la proactivite desmodeles en les modifiant en ligne pour les adapter a ses projets (mediation de l’esprit). Laparticipation active de l’utilisateur a cet univers de modeles ouvre la voix a une veritableexperimentation des modeles et ainsi a une meilleure apprehension de leur complexite.

Modele

•Esprit

Representationproactivite

AA

AA

AA

AA

AA

AA

AA

¢¢¢¢¢¢¢¢¢¢¢¢¢¢

•SensPerception

activite

•ActionExperimentation

reactivite

. La mediation des sens autorise la perceptiondu modele par l’observation de son activite.

. La mediation de l’action permet de menerdes experimentations sur le modele, et ainside tester sa reactivite.

. La mediation de l’esprit faconne une repre-sentation mentale du modele qui definit saproactivite.

Figure 2.8: Les trois mediations du modele en realite virtuelle

27

Page 28: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Concepts

2.5 Principe d’autonomie

Geppetto prit ses outils et commenca a fabriquer son pantin. “Comment vais-je l’appeler ?se demanda-t-il. Je vais l’appeler Pinocchio.” [...] Quand il eut trouve le nom de son pantin,il se mit au travail pour de bon et commenca par lui faire les cheveux, puis le front, puisles yeux. Les yeux finis, jugez de sa stupeur lorsque Geppetto s’apercut qu’ils bougeaient etle regardaient fixement. [...] Il prit le pantin sous les bras et le posa par terre, sur le sol dela piece, pour le faire marcher. Pinocchio avait les jambes raides et ne savait comment semouvoir, mais Geppetto le tenait par la main pour lui apprendre a faire ses premiers pas.Quand ses jambes se furent degourdies, Pinocchio se mit a marcher tout seul et a courirdans la piece, jusqu’au moment ou, s’echappant par la porte, il bondit dans la rue et sesauva.

Carlo Collodi, Les aventures de Pinocchio, 1883

Une application de realite virtuelle integre un certain nombre de modeles (le virtueldes physiciens) que l’utilisateur doit etre capable de percevoir, d’experimenter et de mo-difier dans les conditions du reel (les trois mediations du reel des philosophes). Ainsi,l’utilisateur peut s’inserer ou s’extraire a tout moment de la boucle de controle/commandedu systeme, lui autorisant l’exploitation des modeles en ligne. Quant au modelisateur, ildoit integrer un modele d’utilisateur (un avatar) dans son systeme pour que l’utilisateurpuisse effectivement etre pris en compte et participer a l’evolution de cet univers demodeles.

2.5.1 Exploitation des modeles

La perception, l’experimentation et la modification constituent les trois modes prin-cipaux d’exploitation des modeles. Ils correspondent chacun a une mediation du reeldifferente [Tisseau 98b].

La mediation des sens passe par la perception du modele : l’utilisateur observel’activite du modele a travers l’ensemble de ses canaux sensoriels. Ainsi en va-t-il du spec-tateur d’un cinema dynamique qui, face a un ecran hemispherique dans une salle doteed’un systeme de son spatialise, et assis sur un siege monte sur verins, a une veritablesensation d’immersion participative dans le film d’animation qu’il percoit, et ce bien qu’ilne puisse en modifier le cours. La qualite des rendus sensoriels et de leur synchronisationest ici primordiale : c’est le domaine privilegie de l’animation temps reel. Dans son ac-ception la plus courante, animer c’est mettre en mouvement. Dans le cadre plus restreintdu film d’animation, animer c’est donner l’impression du mouvement en faisant defilerune collection ordonnee d’images (dessins, photographies, images de synthese, . . . ). Laproduction de ces images est obtenue par application d’un modele d’evolution des objetsde la scene representee.

La mediation de l’action met en jeu l’experimentation du modele : l’utilisateur testela reactivite du modele a l’aide de manipulateurs adaptes. Ainsi en va-t-il du pilote dechasse aux commandes d’un simulateur de vol : sa formation est essentiellement axeesur l’apprentissage du comportement reactif de son appareil. Fondee sur le principe del’action et de la reaction, l’accent est mis ici sur la qualite du rendu temporel : c’estle domaine d’excellence de la simulation interactive. Au sens usuel, simuler c’est faireparaıtre comme reel ce qui ne l’est pas. Dans les disciplines scientifiques, la simulation

28

Page 29: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Principe d’autonomie

est une experimentation sur un modele; elle permet de tester la qualite et la coherenceinterne du modele en confrontant ses resultats a ceux de l’experimentation sur le systememodelise. Elle est aujourd’hui de plus en plus souvent mise en œuvre pour etudier dessystemes complexes ou intervient l’homme, aussi bien pour former des operateurs quepour etudier les reactions d’utilisateurs. Dans ces simulations ou l’homme est dans laboucle, l’operateur apporte ainsi son propre modele comportemental qui interagit alorsavec les autres modeles.

La mediation de l’esprit intervient lorsque l’utilisateur modifie lui-meme le modele endisposant d’une expressivite equivalente a celle du modelisateur. Ainsi en va-t-il d’unoperateur qui effectue une reconfiguration partielle d’un systeme pendant que le restedu systeme demeure operationnel. C’est le domaine en pleine expansion du prototypageinteractif et de la modelisation en ligne pour lesquels la facilite d’intervention et le pouvoird’expression sont essentiels. Pour obtenir ce niveau d’expressivite, l’utilisateur disposeen general des memes interfaces et surtout du meme langage que le modelisateur. Lamediation de l’esprit se concretise ainsi par la mediation du langage.

Ainsi, les disciplines connexes de l’animation temps reel, de la simulation interactiveet de la modelisation en ligne representent trois facettes de l’exploitation des modeles. Aelles trois, elles permettent la triple mediation du reel necessaire en realite virtuelle, etdefinissent trois niveaux d’interactivite (figure 2.9).

. L’animation temps reel correspond a un niveau zero d’interactivite entre l’utilisateuret le modele en cours d’execution. L’utilisateur subit le modele car il ne peut agirsur aucun des parametres du modele : il est un simple spectateur du modele.

. La simulation interactive correspond a un premier niveau d’interactivite car certainsparametres du modele sont accessibles a l’utilisateur. Celui-ci joue ainsi le roled’acteur dans la simulation.

. Dans la modelisation en ligne, les modeles sont eux-memes des parametres dusysteme : l’interactivite y atteint un niveau d’ordre superieur. L’utilisateur, en mo-difiant lui-meme le modele en cours d’execution, participe a la creation du modeleet devient ainsi un cre-acteur (createur-acteur).

interactivité

0

1

2

simulation interactive

animation temps réel

modélisation en ligneacteur

spectateur

cré−acteur

sens

esprit

méd

iatio

n

action

Figure 2.9: Les differents niveaux d’interactivite en realite virtuelle

29

Page 30: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Concepts

2.5.2 Modelisation de l’utilisateur

L’utilisateur peut interagir avec l’image a l’aide d’interfaces comportementales adap-tees. Mais, ce que peut observer ou faire l’utilisateur au sein de l’univers des modeles,c’est uniquement ce que le systeme controle a travers les pilotes des peripheriques, inter-mediaires indispensables entre l’homme et la machine. La mediation sensorimotrice del’utilisateur est ainsi prise en charge par le systeme, et donc modelisee au sein du systemed’une maniere ou d’une autre. La seule vraie liberte de l’utilisateur reside dans ses choixdecisionnels (mediation de l’esprit) contraints par les limitations du systeme en termesd’observation et d’action.

Aussi est-il necessaire d’expliciter la prise en compte de l’utilisateur en le representantpar un modele particulier d’avatar au sein du systeme. Au minimum, cet avatar estsitue dans l’environnement virtuel afin de definir un point de vue necessaire aux differentsrendus sensoriels, et il dispose de capteurs et d’actionneurs virtuels (vision [Renault 90],audition [Noser 95], poignees de prehension [Kallmann 99]) pour interagir avec les autresmodeles. Les donnees recueillies par les capteurs virtuels de l’avatar sont transmises entemps reel a l’utilisateur par les pilotes de peripheriques, alors que les ordres de l’utilisateurtransitent dans le sens inverse jusqu’aux actionneurs de l’avatar. Il dispose egalementde moyens de communication pour communiquer avec les autres avatars, ces moyensrenforcant ainsi ses capacites sensorimotrices en l’autorisant a recevoir et a emettre desinformations langagieres. La visualisation de l’avatar peut etre inexistante (BrickNet[Singh 94]), reduite a une simple primitive 3D texturee mais non structuree (MASSIVE[Benford 95]), assimilee a un systeme rigide polyarticule (DIVE [Carlsson 93]), ou a unerepresentation plus realiste qui prend en compte des comportements evolues tels que lagestuelle et les expressions faciales (VLNET [Capin 97]). Cette visualisation, quand elleexiste, facilite l’identification des avatars et les communications non verbales entre avatars.Ainsi, avec cette modelisation explicite de l’utilisateur, trois grands types d’interactionspeuvent coexister dans l’univers des modeles numeriques :

. les interactions modele-modele comme les collisions et les attachements;

. les interactions modele-avatar qui permettent la mediation sensorimotrice entre unmodele et un utilisateur;

. les interactions avatar-avatar qui autorisent les rencontres entre avatars dans l’envi-ronnement virtuel partage par plusieurs utilisateurs (televirtualite [Queau 93a]).

Le statut de l’utilisateur en realite virtuelle est donc different de celui qu’il peut avoiren simulation scientifique des calculs numeriques ou en simulation interactive des simu-lateurs d’entraınement (figure 2.10). En simulation scientifique, l’utilisateur intervientavant pour fixer les parametres du modele, et apres pour interpreter les resultats du cal-cul. Dans le cas d’un systeme de visualisation scientifique, il peut observer l’evolution descalculs, eventuellement avec les peripheriques sensoriels de la realite virtuelle [Bryson 96],mais il reste cependant esclave du modele. Les systemes de simulation scientifique sontdes systemes centres-modele car les modeles des sciences veulent donner de la realitedes representations universelles detachees des impressions individuelles. A l’inverse, lessystemes de simulation interactive sont essentiellement centres-utilisateur pour donnera l’utilisateur tous les moyens necessaires au controle et au pilotage du modele : le

30

Page 31: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Principe d’autonomie

modele doit demeurer esclave de l’utilisateur. En introduisant la notion d’avatar, larealite virtuelle place l’utilisateur au meme niveau conceptuel que le modele. La relationmaıtre-esclave est ainsi supprimee au profit d’une plus grande autonomie des modeles, etpar voie de consequence, d’une plus grande autonomie de l’utilisateur.

Figure 2.10: Le statut de l’utilisateur en simulation scientifique (a), en simulation inter-active (b) et en realite virtuelle (c)

2.5.3 Autonomisation des modeles

L’autonomisation d’un modele consiste a le doter de moyens de perception et d’actionau sein de son environnement, ainsi que d’un module de decision lui permettant d’adapterses reactions aux stimuli tant externes qu’internes. Trois elements de reflexion nousguident dans l’autonomisation des modeles : l’autonomie par essence, par necessite etpar ignorance.

L’autonomie par essence, c’est celle qui caracterise les organismes vivants, de lacellule a l’homme. Les avatars ne sont pas les seuls modeles a percevoir et a agirdans leurs environnements numeriques : tout modele cense representer un etre vivantdoit imperativement etre dote d’une telle interface sensorimotrice. La notion d’animat,par exemple, concerne les animaux artificiels dont les lois de fonctionnement s’inspirentde celles des animaux [Wilson 85]. Comme un avatar, un animat est situe dans unenvironnement; il possede des capteurs pour acquerir des informations sur son envi-ronnement et des effecteurs pour agir au sein de cet environnement. A la differenced’un avatar dont le controle est assure par un utilisateur humain, l’animat doit as-surer lui-meme ce controle pour coordonner ses perceptions et ses actions [Meyer 91].Le controle peut etre inne (preprogramme) [Beer 90], mais dans l’approche animat, ilsera le plus souvent acquis afin de simuler la genese de comportements adaptes pour sur-vivre dans des environnements changeants. Ainsi, l’etude de l’apprentissage (epigenese)[Barto 81], du developpement (ontogenese) [Kodjabachian 98] et de l’evolution (phylo-genese) [Cliff 93] de l’architecture de controle constitue l’essentiel des recherches dans cedomaine tres actif [Meyer 94, Guillot 00]15. L’animation de creatures virtuelles obtenuespar ces differentes approches constitue un exemple tres demonstratif de ces comportementsadaptatifs [Sims 94], et la modelisation d’acteurs virtuels relevent de la meme demarche

15From Animals to Animats (Simulation of Adaptive Behavior) : conferences bisannuelles depuis 1990(www.adaptive-behavior.org/conf)

31

Page 32: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Concepts

[Thalmann 96]. Ainsi, l’autonomisation du modele associe a un organisme permet derendre compte plus fidelement de l’autonomie constatee chez cet organisme.

L’autonomie par necessite concerne la prise en compte instantanee des changementsdans l’environnement, par les organismes comme par les mecanismes. La modelisationphysique des mecanismes passe le plus souvent par la resolution de systemes d’equationsdifferentielles. Cette resolution necessite la connaissance des conditions aux limites quicontraignent le mouvement or, dans la realite, ces conditions peuvent changer sans arret,que les causes en soient connues ou non (interactions, perturbations, modifications del’environnement). Le modele doit donc etre capable de percevoir ces changements pouradapter son comportement en cours d’execution. Ceci est d’autant plus vrai quandl’homme est present dans le systeme car, par l’intermediaire de son avatar, il peut provo-quer des modifications tout a fait imprevisibles initialement. L’exemple de l’ecoulementdu sable dans un sablier est a ce titre tres instructif. La simulation physique des milieuxgranulaires repose le plus souvent sur des interactions micromecaniques entre spheresplus ou moins dures. De telles simulations prennent plusieurs heures de calcul pourvisualiser des ecoulements de l’ordre de la seconde et sont donc inadaptees aux con-traintes de la realite virtuelle [Herrmann 98]. Une modelisation a plus gros grains (niveaumesoscopique) a base de masses ponctuelles liees entre elles par des interactions appro-priees conduit a des visualisations satisfaisantes mais non interactives [Luciani 00]. Notreapproche considere des gros grains de sable autonomes qui, individuellement, detectent lescollisions (chocs elastiques) et sont sensibles a la gravite (chute libre). Elle nous permetde simuler l’ecoulement du sable dans le sablier, mais egalement de s’adapter en tempsreel au retournement du sablier ou a la creation d’un trou dans le sablier [Harrouet 00].Ainsi, l’autonomisation d’un modele quelconque lui permet de reagir a des situationsimprevues qui apparaissent en cours d’execution, et qui sont le fait de modifications dansl’environnement dues a l’activite des autres modeles.

L’autonomie par ignorance revele notre incapacite actuelle a rendre compte du com-portement de systemes complexes par les methodes reductionnistes de la demarche ana-lytique. Un systeme complexe est un systeme ouvert compose d’un ensemble heterogened’entites atomiques ou composites, dont le comportement d’ensemble est le resultat ducomportement individuel de ces entites et de leurs interactions variees dans un envi-ronnement, lui-meme actif. Selon les ecoles, le comportement d’ensemble est consideresoit comme organise en fonction d’un but, et on parle de comportement teleologique[Le Moigne 77], soit comme le produit d’une auto-organisation du systeme, et on parlealors d’emergence [Morin 77]. L’inexistence de modeles de comportement global pour lessystemes complexes conduit a repartir le controle au niveau des composants des systemeset ainsi a autonomiser les modeles de ces composants. L’evolution simultanee de cescomposants permet alors de mieux apprehender le comportement d’ensemble du systemeglobal. Ainsi, un ensemble de modeles autonomes en interaction au sein d’un meme espacecontribue a l’etude des systemes complexes ainsi qu’a leur experimentation.

L’autonomisation des modeles, qu’elle soit par essence, par necessite ou par igno-rance, contribue a peupler les environnements virtuels d’une vie artificielle qui renforcel’impression de realite.

32

Page 33: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Principe d’autonomie

2.5.4 Autonomie et realite virtuelle

L’utilisateur d’un systeme de realite virtuelle est a la fois spectateur, acteur et createurde l’univers de modeles numeriques avec lequel il interagit. Mieux, il y participe pleine-ment au sens ou il est lui-meme represente au sein de l’univers par un avatar, modelenumerique qui dispose de capteurs et d’actionneurs virtuels pour percevoir et agir danscet univers. La veritable autonomie de l’utilisateur tient alors dans sa capacite a coor-donner ses perceptions et ses actions, soit au hasard, pour simplement deambuler danscet environnement virtuel, soit en suivant ses propres buts. L’utilisateur est ainsi placeau meme niveau conceptuel que les modeles numeriques qui composent ce monde virtuel.

Differents types de modeles — particules, mecanismes, organismes — coexistent ausein des univers virtuels. Pour les modeles d’organismes, il est essentiel de leur donnerles moyens de percevoir, d’agir et de decider, afin de reproduire au mieux leur capacitea decider par eux-memes. Cette demarche est egalement necessaire pour les mecanismes,qui doivent etre capables de reagir a des modifications imprevues de leur environnement.Par ailleurs, notre ignorance dans la comprehension des systemes, lorsqu’ils deviennenttrop complexes, nous conduit a decentraliser le controle du systeme au niveau de ses cons-tituants. Les modeles, quels qu’ils soient, doivent donc disposer de moyens d’investigationequivalents a ceux de l’utilisateur et de moyens de decision adaptes a leurs fonctions.Une deficience sensorielle (myopie, surdite, anesthesie) provoque en general une perted’autonomie du sujet. Il en est de meme pour un handicap moteur (entorse, dechirure,elongation) et pour une deficience mentale (amnesie, distraction, phobie). Ainsi, doter lesmodeles de moyens de perception, d’action et de decision, c’est leur donner une autonomiequi les place au meme niveau operationnel que l’utilisateur.

Poursuivant notre reflexion commencee avec les philosophes et les physiciens, nouserigeons en principe l’autonomisation des modeles numeriques qui composent un universvirtuel. Une realite virtuelle est un univers de modeles autonomes en interaction, ausein duquel tout se passe comme si les modeles etaient reels parce qu’ils proposent simul-tanement, aux utilisateurs et aux autres modeles, la triple mediation des sens, de l’actionet du langage (figure 2.11). Accepter cette autonomie par conviction, c’est accepter lepartage du controle de l’evolution des univers virtuels entre les utilisateurs humains et lesmodeles numeriques qui peuplent ces univers.

Cette conception de la realite virtuelle rejoint ainsi le vieux reve de Collodi qui, commele rappelle la citation placee en exergue de cette section 2.5, faisait de sa celebre marion-nette une entite autonome qui remplissait la vie de son createur. La demarche de Gep-petto pour atteindre son but fut la meme que celle que nous avons constatee en realitevirtuelle. Il commenca par l’identifier (Je vais l’appeler Pinocchio), puis il s’interessaa son apparence ([il] commenca par lui faire les cheveux, puis le front), et lui fabriquades capteurs et des actionneurs (puis les yeux [...]). Il definit ensuite ses comportements(Geppetto le tenait par la main pour lui apprendre a faire ses premiers pas) afin de lerendre autonome (Pinocchio se mit a marcher tout seul) et enfin, il ne put que constaterque l’autonomisation d’un modele conduit a une perte de controle du createur sur sonmodele (il bondit dans la rue et se sauva).

33

Page 34: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Concepts

Figure 2.11: Autonomie et realite virtuelle

2.6 Conclusion

Issue des travaux interdisciplinaires sur l’image numerique de synthese, la realitevirtuelle transcende ses origines et s’affirme aujourd’hui comme une nouvelle disciplineau sein des sciences de l’ingenieur. Elle concerne la specification, la conception et larealisation d’univers virtuels realistes et participatifs.

Un univers virtuel est un ensemble de modeles numeriques autonomes en interaction,auquel l’homme participe en tant qu’avatar. La creation de ces univers repose sur unprincipe d’autonomie selon lequel les modeles numeriques

. sont dotes de capteurs virtuels qui leur permettent de percevoir les autres modeles,

. possedent des actionneurs pour agir sur les autres modeles,

. disposent de moyens de communication pour communiquer avec les autres modeles,

. et maıtrisent leurs coordinations perceptions-actions a travers un module de deci-sion.

Un avatar est alors un modele numerique dont les capacites de decision sont deleguees al’operateur humain qu’il represente. Les modeles numeriques, situes dans l’espace et dansle temps, evoluent ainsi de maniere autonome au sein de l’univers virtuel, dont l’evolutiond’ensemble est le resultat de leur evolution conjointe.

L’homme, modele parmi les modeles, est a la fois spectateur, acteur et createur del’univers virtuel auquel il appartient. Il est en relation avec son avatar par l’intermediaired’un langage et de peripheriques sensorimoteurs varies qui rendent possible la triplemediation des sens, de l’action et du langage. Le rendu multisensoriel de son environ-nement est celui, realiste, des images numeriques de synthese : 3D, sonores, tactiles,kinesthesiques, proprioceptives, animees en temps reel, et partagees sur les reseaux infor-matiques.

34

Page 35: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Conclusion

Ainsi la reflexion epistemologique que nous avons menee dans ce chapitre 2 placele concept d’autonomie au cœur de notre problematique de recherche en realite virtuelle.Nous nous poserons donc la question de la mise en œuvre de ces concepts dans les chapitressuivants : quels modeles (chapitre 3) et quels outils (chapitre 4) pour l’autonomie desmodeles ?

35

Page 36: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Concepts

36

Page 37: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Chapitre 3

Modeles

3.1 Introduction

Dans ce chapitre, nous presentons les principaux modeles que nous avons developpespour respecter le principe d’autonomie introduit au chapitre precedent.

Dans un premier temps, nous adapterons l’approche multi-agents a la problematiquede la realite virtuelle en introduisant la notion de simulation multi-agents participative.

Dans un deuxieme temps, le phenomene d’auto-organisation collective qui apparaıtdans les simulations multi-agents sera aborde a travers l’exemple non-trivial de la co-agulation du sang. Il nous conduira a defendre l’idee selon laquelle un nouveau typed’experimentation est aujourd’hui envisageable en biologie : l’experimentation in virtuo.

Nous aborderons ensuite la modelisation d’un comportement perceptif a l’aide decartes cognitives floues. Ces cartes permettront de specifier le comportement d’une entiteautonome, de controler son mouvement, et de faire simuler son mouvement par l’entiteelle-meme afin qu’elle puisse prevoir son comportement par une perception active. Le casd’ecole du berger, de son chien et de son troupeau de moutons, illustrera l’utilisation deces cartes cognitives floues dans le domaine de la fiction interactive.

Ces modeles constituent ainsi nos representations intermediaires entre les concepts(chapitre 2) qui les motivent et les outils (chapitre 4) qui les implementent.

3.2 Entites autonomesL’unite d’analyse est donc l’activite de la personne agissant en situation. Elle n’estpas de l’ordre de l’individuel, ni de l’environnement, mais d’une relation entre les deux.L’environnement ne modifie pas seulement les actions, il fait partie du systeme memede l’action et de la cognition. [...] Une activite reelle est donc faite de flexibilite etd’opportunisme. Dans cette perspective, et contrairement aux theories de la resolution deproblemes, un etre humain ne s’engage pas dans l’action avec une serie d’objectifs pre-specifies rationnellement selon un modele a priori du monde. Il cherche ses informationsdans le monde. Ce qui devient normal, c’est la facon dont il s’insere pour agir dans un envi-ronnement qui change et qu’il peut modifier, et comment il utilise et selectionne les informa-tions et ressources disponibles : sociales, symboliques et materielles. [Vacherand-Revel 01]

Les univers virtuels, bien que de plus en plus realistes, manqueront de credibilite tantqu’ils ne seront pas peuples d’entites autonomes. L’autonomisation des entites se declineen trois modes : le mode sensorimoteur, le mode decisionnel et le mode operationnel. Elle

37

Page 38: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Modeles

repose en effet sur une autonomie sensorimotrice : chaque entite est dotee de capteurs etd’effecteurs lui permettant d’etre informee et d’agir sur son environnement. Elle s’appuieegalement sur une autonomie de decision : chaque entite decide selon sa propre person-nalite (son histoire, ses intentions, son etat et ses perceptions). Enfin, elle necessite uneautonomie d’execution : le controleur de l’execution de chaque entite est independant descontroleurs des autres entites.

En fait, cette notion d’entite autonome recoupe celle d’agent de l’approche individu-centree des systemes multi-agents.

3.2.1 Approche multi-agents

Les premiers travaux sur les systemes multi-agents remontent aux annees 80. Ilss’inspirent a la fois de l’asynchronisme des interactions des langages d’acteurs en intelli-gence artificielle distribuee [Hewitt 77], de l’approche individu-centree de la vie artificielle[Langton 86], et de l’autonomie des robots mobiles [Brooks 86]. Deux grandes tendancesstructurent actuellement ce champ disciplinaire : soit l’attention se focalise sur les agentsen tant que tels (agents intelligents, rationnels ou cognitifs [Wooldridge 95]), soit ce sontles interactions entre agents et les aspects collectifs qui priment (agents reactifs et systemesmulti-agents [Ferber 95]). On peut ainsi trouver des agents qui raisonnent a partir de croy-ances, de desirs et d’intentions (BDI : Belief-Desire-Intention [Georgeff 87]), des agentsplus emotionnels comme dans certains jeux video (Creatures [Grand 98]) ou des agentspurement reactifs de type stimulus/reponse comme dans les societes d’insectes (MANTA[Drogoul 93]). Dans tous les cas, ces systemes se distinguent des modeles symboliquesde planification de l’Intelligence Artificielle classique (STRIPS [Fikes 71]) en admettantqu’un comportement intelligent peut emerger d’interactions entre des agents plus reactifssitues dans un environnement lui-meme actif [Brooks 91].

Ces travaux sont motives par la constatation suivante : il existe dans la nature des sys-temes capables d’accomplir des taches collectives complexes dans des environnements dy-namiques, sans controle externe ni coordination centrale, comme par exemple les coloniesd’insectes ou encore le systeme immunitaire. Les recherches sur les systemes multi-agentspoursuivent ainsi deux objectifs majeurs. Le premier objectif s’interesse a la realisation desystemes distribues capables d’accomplir des taches complexes par cooperation et interac-tion. Le second objectif concerne la comprehension et l’experimentation des mecanismesd’auto-organisation collective qui apparaissent lorsque de nombreuses entites autonomesinteragissent. Dans tous les cas, ces modeles privilegient une approche locale : les decisionsne sont pas prises par un coordinateur central connaissant chaque entite, mais par cha-cune des entites individuellement. Ces entites autonomes, appelees agents, n’ont qu’unevision partielle, et donc incomplete, de l’univers virtuel dans lequel elles evoluent. Chaqueagent peut etre assimile a un moteur decrivant perpetuellement un cycle a trois tempsperception/decision/action :

1. perception : il percoit son environnement immediat a l’aide de capteurs specialises,

2. decision : il decide de ce qu’il doit faire compte-tenu de son etat interne, des valeursde ses capteurs et de ses intentions,

38

Page 39: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Entites autonomes

3. action : il agit en modifiant son etat interne et son environnement immediat.

Deux grands types d’application sont concernes par les systemes multi-agents : laresolution distribuee de problemes et la simulation multi-agents de systemes. En resolutiondistribuee de problemes, il existe une fonction de satisfaction globale qui permet d’evaluerla solution compte-tenu du probleme a resoudre, alors qu’en simulation, on suppose aumieux l’existence de fonctions de satisfaction locales, propres a chaque agent [Ferber 97].

Comme toute modelisation, l’approche multi-agents retenue simplifie le phenomeneetudie. Mais de plus, elle permet de respecter en grande partie sa complexite en au-torisant une diversite des composants, une diversite des structures et une diversite desinteractions mises en jeu. Cependant, la modelisation multi-agents ne dispose pas en-core aujourd’hui des outils theoriques adaptes pour deduire le comportement d’ensembledu systeme multi-agents a partir des comportements individuels des agents (problemedirect), ni pour induire par raisonnement le comportement individuel d’un agent quandon connaıt le comportement collectif du systeme multi-agents (probleme inverse). Lasimulation de ces modeles remedie en partie a l’absence d’outils theoriques adaptes, enpermettant l’observation des structures et des comportements qui emergent au niveaucollectif a partir des interactions individuelles locales. C’est cette demarche de simulationmulti-agents que nous retenons pour la realite virtuelle.

3.2.2 Simulation multi-agents participative

De nombreuses methodes de conception des systemes multi-agents ont deja ete pro-posees [Wooldridge 01], mais aucune ne s’est encore vraiment imposee comme c’est lecas en conception et programmation par objet avec la methode UML [Rumbaugh 99].Nous retiendrons ici l’approche Voyelles qui analyse les systemes multi-agents selon qua-tre points de vue : Agents, Environnements, Interactions, et Organisations (les voyellesA,E,I,O), d’egale importance paradigmatique [Demazeau 95]. En realite virtuelle, nousproposons de rajouter la voyelle U (oubliee dans AEIO), U comme Utilisateur, pour pren-dre en compte la participation active de l’operateur humain a la simulation (l’hommeest dans la boucle). Ainsi, les simulations multi-agents de la realite virtuelle deviendrontparticipatives.

A comme Agent

Un univers virtuel est un univers multi-modeles au sein duquel des entites autonomesde tout type peuvent coexister : de l’objet passif a l’agent cognitif, avec un comportementpreprogramme ou un comportement adaptatif et evolutif. Un agent peut etre atomique oucomposite, et etre lui-meme le siege d’un autre systeme multi-agents. Ainsi, un principed’heterogeneite des composants doit prevaloir dans les mondes virtuels.

E comme Environnement

L’environnement d’un agent est compose des autres agents, des utilisateurs qui par-ticipent a la simulation (les avatars), et des objets qui occupent l’espace et qui definissent

39

Page 40: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Modeles

un certain nombre de contraintes spatio-temporelles. Ainsi, les agents sont situes dansleur environnement, veritable systeme ouvert dans lequel des entites peuvent apparaıtreet disparaıtre a tout instant.

I comme Interaction

La diversite des entites (objets, agents, utilisateurs) genere une diversite d’interactionsentre elles. On rencontre des phenomenes physiques comme les attractions, les repulsions,les collisions ou les attachements, ainsi que des echanges d’information entre agents et/ouavatars grace a des communications gestuelles et langagieres (actes de langage ou echangesde code a analyser). La destruction et la creation d’objets et/ou d’agents renforcentegalement ces differentes possibilites d’interaction. Ainsi, des proprietes nouvelles, nonconnues des differentes entites prises individuellement, pourront eventuellement emergerdes interactions entre un agent et son environnement.

O comme Organisation

Un ensemble de regles sociales, tel un code de la route, peuvent structurer l’ensembledes entites en definissant des roles et des contraintes entre ces roles. Ces roles peuvent etreimposes aux agents, ou negocies entre eux; ils peuvent etre connus a l’avance ou emergerde situations conflictuelles ou collaboratives, resultats des interactions entre agents. Ainsi,les organisations, qu’elles soient predefinies ou emergentes, structurent les systemes multi-agents en niveaux d’organisation, un niveau donne etant a la fois un agregat d’entites duniveau inferieur, et une entite du niveau superieur.

U comme Utilisateur

L’utilisateur peut intervenir a tout moment dans la simulation. Il est represente par unagent-avatar dont il controle les decisions, et dont il utilise les capacites sensorimotrices.Il est interface avec son avatar par l’intermediaire de peripheriques multisensoriels varies,et dispose d’un langage pour communiquer avec les agents, les modifier, en creer denouveaux ou en detruire. L’identite structurelle entre un agent et un avatar autorise, atout moment, l’utilisateur a se substituer a un agent en prenant le controle de son modulede decision. Au cours de cette substitution, l’agent peut eventuellement passer en moded’apprentissage, par imitation (PerAc [Gaussier 98]) ou par l’exemple [Del Bimbo 95]. Atout moment, l’utilisateur peut rendre le controle a l’agent auquel il s’etait substitue. Ceprincipe de substitution entre agents et utilisateurs peut etre evalue par une sorte de testde Turing [Turing 50] : un utilisateur interagit avec une entite sans deviner s’il s’agit d’unagent ou d’un autre utilisateur, et les agents reagissent a ses actions comme s’il s’agissaitd’un autre agent.

L’approche Voyelle ainsi etendue (AEIO + U) implique pleinement l’utilisateur dans lasimulation multi-agents, rejoignant ainsi l’approche de la conception participative (partici-pory design [Schuler 93]) qui prefere voir dans les utilisateurs des acteurs humains plutotque des facteurs humains [Bannon 91]. Une telle simulation multi-agents participativeen realite virtuelle met en œuvre des modeles de types differents (multi-modeles) issus

40

Page 41: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Entites autonomes

de domaines d’expertise differents (multi-disciplines). Elle est souvent complexe car soncomportement global depend autant du comportement des modeles eux-memes que desinteractions entre modeles. Enfin, elle doit inclure le libre arbitre de l’utilisateur humainqui exploite les modeles en ligne.

3.2.3 Modelisation comportementale

Un modele est une representation artificielle d’un phenomene ou d’une idee; c’est uneetape intermediaire entre l’intelligible et le sensible, entre le phenomene et son idealisation,entre l’idee et sa perception. Cette representation repose sur un systeme de symbolesqui ont un sens, non seulement pour le concepteur qui les assemble, mais egalement pourl’utilisateur qui les percoit (la semantique du point de vue utilisateur etant eventuellementdifferente de celle du modelisateur). Les fonctions d’un modele sont multiples. Pour lemodelisateur, le modele permet d’imaginer, de concevoir, de prevoir et d’ameliorer sarepresentation du phenomene ou de l’idee qu’il cherche a modeliser. Le modele devientun support de communication pour representer, sensibiliser, expliquer ou enseigner lesconcepts concernes. A l’autre bout de la chaıne, le modele aide l’utilisateur dans sacomprehension du phenomene (ou de l’idee) represente(e); il peut egalement l’evaluer etl’experimenter par simulation.

On distingue classiquement trois grandes categories de modeles numeriques : des-criptifs, causaux et comportementaux [Arnaldi 94]. Le modele descriptif reproduit leseffets du phenomene modelise sans aucune connaissance a priori sur les causes (surfacesgeometriques, cinematique inverse, . . . ). Le modele causal decrit les causes capablesde produire un effet (rigides poly-articules, elements finis, masses-ressorts, . . . ). Sonexecution necessite d’expliciter la solution qui est contenue implicitement dans le modele;le temps de calcul est donc plus long que celui d’un modele descriptif pour lequel la solutionest donnee (causal/dynamique versus descriptif/cinematique). Le modele comportemen-tal imite le fonctionnement des etres vivants selon un cycle perception/decision/action (vieartificielle, animat, . . . ). Il concerne aussi bien les comportements internes qu’externesdes entites [Donikian 94]. Les comportements internes sont relatifs aux transformationsinternes qui peuvent provoquer des changements perceptibles a l’exterieur de l’entite(morphologie, mouvement). Ces comportements internes sont constitutifs des entiteset dependent peu de son environnement, contrairement aux comportements externes quitraduisent l’influence de l’environnement sur le comportement de l’entite. Ces comporte-ments externes peuvent etre purement reactifs ou pulsionnels (stimulus/reponse), per-ceptifs ou emotionnels (la reponse au stimulus depend d’un etat emotionnel interne),cognitifs ou intentionnels (la reponse est guidee par un but), adaptatifs ou evolutifs (desmecanismes d’apprentissage permettent d’adapter la reponse au cours du temps), sociauxou collectifs (la reponse est contrainte par des regles de societe).

La section 3.3 suivante presente un exemple non-trivial de simulation multi-agents abase de comportements reactifs afin d’observer les proprietes auto-organisatrices collec-tives de tels systemes. A l’oppose, la section 3.4 s’interesse a un comportement de typeemotionnel pour mettre en evidence la difference entre sensation et perception individuel-les.

41

Page 42: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Modeles

3.3 Auto-organisation collective

Une proteine est plus qu’une traduction dans un autre langage d’un des livres de la biblio-theque des genes. Les genes, qui persistent dans nos cellules durant toute notre existence,contiennent — constituent — des informations. Les veritables outils — les veritables acteurs— de la vie cellulaire sont les proteines, qui sont plus ou moins rapidement detruites etdisparaissent si elles ne sont pas renouvelees. Des qu’elles ont ete assemblees par la cellule,les proteines se replient sur elles-memes, adoptant dans l’espace des formes complexes. C’estde leur forme que depend leur capacite de se fixer a d’autres proteines et d’interagir avecelles. Et c’est de la nature de ces interactions que depend leur activite — leur effet. [...] Maistenter d’attribuer a une proteine donnee une activite univoque — une propriete intrinseque— correspond a une illusion. Son activite, son effet, et sa perennite, dependent de sonenvironnement, de la collectivite des autres proteines qui l’entourent, du ballet preexistantdans lequel elle va s’integrer. [Ameisen 99]

Face a la complexite grandissante des modeles biologiques, les biologistes ont besoinde nouveaux outils de modelisation. L’avenement de l’ordinateur et de l’informatique, etplus particulierement de la realite virtuelle, introduit aujourd’hui de nouvelles possibilitesd’experimentations avec les simulations numeriques et permet d’envisager un nouveautype d’investigation : l’experimentation in virtuo. L’expression in virtuo (dans le virtuel)est un neologisme construit ici par analogie avec les locutions adverbiales d’etymologielatine1 in vivo (dans le vivant) et in vitro (dans le verre). Une experimentation in virtuoest ainsi une experimentation conduite dans un univers virtuel de modeles numeriquesauquel l’homme participe.

3.3.1 Simulations en biologie

L’experimentation sur l’homme (in vivo) accompagne la medecine depuis ses origi-nes. Dans l’antiquite, cette experimentation est sous l’influence de la magie et de lareligion. C’est l’ecole grecque de Cos qui s’engage dans la voie de la desacralisationde l’acte medical : vers -400, Hippocrate, avec son celebre serment, etablit en effet lespremieres regles deontologiques en precisant les obligations du praticien a l’egard de sesmalades. Pendant longtemps, les sciences de la vie demeurent essentiellement descrip-tives et reposent sur l’observation, la classification et la comparaison. Il faut attendre ledeveloppement de la physique et de la chimie pour voir se systematiser le recours auxexamens de laboratoire (in vitro). En particulier, les progres de l’optique et l’inventionde microscopes de plus en plus evolues permettent de depasser les limites de l’observationdirecte. Les Italiens Malpighi (1628-1694) et Morgagni (1682-1771) deviennent ainsi lesprecurseurs de l’histologie en revelant l’interet d’etudier les correlations entre les struc-tures biologiques microscopiques et les manifestations cliniques. Et c’est sans doute avec lefrancais Claude Bernard, et sa celebre introduction a l’etude de la medecine experimentale(1865), que debute une veritable medecine scientifique fondee sur la rationalisation des

1in virtuo n’est cependant pas une expression latine. Les biologistes utilisent souvent l’expression insilico (dans le silicium) pour qualifier les calculs sur ordinateur; il existe par exemple une revue scientifiqueIn Silico Biology (www.bioinfo.de/journals.html). Cependant, in silico n’evoque pas la participationde l’homme a l’univers de modeles numeriques en cours d’execution; c’est pourquoi nous lui preferons invirtuo qui, par sa racine commune, rappelle les conditions experimentales de la realite virtuelle.

42

Page 43: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Auto-organisation collective

methodes experimentales.

La simulation analogique, ou l’experimentation sur des maquettes reelles, est utiliseea des fins scientifiques des le 18eme siecle avec les automates biomecaniques du francaisJacques de Vaucanson (joueur de flute, 1738), et atteint son apogee au 20eme siecle dansl’aeronautique avec les essais en soufflerie sur des maquettes d’avions. En medecine, lesexamens en laboratoire (in vitro) relevent de la meme demarche. Dans les laboratoiresd’hematologie, les echantillons de sang in vitro utilises lors des analyses en laboratoirejouent le role de representations simplifiees du sang in vivo : les contraintes rheologiquesy sont en particulier tres differentes.

Dynamique des populations

La simulation numerique, ou l’experimentation sur des maquettes virtuelles, repose leplus souvent sur la resolution d’un modele mathematique a base d’equations aux deriveespartielles du type ∂x/∂t = f(x, t), ou t represente le temps et x = (x1, x2, . . . , xn) levecteur des variables d’etat caracteristiques du systeme a simuler. En biologie moleculaire,le comportement macroscopique d’un systeme est souvent obtenu en couplant les equationsde la cinetique des reactions chimiques aux equations thermo-mecaniques de l’ecoulementmoleculaire, ce qui en premiere approximation conduit a la resolution d’equations dutype ∂x/∂t = D∇2x+ g(x), ou D est la matrice de diffusion du systeme et g une fonctionnon-lineaire qui represente les effets de la cinetique chimique. En hematologie, ce typed’approche a ete applique des 1965 a la cinetique de la coagulation [Hemker 65], puis repriset etendu pour tenir compte de nouvelles donnees [Jones 94] ou pour montrer l’influencedes phenomenes d’ecoulement [Sorensen 99]. Les solutions ainsi obtenues dependent forte-ment des conditions aux limites du systeme ainsi que des valeurs donnees aux differentesvitesses de reaction et parametres de diffusion. Les systemes biologiques sont des systemescomplexes et leur modelisation fait donc intervenir un tres grand nombre de parametres.Comme l’ont montre Hopkins et Leipold [Hopkins 96] dans leur critique de l’utilisation enbiologie des modeles mathematiques a base d’equations differentielles, la meconnaissancede certains parametres d’un modele connu pour etre incorrect peut conduire malgre touta des ajustements corrects avec les donnees experimentales. Pour palier cet inconvenient,certains auteurs preconisent l’emploi de methodes statistiques dans le but de minimiserl’influence de valeurs particulieres de certains parametres [Mounts 97]. Aujourd’hui, desoutils logiciels tels que GEPASI [Mendes 93] et StochSim [Morton-Firth 98] permettentde mettre en œuvre cette approche classique de resolution de la cinetique chimique parequations differentielles au niveau moleculaire, alors que des outils comme vCell [Schaff 97]et eCell [Tomita 99] concernent le niveau cellulaire.

Ce type de simulation en biologie cellulaire repose sur des modeles qui represententdes ensembles de cellules, et non des cellules prises individuellement. Ainsi, ces modelesdecrivent explicitement les comportements des populations qui, on l’espere, refletent im-plicitement les comportements individuels des cellules.

43

Page 44: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Modeles

Dynamique des individus

A l’oppose, deux grandes methodes de simulation numerique utilisees en biochimie,Monte Carlo et dynamique moleculaire, reposent sur le choix d’hypotheses microscopiques(structures et potentiels d’interaction moleculaires) pour determiner certaines proprietesmacroscopiques du systeme [Gerschel 95]. Ces methodes explorent l’espace des configura-tions du systeme a partir d’une configuration initiale de n particules dont l’evolution estsuivie par echantillonnage. Cet echantillonnage est temporel en dynamique moleculaire,et aleatoire dans les methodes de Monte Carlo. Les proprietes macroscopiques sont en-suite calculees comme des moyennes sur l’ensemble des configurations (ensembles micro-canoniques ou ensembles canoniques de la mecanique statistique). Le nombre n de parti-cules influe sur les temps de calcul, classiquement proportionnels a n2, et limite le nombrede configurations echantillonnees, donc la precision des moyennes dans une methode deMonte Carlo, ou la duree d’evolution du systeme dans un calcul de dynamique moleculaire.Ces methodes necessitent d’importants moyens de calcul; aujourd’hui, la taille des plus im-portants systemes simules est de l’ordre de 106 atomes pour des durees d’evolution reellesinferieures a 10−6s [Lavery 98]; de plus, elles concernent essentiellement des systemesproches de leur etat d’equilibre et de ce fait sont peu adaptees a l’etude des systemesloin de l’equilibre, essentiellement irreversibles, comme peuvent l’etre les phenomenes del’hemostase.

Les automates cellulaires [Von Neumann 66], inspires de la biologie, proposent uneapproche egalement plus individualisee. Ils ont ete popularises par le jeu de la vie deConway [Berlekamp 82] et formalises par Wolfram [Wolfram 83]. Ce sont des systemesdynamiques dans lesquels l’espace et le temps sont discretises. Un automate cellulairecomporte un ensemble fini de cases (cellules) ayant chacune un nombre fini d’etats possi-bles. Les changements d’etats des cases sont realises de maniere synchrone en fonction delois d’interactions locales. Bien que reposant sur la metaphore cellulaire, les automatescellulaires sont assez peu utilises en biologie cellulaire ; on peut cependant citer la simu-lation du systeme immunitaire par un automate cellulaire pour etudier le comportementcollectif des lymphocites [Stewart 89], l’utilisation d’un automate cellulaire pour repro-duire les phenomenes immunitaires au sein des ganglions lymphatiques [Celada 92], etle developpement d’un environnement de programmation a base d’automates cellulairespour modeliser differents comportements cellulaires [Agarwal 95]. Les contraintes fortesde discretisation du temps et de l’espace ainsi que celles de synchronicite des actions sontsans doute les principaux freins a l’utilisation de cette technique en biologie.

Auto-organisation multi-agents

Pour depasser ces limitations methodologiques, nous proposons une modelisation dessystemes biologiques a l’aide de systemes multi-agents. Les systemes biologiques que l’oncherche a modeliser sont le plus souvent tres complexes. Cette complexite provient essen-tiellement de la diversite des composants, de la diversite des structures et de la diversitedes interactions. Dans l’exemple de la coagulation, des molecules, des cellules et des com-plexes font du sang un milieu ouvert (apparition/disparition dynamique de composants),heterogene (morphologies et comportements varies) et forme d’entites composites (or-

44

Page 45: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Auto-organisation collective

ganes, cellules, proteines) mobiles et distribuees dans l’espace, en nombre variable dansle temps. Ces composants peuvent etre structures en differents niveaux connus initiale-ment (une cellule est composee de molecules) ou emergeants au cours de la simulationdu fait des multiples interactions entre composants (formation de complexes). Les in-teractions elles-memes peuvent etre de natures differentes et operer a differentes echellesspatiales et temporelles (interactions cellule-cellule, interactions cellule-proteine, interac-tions proteine-proteine). Il n’existe pas aujourd’hui de theorie capable de formaliser cettecomplexite et de fait, il n’existe pas de methodes de preuves formelles a priori commeil en existe dans les modeles hautement formalises. En l’absence de preuves formelles,nous devons recourir a l’experimentation du systeme en cours d’evolution afin de pouvoireffectuer des validations experimentales a posteriori : c’est ce que nous avons entreprisavec la modelisation et la simulation multi-agents de la coagulation du sang.

Telle que nous la definissons dans le cadre de la realite virtuelle, la simulation multi-agents autorise une veritable interaction avec le systeme modelise comme le preconiseune recente etude prospective sur les besoins de la modelisation du comportement cel-lulaire [Endy 01]. En effet, en cours de simulation, il est possible de visualiser en 3D lederoulement de la coagulation; cette visualisation permet d’observer le phenomene commesi l’on disposait d’un microscope virtuel deplacable et orientable a volonte, et capable demises au point variees. Le biologiste peut ainsi se focaliser sur l’observation d’un type decomportement particulier, observer l’activite d’un sous-systeme ou bien l’activite globaledu systeme. A tout moment, le biologiste peut interrompre la coagulation et faire un pointprecis sur les corps en presence et sur les interactions en cours; puis il peut relancer lacoagulation la ou il l’avait arretee. A tout moment, le biologiste peut perturber le systemeen modifiant une propriete d’une cellule (etat, comportement), en retirant des elementsou en ajoutant de nouveaux elements; il peut ainsi tester un principe actif (comme parexemple le principe actif de l’heparine dans une thrombophilie), et plus generalement uneidee, et immediatement en observer les consequences sur le systeme en fonctionnement.La simulation multi-agents place le biologiste au cœur d’un veritable laboratoire virtuelqui le rapproche ainsi des methodes des sciences experimentales tout en lui donnant accesaux methodes numeriques.

Depassant la simple observation de l’activite du modele numerique en cours d’execu-tion sur un ordinateur, l’utilisateur peut tester la reactivite et l’adaptabilite du modele enfonctionnement, tirant ainsi profit du caractere comportemental des modeles numeriques.L’experimentation in virtuo implique alors un vecu que ne suggere pas la simple analysede resultats numeriques. Entre les preuves formelles a priori et les validations a posteriori,il y a aujourd’hui la place pour une realite virtuelle vecue par le biologiste qui peut ainsifranchir le cap des idees recues pour acceder a celui des idees vecues.

3.3.2 Exemple de la coagulation

L’analogie entre une cellule biologique et un agent informatique est quasi-naturelle.En effet, une cellule interagit avec son environnement par l’intermediaire de sa membraneet de ses recepteurs en surface, et son noyau est le siege d’un programme genetique quidetermine son comportement; ainsi peut-elle percevoir, decider et agir. Par extension,

45

Page 46: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Modeles

l’analogie entre un systeme multicellulaire et un systeme multi-agents est immediate.

Agent-cellule

Notre conception d’un agent-cellule s’articule autour de trois etapes principales. Elledebute par le choix d’une forme geometrique 3D representant la membrane cellulaire. Ladeuxieme etape consiste a placer des capteurs — les recepteurs de la cellule — sur cettemembrane virtuelle (figure 3.1a). La troisieme etape concerne la definition des comporte-ments propres de l’agent-cellule (figure 3.1b). Un comportement peut etre defini par unalgorithme — calcul d’une fonction mathematique, resolution d’un systeme d’equationsdifferentielles, application de regles de production — ou par un autre systeme multi-agents qui decrit l’interieur de la cellule virtuelle. Le choix entre algorithme et systememulti-agents depend de la nature de chaque probleme au sein de la cellule et du niveaude connaissances acquises sur le probleme. Ainsi avons-nous choisi un algorithme pour lamodelisation de la reponse humorale [Ballet 97a] et un systeme multi-agents pour simulerla reponse proliferative des lymphocites B aux anti CD5 [Ballet 98a] telle qu’elle a etemise en evidence experimentalement [Jamin 96]. Nous disposons d’une bibliotheque decomportements predefinis tels que l’expression de recepteurs a la surface de la cellule,l’internalisation de recepteurs, la division de la cellule (mitose), la mort cellulaire pro-grammee (apoptose), ou encore la generation de messagers moleculaires (figure 3.1c). Denouveaux comportements peuvent etre programmes et integres au sein d’un agent-celluleafin de s’adapter au comportement particulier de telle ou telle cellule.

agent

02321

récepteurs 02321

agent

a

02321

agent

02321

f(x)

comportement

f(x) g(x)ln(x)

fonctionsagent b

reproductionactivationinternalisationexpressionmutationapoptose...

02321

f(x)

comportement

c

La conception d’un agent-cellule s’articule autour de trois etapes principales. Elle debute par le choix d’uneforme geometrique 3D representant la membrane cellulaire. La deuxieme etape consiste a placer des capteurs— les recepteurs de la cellule — sur cette membrane virtuelle (a). La troisieme etape concerne la definitiondes comportements propres de l’agent-cellule (b). Un comportement peut etre defini par un algorithme —calcul d’une fonction mathematique, resolution d’un systeme d’equations differentielles, application de reglesde production — ou par un autre systeme multi-agents qui decrit l’interieur de la cellule virtuelle. Le choixentre algorithme et systeme multi-agents depend de la nature de chaque probleme au sein de la cellule et duniveau de connaissances acquises sur le probleme. Une bibliotheque de comportements predefinis tels quel’expression de recepteurs a la surface de la cellule, l’internalisation de recepteurs, la division de la cellule(mitose), la mort cellulaire programmee (apoptose), ou encore la generation de messagers moleculaires,permet d’exprimer une grande variete de comportements (c).

Figure 3.1: Conception d’un agent-cellule

Le systeme multi-agents est ensuite obtenu en positionnant au sein d’un environnementvirtuel (eprouvette virtuelle, organe virtuel) un melange initial de cellules, c’est-a-direun ensemble d’agents-cellules ayant chacun un comportement bien defini. Au sein decet univers, les interactions entre agents-cellules sont locales : deux agents-cellules ne

46

Page 47: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Auto-organisation collective

peuvent interagir que s’ils sont au voisinage immediat l’un de l’autre et si leurs recepteurssont compatibles. Ces interactions tiennent compte de la distance entre recepteurs, de leurorientation relative, ainsi que de leur affinite [Smith 97]. A chaque cycle, le comportementde base de chaque agent-cellule determine son deplacement en tenant compte de toutes lesinteractions qu’il subit dans sa sphere d’influence. Si un de ses recepteurs est active parcontact avec un recepteur d’un autre agent-cellule, alors un comportement plus complexepeut etre declenche si toutes ses preconditions sont validees.

Veine virtuelle

Nous avons ainsi cree, en collaboration avec le Laboratoire d’Hematologie du CHU deBrest, un modele multi-agents d’une veine virtuelle [Ballet 00a]. Les vaisseaux sanguinssont tapisses par une couche de cellules endotheliales dont un des roles est d’empecherl’adhesion des plaquettes. Le sang circule dans les vaisseaux, emportant des cellules etdes proteines, qui seront activees lors d’une breche vasculaire pour arreter le saignement.L’arret du saignement est un phenomene local survenant apres une cascade d’evenementscellulaires et enzymatiques, dans un milieu liquide rendu instable par le flux sanguin. Lesphenomenes d’hemostase et de coagulation mettent en jeu des cellules mobiles (plaquet-tes, hematies, polynucleaires, monocytes), des cellules fixes (cellules endotheliales, fibro-blastes sous-endotheliaux), des proteines procoagulantes et des proteines anticoagulantes.Chacun de ces elements a un comportement propre; ces differents comportements s’auto-organisent, avec pour resultat l’obstruction de la breche par les plaquettes recouvertes defibrine. Ainsi, notre modele prend en compte les principales caracteristiques connues dela coagulation : 3 types de cellules (plaquettes, cellules endotheliales et fibroblastes) et32 types de proteines sont impliques dans 41 interactions (figure 3.2). Certaines de cesreactions ont lieu a la surface des cellules, d’autres dans le sang.

La paroi de la veine est representee par une surface de 400 µm2 recouverte de cellulesendotheliales. Au centre de cette paroi virtuelle, une breche laisse apparaıtre 36 cellulesfibroblastes, les facteurs de Willebrand et les facteurs tissulaires (TF). Les plaquettes, lesprincipaux facteurs de coagulation, facteurs I (fibrinogene), II (prothrombine), V, VII,VIII, IX, X, XI, et d’inhibition, alpha2macroglobuline (alpha2M), antithrombine3 (AT3),TFPI (Tissue Factor Pathway Inhibitor), proteine C (PC), proteine S (PS), thrombo-moduline (TM) et l’inhibiteur de la proteine C (PCi), tous presents initialement dans leplasma, sont places aleatoirement dans la veine virtuelle.

Experimentation in virtuo

La simulation multi-agents peut alors commencer : chaque agent evolue au cours dutemps selon son comportement predefini. La figure 3.3 presente six etats intermediaires duphenomene observe a travers un visualisateur 3D. Nous observons ainsi le deroulement desdifferentes phases de l’hemostase primaire et de la coagulation plasmatique, et mesuronsau cours du temps l’evolution de la quantite de chaque composant [Ballet 00b].

La validation du modele repose sur plusieurs elements :. la similitude des courbes de generation de thrombine obtenues in virtuo et in vitro,

. la coherence avec les pathologies : diminution de thrombine generee dans l’hemo-

47

Page 48: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Modeles

Reactifs Produits Description Reactifs Produits DescriptionVoie exogene AT3 + IXa 0 Inhibition

TF + VIIa VII:TF Coagulation AT3 + Xa 0 InhibitionVII + VIIa VIIa + VIIa Coagulation AT3 + XIa 0 InhibitionVII + VII:TF VIIa + VII:TF Coagulation AT3 + IIa 0 InhibitionIX + VII:TF IXa + VII:TF Coagulation alpha2M + IIa 0 InhibitionX + VII:TF Xa + VII:TF Coagulation TM + IIa IIi InhibitionTFPI + Xa TFPI:Xa Inhibition AT3 + IXa 0 InhibitionTFPI:Xa + VII:TF 0 Inhibition AT3 + Xa 0 Inhibition

Voie endogene AT3 + XIa 0 InhibitionVII + IXa VIIa + IXa Coagulation AT3 + IIa 0 InhibitionIXa + X IXa + Xa Coagulation ProC + IIi PCa + IIi InhibitionII + Xa IIa + Xa Coagulation PCa + Va 0 InhibitionXIa + IX XIa + IXa Coagulation PCa + Va:Xa Xa InhibitionXIa + XI XIa + XIa Coagulation PCa + PS PCa:S InhibitionIIa + XI IIa + XIa Retro-activation PCa + PCI 0 InhibitionIIa + VIII IIa + VIIIa Retro-activation PCa:S + Va 0 InhibitionIIa + V IIa + Va Retro-activation PCa:S + V PCa:S:V InhibitionXa + V Xa + Va Retro-activation PCa:S:V + VIIIa:IXa IXa InhibitionXa + VIII Xa + VIIIa Retro-activation PCa:S:V + VIIIa 0 InhibitionXa + Va Va:Xa Prothrombinase Activation des plaquettesVIIIa + IXa VIIIa:IXa Tenase P + IIa Pa + IIa CoagulationVIIIa:IXa + X VIIIa:IXa + Xa Tenase Formation de fibrineVa:Xa + II Va:Xa + IIa Prothrombinase I + IIa Ia + IIa Coagulation

Le processus de coagulation s’initie a la surface des fibroblastes. C’est au niveau du facteur tissulaire (TF) a lasurface des fibroblastes que va s’initier le processus de coagulation. La voie dite exogene est mise en action : lefacteur VIIa se lie au facteur tissulaire et permet l’activation des facteurs VII, IX et X. Les premieres molecules dethrombine, facteur cle du phenomene, sont generees, ce qui permet de lancer l’action de la voie endogene et la cascadeproprement dite de la coagulation. La thrombine retroactive les facteurs XI, V, VIII et surtout les plaquettes. A lasurface des plaquettes ainsi activees, les complexes tenases et prothrombinases sont alors en mesure de se creer etd’apporter leur importante contribution a la formation de thrombine. La thrombine active aussi le fibrinogene enfibrine qui vient alors lier les plaquettes activees entre elles presentes au niveau de la breche. Le caillot plaquettairese forme. Simultanement, les inhibiteurs agissent : le TFPI se lie au facteur X active pour inhiber la voie exogene(facteur VIIa lie au facteur tissulaire), l’alpha2macroglobuline inhibe la thrombine, l’antithrombine3 la thrombine,les facteurs X, XI, IX actives. La proteine C est activee par le complexe thrombine-thrombomoduline (IIi : thombininhibitor) se formant a la surface des cellules endotheliales. La proteine C activee a deux chemins d’action : elleinhibe directement le facteur V active et indirectement, liee a la proteine S et au facteur V, elle inhibe le facteurVIII active. Le PCI (protein C inhibitor) empeche quant a lui l’action inhibitrice de la proteine C activee.

Figure 3.2: Les interactions du modele de coagulation

philie (figure 3.4a) et augmentation dans la thrombophilie,

. la correction de l’hemophilie par le facteur VII active (figure 3.4b),

. la correction de l’hypercoagulabilite par l’heparine (figure 3.4c).

Ainsi, quelques milliers d’entites2 representant 3 types de cellules et 32 types de proteinesimpliquees dans 41 types d’interactions, s’auto-organisent dans une cascade de reactionspour combler une breche non prevue a l’avance, car creee a un instant quelconque de lasimulation et en un endroit quelconque de la veine. Cet exemple non-trivial renforce l’ideeselon laquelle des entites autonomes reactives, par le jeu de leurs interactions conflictuelleset collaboratives, peuvent s’auto-organiser et obtenir un comportement d’ensemble nonconnu des entites prises individuellement.

2Les donnees precises sont donnes dans la these de Pascal Ballet [Ballet 00b].

48

Page 49: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Auto-organisation collective

Les 6 figures montrent differents stades de l’evolution de la simulation de la coagulation; elles ont etecapturees selon differents points de vue du vaisseau virtuel. L’image A montre la geometrie du modele audebut de la simulation : les spheres jaunes representent les cellules endotheliales. La breche vasculaire,au milieu de cette couche endotheliale, laisse apparatre les fibroblastes sous-endotheliaux (spheres bleues).Les facteurs de coagulation et d’inhibition presents dans le plasma sont representes par leur chiffre romain,leur chiffre arabe ou leurs initiales. Les plaquettes non-activees sont des spheres noires. Au debut, la voieexogene est activee, materialisee par la liaison du facteur VIIa sur le facteur tissulaire de la membranedes fibroblastes (pyramides rouges dans l’image B). L’inhibition de ces complexes VIIa:TF par le complexeTFPI-facteur X active est tres rapide (disparition des pyramides rouges). Les images C et D montrentdes etapes intermediaires de la generation de thombine : le facteur XI se lie aux plaquettes et forme uncomplexe avec le facteur IX qu’il active (image C) ; le complexe tenase (IXa:VIIIa) lui aussi lie a la surfacedes plaquettes active le facteur X (image D). L’image E montre un complexe prothrombinase (complexefacteur V active-facteur X active) a la surface des plaquettes activees (spheres devenues rouges), activant laprothrombine en thrombine. Enfin l’image F temoigne de l’adhesion des plaquettes au sous-endothelium etde la formation du caillot plaquettaire. Les molecules de fibrine generees sont representees par des spheresblanches et oranges (image F).

Figure 3.3: Evolution de la simulation multi-agents de la coagulation

3.3.3 in vivo, in vitro, in virtuo

Les principales qualites d’un modele — representation artificielle d’un objet ou d’unphenomene — reposent sur ses capacites a decrire, suggerer, expliquer, predire et simuler.La simulation du modele, ou l’experimentation sur le modele, consiste a tester le comporte-

49

Page 50: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Modeles

a b cLa figure a compare le nombre total de molecules de thrombine creees au cours de la simulation dans lescas de la coagulation normale, de l’hemophilie A (absence de facteur VIII) et de l’hemophilie B (absence defacteur IX). On observe ainsi une plus faible coagulation dans les cas de l’hemophilie A et B : une hemophilieA genere moitie moins de thrombines qu’une coagulation normale, alors que l’hemophilie B en genere troisfois moins. La figure b compare les courbes de generation de thrombine dans les cas de la coagulationnormale, de l’hemophilie B (absence de facteur IX) et de l’hemophilie B traitee en ajoutant des facteurs VIIactives. L’ecart de coagulation entre l’hemophilie traitee et la coagulation normale n’est plus ici que de 6.5%.La figure c compare le nombre total de molecules de thrombine creees au cours de la simulation dans les casde la coagulation normale, de la mutation du facteur V Leiden et du facteur V Leiden traite a l’heparine. Lamutation du facteur V Leiden inhibe la desactivation du facteur V active par la proteine C activee. Cettemaladie genetique favorise l’apparition de thromboses veineuses : le nombre de thrombines formees est 4 foisplus important avec la mutation du facteur V Leiden que sans. L’heparine est un anticoagulant qui stimulel’action de l’anti-thrombine III et corrige ainsi l’hypercoagulabilite.

Figure 3.4: Principaux resultats du modele multi-agents de la coagulation

ment de cette representation sous l’effet d’actions que l’on peut exercer sur le modele. Lesresultats d’une simulation deviennent ensuite des hypotheses que l’on cherche a verifieren concevant des experiences sur un prototype singulier du systeme reel. Ces experiences,ainsi rationalisees, constituent une veritable experimentation in vivo. On distingue quatreprincipaux types de modeles (perceptif, formel, analogique, numerique) qui conduisent acinq grandes familles de simulation.

in petto

La simulation d’un modele perceptif correspond a des intuitions in petto issues de notreimaginaire et de la perception que l’on a du systeme etudie. Elle permet ainsi d’eprouverdes impressions sur le systeme reel. Inspirations, associations d’idees et heuristiques, noncodifiees et non raisonnees, provoquent la formation d’images mentales dotees d’un pou-voir evocateur. La demarche scientifique cherchera a rationaliser ces premieres impres-sions tandis que la creation artistique en tirera des œuvres numeriques ou analogiquesselon le support utilise. Mais c’est souvent le caractere suggestif du modele perceptif quideclenchent ces instants creatifs qui conduisent a l’invention ou a la decouverte.

in abstracto

La simulation d’un modele formel repose sur un raisonnement in abstracto mene dansle cadre d’une theorie. Le raisonnement fournit des predictions qui peuvent etre testeessur le systeme reel. La decouverte en 1846 de la planete Neptune par Galle, a partir desprevisions theoriques de Adams et Le Verrier, est une illustration de cette demarche dansle cadre de la theorie des perturbations du probleme a 2 corps en mecanique celeste. Dememe, en physique des particules, la decouverte en 1983 des bosons intermediaires W+,

50

Page 51: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Auto-organisation collective

W− et Z0 avait ete prevue quelques annees auparavant par la theorie des interactionselectrofaibles. Ainsi, de l’infiniment grand a l’infiniment petit, le caractere predictif desmodeles formels s’est avere tres fructueux dans de nombreux domaines scientifiques.

in vitro

La simulation d’un modele analogique passe par une experimentation in vitro surun echantillon ou sur une maquette construite par analogie avec le systeme reel. Lessimilitudes entre la maquette et le systeme ameliorent alors la comprehension du systemeetudie. Les essais en soufflerie sur des maquettes d’avion permettent aux aerodynamiciensde mieux caracteriser l’ecoulement d’air autour d’obstacles par l’etude de coefficientsde similitude introduits a la fin du 19eme siecle par Reynolds et Mach. De meme, enphysiologie, l’analogie cœur-pompe a permis a Harvey (1628) de montrer que la circulationdu sang relevait des lois de l’hydraulique. Ainsi, de tout temps, le caractere explicatif desmodeles analogiques a ete utilise, avec plus ou moins de derive anthropocentrique, pourramener l’inconnu au connu.

in silico

La simulation d’un modele numerique est l’execution d’un programme cense represen-ter le systeme a modeliser. Les calculs in silico donnent des resultats qui sont con-frontes aux mesures effectuees sur le systeme reel. La resolution numerique de systemesd’equations mathematiques correspond a l’utilisation la plus courante de la modelisationnumerique. En effet, la determination analytique de solutions se heurte souvent a desdifficultes qui tiennent aussi bien aux caracteristiques des equations a resoudre (non-linearite, couplages) qu’a la complexite des conditions aux limites et a la necessite deprendre en compte des echelles spatio-temporelles tres differentes. L’etude de la cinetiquede reactions chimiques, le calcul des deformations d’un solide sous l’effet de contraintesthermo-mecaniques, ou la caracterisation du rayonnement electromagnetique d’une an-tenne, sont des exemples classiques d’implementation sur ordinateur de systemes d’equa-tions differentielles. Ainsi le modele numerique obtenu par discretisation du modeletheorique est devenu aujourd’hui un outil indispensable pour depasser les limitationstheoriques, mais reste encore assez souvent considere comme un pis-aller.

in virtuo

Plus recemment, la possibilite d’interagir avec un programme en cours d’execution aouvert la voie a une veritable experimentation in virtuo des modeles numeriques. Il estdesormais possible de perturber un modele en cours d’execution, de modifier dynamique-ment les conditions aux limites, de supprimer ou d’ajouter des elements en cours de simu-lation. Ce qui confere aux modeles numeriques un statut de maquette virtuelle, infinimentplus malleable que la maquette reelle de la modelisation analogique. Les simulateurs devol ou les jeux video sont les precurseurs des systemes de realite virtuelle qui devien-nent necessaires lorsqu’il est difficile, voire impossible, de recourir a l’experimentationdirecte, quelles qu’en soient les raisons : milieux hostiles, difficultes d’acces, contraintes

51

Page 52: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Modeles

spatio-temporelles, contraintes budgetaires, ethiques . . . Depassant la simple observationde l’activite du modele numerique en cours d’execution sur un ordinateur, l’utilisateurpeut tester la reactivite et l’adaptabilite du modele en fonctionnement, tirant ainsi profitdu caractere comportemental des modeles numeriques.

simulation

Modèle

domainemodélisation

compréhension

raisonnements in abstracto

Modèles formels

théories

Modèles perceptifs

intuitions in petto

imaginaires

expérimentations in vitro

Modèles analogiques

maquettes

expérimentations in virtuo

Modèles numériques

programmes

expérimentations in vivo

Phénomènes réels

prototypes

comportements

numérisation

similitudes

analogies

implémentatio

n

créatio

n analogique

matérialisation

création numérique

impr

essi

ons

perception

form

alis

atio

n prédictions

Figure 3.5: Modelisation et comprehension des phenomenes

La notion de modele en tant que representation du reel repose sur deux metaphores,l’une artistique et l’autre juridique. La metaphore juridique de delegation (l’elu representele peuple, le nonce apostolique represente le pape, et l’ambassadeur le chef d’etat) suggerela notion de remplacement : le modele tient lieu de realite. La metaphore artistiquede realisation (la piece de theatre est representee en public, l’inspiration artistique estrepresentee par une œuvre) suggere la notion de presence : le modele est une realite.L’experimentation in virtuo d’un modele numerique lui assure une veritable presence etouvre ainsi de nouveaux champs d’exploration, d’investigation et de comprehension dureel.

52

Page 53: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Perception individuelle

3.4 Perception individuelle

De temps en temps, on rencontre une figure d’une petite partie d’un [tel] reseau de symboles,dans laquelle chaque symbole est represente par un nœud ou aboutissent et d’ou partent desarcs. Les lignes symbolisent d’une certaine facon des maillons des chaınes de declenchement.Ces figures essaient de rendre la notion intuitive de connexite conceptuelle. [...] La difficulte,c’est qu’il est pour le moins malaise de representer l’interdependance complexe d’un grandnombre de symboles a l’aide de quelques lignes reliant les points. L’autre probleme, avecce genre de diagramme, c’est qu’il n’est pas correct de penser qu’un symbole est forcementen service ou hors service. Si c’est vrai des neurones, cette bistabilite ne se repercute pasau niveau des ensembles de neurones. De ce point de vue, les symboles sont bien plus com-pliques que les neurones, ce qui n’est guere surprenant puisqu’ils sont composes de nombreuxneurones. Les messages echanges entre les symboles sont plus complexes qu’un simple je suisactive, qui est a peu pres le contenu des messages au niveau des neurones. Chaque symbolepeut etre excite de nombreuses facons differentes, et le type d’excitation determine quelsautres symboles seront actives. [...] Imaginons qu’il existe des configurations de nœuds unispar des liens (qui peuvent etre de plusieurs couleurs afin de faire ressortir les differents typesde connexite conceptuelle) representant avec exactitude le mode d’excitation de symboles pard’autres symboles. [Hofstadter 79]

Pour devenir emotionnels, les comportements doivent determiner leurs reponses, nonplus seulement en fonction des stimulus externes, mais egalement en fonction d’emotionsinternes telles que la peur, la satisfaction, l’amour ou encore la haine. Nous proposonsde decrire de tels comportements a l’aide de cartes cognitives floues ou ces etats internesseront explicitement representes, et permettront de clairement differencier la perceptionde la sensation.

3.4.1 Sensation et perception

Cartes cognitives floues

Les cartes cognitives sont issues des travaux des psychologues qui introduisirent ceconcept pour decrire des comportements complexes de memorisation topologique chezles rats (cognitive maps [Tolman 48]). Elles furent ensuite formalisees sous la forme degraphes orientes et utilisees en theorie de la decision appliquee au domaine economique[Axelrod 76]. Enfin, elles furent associees a la logique floue pour devenir les cartes co-gnitives floues (FCM : Fuzzy Cognitive Maps [Kosko 86]). L’utilisation de ces cartes futmeme envisagee pour la modelisation globale d’un monde virtuel [Dickerson 94]. Nousproposons ici de delocaliser les cartes cognitives floues au niveau de chaque agent pourmodeliser leur comportement perceptif autonome au sein d’un univers virtuel.

A l’image des reseaux semantiques [Sowa 91], les cartes cognitives sont des graphesorientes dont les nœuds sont des concepts (Ci) et les arcs des liens d’influence (Lij) entreces concepts (figure 3.6). Un degre d’activation (ai) est associe a chaque concept, alorsque le poids Lij d’un arc traduit une relation d’inhibition (Lij < 0) ou d’excitation(Lij > 0) du concept Ci vers le concept Cj. La dynamique de la carte est calculeemathematiquement par produit matriciel normalise comme le specifie la definition formelledes cartes cognitives floues donnee figure 3.7.

Nous utilisons les cartes cognitives floues pour specifier le comportement d’un agent(structure du graphe), et pour controler son mouvement (dynamique de la carte). Ainsi,

53

Page 54: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Modeles

a 1

a 3

a 2

a 4

−1

−1

+1

+2

−1

+1

−1

La carte ci-contre est formee de 4 concepts et possede 7 arcs. Chaqueconcept Ci a un degre d’activation ai.

a =

0BB@ a1

a2

a3

a4

1CCA , L =

0BB@ 0 +2 −1 −10 −1 0 +1−1 0 0 00 0 +1 0

1CCAUn zero dans la matrice des liens Lij = 0 designe l’absence d’arc duconcept Ci vers le concept Cj et un element non nul de la diagonaleLii 6= 0 correspond a un arc du concept Ci sur lui-meme.

Figure 3.6: Exemple de carte cognitive

une carte cognitive floue possede des concepts sensitifs dont les degres d’activation sontobtenus par fuzzification des donnees issues des capteurs de l’agent. Elle possede desconcepts moteurs dont les activations sont defuzzyfiees pour etre envoyees sur les effecteursde l’agent. Les concepts intermediaires traduisent l’etat interne de l’agent et interviennentdans le calcul de la dynamique de la carte. La fuzzification et la defuzzification sontobtenues conformement aux principes de la logique floue [Kosko 92]. Ainsi, un conceptrepresente un sous-ensemble flou, et son degre d’activation, le degre d’appartenance ausous-ensemble flou.

Sensations

A titre d’exemple, on veut modeliser un agent percevant sa distance a un ennemi. Enfonction de cette distance et de sa peur, il va decider de s’enfuir ou non. Plus l’ennemi estproche, plus il est effraye et inversement, plus il est effraye, plus il s’enfuit rapidement.

Nous modelisons cette fuite par la carte cognitive floue de la figure 3.8a. Cette cartepossede quatre concepts : deux concepts sensitifs (ennemi proche et ennemi loin), unconcept moteur (fuir) et un concept interne (peur). Trois liens traduisent les influencesentre ces concepts : la proximite de l’ennemi excite la peur (ennemi proche → peur), lapeur provoque la fuite (peur → fuir), et l’eloignement de l’ennemi inhibe la peur (ennemiloin → peur). On choisit le mode continu (V = [0, 1], δ = 0, k = 5), non force (fa =0). L’activation des concepts sensitifs ennemi proche et ennemi loin est realisee parfuzzyfication du capteur de la distance a l’ennemi (figure 3.8c) tandis que la defuzzyficationde l’envie de fuir donne une vitesse de fuite a cet agent (figure 3.8d).

Perceptions

Nous distinguons la sensation de la perception : la sensation resulte des capteursseuls, la perception est la sensation influencee par l’etat interne. Une carte cognitivefloue permet de modeliser la perception grace aux liens entre des concepts internes et desconcepts sensitifs. Par exemple, ajoutons trois liens a la carte de fuite precedente (figure3.8b). Un premier lien auto-excitateur (γ ≥ 0) sur peur modelise le stress. Un deuxiemelien excitateur (λ ≥ 0) de peur vers ennemi proche et un lien inhibiteur (−λ ≤ 0) de peurvers ennemi loin modelisent le phenomene de paranoıa. Une distance a l’ennemi donnee

54

Page 55: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Perception individuelle

On designe par K l’un des anneaux ZZ ou IR, par δ l’un des nombres 0 ou 1, par V l’un des ensembles{0, 1}, {−1, 0, 1}, ou [−δ, 1]. Soient (n, t0) ∈ IN2 et k ∈ IR∗+.

Une carte cognitive floue F est un sextuplet (C,A, L, A, fa,R) ou :

1. C = {C1, · · · , Cn} est l’ensemble des n concepts formant les noeuds d’un graphe.

2. A ⊂ C × C est l’ensemble des arcs (Ci, Cj) orientes de Ci vers Cj .

3. L :

���� C × C → K(Ci, Cj) 7→ Lij

est une fonction de C × C vers K associant Lij a un couple de concepts

(Ci, Cj), avec Lij = 0 si (Ci, Cj) /∈ A, ou avec Lij egale le poids de l’arc oriente de Ci vers Cj si(Ci, Cj) ∈ A. L(C × C) = (Lij) ∈ Kn×n est une matrice de Mn(K). C’est la matrice des liens de lacarte F que, pour simplifier, on note L sauf indication contraire.

4. A :

���� C → VIN

Ci 7→ aiest une fonction qui a chaque concept Ci associe la suite de ses degres d’activation

telle que pour t ∈ IN, ai(t) ∈ V soit son degre d’activation a l’instant t. On notera a(t) = [(ai(t))i∈[[1,n]]]T

le vecteur des activations a l’instant t.

5. fa ∈ (IRn)IN une suite de vecteurs d’activations forcees tels que pour i ∈ [[1, n]] et t ≥ t0, fai (t) soitl’activation forcee du concept Ci a l’instant t.

6. R est une relation de recurrence sur t ≥ t0 entre ai(t + 1), ai(t) et fai (t) pour i ∈ [[1, n]] traduisant ladynamique de la carte F .

∀i ∈ [[1, n]], ai(t0) = 0 ; ∀i ∈ [[1, n]],∀t ≥ t0, ai(t + 1) = σ ◦ g

0@fai (t),X

j∈[[1,n]]

Ljiaj(t)

1Aou g : IR2 → IR est une fonction de IR2 vers IR, par exemple: g(x, y) = min(x, y) ou max(x, y) ou αx+βy,et ou σ : IR → V est une fonction de IR vers l’ensemble des degres d’activation V normalisant lesactivations comme suit :

(1+δ)/2k

(0,0.5,5)σ

a0

−δ

(1−δ)/2

mode continu

a

(0,0.5,5)σ

1

0

mode binaire

b

(1,0,5)σ

+1

0

−1

mode ternaire

c

(a) En mode continu, V = [−δ, 1], σ est la fonction sigmoıde σ(δ,a0,k) centree en (a0, 1−δ2

), de pente

k · 1+δ2

en a0 et de limites en ±∞ respectivement 1 et −δ :

σ(δ,a0,k) :

������ IR → [−δ; 1]

a 7→ 1 + δ

1 + e−k(a−a0)− δ

(b) En mode binaire, V = {0, 1}, σ : a 7→���� 0 si σ(0,0.5,k)(a) ≤ 0.5

1 si σ(0,0.5,k)(a) > 0.5.

(c) En mode ternaire, V = {−1, 0, 1}, σ : a 7→������ −1 si σ(1,0,k)(a) ≤ −0.5

0 si −0.5 < σ(1,0,k)(a) ≤ 0.51 si σ(1,0,k)(a) > 0.5

.

Figure 3.7: Definition d’une carte cognitive floue

paraıtra plus ou moins grande selon l’activation du concept peur. L’agent devient alorsperceptif selon son degre de paranoıa λ et son degre de stress γ (figure 3.9).

55

Page 56: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Modeles

peur

−1

+1 +1

ennemi loin

ennemi proche

fuir

carte sensitiveL =

0BB@ 0 0 +1 00 0 −1 00 0 0 +10 0 0 0

1CCA a0 20 80 100

0

1 ennemi proche

distance à l’ennemi

degr

é d’

activ

atio

n

enne

mi l

oin

c

peur

+1

−1

+1

−λ

ennemi proche

ennemi loin

fuir

carte perceptive

L =

0BB@ 0 0 +1 00 0 −1 0

+λ −λ +γ +10 0 0 0

1CCA b0

0

1

1

vite

sse

de f

uite

activation de fuir d

Les concepts sensitifs en tiretes sont actives par fuzzyfication de capteurs. Les concepts moteurs en tiretes-pointilles activent les effecteurs par defuzzyfication. En (a), le concept C1 = ennemi proche excite C3 = peuralors que C2 = ennemi loin l’inhibe et peur excite C4 = fuir. Cela definit une carte purement sensitive.En (b), la carte est perceptive : la peur peut s’auto-entretenir (memoire) et meme influencer les sensations(perception). En (c), la fuzzification de la distance a un ennemi donne deux concepts sensitifs : ennemiproche et ennemi loin. En (d), la defuzzyfication de fuir regle lineairement la vitesse de fuite.

Figure 3.8: Comportement de fuite

a bLa perception de la distance d’un ennemi peut etre influencee par la peur : en fonction de la proximited’un ennemi et de la peur, la dynamique de la carte decide d’une vitesse obtenue ici au 3eme cycle. En (a),λ = γ = 0, l’agent est purement sensitif et sa perception de la distance a l’ennemi ne depend pas de sa peur.En (b), λ = γ = 0.6, l’agent est perceptif : sa perception de la distance a un ennemi est modifiee par sapeur.

Figure 3.9: Vitesse de fuite

3.4.2 Perception active

Sensation du mouvement

La neurophysiologie associe la sensation du mouvement a la fusion permanente etcoordonnee de differents capteurs : les recepteurs myo-articulaires (ou proprioceptifs),les recepteurs vestibulaires et les recepteurs cutanes [Lestienne 95]. Parmi les recepteursmyo-articulaires, certains capteurs musculaires et articulaires mesurent les deplacements

56

Page 57: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Perception individuelle

relatifs des segments du corps les uns par rapport aux autres; d’autres capteurs articulairesjouent le role de capteurs de force et participent au sens de l’effort. Les recepteurslabyrinthiques sont situes dans le systeme vestibulaire de l’oreille interne. Ce systemeconstitue une veritable centrale gravito-inertielle sensible d’une part aux accelerationsangulaires de la tete autour de trois axes perpendiculaires (canaux semi-circulaires), etd’autre part aux accelerations lineaires de la tete, dont celle de la pesanteur (otolithes).Les recepteurs cutanes mesurent des pressions differentielles et sont responsables du senstactile (le toucher).

La vision peripherique participe egalement a la sensation du mouvement car elle ren-seigne sur les mouvements relatifs au sein d’une scene visuelle. Dans certaines circons-tances, cette contribution de la vision peut entrer en conflit avec les donnees issues desrecepteurs proprioceptifs, vestibulaires et tactiles; ce conflit se traduit alors par des per-turbations posturales qui peuvent etre accompagnees de nausees. C’est ce qui peut arriverquand on lit un livre dans un vehicule en mouvement : la vision accaparee par la lecturedit au cerveau que la tete ne bouge pas, alors que les recepteurs vestibulaires detectentle mouvement du vehicule; c’est dans cette contradiction que reside la principale causephysiologique du mal des transports.

Simulation interne du mouvement

La sensation du mouvement correspond ainsi a une fusion multi-capteurs de differentesinformations sensorielles. Mais ces informations multisensorielles sont elles-memes com-binees a des signaux en provenance du cerveau qui controle la commande motrice desmuscles. Selon Alain Berthoz, neurophysiologiste, la perception n’est pas seulement uneinterpretation des messages sensoriels : elle est egalement simulation interne de l’action etanticipation des consequences de cette action simulee [Berthoz 97]. C’est le cas du skieurqui descend une piste : il deroule mentalement, de facon predictive, la descente en memetemps qu’il descend et verifie de temps en temps, par intermittence, l’etat de ses capteurs.

La simulation interne du mouvement est facilitee par un mecanisme d’inhibition neu-ronale. Pour la vision, le cerveau dispose d’une possibilite d’imaginer des deplacementsdu regard sans les executer grace a l’action de neurones inhibiteurs qui ferment le circuitde commande des muscles oculaires : en fixant un point devant soi, et en deplacant sonattention, sorte de regard interieur, on a effectivement la sensation d’un deplacement duregard d’un point a l’autre de la piece. Ce deplacement virtuel du regard a ete simulepar le cerveau en activant les memes neurones, seule l’action des neurones moteur a eteinhibee.

L’anticipation du mouvement est bien illustree par l’illusion de Kohnstamm, du nomdu physiologiste qui a etudie pour la premiere fois ce phenomene. Lorsqu’on maintienten equilibre un plateau charge d’une bouteille, le cerveau s’adapte a cette situation danslaquelle l’immobilite du bras est obtenue grace a un effort musculaire constant. Si onenleve soudainement la bouteille, le plateau se souleve tout seul. En fait, le cerveaucontinue a appliquer cette force jusqu’au moment ou les capteurs des muscles signalentun mouvement d’elevation. Si le porteur enleve lui-meme la bouteille, le plateau ne bougepas : le cerveau a anticipe et a provoque un relachement musculaire adapte a la variation

57

Page 58: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Modeles

du poids du plateau.

Le cerveau peut ainsi etre considere comme un simulateur biologique qui predit enutilisant sa memoire et en faisant des hypotheses sur le modele interne du phenomene.Pour comprendre le role du cerveau dans la perception, il faut partir du but que poursuitl’organisme et etudier comment le cerveau va interroger les capteurs, en specifiant desvaleurs estimees, en fonction d’une simulation interne des consequences attendues del’action.

Perception de soi

Un agent peut egalement utiliser une carte cognitive floue dans un espace imaginaire etsimuler un comportement. Ainsi, avec ses propres cartes, il accede a une perception de lui-meme en s’observant dans un domaine imaginaire. S’il connait les cartes d’un autre agent,il aura une perception de l’autre et pourra mimer un comportement ou une cooperation.En effet, si un agent possede une carte cognitive floue, il peut l’utiliser en simulation enforcant les valeurs des concepts sensitifs et en faisant agir les concepts moteurs dans unespace imaginaire comme projection du monde reel; un tel agent est capable de predireson propre comportement ou celui d’un agent decidant selon cette carte, en faisant realiserplusieurs cycles a la carte dans son espace imaginaire ou en determinant un attracteur(point fixe ou cycle limite en mode discret) de la carte. La figure 3.10 illustre ce mecanismeavec la carte de la figure 3.8b utilisee pendant 20 cycles en mode fuzzy et un vecteur deforcage initial valant ξ pour t ≤ t0 sur la peur uniquement, puis nul le reste du temps :fa(t < t0) = (0, 0, ξ, 0)T , fa(t > t0) = 0. Avec les memes conditions de forcage, le modebinaire converge vers un point fixe : a(t > tf ) = (0, 1, 0, 0)T ou a(t > tf ) = (1, 0, 1, 1)T ;soit l’ennemi est loin, il n’a pas peur et ne s’enfuit pas, soit l’ennemi est proche, il a peuret s’enfuit.

De plus, si un agent connait les cartes cognitives d’un autre agent, il peut prevoirle comportement de cet agent en simulant un scenario realise en deroulant les cycles deleurs cartes dans un espace imaginaire. Cette technique ouvre les portes a une veritablecooperation entre agents, chacun pouvant se representer le comportement de l’autre.

Ainsi, les cartes cognitives floues, permettent la specification du comportement per-ceptif d’un agent (structure du graphe), le controle du mouvement de l’agent (dynamiquede la carte) et la simulation interne du mouvement (simulation dans la simulation). Nouspouvons alors les mettre en œuvre dans le cadre de la fiction interactive.

3.4.3 Le berger, son chien et son troupeau

La majorite des travaux en realite virtuelle concerne l’immersion multisensorielle del’utilisateur humain au sein d’univers virtuels, mais ces univers, aussi realistes soient-ils,manqueront de credibilite tant qu’ils ne seront pas peuples d’acteurs autonomes. Les pre-miers travaux sur la modelisation des acteurs virtuels se focalisent sur le comportementphysique des avatars [Magnenat-Thalmann 91], et permettent par exemple l’etude del’ergonomie des postes de travail (Jack [Badler 93]). Une autre categorie de travaux abor-dent le probleme de l’interaction entre un acteur virtuel et un operateur humain : agent

58

Page 59: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Perception individuelle

a bSimulation et point fixe de la vitesse de fuite avec λ = γ = 0, 6. En (a), le mode est continu et cecomportement est obtenu a l’issue du vingtieme cycle de la carte. En (b), le mode est binaire et le vecteurdes activations de la carte se stabilise sur un point fixe tel que : soit tous les concepts sont a 1 sauf ennemiloin qui est a 0 et la vitesse est a 1, soit l’inverse et la vitesse est a 0. On remarque que si l’agent esteffraye au moment de la simulation, quelle que soit la distance de l’ennemi, il le percevrait comme s’il etaitforcement proche.

Figure 3.10: Perception de soi et des autres

compagnon (ALIVE [Maes 95]), agent formateur (Steve [Rickel 99]), agent animateur[Noma 00]. Enfin, d’autres s’interessent a l’interaction entre acteurs virtuels; dans de telstheatres virtuels, le scenario peut etre controle au niveau global (Oz [Bates 92]), dependrede scripts de comportements (Improv [Perlin 95]) ou reposer sur un jeu d’improvisations(Virtual Theater Project [Hayes-Roth 96]).

Nous proposons ici d’utiliser les cartes cognitives floues pour caracteriser des rolesd’agents credibles dans des fictions interactives. Illustrons ceci par une histoire d’alpages.Il etait une fois un berger, son chien et son troupeau de moutons . . . Cet exemple a dejaete utilise comme metaphore de comportement collectif complexe au sein d’un groupede robots mobiles (RoboShepherd [Schultz 96]), comme exemple de robot gardien d’oiesreelles (Sheepdog Robot [Vaughan 00]), ou encore comme exemple de scenes d’improvi-sation (Black Sheep [Klesen 00]).

Le berger se deplace dans son paturage, peut parler au chien et lui donner des savoir-faire. Il veut regrouper ses moutons dans une zone qu’il determine a mesure des besoins.Par defaut il reste assis; le berger est un avatar d’un acteur humain qui prend toutes lesdecisions a sa place.

Chaque mouton distingue un ennemi (un chien ou un homme) d’un mouton et d’uneherbe comestible. Il capte la distance et la direction relative (gauche ou droite) d’unagent qu’il voit dans son champ de vision. Il sait identifier l’ennemi le plus proche. Ilsait tourner a gauche ou a droite et courir sans depasser une certaine vitesse maximale.Il possede une reserve d’energie qu’il regenere en mangeant, et depense en courant. Pardefaut, il va tout droit et finit par s’epuiser. On veut que les moutons mangent de l’herbe(repartie aleatoirement), aient peur des chiens et des hommes quand ils sont trop preset, selon l’instinct de Panurge, qu’ils cherchent a socialiser. On choisit alors une carteprincipale (figure 3.11) comportant des concepts sensitifs (ennemi proche, ennemi loin,energie haute, energie basse), des concepts moteurs (manger, socialiser, fuir, courir) etdes concepts internes (satisfaction, peur). Cette carte calcule la vitesse de deplacementpar defuzzyfication du concept courir, et la direction du deplacement par defuzzyfication

59

Page 60: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Modeles

des trois concepts manger, socialiser et fuir, chaque activation correspondant a un poidssur la direction relative a suivre (a gauche ou a droite), respectivement pour aller versl’herbe, rejoindre un mouton et fuir un ennemi.

+

+

+

+

−−

−−

+1

+1

énergie haute

socialiser

+1

+1

−1+1

+1 +1

+1

−1

+1

−1

−1

courir

ami gauche

socialisation

ami droite tourner à droite

tourner à gauche

ennemi à droite

ennemi au centre

ennemi à gauche

tourner à droite

tourner à gauche

ennemi loin

énergie basse

satisfaction

manger

fuir

peur

ennemi proche

fuite

perceptiona

mouton c

mouton a

mouton b

berger

1

5

9

1

5

9

1

5

9

bEn (a), les cartes cognitives floues definissent le roled’un mouton. Les deux du haut determinent sa direc-tion a un but; celle du bas lui donne son caractere.En (b), les moutons cherchent a se rejoindre tout enevitant le berger. Les 3 moutons agissent en laissantdes empreintes datees sur leurs trajectoires.

Figure 3.11: Peur et socialisation

Le chien est capable d’identifier les hommes, les moutons, la zone du paturage et lepoint de garde. Il distingue visuellement et auditivement son berger d’un autre homme etsait reperer le mouton le plus loin de la zone parmi un groupe de moutons. Il sait tournera gauche ou a droite et courir jusqu’a une vitesse maximale. Initialement jeune et fou,il a un comportement consistant a courir apres les moutons; ce qui a pour effet de lesdisperser rapidement (figure 3.12a). Dans un premier temps, le berger veut que le chienobeisse a l’ordre de ne pas bouger, ce qui aura comme consequence une socialisation desmoutons. Cela est realise en donnant au chien une carte sensible au message du bergeret inhibant l’envie de courir (figure 3.12b). Le comportement du chien est decide par lacarte et le chien s’immobilise quand son maıtre lui demande (diffusion du message stop).Ensuite, le berger donne au chien une carte structuree d’apres les concepts associes ala zone du troupeau, au fait qu’un mouton soit hors ou dans cette zone, ainsi que lesconcepts permettant de ramener un mouton (figure 3.12c,d,e) et de maintenir le troupeaudans la zone en se placant au point de garde, c’est a dire sur le bord et a l’opposee duberger. Il est remarquable d’observer que la trajectoire en S du chien de berger virtuelemergeant de cette simulation in virtuo (figure 3.12c), et non explicitement programmee,est une strategie adoptee et observable in vivo par un chien de berger reel qui ramene ungroupe de moutons.

3.5 Conclusion

Les modeles que nous developpons en realite virtuelle doivent respecter le principed’autonomie des objets virtuels qui constituent les univers virtuels.

60

Page 61: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Conclusion

1

1

1

4

4

4

4

7

7

7

7

mouton c

chien

1point de garde

berger

mouton a

mouton b

a

−1

stop

courir

stopb

En (a), le berger est immobile. Une zone circulaire represente la zone de parcage. Sur cette zone estattache un point de garde toujours situe diametralement oppose au berger : c’est la que doit se mettreun chien de berger lorsque tous les moutons sont a l’interieur de la zone. Initialement, le comportementd’un chien sans carte cognitive floue est de courir apres les moutons qui se dispersent rapidement et horsde la zone de regroupement. En (b), la carte elementaire realise l’obeissance d’un chien au message stopde son berger en inhibant l’envie de courir.

berger

mouton a

chien

point de garde

mouton b

mouton c

1

5

1

1

1

5

5

9

9

5

913

13

13

9

13

c

mouton proche

mouton loin

garder

mouton dedans

mouton dehors

grande zone petite zone

suivre lentement

+1

−1

+1 +1

−3

−3

+1 −1

−1

+1

−1

+1−1 +1

−1+1

+1

−1+1−1

−1

−1+1

−1

+1

+1

courir

point de garde proche

stop

point de garde loinmouton loin zone

mouton proche zone

ramener

attendre

chiend

zone à droitezone à gauche

+2 −2 +2−2

−1 +1 +1 −1

tourner à gauche

mouton à gauche mouton à droite

tourner à droite

ramenere

Pour cette simulation in virtuo, la so-cialisation des moutons est inhibee. En(c), le film du chien de berger ramenant3 moutons s’est deroule avec pour lesmoutons leurs cartes de la figure 3.11et pour le chien les cartes representeesen (d) et (e). En (d), la carte prin-cipale du chien traduit le role consis-tant a ramener un mouton dans la zoneet a maintenir une position relative auberger lorsque tous les moutons sontdans la zone souhaitee. En (e), la cartedecide de l’angle d’approche du mou-ton pour le ramener vers la zone : allervers le mouton, mais en l’abordant parle cote oppose a la zone.

Figure 3.12: Le chien de berger et les moutons

Nous avons choisi de concevoir ces mondes virtuels comme des systemes multi-agentsqui considerent l’utilisateur humain en tant que participant, et non comme simple obser-vateur. L’evolution de ces systemes donne lieu a des simulations multi-agents auxquellesl’homme participe pleinement en y jouant ses trois roles de spectateur, d’acteur et decreateur. La simulation participative d’univers virtuels composes d’entites autonomes

61

Page 62: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Modeles

permet alors d’aborder l’etude de phenomenes rendus complexes par la diversite descomposants, la diversite des structures, la diversite des interactions et la diversite desmodelisations. La modelisation des entites passe par l’autonomisation des modeles com-portementaux, qu’ils soient reactifs, emotionnels, intentionnels, evolutifs ou sociaux. Lecomportement d’ensemble de ces entites devient alors revelateur des capacites auto-organisatrices du systeme et constitue l’un des resultats attendus de telles simulations.L’homme en participant a ces simulations peut, selon un principe de substitution, prendrele controle d’une entite. Ainsi, par une sorte d’empathie numerique, il a la possibilite des’identifier a celle-ci. En retour, l’entite controlee peut apprendre de l’operateur humaindes comportements plus adaptes a son environnement.

L’etude de la coagulation du sang par cette approche multi-agents a mis en œuvreplusieurs milliers d’entites autonomes a comportement reactif. Les simulations met-tent en evidence les capacites auto-organisatrices des cellules et des proteines du sanga combler une breche creee par l’utilisateur-perturbateur, n’importe quand et n’importeou dans la veine virtuelle. L’utilisateur-observateur, constatant une anomalie de coagu-lation (hemophilie ou thrombose), devient utilisateur-pharmacien en ajoutant en coursde simulation de nouvelles molecules, permettant ainsi a l’utilisateur-biologiste de testerde nouveaux reactifs, a moindre cout et en toute securite. Au sein d’un tel laboratoirevirtuel, le biologiste realise de veritables experimentations in virtuo qui impliquent unvecu que ne suggere pas la seule interpretation des calculs in silico. Le biologiste disposeainsi d’une nouvelle voie d’experimentation pour comprendre les phenomenes biologiques.

La realisation d’une fiction interactive, en modelisant les comportements des acteursvirtuels a l’aide de cartes cognitives floues, met en evidence le triple role de ces cartes. Ellespermettent d’abord de specifier un comportement perceptif en definissant des conceptssensitifs, moteurs et emotionnels, comme nœuds d’un graphe oriente; les arcs entre cesnœuds traduisent les relations excitatrices ou inhibitrices entre les concepts associes. Ellesautorisent ensuite le controle du mouvement des acteurs en cours d’execution grace a leurdynamique. Enfin, elles ouvrent la voie a une perception active lorsqu’elles sont simuleespar les agents eux-memes. Simulation dans la simulation, cette perception active, commeune sorte de regard interieur, passe par une auto-evaluation du comportement de l’agentet constitue une ebauche de perception de soi.

Ces modeles de comportements autonomes doivent au bout du compte etre implemen-tes et executes dans un ordinateur. Nous devons donc nous poser les questions du langaged’implementation et du simulateur associe. C’est ce dont nous discuterons au chapitre 4suivant.

62

Page 63: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Chapitre 4

Outils

4.1 Introduction

Ce chapitre presente les outils generiques que nous avons developpes pour implementerles modeles du chapitre 3 precedent. Il s’agit de la plateforme de developpement oRis1

(langage + simulateur) qui a ete concue pour nos besoins de simulation multi-agentsparticipative, et qui constitue le noyau de notre atelier de realite virtuelle distribueeAReVi.

Le langage oRis, qui est l’objet de la premiere partie, apparaıtra comme un langagegenerique de programmation par objets actifs concurrents, dynamiquement interprete,avec une granularite au niveau des instances.

Puis, nous porterons une attention particuliere au simulateur associe, afin de mon-trer qu’il a ete construit en s’assurant que le procede d’activation des entites autonomesn’induit pas de biais dans la simulation dont la plateforme d’execution serait seule res-ponsable. Dans ce cadre, la robustesse aux erreurs d’execution s’averera un point parti-culierement sensible, d’autant que le simulateur donne acces a l’ensemble du langage enligne.

Enfin, nous resituerons notre plateforme oRis dans le contexte des environnements desimulation multi-agents participative et indiquerons quelles en sont les premieres applica-tions.

4.2 Le langage oRis

Quand dire, c’est faire. [Austin 62]

Pour jouer librement ses trois roles (spectateur, acteur, createur), tout en respectantl’autonomie des agents avec lesquels il cohabite, l’operateur doit disposer d’un langagepour agir sur les autres modeles, les modifier et eventuellement creer de nouvelles classes

1Le nom oRis est librement inspire du suffixe latin oris qui se rencontre dans le pluriel de mots serapportant au langage, comme cantatio → chant, cantoris → chanteurs (ceux qui chantent), ou encoreoratio → parole, oratoris → orateurs (ceux qui parlent). Nous y avons retenu la triple symbolique dulangage, du pluriel et de l’acte : langage multi-agents.

63

Page 64: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Outils

de modeles et les instancier. Il possede ainsi, pendant l’execution de la simulation, lememe pouvoir d’expression que le createur du modele initial. Le langage doit donc etredynamiquement interprete : du nouveau code doit pouvoir etre introduit (et donc in-terprete) en cours d’execution. L’utilisateur peut etre amene a n’interagir ou a ne modi-fier qu’une instance d’un modele. Le langage doit donc avoir une granularite instance, cequi suppose de disposer d’un service de nommage et surtout de la possibilite, au niveausyntaxique, de distinguer le code du contexte global, de celui des classes et de celui desinstances.

Il apparaıt donc que la simulation multi-agents participative impose de disposer d’unlangage d’implementation qui integre bien sur le paradigme de la programmation parobjets actifs concurrents (l’interet de ce paradigme pour les systemes multi-agents n’estpas une idee nouvelle [Gasser 92]) mais qui offre aussi des proprietes supplementaires tellesqu’un langage dynamiquement interprete avec une granularite instance.

4.2.1 Vue d’ensemble

oRis est un langage oriente objet, a typage fort et interprete. Il a d’ailleurs de nom-breuses similitudes avec les langages C++ et Java, ce qui facilite son apprentissage. Toutcomme ces langages generalistes, oRis permet d’aborder des themes applicatifs varies; sil’on integre des composants developpes avec ces langages, l’architecture logique des appli-cations reste homogene, ce qui facilite la reutilisabilite de composants tiers et l’extensibilitede la plate-forme oRis. La figure 4.1 propose, a titre d’illustration, un programme mini-mal, mais neanmoins complet, definissant une classe et lancant quelques traitements (blocsstart). Nous pouvons remarquer que la classe decrit des objets actifs dont les comporte-ments s’executent en parallele d’autres traitements inities dans d’autres contextes locaux.

oRis gere un ramasse-miettes. Il est ainsi possible de choisir quelles instances sont su-jettes a une destruction automatique (cette decision est cependant revocable dynamique-ment), la destruction explicite d’une instance par l’operateur delete etant toujours pos-sible. En consquence, il existe un mecanisme permettant de savoir si une reference esttoujours valide.

Nous disposons d’une interface avec le langage C++ selon un procede de bibliothequeschargeables a la demande. Non seulement oRis permet d’associer des fonctions ou desmethodes a une implementation en C++, mais il permet une utilisation plus avant del’approche objet en materialisant directement une instance du langage interprete par uneinstance decrite en C++. Bien qu’oRis soit implemente en C++, il est possible d’integrerdes travaux realises dans d’autres langages. Un paquetage assure l’interfacage du codeoRis avec du code SWI-Prolog2 : une fonction permet d’invoquer l’interpreteur Prolog

et, en Prolog, il est possible d’invoquer une methode oRis. oRis a egalement ete interfaceavec Java de telle sorte que n’importe quelle classe Java, qu’elle fasse partie des classesstandards ou qu’elle soit l’objet d’un travail personnel, peut etre directement utiliseedepuis oRis. Aucun travail de mise en forme pour le respect des conventions d’appel dulangage de script n’est necessaire, comme c’est souvent le cas pour embarquer du C++.

2SWI-Prolog : www.swi.psy.uva.nl/projects/SWI-Prolog

64

Page 65: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Le langage oRis

class MyClass // definir la classe MyClass

{

string _txt; // un attribut

void new(string txt) { _txt=txt; } // constructeur

void delete(void) {} // destructeur

void main(void) { println("I say: ",_txt); } // comportement

}

start // initier un traitement

{ // dans l’application

println("---- block start ----");

MyClass i=new MyClass("Hello"); // creer des objets actifs

MyClass j=new MyClass("World");

println("---- block end ----");

}

start // initier un autre

{ // traitement

for(int i=0;i<100;i++)

{

println("doing something else !");

yield();

}

}

doing something else !

---- block start ----

---- block end ----

I say: World

doing something else !

I say: Hello

I say: Hello

I say: World

doing something else !

I say: Hello

I say: World

doing something else !

...

Figure 4.1: Execution d’un programme simpliste en oRis

De nombreux paquetages sont proposes en standard dans oRis. Ceux-ci concernentdans l’ensemble des services tout a fait classiques mais neanmoins indispensables pourque l’outil soit reellement utilisable dans des conditions variees. Les themes abordespar ceux-ci sont les conversions de donnees, les mathematiques, les semaphores d’exclu-sion mutuelle, les liens reflexes, les conteneurs generiques, les composants d’interfacegraphique, le trace de courbes, les objets situes dans un plan ou dans l’espace, les outilsde reflexion, les inspecteurs graphiques, la communication par fichiers, socket, IPC, lecontrole de session a distance, l’interfacage avec Java et Prolog, les controleurs flous.

Un autre aspect d’oRis concerne l’environnement graphique qu’il propose a l’utilisa-teur. Par defaut le lancement d’oRis fait apparaıtre une console graphique permettantle chargement des applications, leur lancement, leur suspension . . . Comme le montre lafigure 4.2, la console (en haut a gauche) propose un editeur de texte correspondant a l’un

65

Page 66: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Outils

Figure 4.2: L’environnement graphique d’oRis

des nombreux moyens d’effectuer des interventions en ligne. Les autres fenetres presenteesici sont de simples objets de l’application : une vue sur le monde 3D, un traceur de courbeset des inspecteurs. Ces objets, comme tous les autres, sont directement accessibles depuisla console mais peuvent bien entendu etre crees et controles par programme.

4.2.2 Des objets et des agents

Des entites variees

Les agents d’oRis sont caracterises par des proprietes (les attributs), des savoir-faire(les methodes), des connaissances declaratives (les clauses Prolog), une boıte a messages,des activites (les flots d’execution) et des objectifs. Les mecanismes associes sont bien en-tendu disponibles : la consultation et la modification d’attributs, les appels de methodes,le moteur d’inferences, la consultation et l’envoi de messages, la designation et le moded’activation des flots d’execution, ainsi que l’evaluation des objectifs3

Mais un systeme multi-agents n’est pas uniquement constitue d’agents. Ainsi l’environ-nement des agents est compose d’objets passifs (qui ne font rien tant que l’on inter-agit pas avec eux) et d’objets actifs (qui agissent sans etre sollicites et qui generent desevenements). Les agents creent, modifient, detruisent aussi des objets tels que des mes-sages et des connaissances qui – meme si a un certain niveau ils peuvent etre concuscomme des agents – sont bien implementes au niveau terminal comme des objets.

3A ce jour, la gestion des connaissances declaratives est deleguee a un interpreteur Prolog externe, etla gestion des objectifs deportee au niveau applicatif.

66

Page 67: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Le langage oRis

De meme, les interactions entre entites ne se font pas toutes ni sous forme d’actes delangage interpretes de maniere asynchrone par leur destinataire, ni sous forme de tracedans l’environnement. Les agents percoivent les caracteristiques des objets ou des autresagents (la position geographique d’un agent, le contenu d’un message . . . ), ce qui setraduit par la lecture d’un attribut de l’objet considere. Symetriquement, la modificationde l’environnement revient a modifier un attribut. De plus, le comportement d’un agentpeut resulter d’une action non intentionnelle. Imaginons deux personnages qui discutentdans la rue et qui se font bousculer par des passants : ils decident chacun de leur propreinterpretation des messages qu’ils s’echangent, mais ils subissent les collisions des passantssans que leurs intentions ou une quelconque decision de leur part ne soient impliquees(lorsqu’on se fait bousculer, on n’a pas le choix !). Par consequent, dans une memeapplication, il est possible d’utiliser des entites de differentes natures :

. des objets et des objets actifs (selon la semantique UML [Rumbaugh 99]);

. des acteurs tel que le propose [Hewitt 73] : un acteur est une entite active quijoue un role en donnant la replique conformement a un script; son comportements’exprime par des envois de messages;

. des agents que l’on peut definir comme des entites autonomes (il n’y a pas de scripta contrario du modele d’acteur) et dont le comportement repose sur la perceptionde l’environnement et la realisation d’actions, ces dernieres etant, eventuellement,guidees par des buts (pro-activite).

Fondamentalement, l’implementation de ces differents types d’entite repose sur lanotion d’objet (instance d’une classe), la concurrence et l’autonomie etant fondees, a ceniveau, sur le notion d’objet actif (un objet ayant ses propres flots d’execution). La pro-activite des agents repose sur la notion de buts, de connaissances, de plans d’actions et surun mecanisme d’inference. La programmation logico-deductive repond bien a ce besoin;avec oRis, ces elements peuvent etre implementes en Prolog auquel il est interface.

Environnement spatial

Que ce soit parce que le systeme simule possede lui-meme une composante geometriqueou que ce soit une metaphore qui ameliore l’intelligibilite du modele, la simulation multi-agents peut necessiter de recourir a des agents situes (localisables et detectables) dans unenvironnement geometrique, generalement de dimension deux ou trois. L’introduction dedimensions physiques a l’environnement, enrichit la semantique de notions fondamentalesdes systeme multi-agents telles que :

. la localite : elle n’est plus seulement logique (i.e. conditionnee par l’organisation dusysteme multi-agents) mais elle correspond a une proximite spatiale (distance entredeux objets) ou topologique (un objet est dans un autre, un objet est attache a unautre);

. la perception : elle ne repose plus uniquement sur l’identification d’une instanceet de ses attributs (semantique applicative), mais aussi sur la localite spatiale oula detection des contours 2D ou des faces 3D; les agents doivent donc disposer decapteurs appropries ayant un certain champ de perception;

. les interactions : on peut alors parler de notions telles que les collisions, l’attache-

67

Page 68: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Outils

ment d’objets . . .

oRis offre des environnements 2D et 3D dans lesquels les objets sont definis parleur position, leur orientation et leur forme geometrique. Les fonctionnalites de tels ob-jets sont tres similaires. Qu’ils s’agissent d’Object2d ou d’Object3d, oRis offre bienevidemment des outils permettant a l’utilisateur de s’immerger dans le systeme multi-agents : l’utilisateur, comme tout agent, a une vision locale de l’environnement, peut etrepercu par les autres agents, peut interagir physiquement avec eux en provoquant, avec undispositif approprie, des evenements perceptibles par les agents.

La figure 4.3 illustre le reperage des objets dans le plan et la notion de champ deperception. Les methodes de perception fondees sur ce principe assimilent les objetssitues a des points (origine de leur repere local). Le champ de perception est constitued’un angle d’ouverture et d’une portee. Dans cette zone, les objets reperes sont localises encoordonnees polaires dans le repere local de l’entite qui percoit, afin d’exprimer facilementune reaction aux perceptions locales (sur ma gauche, aller tout droit). Ces methodesde perception permettent de choisir le type des objets a percevoir et admettent deuxvariantes : detection de l’objet le plus proche ou de l’ensemble des objets visibles. Unemethode de lancer de rayons detecte finement les contours ou les faces de ces objets dontla forme est choisie parmi un ensemble de primitives. Pour realiser des attachements,les objets peuvent etre connectes entre eux de maniere hierarchique de telle sorte que ledeplacement d’un objet entraıne le deplacement de tous ceux qui lui sont connectes.

abscisse

ordonnée

orientation objets situés

repère global

champ de perception

Figure 4.3: Localisation et perception en 2D

Pour aller au-dela des problemes plans, oRis propose un environnement geometriquetridimensionnel. Il reprend les memes principes que ceux de l’environnement bidimen-sionnel en y ajoutant cependant les parametres geometriques supplementaire (six degresde liberte). La representation geometrique (en OpenGL4) d’une entite est decrite sous laforme d’un ensemble de points definissant des faces, pouvant etre colorees ou texturees.Des volumes elementaires et des primitives de transformation sont egalement disponibles;la construction d’une forme complexe se fait alors par accumulation d’autres formes.

4OpenGL : www.opengl.org

68

Page 69: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Le langage oRis

Environnement temporel

Le temps est aussi une variable de l’environnement qui conditionne le comportementdes agents et qui permet de situer leurs actions et leurs interactions. oRis offre a ce sujetdes fonctionnalites de base.

Les differents modes de gestion du temps classiquement utilises en simulation reposentau plus bas niveau, soit sur un temps logique (evenementiel), soit sur un temps physique[Fujimoto 98]. oRis fournit a ce titre deux moyens de mesurer le temps. La fonctiongetTime() permet de mesurer des durees physiques en millisecondes pour fournir parexemple une impression de temps-reel a l’utilisateur. La fonction getClock() quant aelle, indique le nombre de cycles d’execution ecoules, ce qui peut etre assimile a un tempslogique. Notons que le sens que l’on peut donner a cette valeur depend du type de multi-taches utilise, et d’une maniere plus generale du contexte applicatif de la simulation.

Environnement utilisateur

Pour que l’utilisateur soit plus qu’un simple spectateur de l’evolution du systememulti-agents, il faut qu’il dispose d’un langage ayant des proprietes dynamiques afin quede nouvelles portions de code puissent etre prises en compte a tout instant et dans des cir-constances variees. Les interventions les plus simples consistent a declencher de nouveauxtraitements pour changer le deroulement naturel de l’evolution du systeme multi-agents.La construction incrementale du systeme necessite de pouvoir completer l’application encours de fonctionnement en y ajoutant de nouvelles notions, et notamment de nouvellesclasses. Les modifications peuvent aussi ne concerner que des instances isolees. Toutesces modifications en ligne permettent a l’utilisateur de considerer les modeles qu’il utilisecomme etant eux-memes des parametres de l’application.

Pour que ces manœuvres soient aisees, la grammaire du langage doit permettre depreciser tres facilement si une intervention concerne le contexte global de l’application,celui d’une classe ou celui d’une instance. Ces informations contextuelles permettentd’utiliser un interpreteur ayant un point d’entree unique pouvant etre alimente par unetrame dont l’origine importe peu (reseau, zone de saisie, fichier, generation automa-tique...). Ainsi, l’expression de ces interventions n’impose pas a l’utilisateur l’usaged’un outil particulier (un inspecteur graphique par exemple), meme si de tels outils sontdisponibles. Au contraire, cela autorise l’application realisee a fournir un acces aux fonc-tionnalites dynamiques sous la forme qui lui est la mieux adaptee.

Notre objectif consistant a permettre d’apporter des modifications en ligne est motivepar le fait que dans une realite virtuelle, la vie doit continuer malgre tout. Par la, nousentendons que, quoi qu’il puisse se produire, et quoi qu’un utilisateur ait pu provoquer,le modele doit continuer a s’executer meme si des erreurs se produisent. Il est doncnecessaire de reduire au maximum le nombre d’erreurs potentielles dans l’application. Cepoint justifie pleinement le choix d’un typage fort. En effet, si les controles de type ont lieudes que le code est introduit, des incoherences peuvent etre detectees, ce qui permet derejeter le code incrimine avant qu’il ne provoque des erreurs effectives dans l’application.De nombreuses autres erreurs peuvent survenir a l’execution et elles ne doivent en aucuncas provoquer l’arret de l’application. Pour eviter d’etre oblige d’interrompre l’application

69

Page 70: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Outils

afin de proceder a son deverminage, nous preferons n’interrompre que l’activite danslaquelle s’est produite l’erreur. Ainsi les autres traitements continuent a s’executer enparallele pendant qu’un utilisateur intervient sur le traitement incrimine.

Pour faciliter l’interaction de l’utilisateur avec l’application et ses constituants, oRispropose quelques mecanismes simples et directement utilisables qui sont apparentes a del’introspection. D’autres services de reflexion plus classiques font l’objet d’un paquetageparticulier. Une premiere facilite concerne le nommage des objets et l’expression desreferences. Chaque instance creee recoit automatiquement un nom, lisible par l’utilisateur,qui le designe de maniere unique. Il est constitue du nom de la classe de l’objet cree, suivid’un point et d’un entier servant de discriminant entre les instances d’une meme classe(MyClass.5 par exemple). Ce nom n’est pas qu’une simple fonctionnalite utilitaire maisfait partie integrante des conventions lexicales du langage; il s’agit d’une constante detype reference.

Un ensemble de services permettent de connaıtre l’ensemble des classes existantesou des instances d’une classe particuliere. Il est aussi possible de demander sa classe aun objet, ou encore de verifier s’il est instance d’une classe particuliere ou d’une classederivee.

4.2.3 Interactions entre agents

Les interactions entre un agent et son environnement se font par la manipulation descaracteristiques structurelles des objets qui le composent. Cela se traduit par la lectureou la modification des attributs des objets cibles, cette derniere pouvant se faire parinvocation d’une methode (e.g. appel de la methode move() d’un objet avec lequel unagent situe entre en collision). Ces interactions peuvent aussi se traduire par l’instantiationd’objets ou leur destruction (on fait appel aux operateurs new et delete). Dans tous lescas, la reaction des objets de l’environnement est imperative et synchrone.

Les interactions entre agents peuvent etre reactives (exemple de la collision) ou media-tes (echanges de messages). A cet effet, le langage oRis offre quatre solutions qui peuventetre utilisees simultanement dans l’implementation d’un agent. Ces services sont assurespar la classe Object et correspondent respectivement aux appels synchrones de methodes,aux liens reflexes, a l’envoi de messages en point-a-point et a la diffusion de messages dansl’univers des agents.

Appels synchrones

Bien que le modele objet utilise le concept d’envoi de messages pour decrire la commu-nication entre objets, dans la pratique les langages implementent un mecanisme d’appelsynchrone de methodes. L’invocation d’une methode sur un objet ne cree pas un nou-veau flot d’execution chez l’instance concernee mais detourne simplement l’activite del’objet appelant vers un traitement qui manipule les donnees de l’objet designe. Ceci re-vient a considerer que c’est l’objet appelant qui effectue tous les calculs; l’objet concernene fournit que les donnees et leur mode d’emploi, mais ne participe pas activement autraitement.

70

Page 71: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Le langage oRis

La programmation imperative par appel synchrone presente l’avantage d’etre efficacea l’execution et d’assurer la sequentialite des actions : le code qui suit l’invocation peutcompter sur le fait que le traitement demande a bien eu lieu puisque c’est le meme flotd’execution qui l’a effectue. Certains comportements d’agent, tel que la perception desautres, peuvent etre programmes efficacement par ce moyen. Notons aussi que l’invocationd’une methode peut se faire dans un bloc start{} et donc etre executee par un flotd’activite different du flot appelant.

Comme cela est specifie en UML, les langages C++ ou Java offrent un moyen de preciserle controle d’acces (publique, protege ou prive) aux attributs et aux methodes des classesd’objets. Pour des raisons d’efficacite, ce controle est realise a la compilation. Cettesemantique n’est pas la plus pertinente dans le cas d’agents. En effet deux instancesd’une meme classe peuvent intervenir directement sur leurs parties privees mutuelles, cequi viole le principe d’autonomie si la cible est une methode qui ne devrait etre executeeque sous le controle de l’agent auquel on s’adresse.

Pour apporter un element de reponse a cette situation, oRis propose un moyen derestreindre l’acces aux methodes (voire meme aux fonctions). Alors que this designel’objet sur lequel est invoquee la presente methode, le mot-clef that indique l’objet quia invoque cette methode sur l’objet designe par this. En verifiant l’identite de that audebut d’une methode, il est possible de controler l’acces au service correspondant. Nouspouvons ainsi, de maniere tres simple, verifier que certains services ne sont directementaccessibles que par les entites concernees. Les verifications peuvent bien entendu portersur le schema classique a base de classes mais peuvent reposer sur des modalites propresa l’application et sur des conditions variables dans le temps. Remarquons que ce moyenest equivalent au champ emetteur d’un message asynchrone, ce qui permet a un agentdestinataire de maintenir les memes raisonnements quel que soit le support de la commu-nication (appel synchrone de methode ou envoi de message asynchrone). L’acces a that

repose en interne sur le fait qu’il est possible en oRis d’inspecter la pile d’execution dutraitement en cours. Nous pouvons par exemple n’autoriser l’invocation d’une methodeque depuis quelques autres.

Bien qu’ils aient certainement un cout en terme de vitesse d’execution, ces controlesd’acces dynamiques ouvrent quelques perspectives concernant la programmation de sys-temes multi-agents. Ceci permet d’edicter des regles d’interaction au sein de structuresorganisationnelles et de les rendre dynamiques. Ainsi, est-il envisageable de donner a unagent le moyen de refuser d’executer un service parce que le demandeur n’a pas d’autoritesur lui dans la structure organisationnelle ou parce que le service pourrait avoir ete de-mande, meme indirectement, par un agent qui se serait montre non cooperatif dans uneprecedente demande.

Liens reflexes

oRis fournit un mecanisme de programmation evenementielle, appele liens reflexes,qui permet a un agent de reagir a la modification d’un attribut d’un objet, qu’il s’agissed’un de ses attributs (etat interne de l’agent, boıte aux lettres. . . ) ou l’attribut d’un autreobjet (cas d’un agent qui surveille un objet de l’environnement ou une caracteristique

71

Page 72: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Outils

perceptible d’un autre agent).

Un lien reflexe est un objet assigne a un attribut et qui voit certaines de ses methodesse declencher automatiquement a chaque fois que l’attribut en question est modifie. Ainsi,lors de la modification d’un attribut auquel un lien reflexe est associe, celui-ci est active,ce qui declenche automatiquement l’execution de sa methode before() juste avant quela modification ait lieu, et de sa methode after() juste apres. Il est possible d’associerun nombre quelconque de liens reflexes sur un meme attribut d’une meme instance.

Nous assimilons ce mecanisme a un moyen de communication (dans un contextereactif) puisque le declenchement des traitements signalant la modification d’un attributpeut etre vu comme un moyen d’etre tenu informe d’un evenement.

Communication par messages

Conformement au modele objet qui repose conceptuellement sur l’interaction entreinstances par envoi de messages, ce mecanisme est defini en oRis dans la classe de baseObject. Il utilise aussi les services de la classe de base Message, soit pour envoyer desmessages en point-a-point, soit pour la diffusion de messages.

Pour envoyer un message en point-a-point, un agent instancie un objet d’une classederivee de Message (dont le seul attribut est la reference de l’emetteur qui est determinegrace au mot-clef that). L’invocation de sa methode sendTo() le place dans la boıte auxlettres (file d’attente FIFO) du destinataire dont la reference est precisee en argument.Pour que ce dernier puisse traiter le message recu, il doit consulter sa boıte aux lettres.Le destinataire peut etre informe qu’un message y a ete depose par le declenchementautomatique d’une methode reflexe. On peut par exemple relancer l’execution de l’activitede lecture des messages qui aurait pu etre suspendue afin d’eviter toute attente active. Letype de communication decrit ici est qualifie de point-a-point dans le sens ou l’expediteurenvoie son message a un destinataire qu’il connaıt et qu’il designe explicitement. Ceprocede est asynchrone puisque l’emetteur poursuit ses activites sans savoir exactementquand son message sera traite par le destinataire.

En prolongement du modele objet, un agent peut envoyer simultanement un messagea des objets (agents) qu’il ne connaıt pas et qui declencheront a reception du messagetelle ou telle action inconnue de l’emetteur. Les messages utilises sont en tout pointidentiques a ceux evoques precedemment. La difference repose sur la maniere de lesexpedier et de les recevoir. L’emetteur invoque cette fois la methode broadcast() dumessage afin qu’il soit diffuse a l’ensemble des instances qui peuvent etre concernees.Leur determination se fait a l’aide de la methode setSensitivity() de la classe Object.L’invocation de cette methode requiert deux arguments qui designent respectivementle type de message diffuse auquel l’instance devient sensible (le nom de la classe), etle nom de la methode qui doit etre declenchee lors de la reception d’un tel message(e.g. setSensitivity("WhoAreYou", "presentMySelf")). Lorsqu’un message est dif-fuse, cela provoque instantanement, sur chaque objet sensible a ce type de message(classe WhoAreYou), l’invocation de la methode qu’il a specifiee (presentMySelf). Cemecanisme reflexe convient bien aux messages que l’on considere comme des evenementset qui necessitent une reaction immediate de la part des objets qui l’interceptent. Cepen-

72

Page 73: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Le simulateur oRis

dant, si ce n’est pas le cas, les messages recus par diffusion peuvent aussi etre places dansla boıte aux lettres du destinataire et donc etre traites comme s’ils avaient ete envoyes enpoint-a-point, ce qui homogeneise le mode de reaction de l’agent destinataire. Un memeobjet peut etre sensible a plusieurs types de messages et il existe un mecanisme rappelantle suivi des liens polymorphes concernant le choix des methodes reflexes a declencher. Lasensibilite aux differents types de messages peut evoluer dans le temps afin de changer dereaction ou de devenir insensible a certains types de messages.

4.3 Le simulateur oRisChaque programme d’ordinateur est un modele, forge par l’esprit, d’un processus reel ouimaginaire. Ces processus, qui naissent de l’experience et de la pensee de l’homme, sontinnombrables et complexes dans leurs details. A tout moment, ils ne peuvent etre comprisque partiellement. Ils ne sont que rarement modelises d’une facon satisfaisante dans nosprogrammes informatiques. Bien que nos programmes soient des ensembles de symbolesciseles avec soin, des mosaıques de fonctions entrecroisees, ils ne cessent d’evoluer. Nousles modifions au fur et a mesure que notre perception du modele s’approfondit, s’etend et segeneralise, jusqu’a atteindre un equilibre metastable aux frontieres d’une autre modelisationpossible du probleme. L’ivresse joyeuse qui accompagne la programmation des ordinateursprovient des allers-retours continuels, entre l’esprit humain et l’ordinateur, des mecanismesexprimes par des programmes et de l’explosion de visions nouvelles qu’ils apportent. Si l’arttraduit nos reves, l’ordinateur les realise sous la forme de programmes ! [Abelson 85]

La simulation multi-agents impose d’executer en parallele plusieurs modeles. Il fautdonc s’assurer que le procede d’activation de ces entites autonomes n’induit pas un biaisqui risquerait d’amener le systeme dans un etat global dont la plate-forme d’executionserait responsable : il est imperatif que seuls les procedes algorithmiques decrits dans lescomportements des agents expliquent l’etat global du modele.

Le controle du procede d’ordonnancement des comportements des agents – implemen-tes en oRis sous la forme d’objets actifs – est donc un point tres important de notrerealisation. L’experience montre qu’en regle generale peu de choses sont annoncees etgaranties par les services multi-taches proposes dans les divers environnements de pro-grammation. Ce manque d’information laisse toujours planer un certain doute quant al’equite de ces procedes et aux risques de biais qu’ils pourraient induire. Nous presentonsici le procede d’ordonnancement retenu dans oRis afin que l’utilisateur sache exactementa quoi il peut s’attendre lorsqu’il decide de faire evoluer des agents en parallele.

4.3.1 Les flots d’execution

Le premier sujet a aborder lorsqu’on parle de multi-taches concerne la determinationde la nature des taches que l’on souhaite faire s’executer en parallele. Bien qu’elles soientgerees de la meme facon en interne, le langage oRis propose trois manieres d’exprimerces taches que nous designons par le terme flot d’execution.

Un objet actif est caracterise dans oRis par le fait qu’il dispose d’une methode main()representant le point d’entree du comportement de l’instance concernee. Lorsqu’une in-stance dotee d’une methode main() est creee, cette methode est immediatement prete as’executer. Quand la fin de la methode est atteinte, elle est automatiquement relancee a

73

Page 74: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Outils

son debut. C’est donc un moyen simple d’implementer le comportement autonome d’unagent. Une simulation multi-agents en oRis consiste a instancier de tels agents et a leslaisser vivre.

Un autre moyen permettant d’initier un nouveau traitement en parallele des objetsactifs, consiste a dedoubler le flot d’execution grace a la primitive start (figure 4.4). Ceprocede, qui genere plusieurs flots d’execution a partir d’un seul, sert principalement aattribuer plusieurs activites a un meme agent. Il est effectivement envisageable que le com-portement principal d’un agent (sa methode main()) genere d’autres activites annexes.Il semble raisonnable qu’un agent puisse par exemple se deplacer tout en communiquantavec d’autres.

Code d’une fonction ou d’une méthode

{/* code 1 */start

{/* code 2 */}

/* code 3 */}

code 1 primitive start

code 3

code 2

Figure 4.4: Dedoublement du flot d’execution en oRis

Les deux types d’activite precedents sont clairement destines a l’ecriture des comporte-ments des agents. La troisieme forme que nous presentons ici est plus directement destineeaux interventions de l’utilisateur mais, est toutefois applicable en de nombreuses circons-tances. Nous reutilisons le mot-clef start, mais cette fois il prend place a l’exterieur detout bloc de code. Il permet de decrire un bloc de code dont l’execution demarre justeapres son analyse par l’interpreteur. Un exemple d’utilisation d’un tel bloc de code adeja ete donne sur la figure 4.1. Il permet notamment de faire apparaıtre de nouvellesinstances ou d’initier des traitements qui s’executent en parallele de toutes les activitesde l’application. Un tel bloc start peut etre considere comme une fonction anonyme,c’est-a-dire qu’il heberge des variables locales et que le code qu’il contient ne concernepas une instance en particulier. Il est toutefois possible de le considerer comme unemethode anonyme en le faisant preceder du nom d’une instance; le code execute dansle bloc start concerne cet objet particulier comme s’il s’agissait d’une de ses methodes.Une telle possibilite, lorsqu’elle est alliee aux proprietes dynamiques du langage, permeta l’utilisateur de declencher un traitement en cours d’application en se faisant passer pourune instance particuliere; cela revient temporairement a considerer cet objet comme unavatar de l’utilisateur.

Quelle que soit la maniere utilisee, parmi les trois presentees ici, pour creer des flotsd’execution, ceux-ci sont geres de la meme facon par l’ordonnanceur. Il sont tous designespar un identifiant entier et peuvent etre suspendus, relances ou detruits. Un soin par-ticulier a ete apporte au traitement des erreurs pouvant survenir en cours d’execution.Puisqu’il s’agit par essence meme de circonstances imprevues (division par zero, acces aune instance ayant ete detruite . . . ) nous n’avons pas cherche a proposer un mecanismede rattrapage d’erreurs prevues, de type try/catch, qui n’a effectivement pas vocationa corriger les erreurs mais qui permet d’en signaler clairement l’occurrence. Dans oRis,

74

Page 75: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Le simulateur oRis

une erreur lors de l’execution d’une activite provoque la destruction de ce flot et de luiseul (ainsi que l’affichage du message d’erreur et de la pile d’execution). Cette solutionqui n’arrete que l’activite incriminee dans la generation d’une erreur, permet d’envisagerun univers qui continue a s’executer meme quand des erreurs se produisent localement (lavie continue malgre tout).

4.3.2 Les procedes d’activation

L’ordonnanceur oRis maintient un ensemble de flots d’execution. La figure 4.5 schema-tise les structures de donnees utilisees pour la gestion de ces traitements paralleles. Chaqueflot d’execution est represente par une structure de donnees qui, en plus de l’identifiantde l’activite, contient une pile de contextes et une pile de valeurs temporaires. La pilede contextes sert a materialiser les appels imbriques de fonctions et de methodes. Lesmodules executables sont representes par une sequence de micro-instructions. Celles-cietant atomiques, les commutations d’activite entre les differents flots ne peuvent avoirlieu qu’entre l’execution de deux micro-instructions. La pile de donnees temporaires estcommune a tous les contextes du flot d’execution et permet notamment d’empiler lesparametres d’un module executable avant son appel, et de recuperer le resultat empilelors de la terminaison du module appele.

Machine virtuelle oRis

Ensemble de flots d’exécution

Pile de contextes

Module exécutable (fonction, méthode ...)

Séquence de micro−instructions

Variables locales

Compteur d’instructions

Pile de valeurs temporaires

Figure 4.5: Structure de la machine virtuelle oRis

Trois modes de multi-taches

Nous savons maintenant que les differents flots d’execution peuvent etre interrompusentre deux de leurs micro-instructions. Nous abordons alors la description du facteurprovoquant l’interruption d’un flot au profit d’un autre. Cela donne lieu a trois typesde multi-taches (cooperatif, preemptif, profondement parallele) dont le choix peut etrecontrole librement par l’utilisateur dans son programme.

Une premiere possibilite consiste a placer l’ordonnanceur en mode cooperatif. Dansces conditions, le changement d’activite n’a pas lieu spontanement mais repose exclusive-ment sur des consignes explicites inscrites dans le code a executer (fonction yield(), finde main(), attente de ressource). L’ordonnanceur peut alors interrompre le traitementcourant pour en faire progresser un autre. Une activite ayant laisse les autres s’executer

75

Page 76: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Outils

reprend ses traitements lorsque toutes les autres en ont fait de meme. Ce type de multi-taches suppose que toutes les activites de l’application jouent le jeu, c’est-a-dire qu’ellesprennent regulierement le soin de passer la main aux autres. Si l’une d’elles monopolisel’activite de l’ordonnanceur, elle fige tout le reste de l’application.

Il est egalement possible de choisir un ordonnancement preemptif en precisant laperiode en millisecondes a laquelle une commutation doit avoir lieu. Dans ces conditions,l’ecriture de comportements longs se fait sans se soucier du minimum d’entrelacements quechaque activite doit assurer. Le programmeur n’a plus besoin d’inserer des commutationsexplicites (yield()) puisqu’elles sont spontanement assurees par l’ordonnanceur.

Un controle plus fin des commutations est envisageable en precisant cette fois un nom-bre de micro-instructions comme intervalle de preemption. Les notions de parallelisme etd’entremelement sont alors poussees a leur paroxysme lorsque ce nombre vaut 1, ce quijustifie le choix de l’appellation profondement parallele. L’interet de ce procede consistea proposer un parallelisme qui va bien au dela de ce que les deux precedents modes pro-posent. Bien que ces derniers proposent un decoupage du temps, ils reposent neanmoinssur des portions de code qui sont executees en sequences plus ou moins longues. Avec cenouveau mode d’ordonnancement, nous pouvons reduire a l’extreme la longueur de cessequences dans l’application, ce qui tend a rapprocher son execution d’un parallelisme reel(meme si ce n’est pas le cas). La contrepartie de cette possibilite reside dans le fait quel’ordonnanceur puisse passer plus de temps a effectuer des commutations qu’a executerle code utile de l’application. Notons que ce type de multi-taches (tout comme le modecooperatif) ne depend d’aucune horloge systeme et n’est que l’expression d’un algorithmeinterne a oRis ; il est donc de ce fait parfaitement maıtrise.

Deux modes de designation

Le dernier point a discuter a propos du procede d’activation concerne le choix du flota activer apres une commutation. L’introduction de priorites ne ferait que repousser leprobleme pour les flots de meme priorite et nous semble difficile a interpreter a proposd’entites autonomes. Il nous paraıt en effet preferable d’admettre que les differentes entitesn’exploitent pas le temps de la meme facon plutot que de dire que certaines vivent plus qued’autres5. Afin d’assurer un partage equitable du temps entre les differentes activites, nousintroduisons la notion de cycle d’execution qui apporte au systeme la propriete suivante :chaque flot d’execution progresse une fois et une seule par cycle. Si, au cours d’un cycle,de nouvelles activites apparaissent, celles-ci sont executees au cycle suivant pour garantirla terminaison des cycles. Nous proposons deux ordres d’activation au sein d’un cycle :un ordre fixe et un ordre aleatoire.

La solution la plus immediate consiste a designer les activites dans un ordre im-muable, qui introduit une relation de precedence indesirable puisque l’activite de rangn− 1 est toujours designee avant celle de rang n. Ainsi, si deux agents sont regulierementen competition pour une ressource, celui ayant son comportement au rang n − 1 prendsystematiquement la ressource au detriment de celui du rang n superieur6. Notons que

5Le lievre vit-il plus souvent que la tortue ou court-il simplement plus vite ?6Que conclurait l’immunologiste du chapitre 3 precedent si l’anticorps l’emportait toujours systema-

76

Page 77: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Le simulateur oRis

cette priorite parasite ne concerne pas les activites d’un point de vue global mais seule-ment d’un point de vue local. En effet, au niveau microscopique, la derniere activite d’uncycle precede la premiere activite du cycle suivant (le changement de cycle n’est, de cepoint de vue, qu’une date remarquable). Cette relation de priorite n’existe qu’entre lesactivites qui sont relativement proches dans l’ordre du procede de designation.

La simulation du parallelisme impose une execution sequentielle des portions de codedes differents flots, cette relation de priorite locale ne peut etre completement eliminee.Cependant, en introduisant un ordre aleatoire dans la designation, nous evitons qu’ellese reproduise de maniere systematique de cycle en cycle puisque l’avantage donne a uneactivite sur une autre lors d’un cycle est remise en cause lors d’un autre cycle. Nousconservons ainsi la notion de cycle d’execution qui nous fournit un temps logique com-mun empechant toute derive du temps au profit d’une activite tout en eliminant le biaisintroduit par les relations de precedence locales.

En plus des trois modes d’ordonnancement disponibles (cooperatif, preemptif, pro-fondement parallele), l’utilisateur peut donc choisir entre une designation a ordre fixe(fortement deconseillee) et une autre aleatoire permettant d’eliminer toute relation deprecedence locale qui pourrait conduire a un biais. Notons que le procede que nousavons utilise ne repose que sur des algorithmes et des structures de donnees dont nousavons l’entiere maıtrise et qui sont detailles dans [Harrouet 00]. Il ne depend notammentd’aucune fonctionnalite du systeme sous-jacent (mis a part l’horloge du mode preemptif).

Concernant les acces concurrents a des ressources communes, oRis propose de tresclassiques semaphores d’exclusion mutuelle. Ils permettent en particulier de choisir sil’operation de deverrouillage doit avoir lieu selon l’usuelle file d’attente ou bien selon unordre aleatoire afin d’eviter de nouvelles relations de precedence locale. Une autre solutionnous est offerte pour assurer ce type de service. Il s’agit de creer des sections critiquesde bas niveau (bloc execute semblable a start) qui interdisent toute commutation del’ordonnanceur au sein de la portion de code encadree.

Une derniere precision a propos du parallelisme concerne l’utilisation de thread systemepour encapsuler l’invocation d’appels systeme bloquants. En effet l’ordonnanceur oRis

est vu comme un processus unique du point de vue du systeme d’exploitation et estdonc susceptible d’etre suspendu dans sa globalite. Lorsqu’un traitement potentiellementbloquant doit etre effectue, il est lance dans un thread dont l’ordonnanceur oRis verifieregulierement la terminaison.

4.3.3 La dynamicite du systeme multi-agents

Il existe en apparence de nombreux moyens d’introduire du code oRis en cours d’execu-tion (composition d’une chaıne, fenetre de saisie, lecture d’un fichier, lecture d’une tramereseau . . . ), mais tous convergent vers un point d’entree unique : la fonction parse().Cette fonction transmet a l’interpreteur la chaıne passee en argument, ainsi l’integralite dulangage est disponible en ligne. En effet, le meme procede est utilise pour le chargementinitial et pour les interventions en ligne. Il est donc possible de realiser des agents qui,

tiquement sur l’antigene du fait d’un biais dans le simulateur ?

77

Page 78: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Outils

disposant d’un mecanisme d’apprentissage, pourraient faire evoluer leur comportementde maniere autonome.

Declenchement de traitements

Le premier type d’intervention dans un programme en cours d’execution consiste adeclencher de nouveaux traitements. Ceux-ci permettent notamment de creer de nouveauxagents, d’inspecter le modele, d’interagir avec les agents ou de les detruire. De telles lignesde code trouvent leur place dans un bloc anonyme start ou execute. Comme nous l’avonsvu precedemment, ces blocs de code sont pris en charge par l’ordonnanceur des qu’ils sontanalyses par l’interpreteur. Le bloc start initie un traitement qui continue a s’executer enparallele des autres activites alors que le bloc execute est execute de maniere instantaneeet ininterrompue. L’utilisateur peut declencher des traitements en se faisant passer pourun objet de l’application en precisant le nom de cet objet devant le bloc start ou execute

(MyClass.1::execute { ... }). L’objet devient alors un avatar de l’utilisateur.

Interventions sur les fonctions

L’introduction de code source nous permet, a tout moment, d’ajouter de nouvellesfonctions (celles qui n’existaient pas sont creees) et de modifier les fonctions existantes(celles qui existaient sont remplacees). La declaration d’une fonction (son prototype)peut meme remplacer sa definition; dans ce cas l’appel a la fonction est interdit jusqu’ace qu’une nouvelle definition soit introduite. Ces modifications concernent egalement lecode compile, en autorisant le choix entre plusieurs implementations fournies en C++ ouen retournant a une definition en oRis.

Interventions sur les classes

De la meme facon qu’il est possible d’intervenir dynamiquement sur les fonctions, oRispermet d’ajouter, de completer et de modifier des classes en cours d’execution. L’ajoutd’une classe peut intervenir a tout moment en la definissant lors d’un appel a la fonctionparse(). Lorsque l’interpreteur rencontre une definition de classe, il peut s’agir d’unetoute nouvelle classe, auquel cas elle est creee, ou bien d’une classe existante, auquel caselle est completee ou modifiee. Il est ainsi possible d’ajouter des attributs, des methodeset de recrire des methodes existantes. L’ajout de methodes est alors tres similaire a l’ajoutde fonctions : ce qui n’existait pas existe desormais et ce qui existait est remplace. D’unemaniere generale, les remarques concernant les multiples definitions et declarations desfonctions s’appliquent aux methodes. La situation est cependant un peu plus delicatecar les effets des nouvelles definitions se combinent avec les effets des surdefinitions. Unemodification qui concerne une methode d’une classe particuliere n’influe sur les classesderivees que si ces dernieres ne surdefinissent pas la methode en question. En revanche,lorsqu’il n’y a pas de surdefinition, la modification met a jour instantanement toute lahierarchie de classes derivees ainsi que les instances. De la meme facon, l’ajout d’unattribut est repercute sur les classes derivees et les instances.

78

Page 79: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Le simulateur oRis

Interventions sur les instances

Une operation encore plus fine consiste a specialiser dynamiquement le comportementd’une instance; la classe represente alors le comportement par defaut de l’instance. Nousreutilisons dans ce cas exactement les memes principes que pour les fonctions et les classes,a savoir : ce qui n’existe pas deja est ajoute et ce qui existe est remplace. La particularitede ces interventions vient du fait qu’elles s’appliquent a des entites deja creees. Il s’agitd’une distinction marquante par rapport aux classes anonymes de Java qui sont creees etcompilees bien avant que les instances n’existent. Nous apportons ici un moyen d’ajusterle comportement d’une instance alors qu’elle est en situation, pour lui permettre d’avoirune meilleure conduite dans le cas rencontre.

class Example // Definition de la classe Example

{

void new(void) {}

void delete(void) {}

void main(void) // Methode main() initiale

{ println(this," is an Example !"); }

};

execute // Code a executer

{

Example ex;

for(int i=0;i<3;i++) ex=new Example; // Instancier trois Example

string program=

format("int ",ex,"::i; // Ajouter un attribut a ‘ex’

void ",ex,"::show(void) // Ajouter une methode a ‘ex’

{ print(++i,\" --> \"); }

void ",ex,"::main(void) // Surdefinir le main() de ’ex’

{ show(); Example::main(); }"); // pour utiliser ce qui a ete ajoute

println(program); // Afficher la chaine composee

parse(program); // Interpreter la chaine composee

}

int Example.3::i; // Ajouter un attribut a ‘ex’

void Example.3::show(void) // Ajouter une methode a ‘ex’

{ print(++i," --> "); }

void Example.3::main(void) // Surdefinir le main() de ’ex’

{ show(); Example::main(); }

Example.3 is an Example !

Example.2 is an Example !

Example.1 is an Example !

Example.1 is an Example !

1 --> Example.3 is an Example !

Example.2 is an Example !

Example.1 is an Example !

Example.2 is an Example !

2 --> Example.3 is an Example !

Figure 4.6: Modification d’une instance

La figure 4.6 donne un exemple d’utilisation de la fonction parse() pour modifierle comportement d’une instance. La composition d’une chaıne qui concerne une des

79

Page 80: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Outils

trois instances creees permet d’exprimer l’ajout d’un attribut et d’une methode ainsique la surdefinition d’une methode existante. La distinction entre la classe et l’instancese fait naturellement par l’usage de l’operateur de resolution de portee (::). De tellesmodifications peuvent bien entendu avoir lieu a plusieurs reprises en cours d’execution.

Les fonctionnalites dynamiques exposees ici ne demandent aucune technique ou as-tuce de programmation particuliere dans le sens ou il n’y a aucune difference entre laforme du code que l’on redige hors ligne et celle du code que l’on introduit en ligne dy-namiquement. Les regles de reecriture sont les memes dans tous les cas. Cela permetnotamment d’effectuer la mise au point d’un comportement sur une instance particuliereafin de generaliser par la suite ce comportement a toute une classe en changeant simple-ment la portee du code introduit. La mise a disposition de constantes de type referencesur un objet permet de facilement agir sur une instance quelconque. En effet, si cette formelexicale n’existait pas, il faudrait imperativement memoriser une reference sur chaque in-stance afin de pouvoir s’y adresser au moment juge opportun. En oRis, l’utilisateur n’apas a se soucier de ce genre de detail; si par un moyen quelconque (inspecteur graphique,pointage dans une fenetre . . . ) nous faisons apparaıtre le nom d’un objet, nous pouvonsle reutiliser pour lui faire executer des traitements ou pour le modifier.

4.4 Les applicationsLes mondes virtuels doivent etre realises, c’est-a-dire qu’on doit s’efforcer de mettre au jource qui est virtuellement present en eux, a savoir les modeles intelligibles qui les structurentet les idees qui les animent. La “ vertu fondamentale ” des mondes virtuels est d’avoir eteconcus en vue d’une fin. C’est cette fin qu’il faut realiser, actualiser, que l’application soitindustrielle, spatiale, medicale ou artistique, ludique ou philosophique. Les images du virtueldoivent nous aider a reveler la realite du virtuel, qui est d’ordre intelligible, et d’une intelli-gibilite proportionnee a la fin poursuivie, theorique ou pratique, utilitaire ou contemplative.[Queau 93b]

4.4.1 Simulations multi-agents participatives

Le developpement du genie logiciel a conduit a la definition de modeles, de methodes etde methodologies qui sont rendus operationnels par les nombreux outils qui les mettent enœuvre. Cependant, parler d’environnement de developpement de logiciel serait par tropvague : aucun referentiel et a fortiori aucun outil ne couvre l’ensemble des besoins. Dansle domaine plus restreint du developpement de systemes multi-agents, on retrouve cettememe diversite avec des methodes [Iglesias 98], des modeles (par exemple un modele de co-ordination d’actions comme les reseaux contractuels [Smith 80]), des langages (citons parexemple MetateM [Fisher 94], ConGolog [De Giacomo 00]), des generateurs d’applicationscomme ZEUS [Nwana 99], des bibliotheques de composants comme JATLite7, des simula-teurs de systemes multi-agents comme SMAS8, des boıtes a outils qui sont generalement despaquetages de classes offrant des services fondamentaux (cycle de vie des agents, commu-

7JATLite : Java Agent Template Lite (java.stanford.edu/java agent/html)8SMAS : Simulation of Multiagent Asynchronous Systems (www.hds.utc.fr/~barthes/SMAS)

80

Page 81: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Les applications

nication, transport de messages. . . ) et des classes implementant certaines composantesd’un systeme multi-agents ([Boissier 99] decrit un ensemble de plates-formes developpeespar la communaute scientifique francophone; [Parunak 99] reference d’autres outils de cetype).

Pour Shoham, un systeme de programmation oriente agent est constitue de troiselements fondamentaux [Shoham 93].

1. Un langage formel de description des etats mentaux des agents qui sont, pourShoham, des modalites telles que les croyances ou les engagements. Ceci conduita definir une logique modale, comme le fait l’auteur dans son langage Agent-0; lesetats internes d’un agent reactif peuvent quant a eux etre decrits comme un systemea evenements discrets tel qu’un reseau de Petri [Chevaillier 99a].

2. Un langage de programmation des comportements des agents qui doit respecter lasemantique des etats mentaux; ainsi, Agent-0 definit-il une interpretation de la misea jour des etats mentaux – qui repose sur la theorie des actes de langage – et del’execution des engagements. Il serait envisageable dans ce cadre d’utiliser KQML9

et, si des contraintes d’heterogeneite ou de standardisation l’imposaient, un langagerespectant les specifications de la FIPA10. Dans le cas d’un systeme a evenementsdiscrets, il conviendrait de definir la semantique de la machine a etats (par exemple,une interpretation du reseau de Petri).

3. Un “agentifieur” qui permet de convertir un composant neutre en un agent pro-grammable; Shoham avoue avoir peu d’idees sur ce point. Reformulons cette exi-gence en disant qu’il est necessaire de disposer d’un langage permettant de ren-dre les agents operationnels, c’est-a-dire en faire des composants implementableset executables. Nous preferons considerer ce troisieme element comme un langaged’implementation.

Les deux premiers elements – qui sont intimement lies – constituent des domainesde recherche ouverts et reposent sur des choix forts quant aux types de systeme multi-agents que l’on souhaite developper. Integrer ces elements dans une plateforme a vocationgeneraliste conduit inevitablement a deux ecueils : l’instabilite de la plateforme, tant le do-maine est encore ouvert, et le diktat d’un modele necessairement pas adapte a toutes les sit-uations. Concernant le troisieme element, plusieurs choix sont envisageables; ils sont con-ditionnes par le type de l’application envisagee et par les caracteristiques technologiquesdes environnements d’execution des agents. Les deux grands types d’application dessystemes multi-agents — la resolution de problemes et la simulation — conduisent a latypologie suivante (d’apres [Nwana 96]).

. Pour la resolution de problemes :

¦ agents embarques (e.g. agents physiques (controle de processus), agents d’inter-face) : il y a de fortes contraintes d’efficacite d’execution des programmes et dedependance vis-a-vis de la technologie du systeme cible (nombre d’applicationssont ecrites en C ou en C++);

9KQML : Knowledge Query and Manipulation Language (www.cs.umbc.edu/kqml)10FIPA : Foundation for Intelligent Physical Agents (www.fipa.org)

81

Page 82: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Outils

¦ agents mobiles : il est preferable de disposer d’un langage interpretable surune large communaute de systemes d’exploitation ; l’utilisation de langages descript tels que Perl peut etre envisagee;

¦ agents rationnels : la programmation en logique avec un langage comme Prologpeut parfaitement repondre a ce type de besoin.

. Pour la simulation : il est necessaire de disposer d’un environnement permettantd’executer en parallele le comportement des differents agents et offrant une largegamme de composants pour l’interface avec les utilisateurs. Le choix se porte surdes langages s’executant sur une machine virtuelle autorisant la programmationparallele : historiquement Smalltalk’80 et, de plus en plus, Java (l’evolution de laplateforme DIMA est revelatrice de cette tendance [Guessoum 99]).

Nous avons bien conscience que cette classification, comme beaucoup d’autres, aquelque chose d’arbitraire et que tel ou tel langage peut s’appliquer a differents domaines(on peut tout faire en assembleur !) et qu’il existe plusieurs solutions a un meme probleme.Sa seule pretention est d’eclairer le lecteur sur le positionnement d’oRis en tant que plate-forme de simulation multi-agents participative. oRis a ete concu pour repondre a la foisau besoin d’un langage d’implementation de systemes multi-agents et aux exigences dela simulation participative de ces systemes. L’ensemble de l’environnement et du langageoRis represente plus de cent mille lignes de code source principalement ecrites en C++

mais aussi en Flex++ et Bison++, et en oRis lui-meme. oRis est tout a fait operationnelet stable, et est deja utilise dans de nombreux projets.

4.4.2 Champs d’application

oRis est utilise comme outil pedagogique dans certains enseignements dispenses al’Ecole Nationale d’Ingenieurs de Brest : programmation par objets concurrents, systemesmulti-agents, realite virtuelle distribuee, commande adaptative. Il est aussi utilise pard’autres equipes pedagogiques : Ecoles militaires de Saint-Cyr Coetquidan, ENSI-Bourges,ENST-Bretagne, IFSIC – Deug Universite de Rennes 1, DEA de l’Universite de Toulouse(IRIT), IUT d’informatique de Bordeaux, maıtrise de l’Universite de Caen.

oRis est la plateforme sur laquelle les travaux de recherche du Laboratoire d’Informa-tique Industrielle (LI2) sont menes, ce qui se traduit par le developpement de nombreuxpaquetages de classes. Parmi ceux-ci, citons des paquetages permettant la coordinationd’actions selon le Contract Net Protocol, la distribution des agents [Rodin 99], la commu-nication entre agents en utilisant KQML [Nedelec 00], l’utilisation des cartes cognitivesfloues [Maffre 01, Parenthoen 01], la declaration de plans d’actions collectifs en utilisantune extension executable de la logique temporelle de Allen [De Loor 00], la definition decomportements d’agents sous forme de tendances [Favier 01]. Il a aussi servi en traitementd’images [Ballet 97b], en simulation medicale [Ballet 98b] et en simulation de systemesmanufacturier [Chevaillier 99b].

D’autres equipes de recherche ont aussi utilise oRis pour leurs travaux : le CREC(Saint-Cyr Coetquidan) pour la simulation de champs de bataille, de conflits, de guerreelectronique, l’equipe SIGMa de l’Ecole Navale pour la construction dynamique de mode-les numeriques de terrain a partir de points de sonde, le GREYC (Universite de Caen)

82

Page 83: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Les applications

pour la simulation de reseaux informatiques, les equipes SMAC et GRIC de l’IRIT(Toulouse), l’UMR CNRS 6553 d’Eco-biologie (Universite de Rennes) pour des simu-lations en ethologie.

4.4.3 La plateforme AReVi

Le Laboratoire d’Informatique Industrielle developpe un Atelier de Realite Virtuelle(AReVi), boıte a outils pour creer des applications de realite virtuelle distribuee. Les troispremieres versions d’AReVi etaient construites autour de la bibliotheque graphique Open

Inventor et n’incluaient pas l’approche multi-agents. A partir de la version 4, oRis aete utilise pour le developpement d’AReVi. Le noyau d’AReVi n’est autre qu’oRis, etdonc toutes les potentialites decrites precedemment sont disponibles; il est etendu par ducode C++ offrant des fonctionnalites propres a la realite virtuelle [Duval 97, Reignier 98].Cette plateforme offre un rendu graphique completement independant de celui qui estpropose par oRis. Les objets graphiques sont charges directement a partir de fichiersau format VRML211 (il est possible de definir des animations et de gerer les niveaux dedetails). Des elements graphiques tels que des textures transparentes ou animees, dessources lumineuses, des lens flares (reflets du soleil sur une lentille) et des systemes departicules (jets d’eau) sont disponibles. AReVi introduit aussi des notions de cinematique(vitesses et accelerations lineaires et angulaires), ce qui enrichit les possibilites d’expressiondes comportements des agents dans un environnement tridimensionnel. Pour ce qui estdu domaine sonore, AReVi propose une sonorisation spatiale et des fonctionnalites desynthese et de reconnaissance vocale. Cette plateforme gere des peripheriques varies telsun gant de donnee, une manette de commande, un volant, des capteurs de localisation, unbras a retour d’effort et un casque de vision stereoscopique, qui etendent les possibilitesd’immersion des utilisateurs dans le systeme multi-agents.

Il est important de noter que les multiples outils qu’AReVi propose pour le rendumulti-sensoriel du monde virtuel sont des objets oRis tout a fait comme les autres. Cesont des instances qui interviennent dans l’application et qui peuvent y jouer un role actif.Il est donc envisageable de les adapter au sujet traite, voire meme de leur donner un com-portement evolue repondant aux besoins specifiques de l’application. Ainsi, quel que soitle sujet applicatif aborde, il est toujours possible d’envisager un moyen de personnaliserles outils de rendu afin de faciliter leur utilisation dans le contexte choisi. Nous pouvonspar exemple adapter une fenetre de rendu de telle sorte qu’elle degrade automatiquementla qualite de son affichage lorsque la frequence de rafraıchissement des images devient tropfaible. Nous pouvons egalement associer une zone geographique a une scene et donner acette derniere un comportement tendant a integrer les entites entrant dans cette zone eta ne plus soumettre a l’affichage celles qui la quittent.

Concernant la repartition des entites graphiques sur differentes machines, les fonc-tionnalites en matiere de commmunication par reseau fournies par oRis ont ete utiliseespour mettre en place une communication entre entites distantes et un mecanisme de dead-reckoning [Rodin 00]. Il s’agit, lorsqu’une entite est creee sur une machine, d’en creer des

11VRML : Virtual Reality Modeling Language (www.vrml.org)

83

Page 84: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Outils

copies ayant un comportement cinematique degrade sur les autres machines, et de met-tre a jour leurs caracteristiques geometriques et cinematiques lorsqu’une divergence tropimportante est estimee entre la situation reelle et le situation des copies.

A ce jour, AReVi a ete utilise dans le cadre du prototypage interactif d’une celluled’emboutissage [Chevaillier 00] et du developpement d’une plateforme de formation pourla securite civile [Querrec 01a] (figure 4.7 [Querrec 01b]).

Figure 4.7: Une application AReVi : plateforme de formation pour la securite civile

4.5 Conclusion

Choisir un langage, c’est choisir un mode de pensee [Tisseau 98a]. Pour s’en convain-cre, il suffit de revisiter le celebre conte des milles et une nuits : Ali Baba et les quarantevoleurs (metaphore d’Ali Baba, figure 4.8). Trois scenarios peuvent etre envisages selonque l’on considere la programmation procedurale, la programmation par objets ou laprogrammation par agents.

1. En programmation procedurale (figure 4.8a), la porte de la caverne est une donneepassive (Data Sesame) manipulee par l’agent AliBaba : c’est AliBaba qui a l’inten-tion d’ouvrir la porte, et c’est lui qui sait ouvrir la porte (procedure d’ouvertureouvreToi : je vais a la porte, je saisis la poignee, je tourne la poignee, je pousse laporte).

2. En programmation par objets (figure 4.8b), la porte de la caverne est maintenantun objet (Object Sesame) a qui a ete delegue le savoir-faire (exemple : une ported’ascenceur) : c’est toujours AliBaba qui a l’intention d’ouvrir la porte, mais c’est

84

Page 85: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Conclusion

execute

{

Object Sesame = new Data;

Agent AliBaba = new Avatar;

}

AliBaba::execute

{

ouvreToi(Sesame);

}

execute

{

Object Sesame = new Porte;

Agent AliBaba = new Avatar;

}

AliBaba::execute

{

Sesame->ouvreToi();

}

execute

{

Agent Sesame = new Porte;

Agent AliBaba = new Avatar;

}

void Porte::main(void)

{

if(view(anObject)) ouvreToi();

else fermeToi();

}

a. programmation procedurale b. programmation par objets c. programmation par agents

Figure 4.8: Metaphore d’Ali Baba et paradigmes de programmation

maintenant la porte qui sait le faire (methode ouvreToi de la classe Porte). Pourouvrir la porte, AliBaba doit lui envoyer le bon message12 (Sesame, ouvre-toi ! :Sesame->ouvreToi()). La porte s’execute en consequence selon un schema maıtre-esclave.

3. En programmation par agents (figure 4.8c), le porte de la caverne est un agent dontle but est de s’ouvrir quand elle detecte un passant (exemple : une porte d’aeroportdotee de cameras) : c’est la porte qui a l’intention et le savoir-faire (Agent Sesame).Qu’AliBaba ait ou non l’intention de passer par la porte, celle-ci peut s’ouvrir sielle le detecte; elle peut meme eventuellement negocier son ouverture. L’utilisateurAliBaba est ainsi immerge dans l’univers des agents par l’intermediaire d’un avatarqui est detectable par la porte.

Ainsi, le choix d’un langage n’est pas neutre quant a la construction d’une application.La programmation par agents telle que nous la concevons favorise, par construction,l’autonomisation des entites qui composent nos univers virtuels.

C’est pourquoi nous avons choisi de faire d’oRis un langage generique d’implemen-tation des systemes multi-agents, qui permet d’ecrire des programmes a base d’objetset d’agents en interaction, situes dans un environnement spatio-temporel, et soumisaux actions en ligne de l’utilisateur. oRis est egalement un environnement de simula-tion multi-agents participative, qui permet le controle de l’ordonnancement des agentset la modelisation interactive grace a la dynamicite du langage. oRis est stable etoperationnel13 et a deja donne lieu a de nombreuses applications dont l’atelier de realitevirtuelle AReVi.

12Ali Baba connaissait donc deja la programmation par objets ! Cette analogie entre l’envoi de messageen programmation par objets et la formule d’Ali Baba (Sesame ouvre-toi) est donnee dans [Ferber 90].

13oRis peut etre utilise librement en le telechargeant depuis la page d’accueil de Fabrice Harrouet(www.enib.fr/~harrouet/oris.html). Une documentation, des exemples, des supports de cours et lememoire de these [Harrouet 00] sont egalement disponibles depuis cette page.

85

Page 86: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Outils

86

Page 87: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Chapitre 5

Conclusion

5.1 BilanLes objets virtuels, tout comme l’espace dans lequel ils s’inscrivent, sont des acteurs, desagents. Dotes de memoire, ils disposent de fonctions de traitement de l’information et d’uneautonomie, regulee par leurs programmes. Les mondes virtuels ne cessent d’etre traversesd’une etrange vie artificielle, intermediaire. Chaque entite, chaque objet, chaque agent estassimilable a un systeme expert, possedant ses propres regles de comportement et les appli-quant ou les adaptant en reponse aux changements de l’environnement, aux modificationsdes regles et des metaregles regissant le monde virtuel. [Queau 93b]

Depuis une dizaine d’annees, nos travaux se situent dans le domaine de la realitevirtuelle, nouvelle discipline des sciences de l’ingenieur qui concerne la specification, laconception et la realisation d’univers virtuels realistes et participatifs. Sans pretendrea l’exhaustivite, qui serait d’ailleurs illusoire pour une discipline de synthese comme larealite virtuelle, nous cherchons a repondre aux questions quels concepts ?, quels modeles ?et quels outils ? pour la realite virtuelle. A ces questions, nous avons aujourd’hui repondupar un principe d’autonomie, une approche multi-agents et un environnement de simula-tion multi-agents participative.

Quels concepts ?

Notre reflexion epistemologique sur la realite virtuelle a place le concept d’autonomieau cœur de notre problematique de recherche. Notre demarche s’appuie ainsi sur unprincipe d’autonomie selon lequel l’autonomisation des modeles numeriques qui cons-tituent les univers virtuels est indispensable a la realite de ces univers.

L’autonomisation des modeles conduit a les doter de moyens sensorimoteurs, de moyensde communication et de moyens de coordination perceptions-actions. Cette autonomiepar conviction s’avere etre une autonomie par essence pour les modeles d’organismes, uneautonomie par necessite pour les modeles de mecanismes, et une autonomie par igno-rance pour les modeles de systemes complexes caracterises par une grande diversite decomposants, de structures et d’interactions.

L’utilisateur humain est represente au sein de l’univers virtuel par un avatar, modeleparmi les modeles, dont il controle les coordinations perceptions-actions. Il est en relationavec son avatar par l’intermediaire d’un langage et d’interfaces comportementales adapteesqui rendent possible la triple mediation des sens, de l’action et du langage. Ainsi, par

87

Page 88: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Conclusion

une sorte d’empathie numerique, il acquiert un sentiment de presence au sein de l’universvirtuel dont le rendu multisensoriel est celui, realiste, des images numeriques de synthese :3D, sonores, tactiles, kinesthesiques, proprioceptives, animees en temps reel, et partageessur les reseaux informatiques.

Ainsi, selon la metaphore de Pinocchio, l’homme, plus autonome car libere en partiedu controle de ses modeles, participe pleinement a ces realites virtuelles : de simplespectateur, il devient acteur et meme createur de ces mondes virtuels en evolution.

Quels modeles ?

Ce principe d’autonomie nous a conduit a modeliser les univers virtuels par dessystemes multi-agents dont les evolutions donnent lieu a des simulations auxquelles l’hom-me participe.

Nous avons mis en evidence les proprietes auto-organisatrices de ces systemes a based’entites autonomes a travers l’exemple non-trivial et original de la coagulation du sang.Nous avons ainsi montre que les biologistes disposent aujourd’hui, avec les simulationsmulti-agents participatives de la realite virtuelle, de veritables laboratoires virtuels danslesquels ils peuvent mener un nouveau type d’experimentation, a moindre cout et sansdanger : l’experimentation in virtuo. Cette experimentation in virtuo vient completerleurs moyens d’investigation classiques que sont les experimentations in vivo et in vitro,ou encore les calculs in silico.

Pour depasser le cadre des comportements reactifs, nous decrivons les comportementsemotionnels a l’aide de cartes cognitives floues. Nous utilisons ces cartes cognitives flouesa la fois pour specifier le comportement d’un agent et pour controler son mouvement.L’agent peut egalement auto-evaluer son comportement en simulant lui-meme sa carte :cette simulation dans la simulation constitue ainsi une ebauche de perception de soi,necessaire a une veritable autonomie. La mise en œuvre de ces cartes cognitives flouespermet alors de caracteriser des roles d’agents credibles dans les fictions interactives.

Quels outils ?

Pour implementer ces modeles, nous avons developpe un langage — le langage oRis —qui favorise l’autonomie par construction des entites qui composent nos univers virtuels.

Ainsi, oRis est un langage generique d’implementation des systemes multi-agents, quipermet d’ecrire des programmes a base d’objets et d’agents en interaction, situes dansun environnement spatio-temporel, et soumis aux actions en ligne de l’utilisateur. oRis

est egalement un environnement de simulation multi-agents participative, qui permet lecontrole de l’ordonnancement des agents et la modelisation interactive grace a la dyna-micite du langage.

Nous avons porte une attention particuliere a la realisation du simulateur afin des’assurer que le procede d’activation des entites autonomes n’induit pas de biais dansla simulation dont la plateforme d’execution serait seule responsable. Dans ce cadre, larobustesse aux erreurs d’execution s’est averee un point particulierement sensible, d’autantque le simulateur donne acces a l’ensemble du langage en ligne.

oRis est stable et operationnel : il a deja donne lieu a de nombreuses applications

88

Page 89: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Perspectives

dont notre atelier de realite virtuelle AReVi.

5.2 PerspectivesMicroscope, telescope : ces mots evoquent les grandes percees scientifiques vers l’infinimentpetit et vers l’infiniment grand. [...] Aujourd’hui, nous sommes confrontes a un autre in-fini : l’infiniment complexe. Mais cette fois plus d’instrument. Rien qu’un cerveau nu, uneintelligence et une logique desarmes devant l’immense complexite de la vie et de la societe.[...] Il nous faut donc un nouvel outil. [...] Cet outil, je l’appelle le macroscope (macro,grand; et skopein, observer). Le macroscope n’est pas un outil comme les autres. C’est uninstrument symbolique, fait d’un ensemble de methodes et de techniques empruntees a desdisciplines tres differentes. Evidemment, il est inutile de le chercher dans les laboratoiresou les centres de recherche. Et pourtant nombreux sont ceux qui s’en servent aujourd’huidans les domaines les plus varies. Car le macroscope peut etre considere comme le symboled’une nouvelle maniere de voir, de comprendre et d’agir. [De Rosnay 75]

Nous n’avons pas la pretention d’avoir repondu completement aux trois questions quistimulent nos travaux de recherche depuis 10 ans : quels concepts ?, quels modeles ? etquels outils ? pour la realite virtuelle. Aussi, reste-t-il de nombreuses voies de rechercheque nous envisageons d’explorer avec la meme rigueur.

Quels outils ?

La simulation multi-agents participative d’univers virtuels composes d’entites au-tonomes permet d’aborder l’etude de phenomenes rendus complexes par la diversite desmodelisations. La realite virtuelle qui exploite ainsi de nombreux modeles en ligne doitse donner des outils d’ingenierie de ces modeles.

L’environnement oRis ne constitue qu’une sorte de middleware pour la realite virtuelle,certes fiable et robuste, mais encore de trop bas niveau d’abstraction pour les utilisateurs.Nous devons donc lui associer des outils de plus haut niveau d’abstraction pour faciliterl’implementation des modeles, leur deverminage, leur integration au sein des univers exis-tants et leur partage a travers les reseaux informatiques. Ces outils se chargeront degenerer automatiquement le code oRis correspondant qui sera interprete en ligne par lesimulateur.

Quels modeles ?

Nous avons teste avec succes la plateforme oRis dans le cas de comportements reactifset emotionnels. Il nous faut maintenant aborder le cas des comportements intentionnels,sociaux et adaptatifs.

Nous aborderons la modelisation des comportements intentionnels a travers la notiond’objectif qui n’est, ni une contrainte au sens de la programmation par contraintes, niun but de la programmation en logique. Dans ces deux approches, la resolution se faitselon l’hypothese synchrone d’un temps d’execution negligeable : le contexte est considerecomme inchange au cours de la resolution. Or, dans la realite, les contraintes ou les butspeuvent changer en cours de resolution : le temps s’ecoule, le contexte evolue, et il fauten tenir compte. La notion d’objectif prendra ainsi en compte l’irreversibilite du tempsqui s’ecoule.

89

Page 90: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Conclusion

Les comportements sociaux seront etudies a travers la notion d’organisation des syste-mes multi-agents. Une organisation definit des roles et leur impose des objectifs; l’attri-bution des roles est ensuite negociee entre les agents autonomes qui decident de coopererau sein de cette organisation.

L’homme en participant aux simulations multi-agents peut, selon un principe de sub-stitution, prendre le controle d’une entite et s’identifier a celle-ci. L’entite controleepeut alors apprendre de l’operateur humain des comportements plus adaptes a son en-vironnement. C’est ce type d’apprentissage, par l’exemple ou par imitation, que nousintroduirons pour la modelisation des comportements evolutifs.

Quels concepts ?

Les univers virtuels sont ouverts, heterogenes, constitues d’entites atomiques et com-posites, mobiles et distribuees dans l’espace, et en nombre variable dans le temps. Lescomposants peuvent etre structures en organisations, imposees ou emergeantes du fait demultiples interactions entre composants. Les interactions entre entites sont elles-memesde natures differentes et operent a differentes echelles spatiales et temporelles. . .

Malheureusement, aujourd’hui, il n’existe pas de formalisme capable de rendre comptede cette complexite. Seule, la realite virtuelle permet de vivre cette complexite. Il nousfaudra approfondir les relations entre la realite virtuelle et les theories de la complexitepour faire de la realite virtuelle un outil d’investigation de la complexite, tel le macroscopede la citation placee en exergue de cette section.

L’homme s’implique dans ces mondes virtuels par l’intermediaire d’avatars. L’identitestructurelle entre un agent et un avatar autorise, a tout moment, l’utilisateur a se sub-stituer a un agent en prenant le controle de son module de decision. Et a l’inverse, il peuta tout moment rendre le controle a l’agent auquel il s’etait substitue. La qualite de lasubstitution pourra etre evaluee par un test d’autonomie in virtuo qui sera positif si unutilisateur interagissant avec une entite ne devine pas s’il s’agit d’un agent ou d’un autreutilisateur; les agents, eux, devront reagir comme s’il s’agissait d’un autre agent.

Ce principe de substitution vient completer notre principe d’autonomie, et il faudraen evaluer les consequences, tant epistemologiques qu’ethiques.

90

Page 91: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Bibliographie

[Abelson 85] Abelson H., Sussman G.J., Sussman J., Structure and interpretation ofcomputer programs (1985), traduction francaise : InterEditions, 1989

[Agarwal 95] Agarwal P., The Cell programming Language, Artificial Life 2(1):37-77,1995

[Akeley 89] Akeley K., The Silicon Graphics 4D/240 GTX super-workstation, IEEEComputer Graphics and Applications 9(4):239-246, 1989

[Ameisen 99] Ameisen J.C., La sculpture du vivant : le suicide cellulaire ou la mortcreatrice, Editions du Seuil, Paris, 1999

[Ansaldi 85] Ansaldi S., De Floriani L., Falcidieno B., Geometric modeling of solidobjects by using a face adjacency graph representation, ProceedingsSiggraph’85:131-139, 1985

[Arnaldi 89] Arnaldi B., Dumont G., Hegron G., Dynamics and unification of ani-mation control, The Visual Computer 4(5):22-31, 1989

[Arnaldi 94] Arnaldi B., Modeles physiques pour l’animation, Document d’habilita-tion a diriger des recherches, Universite de Rennes 1 (France), 1994

[Austin 62] Austin J.L., How to do things with words, Oxford University Press, Ox-ford, 1962

[Avouris 92] Avouris N.M., Gasser L. (editeurs), Distributed Artificial Intelligence :theory and praxis, Kluwer, Dordrecht, 1992

[Axelrod 76] Axelrod R., Structure of Decision, Princeton University Press, Prince-ton, 1976

[Bachelard 38] Bachelard G., La formation de l’esprit scientifique (1938), Vrin, Paris,1972

[Badler 93] Badler N.I., Phillips C.B., Webber B.L., Simulating humans : computergraphics animation and control, Oxford University Press, New York,1993

91

Page 92: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Bibliographie

[Ballet 97a] Ballet P., Rodin V., Tisseau J., A multiagent system to model an humansecondary immune response, Proceedings IEEE SMC’97:357-362, 1997

[Ballet 97b] Ballet P., Rodin V., Tisseau J., A multiagent system to detect concentricstrias, Proceedings SPIE’97 3164:659-666, 1997

[Ballet 98a] Ballet P., Pers J.O., Rodin V., Tisseau J., A multi-agent system tosimulate an apoptosis model of B-CD5 cell, Proceedings IEEE SMC’982:1-5, 1998

[Ballet 98b] Ballet P., Rodin V., Tisseau J., Interets mutuels des systemes multi-agents et de l’immunologie, Proceedings CID’98:141-153, 1998

[Ballet 00a] Ballet P., Abgrall J.F., Rodin V., Tisseau J., Simulation of thrombingeneration during plasmatic coagulation and primary hemostasis, Pro-ceedings IEEE SMC’00 1:131-136, 2000

[Ballet 00b] Ballet P., Interets mutuels des systemes multi-agents et de l’immuno-logie. Application a l’immunologie, a l’hematologie et au traitementd’images, These de Doctorat, Universite de Bretagne Occidentale, Brest(France), 2000

[Bannon 91] Bannon L.J., From human factors to human actors : the role of psy-chology and human-computer interaction studies in system-design, dans[Greenbaum 91]:25-44, 1991

[Baraquin 95] Baraquin N., Baudart A., Dugue J., Laffitte J., Ribes F., Wilfert J.,Dictionnaire de philosophie, Armand Colin, Paris, 1995

[Barr 84] Barr A.H., Global and local deformations of solid primitives, ComputerGraphics 18:21-30, 1984

[Barto 81] Barto A.G., Sutton R.S., Landmark learning : an illustration of asso-ciative search, Biological Cybernetics 42:1-8, 1981

[Bates 92] Bates J., Virtual reality, art, and entertainment, Presence 1(1):133-138,1992

[Batter 71] Batter J.J., Brooks F.P., GROPE-1: A computer display to the sense offeel, Proceedings IFIP’71:759-763, 1971

[Baumgart 75] Baumgart B., A polyhedral representation for computer vision, Procee-dings AFIPS’75:589-596, 1975

[Beer 90] Beer R.D., Intelligence as adaptive behavior : an experiment in compu-tational neuroethology, Academic Press, San Diego, 1990

[Benford 95] Benford S., Bowers J., Fahlen L.E., Greehalgh C., Mariani J., RoddenT., Networked virtual reality and cooperative work, Presence 4(4):364-386, 1995

92

Page 93: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Bibliographie

[Bentley 79] Bentley J.L., Ottmann T.A., Algorithms for reporting and counting geo-metric intersections, IEEE Transaction on Computers 28(9):643-647,1979

[Berlekamp 82] Berlekamp E.R., Conway J.H., Guy R.K., Winning ways for your math-ematical plays, Academic Press, New York, 1982

[Berthoz 97] Berthoz A., Le sens du mouvement, Editions Odile Jacob, Paris, 1997

[Bertin 78] Bertin M., Faroux J-P., Renault J., Optique geometrique, Bordas, Paris,1978

[Bezier 77] Bezier P., Essai de definition numerique des courbes et des surfacesexperimentales, These d’Etat, Universite Paris 6 (France), 1977

[Blinn 76] Blinn J.F., Newell M.E., Texture and reflection in computer generatedimages, Communications of the ACM 19(10):542-547, 1976

[Blinn 82] Blinn J.F., A generalization of algebraic surface drawing, ACM Trans-actions on Graphics 1(3):235-256, 1982

[Bliss 70] Bliss J.C., Katcher M.H., Rogers C.H., Shepard R.P., Optical-to-tactileimage conversion for the blind, IEEE Transactions on Man-MachineSystems 11(1):58-65, 1970

[Boissier 99] Boissier O., Guessoum Z., Occello M. (editeurs), Plateformes dedeveloppement de systemes multi-agents, Groupe ASA, Bulletin del’AFIA n◦39, 1999

[Bouknight 70] Bouknight W.J., A procedure for generation of three-dimensional half-toned computer graphics presentations, Communications of the ACM13(9):527-536, 1970

[Boulic 90] Boulic R., Magnenat-Thalmann N., Thalmann D., A global human walk-ing model with real-time kinematic personification, Visual Computer6(6):344-358, 1990

[Bresenham 65] Bresenham J., Algorithm for computer control of a digital plotter, IBMSystem Journal 4:25-30, 1965

[Brooks 86a] Brooks F.P., Walkthrough : a dynamic graphics system for simulatingvirtual buildings, Proceedings Interactive 3D Graphics’86:9-21, 1986

[Brooks 90] Brooks F.P., Ouh-young M., Batter J.J., Kilpatrick P.J., ProjectGROPE : haptic displays for scientific visualization, Computer Graph-ics, 24(4):177-185, 1990

[Brooks 86] Brooks R.A., A robust layered control system for a mobile robot, IEEEJournal of Robotics and Automation 2(1):14-23, 1986

93

Page 94: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Bibliographie

[Brooks 91] Brooks R.A., Intelligence without representation, Artificial Intelligence47:139-159, 1991

[Bryson 96] Bryson S., Virtual reality in scientific visualization, Communications ofthe ACM 39(5):62-71, 1996

[Burdea 93] Burdea G., Coiffet P., La realite virtuelle, Hermes, Paris, 1993

[Burtnyk 76] Burtnyk N., Wein M., Interactive skeleton techniques for enhancing mo-tion dynamics in key frame animation, Communications of the ACM19(10):564-569, 1976

[Cadoz 84] Cadoz C., Luciani A., Florens J.L., Responsive input devices and soundsynthesis by simulation of instrumental mechanisms : the Cordis system,Computer Music Journal 8(3):60-73, 1984

[Cadoz 93] Cadoz C., Luciani A., Florens J.L., CORDIS-ANIMA: a modeling andsimulation system for sound and image synthesis - the general formal-ism, Computer Music Journal 17(1):19-29, 1993

[Cadoz 94a] Cadoz C., Les realites virtuelles, Collection DOMINOS, Flammarion,Paris, 1994

[Cadoz 94b] Cadoz C., Le geste, canal de communication homme/machine : la com-munication instrumentale, Technique et Science Informatiques 13(1):31-61, 1994

[Calvert 82] Calvert T.W., Chapman J., Patla A.E., Aspects of the kinematic simu-lation of human movement, IEEE Computer Graphics and Applications2:41-50, 1982

[Capin 97] Capin T.K., Pandzic I.S., Noser H., Magnenat-Thalmann N., ThalmannD., Virtual human representation and communication in VLNET net-worked virtual environments, IEEE Computer Graphics and Applica-tions 17(2):42-53, 1997

[Capin 99] Capin T.K., Pandzic I.S., Magnenat-Thalmann N., Thalmann D.,Avatars in networked virtual environments, John Wiley, New York, 1999

[Carlsson 93] Carlsson C., Hagsand O., DIVE – A platform for multi-user virtualenvironments, Computers and Graphics 17(6):663-669, 1993

[Catmull 74] Catmull E., A subdivision algorithm for computer display of curved sur-faces, PhD Thesis, University of Utah (USA), 1974

[Celada 92] Celada F., Seiden P.E., A computer model of cellular interactions in theimmune system, Immunology Today 13(2):56-62, 1992

94

Page 95: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Bibliographie

[Cerf 74] Cerf V., Kahn R., A protocol for packet network interconnection, IEEETransactions on Communication 22:637-648, 1974

[Chadwick 89] Chadwick J.E., Haumann D.R., Parent R.E., Layered constructionfor deformable animated characters, Computer Graphics 23(3):243-252,1989

[Chevaillier 99a] Chevaillier P., Harrouet F., DeLoor P., Application des reseaux de Petria la modelisation des systemes multi-agents de controle, APII-JESA33(4):413-437, 1999

[Chevaillier 99b] Chevaillier P., Harrouet F., Reignier P., Tisseau J., oRis : un environ-nement pour la simulation multi-agents des systemes manufacturiers deproduction, Proceedings MOSIN’99:225-230, 1999

[Chevaillier 00] Chevaillier P., Harrouet F., Reignier P., Tisseau J., Virtual reality andmulti-agent systems for manufacturing system interactive prototyping,International Journal of Design and Innovation Research 2(1):90-101,2000

[Clark 76] Clark J.H., Hierarchical geometric models for visible surface algorithm,Communications of the ACM 19(10):547-554, 1976

[Cliff 93] Cliff D., Harvey I., Husbands P., Explorations in evolutionary robotics,Adaptive Behavior 2(1):73-110, 1993

[Cohen 85] Cohen M.F., Greenberg D.P., The hemi-cube : a radiosity solution forcomplex environment, Computer Graphics 19(3):26-35, 1985

[Cohen-Tannoudji 95] Cohen-Tannoudji G. (edite par), Virtualite et realite dans les sci-ences, Editions Frontieres, Paris, 1995

[Cook 81] Cook R.L., Torrance K.E., A reflectance model for computer graphics,Computer Graphics 15(3):307-316, 1981

[Cosman 81] Cosman M.A., Schumacker R.A., System strategies to optimize CIG ima-ge content, Proceedings Image II’81:463-480, 1981

[De Giacomo 00] De Giacomo G., Lesperance Y., Levesque H.J., ConGolog : a concurrentprogramming language based on situation calculus, Artificial Intelligence121(1-2):109-169, 2000

[Del Bimbo 95] Del Bimbo A., Vicario E., Specification by example of virtual agentsbehavior, IEEE Transactions on Visualization and Computer Graphics1(4):350-360, 1995

[De Loor 00] De Loor P., Chevaillier P., Generation of agent interactions from tem-poral logic specifications, Proceedings IMACS’00:, 2000

95

Page 96: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Bibliographie

[Demazeau 95] Demazeau Y., From interactions to collective behaviour in agent-basedsystems, Proceedings European Conference on Cognitive Science’95:117-132, 1995

[De Rosnay 75] De Rosnay J., Le macroscope : vers une vision globale, Editions du Seuil,Paris, 1975

[D’Espagnat 94] D’Espagnat B., Le reel voile, Fayard, Paris, 1994

[Dickerson 94] Dickerson J.A., Kosko B., Virtual worlds as fuzzy cognitive maps, Pres-ence 3(2):173-189, 1994

[Donikian 94] Donikian S., Les modeles comportementaux pour la generation du mou-vement d’objets dans une scene, Revue internationale de CFAO etd’infographie 9(6):847-871, 1994

[Drogoul 93] Drogoul A., De la simulation multi-agents a la resolution collectivede problemes. Une etude de l’emergence de structures d’organisationdans les systemes multi-agents, These de Doctorat, Universite Paris 6(France), 1993

[Duval 97] Duval T., Morvan S., Reignier P., Harrouet F., Tisseau J., AReVi : uneboıte a outils 3D pour des applications cooperatives, Revue CalculateursParalleles 9(2):239-250, 1997

[Ellis 91] Ellis S.R., Nature and origin of virtual environments : a bibliographicessay, Computing Systems in Engineering 2(4):321-347, 1991

[Endy 01] Endy D., Brent R., Modelling cellular behaviour, Nature 409(18):391-395, 2001

[Favier 01] Favier P.A., De Loor P., Tisseau J., Programming agent with purposes :application to autonomous shooting in virtual environments, LectureNotes in Computer Science 2197:40-43, 2001

[Ferber 90] Ferber J., Conception et programmation par objets, Hermes, Paris, 1990

[Ferber 95] Ferber J., Les systemes multi-agents : vers une intelligence collective,InterEditions, Paris, 1995

[Ferber 97] Ferber J., Les systemes multi-agents : un apercu general, Technique etScience Informatique 16(8):979-1012, 1997

[Fikes 71] Fikes R.E., Nilsson N., STRIPS : a new approach to the application oftheorem proving to problem solving, Artificial Intelligence 5(2):189-208,1971

[Fisher 86] Fisher S.S., MacGreevy M., Humphries J., Robinett W., Virtual envi-ronment display system, Proceedings Interactive 3D Graphics’86:77-87,1986

96

Page 97: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Bibliographie

[Fisher 94] Fisher M., A survey of Concurrent Metatem : the language and itsapplications, Lecture Notes in Artificial Intelligence 827:480-505, 1994

[Fuchs 80] Fuchs H., Kedem Z., Naylor B., On visible surface generation by a prioritree structures, Computer Graphics 14(3):124-133, 1980

[Fuchs 96] Fuchs P., Les interfaces de la realite virtuelle, AJIIMD, Presses de l’Eco-le des Mines de Paris, 1996

[Fujimoto 98] Fujimoto R.M., Time management in the High Level Architecture, Si-mulation 71(6):388-400, 1998

[Gasser 92] Gasser L., Briot J.P., Object-based concurrent programming and dis-tributed artificial intelligence, dans [Avouris 92]:81-107, 1992

[Gaussier 98] Gaussier P., Moga S., Quoy M., Banquet J.P., From perception-actionloops to imitation process : a bottom-up approach of learning by imita-tion, Applied Artificial Intelligence 12:701-727, 1998

[Georgeff 87] Georgeff M.P., Lansky A.L., Reactive reasonning and planning, Proceed-ings AAAI’87:677-682, 1987

[Gerschel 95] Gerschel A., Liaisons intermoleculaires, InterEditions/CNRS Editions,Paris, 1995

[Gibson 84] Gibson W., Neuromancer, Ace Books, New York, 1984

[Ginsberg 83] Ginsberg C.M., Maxwell D., Graphical marionette, Proceedings ACMSIGGRAPH/SIGART Workshop on Motion’83:172-179, 1983

[Girard 85] Girard M., Maciejewski A.A., Computational modeling for the computeranimation of legged figures, Computer Graphics 19(3):39-51, 1985

[Gobel 93] Gobel M., Neugebauer J., The virtual reality demonstration centre, Com-puter and Graphics 17(6):627-631, 1993

[Gouraud 71] Gouraud H., Continuous shading of curved surface, IEEE Transactionson Computers 20(6):623-629, 1971

[Gourret 89] Gourret J.P., Magnenat-Thalmann N., Thalmann D., The use of finiteelement theory for simulating object and human skin deformations andcontacts, Proceedings Eurographics’89:477-487, 1989

[Grand 98] Grand S., Cli D., Creatures : entertainment software agents with articiallife, Autonomous Agents and Multi-Agent Systems 1(1):39-57, 1998

[Granger 86] Granger G.G., Pour une epistemologie du travail scientifique, dans[Hamburger 86]:111-129, 1986

97

Page 98: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Bibliographie

[Granger 95] Granger G.G., Le probable, le possible et le virtuel, Editions Odile Jacob,Paris, 1995

[Greenbaum 91] Greenbaum J., Kyng M. (editeurs), Design at work : cooperative designof computer systems, Lawrence Erlbaum Associates, Hillsdale, 1991

[Guessoum 99] Guessoum Z., Briot J.P., From active objects to autonomous agents,IEEE Concurrency 7(3):68-76, 1999

[Guillot 00] Guillot A., Meyer J.A., From SAB94 to SAB2000 : What’s New, Ani-mat?, Proceedings From Animals to Animats’00 6:1-10, 2000

[Hamburger 86] Hamburger J. (sous la direction de), La philosophie des sciences au-jourd’hui, Academie des Sciences, Gauthier-Villars, Paris, 1986

[Hamburger 95] Hamburger J., Concepts de realite, dans “Encyclopædia Universalis ”19:594-597, Encyclopædia Universalis, Paris, 1995

[Harrouet 00] Harrouet F., oRis : s’immerger par le langage pour le prototypaged’univers virtuels a base d’entites autonomes, These de Doctorat, Uni-versite de Bretagne Occidentale, Brest (France), 2000

[Hayes-Roth 96] Hayes-Roth B., van Gent R., Story-making with improvisational puppetsand actors, Technical Report KSL-96-05, Knowledge Systems Labora-tory, Stanford University, 1996

[Hemker 65] Hemker H.C., Hemker P.W., Loeliger A., Kinetic aspects of the interac-tion of blood clotting enzymes, Thrombosis et diathesis haemorrhagica13:155-175, 1965

[Herrmann 98] Herrmann H.J., Luding S., Review article : Modeling granular media onthe computer, Continuum Mechanics and Thermodynamics 10(4):189-231, 1998

[Hertel 83] Hertel S., Mehlhorn K., Fast triangulation of simple polygons, LectureNotes in Computer Science 158:207-218, 1983

[Hewitt 73] Hewitt C., Bishop P., and Steiger R., A universal modular actor formal-ism for artificial intelligence, Proceedings IJCAI’73:235-245, 1973

[Hewitt 77] Hewitt C., Viewing control structures as patterns of message passing,Artificial Intelligence 8(3):323-364, 1977

[Hofstadter 79] Hofstadter D., Godel, Escher, Bach : an eternal golden braid (1979),traduction francaise : InterEditions, Paris, 1985

[Holloway 92] Holloway R., Fuchs H., Robinett W., Virtual-worlds research at the Uni-versity of North Carolina at Chapel Hill, Computer Graphics’92, 15:1-10,1992

98

Page 99: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Bibliographie

[Hopkins 96] Hopkins J.C., Leipold R.J., On the dangers of adjusting the parametervalues of mechanism-based mathematical models, Journal of TheoreticalBiology 183:417-427, 1996

[IEEE 93] IEEE 1278, Standard for Information Technology : protocols for Dis-tributed Interactive Simulation applications, IEEE Computer SocietyPress, 1993

[Iglesias 98] Iglesias C.A., Garijo M., Gonzalez J.C., A survey of agent-orientedmethodologies, Proceedings ATAL’98:317-330, 1998

[Isaacs 87] Isaacs P.M., Cohen M.F., Controlling dynamic simulation with kine-matic constraints, behavior functions and inverse dynamics, ComputerGraphics 21(4):215-224, 1987

[Jamin 96] Jamin C., Lydyard P.M., Le Corre R., Youinou P., Anti-CD5 extendsthe proliferative response of human CD5+B cells activated with anti-IgMand IL2, European Journal of Immunology 26:57-62, 1996

[Jones 71] Jones C.B., A new approach to the hidden line problem, Computer Jour-nal 14(3):232-237, 1971

[Jones 94] Jones K.C., Mann K.G., A model for the Tissue Factor Pathway toThrombin: 2. A Mathematical Simulation, Journal of Biological Chem-istry 269(37):23367-23373, 1994

[Kallmann 99] Kallmann M., Thalmann D., A behavioral interface to simulate agent-ob-ject interactions in real time, Proceedings Computer Animation’99:138-146, 1999

[Klassen 87] Klassen R., Modelling the effect of the atmosphere on light, ACM Trans-actions on Graphics 6(3):215-237, 1987

[Klesen 00] Klesen M., Szatkowski J., Lehmann N., The black sheep : interactiveimprovisation in a 3D virtual world, Proceedings I3’00:77-80, 2000

[Kodjabachian 98] Kodjabachian J.,Meyer J.A., Evolution and development of neural con-trollers for locomotion, gradient-following, and obstacle-avoidance in ar-tificial insects, IEEE Transactions on Neural Networks 9:796-812, 1998

[Kochanek 84] Kochanek D.H., Bartels R.H., Interpolating splines with local tension,continuity, and bias control, Computer Graphics 18(3):124-132, 1984

[Kolb 95] Kolb C., Mitchell D., Hanrahan P., A realistic camera model for com-puter graphics, Computer Graphics 29(3):317-324, 1995

[Kosko 86] Kosko B., Fuzzy Cognitive Maps, International Journal Man-MachineStudies 24:65-75, 1986

99

Page 100: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Bibliographie

[Kosko 92] Kosko B., Neural networks and fuzzy systems : a dynamical systemsapproach to machine intelligence, Prentice-Hall, Engelwood Cliffs, 1992

[Kripke 63] Kripke S., Semantic analysis of modal logic, I : normal propositionalcalculi, Zeitschrift fur mathematische Logik und Grundlagen der Math-ematik 9:67-96, 1963

[Krueger 77] Krueger M.W., Responsive environments, Proceedings NCC’77:375-385,1977

[Krueger 83] Krueger M.W., Artificial Reality, Addison-Wesley, New York, 1983

[Langton 86] Langton C.G., Studying artificial life with cellular automata, PhysicaD22:120-149, 1986

[Lavery 98] Lavery R., Simulation moleculaire, macromolecules biologiques et syste-mes complexes, Actes Entretiens de la Physique 3:1-18, 1998

[Le Moigne 77] Le Moigne J-L., La theorie du systeme general : theorie de la modelisa-tion, Presses Universitaires de France, Paris, 1977

[Lestienne 95] Lestienne F., Equilibration, dans Encyclopædia Universalis 8:597-601,Encyclopædia Universalis, Paris, 1995

[Levy 95] Levy P., Qu’est-ce que le virtuel ?, Editions La Decouverte, Paris, 1995

[Levy-Leblond 96] Levy-Leblond J-M., Aux contraires : l’exercice de la pensee et la pra-tique de la science, Gallimard, Paris, 1996

[Lienhardt 89] Lienhardt P., Subdivisions of surfaces and generalized maps, ProceedingsEurographics’89:439-452, 1989

[Luciani 85] Luciani A., Un outil informatique de creation d’images animees :modeles d’objets, langage, controle gestuel en temps reel. Le systemeANIMA, These de Doctorat, INPG Grenoble (France), 1985

[Luciani 00] Luciani A., From granular avalanches to fluid turbulences through ooz-ing pastes : a mesoscopic physically-based particle model, ProceedingsGraphicon’00 10:282-289, 2000

[Maes 95] Maes P., Artificial life meets entertainment : interacting with lifelikeautonomous agents, Communications of the ACM 38(11):108-114, 1995

[Maffre 01] Maffre E., Tisseau J., Parenthoen M., Virtual agents’ self-perception instorytelling, Lecture Notes in Computer Science 2197:155-158, 2001

[Magnenat-Thalmann 88] Magnenat-Thalmann N., Laperriere R., Thalmann D., Joint-Dependent Local Deformations for Hand Animation and Object Grasp-ing, Proceedings Graphics Interface’88:26-33, 1988

100

Page 101: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Bibliographie

[Magnenat-Thalmann 91] Magnenat-Thalmann N., Thalmann D., Complex Models forAnimating Synthetic Actors, IEEE Computer Graphics and Applications11(5):32-44, 1991

[Mendes 93] Mendes P., GEPASI: a software package for modelling the dynamics,steady states and control of biochemical and other systems, ComputerApplications in the Biosciences 9(5):563-571, 1993

[Meyer 91] Meyer J.A., Guillot A., Simulation of adaptive behavior in animats :review and prospect, Proceedings From Animals to Animats’91 1:2-14,1991

[Meyer 94] Meyer J.A., Guillot A., From SAB90 to SAB94 : four years of animatresearch, Proceedings From Animals to Animats’94 3:2-11, 1994

[Miller 95] Miller D.C., Thorpe J.A., SIMNET : the advent of simulator networking,Proceedings of the IEEE 83(8):1114-1123, 1995

[Minsky 00] Minsky M., The emotion machine : from pain to suffering, ProceedingsIUI’00:187-193, 2000

[Moore 88] Moore M., Wilhelms J., Collision detection and response for computeranimation, Computer Graphics 22(4):289-298, 1988

[Morin 77] Morin E., La methode, Tome 1 : la nature de la nature, Editions duSeuil, Paris, 1977

[Morin 86] Morin E., La methode, Tome 3 : la connaissance de la connaissance,Editions du Seuil, Paris, 1986

[Morton-Firth 98] Morton-Firth C.J., Bray D., Predicting temporal fluctuations in anintracellular signalling pathway, Journal of Theoretical Biology 192:117-128, 1998

[Mounts 97] Mounts W.M., Liebman M.N., Qualitative modeling of normal blood co-agulation and its pathological states using stochastic activity networks,International Journal of Biological Macromolecules 20:265-281, 1997

[Nedelec 00] Nedelec A., Reignier P., Rodin V., Collaborative prototyping in dis-tributed virtual reality using an agent communication language, Procee-dings IEEE SMC’00 2:1007-1012, 2000

[Noma 00] Noma T., Zhao L., Badler N., Design of a Virtual Human Presenter,Journal of Computer Graphics and Applications 20(4):79-85, 2000

[Noel 98] Noel D., Virtuel possible, actuel probable (Combien sont les mo(n)des ?),Proceedings GTRV’98:114-120, 1998

101

Page 102: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Bibliographie

[Noser 95] Noser H., Thalmann D., Synthetic vision and audition for digital actors,Proceedings Eurographics’95:325-336, 1995.

[Nwana 96] Nwana H.S., Software agents : an overview, Knowledge EngineeringReview 11(3):205-244, 1996

[Nwana 99] Nwana H.S., Ndumu D.T., Lee L.C., Collis J.C., ZEUS : a toolkit forbuilding distributed multiagent systems, Applied Artificial Intelligence13(1-2):129-185, 1999

[Omnes 95] Omnes R., L’objet quantique et la realite, dans [Cohen-Tannoudji 95]:139–168, 1995

[Parenthoen 01] Parenthoen M., Tisseau J., Reignier P., Dory F., Agent’s perceptionand Charactors in virtual worlds : put Fuzzy Cognitive Maps to work,Proceedings VRIC’01:11-18, 2001

[Parunak 99] Parunak H.V.D., Industrial and practical applications of DAI, dans[Weiss 99]:377-421, 1999

[Perlin 95] Perlin K., Goldberg A., Improv : a system for scripting interactive ac-tors in virtual worlds, Computer Graphics 29(3):1-11, 1995

[Perrin 01] Perrin J. (sous la direction de), Conception entre science et art : regardsmultiples sur la conception, Presses Polytechniques et Universitaires Ro-mandes, Lausanne, 2001

[Phong 75] Phong B.T., Illumination for computer generated pictures, Communica-tions of the ACM 18(8):311-317, 1975

[Pitteway 80] Pitteway M., Watkinson D., Bresenham’s algorithm with grey scale,Communications of the ACM 23(11):625-626, 1980

[Platt 81] Platt S., Badler N., Animating facial expressions, Computer Graphics15(3):245-252, 1981

[Pope 87] Pope A.R., The SIMNET Network and Protocols, Report 6369, BBNSystems and Technologies, 1987

[Queau 93a] Queau Ph., Televirtuality: the merging of telecommunications and vir-tual reality, Computers and Graphics 17(6):691-693, 1993

[Queau 93b] Queau Ph., Le virtuel, vertus et vertiges, Collection Milieux, Champvallon, Seyssel, 1993

[Queau 95] Queau Ph., Le virtuel : un etat du reel, dans [Cohen-Tannoudji 95]:61-93, 1995

102

Page 103: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Bibliographie

[Querrec 01a] Querrec R., Reignier P., Chevaillier P., Humans and autonomous agentsinteractions in a virtual environment for fire fighting training, Procee-dings VRIC’01:57-64, 2001

[Querrec 01b] Querrec R., Chevaillier P., Virtual storytelling for training : an appli-cation to fire fighting in industrial environment, Lecture Notes in Com-puter Science 2197:201-204, 2001

[Raab 79] Raab F.H., Blood E.B., Steiner T.O., Jones R.J., Magnetic positionand orientation tracking system, IEEE Transaction on Aerospace andElectronic Systems 15(5):709-718, 1979

[Reeves 83] Reeves W.T., Particle systems : a technic for modelling a class of fuzzyobjects, Computer Graphics 17(3):359-376, 1983

[Renault 90] Renault O., Magnenat-Thalmann N., Thalmann D., A vision-based ap-proach to behavioural animation, Journal of Visualization and ComputerAnimation 1(1):18-21, 1990

[Requicha 80] Requicha A.A.G., Representations for rigid solids: theory, methods andsystems, ACM Computing Surveys 12(4):437-464, 1980

[Reignier 98] Reignier P., Harrouet F., Morvan S., Tisseau J., Duval T., AReVi : avirtual reality multiagent platform, Lecture Notes in Artificial Intelli-gence 1434:229-240, 1998

[Reynolds 87] Reynolds C.W., Flocks, Herds, and Schools: A Distributed BehavioralModel, Computer Graphics 21(4):25-34, 1987

[Rickel 99] Rickel J., Johnson W.L., Animated agents for procedural training in vir-tual reality : perception, cognition, and motor control, Applied ArtificialIntelligence 13:343-382, 1999

[Rodin 99] Rodin V., Nedelec A., oRis : an agent communication language fordistributed virtual environment, Proceedings IEEE ROMAN’99:41-46,1999

[Rodin 00] Rodin V., Nedelec A., A multiagent architecture for distributed virtualenvironments, Proceedings IEEE SMC’00 2:955-960, 2000

[Rosenblum 91] Rosenblum R.E., Carlson W.E., Tripp E., Simulating the structure anddynamics of human hair : modelling, rendering and animation, Journalof Visualization and Computer Animation 2(4):141-148, 1991

[Rumbaugh 99] Rumbaugh J., Jacobson I., Booch G., The Unified Modelling languageReference Manual, Addison-Wesley, New-York, 1999

[Samet 84] Samet H., The quadtree and related hierarchical data structures, ACMComputing Surveys 6(2):187-260, 1984

103

Page 104: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Bibliographie

[Schaff 97] Schaff J., Fink C., Slepchenko B., Carson J., Loew L., A general com-putational framework for modeling cellular structure and function, Bio-physical Journal 73:1135-1146, 1997

[Schuler 93] Schuler D., Namioka A. (editeurs), Participatory Design : Principlesand Practices, Lawrence Erlbaum Associates, Hillsdale, 1993

[Schultz 96] Schultz C., Grefenstette J.J., Adams W.L., RoboShepherd : learning acomplex behavior, Proceedings RoboLearn’96:105-113, 1996

[Schumacker 69] Schumacker R., Brand B., Gilliland M., Sharp W., Study for apply-ing computer-generated images to visual simulation, Technical ReportAFHRL-TR-69-14, U.S. Air Force Human Resources Lab., 1969

[Sederberg 86] Sederberg T.W., Parry S.R., Free-form deformation of solid geometricmodels, Computer Graphics 20:151-160, 1986

[Sheng 92] Sheng X., Hirsch B.E., Triangulation of trimmed surfaces in parametricspace, Computer Aided Design 24(8):437-444, 1992

[Sheridan 87] Sheridan T.B., Teleoperation, telepresence, and telerobotics : researchneeds, Proceedings Human Factors in Automated and Robotic SpaceSystems’87:279-291, 1987

[Shoham 93] Shoham Y., Agent-oriented programming, Artificial Intelligence 60(1):51-92, 1993

[Sillion 89] Sillion F., Puech C., A general two-pass method integrating specular anddiffuse reflection, Computer Graphics 23(3):335-344, 1989

[Sims 94] Sims K., Evolving 3D morphology and behavior by competition, ArtificialLife 4:28-39, 1994

[Singh 94] Singh G., Serra L., Ping W., Hern N., BrickNet: a software toolkit fornetwork-based virtual worlds, Presence 3(1):19-34, 1994

[Smith 80] Smith R.G., The Contract Net protocol : high level communication andcontrol in a distributed problem solver, IEEE Transactions on Computers29(12):1104-1113, 1980

[Smith 89] Smith T.J., Smith K.U., The human factors of workstation telepres-ence, Proceedings Space Operations Automation and Robotics’89:235-250, 1989

[Smith 97] Smith D.J., Forrest S., Ackley D.H., Perelson A.S., Using lazy evaluationto simulate realistic-size repertories in models of the immune system,Bulletin of Mathematical Biology 60:647-658, 1997

104

Page 105: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Bibliographie

[Sorensen 99] Sorensen E.N., Burgreen G.W., Wagner W.R., Antaki J.F., Computa-tional simulation of platelet deposition and activation: I. Model develop-ment and properties, Annals of Biomedical Engineering 27(4):436-448,1999

[Sowa 91] Sowa J.F., Principles of semantic network : exploration in the repre-sentation of knowledge, Morgan Kaufmann Publisher Inc., San Mateo,1991

[Steketee 85] Steketee S.N., Badler N.I., Parametric keyframe interpolation incorpo-rating kinetic adjustment and phrasing, Computer Graphics 19(3):255-262, 1985

[Stewart 89] Stewart J., Varela F.J., Exploring the connectivity of the immune net-work, Immunology Review 110:37-61, 1989

[Sutherland 63] Sutherland I.E., Sketchpad, a man-machine graphical communicationsystem, Proceedings AFIPS’63:329-346, 1963

[Sutherland 68] Sutherland I.E., A head-mounted three-dimensional display, ProceedingsAFIPS’68, 33(1):757-764, 1968

[Sutherland 74] Sutherland I.E., Sproull R., Schumaker R., A characterization of tenhidden-surface algorithms, Computing Surveys 6(1):1-55, 1974

[Tachi 89] Tachi S., Arai H., Maeda T., Robotic tele-existence, Proceedings NASASpace Telerobotics’89 3:171-180, 1989

[Terzopoulos 87] Terzopoulos D., Platt J., Barr A., Fleischer K., Elastically deformablemodels, Computer Graphics 21(4):205-214, 1987

[Terzopoulos 88] Terzopoulos D., Fleischer K., Modeling inelastic deformation: viscoelas-ticity, plasticity, fracture, Computer Graphics 22(4):269-278, 1988

[Terzopoulos 94] Terzopoulos D., Tu X., Grzeszczuk R., Artificial fishes: autonomouslocomotion, perception, behavior, and learning in a simulated physicalworld, Artificial Life 1(4):327-351, 1994

[Thalmann 96] Thalmann D., A new generation of synthetic actors : the interactiveperceptive actors, Proceedings Pacific Graphics’96:200-219, 1996

[Thalmann 99] Thalmann D., Noser H., Towards autonomous, perceptive and intelligentvirtual actors, Lecture Notes in Artificial Intelligence 1600:457-472, 1999

[Thomas 86] Thomas S.N., Dispersive refraction in ray tracing, The Visual Computer2(1):3-8, 1986

[Tisseau 98a] Tisseau J., Chevaillier P., Harrouet F., Nedelec A., Des procedures auxagents : application en oRis, Rapport interne du LI2, ENIB, 1998

105

Page 106: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Bibliographie

[Tisseau 98b] Tisseau J., Reignier P., Harrouet F., Exploitation de modeles et RealiteVirtuelle, Actes des 6emes journees du groupe de travail Animation etSimulation 6:13-22, 1998

[Tolman 48] Tolman E.C., Cognitive maps in rats and men, Psychological Review42(55):189-208, 1948

[Tomita 99] Tomita M., Hashimoto K., Takahashi K., Shimizu T.S., Matsuzaki Y.,Miyoshi F., Saito K., Tanida S., Yugi K., Venter J.C., Hutchison C.A.,E-CELL: software environment for whole-cell simulation, Bioinformatics15:72-84, 1999

[Turing 50] Turing A., Computing machinery and intelligence, Mind 59:433-460,1950

[Vacherand-Revel 01] Vacherand-Revel J., Tarpin-Bernard F., David B., Des modeles del’interaction a la conception participative des logiciels interactifs, dans[Perrin 01]:239-256, 2001

[Vaughan 00] Vaughan R., Sumpter N., Henderson J., Frost A., Cameron S., Experi-ments in automatic flock control, Journal of Robotics and AutonomousSystems 31:109-117, 2000

[Vertut 85] Vertut J., Coiffet P., Les robots, Tome 3 : teleoperation, Hermes, Paris,1985

[Von Neumann 66] Von Neumann J., Theory of self-reproducing automata, University OfIllinois Press, Chicago, 1966

[Weil 86] Weil J., The synthesis of cloth objects, Computer Graphics 20(4):49-54,1986

[Weiss 99] Weiss G. (editeur), Multiagent systems : a modern approach to dis-tributed artificial intelligence, MIT Press, Cambridge, 1999

[Wenzel 88] Wenzel E.M., Wightman F.L., Foster S.H., Development of a three di-mensional auditory display system, Proceedings CHI’88:557-564, 1988

[Whitted 80] Whitted T., An improved illumination model for shaded display, Com-munications of the ACM 23(6):343-349, 1980

[Williams 78] Williams L., Casting curved shadows on curved surfaces, ComputerGraphics 12(3):270-274, 1978

[Wilson 85] Wilson S.W., Knowledge growth in an artificial animal, ProceedingsGenetic Algorithms and their Applications’85:16-23, 1985

[Wolberg 90] Wolberg G., Digital image warping, IEEE Computer Society Press, 1990

106

Page 107: R´ealit´e Virtuelle — autonomie in virtuotisseau/doc/hdr/hdrJT.pdfIntroduction expression absurde et inepte, comme le souligne la citation plac´ee en exergue de cette in-troduction

Bibliographie

[Wolfram 83] Wolfram S., Statistical mechanics of cellular automata, Review of Mod-ern Physics 55(3):601-644, 1983

[Wooldridge 95] Wooldridge M., Jennings N.R., Intelligent agents : theory and practice,The Knowledge Engineering Review 10(2):115-152, 1995

[Wooldridge 01] Wooldridge M., Ciancarini P., Agent-oriented software engineering : thestate of the art, a paraıtre dans Handbook of Software Engineering andKnowledge Engineering, ISBN:981-02-4514-9, World Scientific Publish-ing Co., River Edge, 2001

[Zeltzer 82] Zeltzer D., Motor control techniques for figure animation, IEEE Com-puter Graphics and Applications 2(9):53-59, 1982

[Zelter 92] Zelter D., Autonomy, interaction and presence, Presence 1(1):127-132,1992

[Zimmerman 87] Zimmerman T., Lanier J., Blanchard C., Bryson S., A hand gestureinterface device, Proceedings CHI’87:189-192, 1987

[Zinkiewicz 71] Zinkiewicz O.C., The finite element method in engineering science, McGraw Hill, New York, 1971

107