l Université de Bretagne Occidentale



Documents pareils
Environnement logiciel open source pour la création d œuvres artistiques interactives

BABEL LEXIS : UN SYSTÈME ÉVOLUTIF PERMETTANT LA CRÉATION, LE STOCKAGE ET LA CONSULTATION D OBJETS HYPERMÉDIAS

La visio-conférence holographique : Pourquoi? Comment?

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Immersion - Vision 3D dans la RV.

Programme scientifique Majeure INTELLIGENCE NUMERIQUE. Mentions Image et Réalité Virtuelle Intelligence Artificielle et Robotique

L apprentissage automatique

Évaluation et implémentation des langages

Garantir une meilleure prestation de services et une expérience utilisateur optimale

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

AXES DE RECHERCHE - DOMAINE D'INTERET MAJEUR LOGICIELS ET SYSTEMES COMPLEXES

Cours n 12. Technologies WAN 2nd partie

PROGRAMME DE CRÉATION ET INNOVATION TECHNOLOGIQUES EN CLASSE DE SECONDE GÉNÉRALE ET TECHNOLOGIQUE Enseignement d exploration

Démêler la complexité

Bien architecturer une application REST

Les apports de l informatique. Aux autres disciplines

Groupe Eyrolles, 2004 ISBN :

1 OpenMASK : une plate-forme logicielle Open Source pour la réalité virtuelle Noyau-unemachinevirtuelle... 4

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

Programmation de services en téléphonie sur IP

Environnement Architecture de controle. Décisions

LE SAN ET LE NAS : LE RESEAU AU SERVICE DES DONNEES

Architecture d'entreprise : Guide Pratique de l'architecture Logique

La plate-forme DIMA. Master 1 IMA COLI23 - Université de La Rochelle

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Qu'est-ce que le BPM?

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

4.2 Unités d enseignement du M1

UNIVERSITE D EVRY VAL D ESSONNE. Mémoire pour l obtention du titre de Docteur de l Université d Evry Val d Essonne Spécialité: Robotique

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Résumé CONCEPTEUR, INTEGRATEUR, OPERATEUR DE SYSTEMES CRITIQUES

(1,1) -1- CPLMEx_8pE_vF.indd 28/02/07, 23:26:46. CATIA PLM Express La voie rapide vers le PLM

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

RETRANSCRIPTION CONFÉRENCE

Le génie logiciel. maintenance de logiciels.

Master Informatique Aix-Marseille Université

FÊTE DE LA SCIENCE 2005 (Village des Sciences)

COR-E : un modèle pour la simulation d agents affectifs fondé sur la théorie COR

Business Intelligence

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Analyse des bruits de clavier d ordinateur

Services OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

La gestion des données de référence ou comment exploiter toutes vos informations

S8 - INFORMATIQUE COMMERCIALE

Extraction d informations stratégiques par Analyse en Composantes Principales

Interface Homme-Machine 1

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION

Solution. collaborative. de vos relations clients.

Le cinquième chapitre

IBM Tivoli Monitoring, version 6.1

DOSSIER SOLUTION CA ERwin Modeling. Comment gérer la complexité des données et améliorer l agilité métier?

Modèles de conception pour la collaboration distante en environnements virtuels distribués : de l architecture aux métaphores

Stratégies gagnantes pour la fabrication industrielle : le cloud computing vu par les dirigeants Dossier à l attention des dirigeants

BUSINESS INTELLIGENCE

Novembre Regard sur service desk

Efficace et ciblée : La surveillance des signaux de télévision numérique (2)

L OUTIL NUMERIQUE CARACTERISTIQUES ET FONCTIONNALITES

Bosch DCN Next Generation Applications

Inspection Pédagogique Régionale de Technologie Académie de Reims juin /8

Ministère de la Culture et de la Communication

LTE dans les transports: Au service de nouveaux services

Rapport d activité. Mathieu Souchaud Juin 2007

Conception, architecture et urbanisation des systèmes d information

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

La rencontre des mondes virtuels et du web au service de puissantes applications accessibles à tous

Les ressources numériques

Groupe Eyrolles, 2006, ISBN : X

LA PNL. Programmation Neuro Linguistique

M1if22 - Logiciels éducatifs Conception & rôle de l enseignant

Lutin Laboratoire des Usages en Technologies

Pentaho Business Analytics Intégrer > Explorer > Prévoir

creo elements/pro creo elements/direct creo elements/view

Cisco Certified Network Associate

Associations Dossiers pratiques

La Solution de Sécurité Easy Series La sécurité simplifiée

Conception des systèmes répartis

Orange Business Services. Direction de la sécurité. De l utilisation de la supervision de sécurité en Cyber-Defense? JSSI 2011 Stéphane Sciacco

Contributions à l expérimentation sur les systèmes distribués de grande taille

SECTION 5 BANQUE DE PROJETS

Génie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique

Intrunet SI120/SI220 Pour une sécurité sur mesure

Le réseau au service de la Gestion Technique des Bâtiments. Présentation d'un service de vidéosurveillance

Concevoir et déployer un data warehouse

ANNEXE - INNOVATIONS. processus, nom masculin

Dix bonnes raisons d essayer Office Professionnel Plus 2010

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

Programmation d'agents intelligents Vers une refonte des fils de raisonnement. Stage de fin d'études Master IAD 2006

NS1000 PANASONIC SERVEUR SIP TOUJOURS AU-DELÀ DE VOS ATTENTES DE COMMUNICATIONS UNIFIÉES

Plates-formes de téléformation et modèles pédagogiques

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Comment gérer toutes mes tâches logicielles d automatisation dans un seul environnement?

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

IBM Business Process Manager

Exemple d utilisation des outils MicroSave-Africa au Brésil

DéSIT Démarche d ingénierie pour les Systèmes d Information Transport ambiants, sécurisés et personnalisables

Prise en compte des ressources dans les composants logiciels parallèles

Transcription:

THÈSE présentée devant l Université de Bretagne Occidentale pour obtenir le grade de : DOCTEUR DE L UNIVERSITÉ DE BRETAGNE OCCIDENTALE Mention INFORMATIQUE par Valéry RAULET Équipe d accueil 2215 (UBO, ENIB) Laboratoire d Ingénierie Informatique (LI2/ENIB) Titre de la thèse : Prototypage interactif et collaboratif. Vers une architecture de communication pour une interactivité coopérante dynamique dans les environnements virtuels distribués. Soutenue le 18 juin 2003 devant la commission d examen : M. : Marcel LE FLOCH Président MM. : François BOURDON Rapporteurs Jean-Pierre JESSEL MM. : Gilles BUREL Examinateurs Alexis NÉDÉLEC Jacques TISSEAU M. : Vincent RODIN Membre invité

Prototypage interactif et collaboratif. Vers une architecture de communication pour une interactivité coopérante dynamique dans les environnements virtuels distribués. Mémoire de thèse VALÉRY RAULET EA2215 (UBO, ENIB) Juin 2003

Mémoire de thèse Équipe d Accueil 2215 Valéry RAULET e-mail : raulet@enib.fr url : http://www.enib.fr/ raulet/ tel : +33 (0)2 98 05 66 75 fax : +33 (0)2 98 05 66 29 École Nationale d Ingénieurs de Brest Laboratoire d Ingénierie Informatique Technopôle Brest-Iroise Site de la Pointe du Diable Parvis Blaise PASCAL 29280 Plouzané, Finistère Adresse postale : C.S. 73862, 29238 Brest CEDEX 3, France ii

Remerciements Je tiens, par l intermédiaire de cette thèse, à remercier tous ceux qui ont, de près ou de loin, participé à la réalisation de cette thèse. Je remercie tout d abord Jacques TISSEAU, professeur à l École Nationale d Ingénieurs de Brest et responsable du Laboratoire d Ingénierie Informatique, pour m avoir accepté au sein de son équipe de recherche. Je remercie également Alexis NÉDÉLEC et Vincent RODIN pour m avoir guidé et encadré pendant la réalisation de cette thèse. Je tiens également à remercier Monsieur François BOURDON, responsable de l équipe de recherche MAD (Modèles, Agents et Décision) du laboratoire GREYC de l Université de Caen et Monsieur Jean-Pierre JESSEL de l Équipe Synthèse d Images de l Institut de Recherche en Informatique de Toulouse (IRIT), qui ont accepté d être les rapporteurs de cette thèse. Ces remerciements vont également à Messieurs Marcel LE FLOCH et Gilles BUREL qui ont bien voulu participer à mon jury de thèse. Je désire également remercier toute l équipe du Laboratoire d Ingénierie Informatique pour m avoir soutenu et conseillé tout au long de ces années de recherche, et tout particulièrement Pascal BALLET, Fabrice HARROUET, Elyes LAMINE et Ronan QUERREC qui ont croisé mon chemin dans ce laboratoire et dont je garderai un souvenir inoubliable. Enfin, je remercie ma famille et mes amis qui m ont supporté pendant tant d années. Je remercie plus particulièrement Mademoiselle Blandine LE CARLUER pour m avoir suivi dans cette dure épreuve et qui continuera, je l espère, à m apporter soutien et réconfort dans les moments difficiles. iii

Remerciements iv

Table des Matières Remerciements Table des Matières Liste des Figures iii v xi Introduction 1 Partie I Le contexte 5 Introduction 7 1 La Réalité Virtuelle 9 1.1 Introduction.................................. 9 1.2 Définition................................... 10 1.2.1 Tromper l utilisateur......................... 10 1.2.2 Échange naturel entre l utilisateur et l ordinateur.......... 11 1.2.3 Présence............................... 11 1.2.4 Autonomie.............................. 12 1.3 Historique................................... 13 1.4 Les outils................................... 14 1.4.1 La partie matérielle.......................... 14 1.4.2 La partie logicielle.......................... 17 1.5 Les applications................................ 18 1.5.1 La simulation militaire........................ 19 1.5.2 Les jeux................................ 19 1.5.3 La formation............................. 19 1.5.4 Le prototypage............................ 20 1.6 Conclusion.................................. 20 v

Table des Matières 2 Les Systèmes Multi-Agents 21 2.1 Introduction.................................. 21 2.2 Les systèmes multi-agents.......................... 22 2.2.1 Historique............................... 22 2.2.2 Les objectifs............................. 22 2.2.3 Les fonctionnalités des SMA..................... 23 2.3 Agent intelligent............................... 26 2.3.1 Agents purement réactifs....................... 27 2.3.2 Agents cognitifs........................... 28 2.4 Les domaines d application.......................... 28 2.4.1 La résolution de problèmes...................... 28 2.4.2 La simulation multi-agents...................... 29 2.5 Conclusion.................................. 29 Conclusion 31 Partie II État de l art l architecture de communication 33 Introduction 35 1 Les réseaux : support de la communication 37 1.1 Introduction.................................. 37 1.2 Les données échangées dans un environnement virtuel........... 38 1.3 Le réseau physique et logique......................... 40 1.3.1 La bande passante.......................... 41 1.3.2 La latence............................... 41 1.3.3 La fiabilité.............................. 42 1.3.4 La topologie du réseau physique................... 43 1.4 Les protocoles de communication...................... 43 1.4.1 Les protocoles de l Internet..................... 45 1.4.2 La qualité de service......................... 47 1.4.3 La diffusion.............................. 50 1.4.4 La diffusion restreinte........................ 50 1.4.5 La diffusion restreinte fiable..................... 51 1.4.6 Les protocoles spécialisés...................... 52 1.5 Conclusion.................................. 62 2 Les architectures de communication 65 2.1 Introduction.................................. 65 2.2 La communication par messages....................... 66 2.2.1 Message Passing Interface (MPI).................. 67 2.2.2 Parallel Virtual Machine (PVM)................... 69 2.3 Communication par mémoire partagée.................... 70 2.4 Les espaces partagés............................. 71 vi

Table des Matières 2.4.1 Linda................................. 72 2.4.2 JavaSpaces.............................. 72 2.4.3 La plate-forme EQUIP........................ 73 2.4.4 Les services de CORBA....................... 73 2.4.5 Conclusion.............................. 75 2.5 Le bus logiciel................................. 76 2.5.1 Remote Procedure Call (RPC).................... 76 2.5.2 CORBA................................ 78 2.5.3 CORBA temps réel.......................... 84 2.6 Les critères de choix............................. 85 Conclusion 87 Partie III État de l art Les environnements virtuels distribués 89 Introduction 91 1 Les architectures pour la simulation distribuée 95 1.1 Introduction.................................. 95 1.2 Historique................................... 95 1.3 Distributed Interactive Simulation (DIS)................... 96 1.3.1 L architecture............................. 96 1.3.2 Protocol Data Unit (PDU)...................... 99 1.3.3 La technologie et ses limites..................... 101 1.3.4 Conclusion.............................. 103 1.4 High Level Architecture (HLA)....................... 103 1.4.1 L architecture............................. 105 1.4.2 Les services du RTI.......................... 106 1.4.3 Gestion de la fédération....................... 107 1.4.4 Gestion de la déclaration : publication/souscription......... 108 1.4.5 Gestion des objets.......................... 109 1.4.6 Comparaison entre HLA et DIS................... 110 1.5 Comparaison entre HLA et CORBA..................... 112 1.6 Conclusion.................................. 114 2 Les plates-formes de réalité virtuelle distribuée 117 2.1 Introduction.................................. 117 2.2 Les techniques de la réalité virtuelle distribuée................ 118 2.2.1 Le dead reckoning.......................... 119 2.2.2 Le filtrage............................... 125 2.2.3 Consistance de la base de données.................. 130 2.2.4 Gestion du temps........................... 131 2.2.5 Répartition de la charge....................... 134 2.2.6 Discussion.............................. 137 vii

Table des Matières 2.3 Taxonomie des environnements virtuels collaboratifs............ 138 2.3.1 Classification suivant des critères de fidélité............. 139 2.3.2 Classification technique....................... 140 2.3.3 Les plates-formes existantes..................... 142 2.4 Conclusion.................................. 149 Conclusion 151 Partie IV Le prototypage interactif et collaboratif 153 Introduction 155 1 Le prototypage interactif et collaboratif 157 1.1 La plate-forme oris.............................. 157 1.1.1 Le prototypage............................ 158 1.1.2 Notre approche............................ 159 1.1.3 Le langage oris............................ 160 1.2 Simulation participative distribuée en oris.................. 163 1.2.1 L architecture............................. 163 1.2.2 Modèle réel / fantôme........................ 168 1.2.3 Modification dynamique de l environnement............ 173 1.2.4 Protocole de gestion des instances.................. 177 1.2.5 Communication entre agents..................... 185 1.2.6 Génération automatique de code................... 187 1.3 Conclusion.................................. 191 2 Gestion dynamique de modèles sous HLA 193 2.1 Le CERTI................................... 193 2.1.1 L architecture............................. 194 2.1.2 Le modèle objet du CERTI...................... 196 2.2 Extension de l API pour un modèle objet dynamique............ 198 2.2.1 Description du modèle objet..................... 198 2.2.2 Modification du modèle objet par l API existante.......... 199 2.2.3 Modification de l arbre du modèle objet............... 200 2.2.4 Modification de l espace de routage................. 203 2.3 Conclusion.................................. 203 3 Exemple en orisdis 205 3.1 Existence de l agent et mise à jour de ses états................ 205 3.1.1 Génération automatique de code................... 206 3.1.2 Interaction sur le réel......................... 206 3.1.3 Interaction sur le fantôme...................... 208 3.1.4 Interaction sur un état dynamique.................. 208 3.2 Ajout dynamique de fonctionnalités à l agent................ 209 viii

Table des Matières 3.3 Conclusion.................................. 210 Conclusion et perspectives 213 Annexes 217 Liste des acronymes 265 Liste des sites Internet 269 Références bibliographiques 271 Résumé / Abstract 283 Index 285 ix

Table des Matières x

Liste des Figures Le contexte 5 1.1 Traitement de l information selon [Grumbach 01]................ 11 1.2 Interaction, Immersion, Imagination [Burdea et al. 93]............. 12 1.3 Les trois médiations du modèle en réalité virtuelle [Tisseau 01]......... 13 1.4 SécuRévi [Querrec 02].............................. 20 2.1 Différence entre objet et agent [Ferber 97].................... 24 2.2 Caractéristiques d un agent autonome [Richard 01]............... 25 2.3 Organisations et structures organisationnelles (d après [Ferber 95])....... 27 2.4 Architecture typique d un agent hybride (d après [Richard 01])......... 28 État de l art l architecture de communication 33 1.1 Le modèle OSI.................................. 38 1.2 Différentes topologies de réseaux......................... 43 1.3 Synchronisation par échange de messages NTP [Fujimoto 00]......... 46 1.4 Les 4 composants vrtp : client, serveur, pair à pair et surveillance........ 53 1.5 Les différents démons du protocole DWTP [Broll 98].............. 55 1.6 Différentes approches de communication, évaluations [Waters et al. 97].... 57 1.7 Le partage d information avec ISTP....................... 58 1.8 Les différents protocoles de ISTP......................... 58 1.9 L architecture de Virtual Society [Honda et al. 96]................ 60 1.10 L architecture de Gaia [Ko et al. 99]....................... 61 2.1 Architecture de ViSTA.............................. 69 2.2 Javaspaces..................................... 72 2.3 Le service d évènement de CORBA....................... 74 2.4 Les modèles de communication du service d évènement............. 74 2.5 Appels et messages des RPC [Tanenbaum 94].................. 77 xi

Liste des Figures 2.6 Étapes d exécution de RPC [Tanenbaum 94]................... 78 2.7 Les différents services de CORBA........................ 79 2.8 Les différents services de CORBA (vue détaillée)................ 80 2.9 Les composants de l échange client/serveur de CORBA............. 81 2.10 Interopérabilité via IIOP............................. 83 2.11 L architecture de Nomad [Wilson et al. 01].................... 85 État de l art Les environnements virtuels distribués 89 1 Classification des systèmes de CSCW [Ellis et al. 91].............. 92 2 CVW, exemple d outil de travail collaboratif................... 93 1.1 Les différentes parties de l architecture de DIS.................. 97 1.2 La liste des PDU du protocole DIS........................ 100 1.3 Le PDU Entity State [Hofer et al. 95]....................... 102 1.4 La stratégie d ensemble M&S du DMSO [Department of Defense 95]..... 104 1.5 L architecture HLA................................ 106 1.6 Le cycle de vie d une simulation HLA...................... 107 1.7 Publication des objets............................... 108 1.8 Spécialisation des classes d objets HLA..................... 109 1.9 Généralisation des attributs d une classe..................... 110 1.10 Comparaison du cycle de vie de HLA et DIS [Calvin et al. 95]......... 111 1.11 Structure EBI [Barrett et al. 96].......................... 112 1.12 Comparaison entre CORBA et HLA....................... 115 2.1 Échange d informations entre les entités sources (d après [Singhal 96])..... 119 2.2 Échange d informations entre l hôte source et l hôte distant........... 120 2.3 Estimation de la trajectoire d une entité (ordre 0)................ 121 2.4 Estimation de la trajectoire d une entité..................... 122 2.5 Algorithme PHBDR [Singhal 96]......................... 122 2.6 Estimation basée sur l intention [Szwarcman et al. 01]............. 124 2.7 Interactions possibles............................... 127 2.8 Conscience suivant le nimbus et le focus..................... 128 2.9 Activation des objets tiers............................. 129 2.10 Problème simple d ordonnancement causal................... 132 2.11 Relation happens-before à l aide d un vecteur temps............... 133 2.12 Les types de simulateurs suivant le mécanisme de régulation temporel..... 133 2.13 Utilisation du lookahead dans HLA....................... 134 2.14 Classification des algorithmes de répartition de la charge............ 135 2.15 Granularité et performance de la répartition de la charge, d après [Jensen 96]. 136 2.16 Différentes topologies de communication pour les bases de données...... 142 2.17 Modularité de Bamboo [Liles 98]......................... 143 2.18 interface HLA à Bamboo [Liles 98]....................... 144 2.19 Modèle objet utilisé dans Bamboo [Liles 98]................... 144 xii

Liste des Figures 2.20 Architecture répliquée de DIVE......................... 146 2.21 Mécanisme de communication de VIPER [Torguet 98]............. 147 Le prototypage interactif et collaboratif 153 1.1 Démarche de prototypage classique (d après [Harrouet 00])........... 158 1.2 Démarche de prototypage interactif (d après [Harrouet 00])........... 159 1.3 Double infrastructure............................... 164 1.4 Communication entre l API oris et l API du RTI................ 165 1.5 Composants du gestionnaire orisrti...................... 166 1.6 Interaction entre réel et fantômes......................... 168 1.7 Évolution d un attribut dynamique avec mise à jour du réel........... 170 1.8 Exemple de l interaction de deux utilisateurs................... 171 1.9 Dynamicité de l application............................ 173 1.10 Exemple de classe du fichier FED (syntaxe à la LISP).............. 174 1.11 Exemple d instances créées après la modification de la classe.......... 175 1.12 Classe générique pour le transport d attributs dynamiquement ajoutés..... 176 1.13 Relations entre classes, instances et attributs dans une simulation HLA..... 177 1.14 Relation entre les éléments dans une simulation HLA / oris.......... 178 1.15 Contraintes appliquées sur les instances de classes et d attributs oris...... 179 1.16 Interactions entre les agents réels et l orisrti.................. 182 1.17 Interactions entre l orisrti et les agents fantômes............... 184 1.18 Espace de routage de réception des interactions par le fédéré.......... 185 1.19 Communication entre les agents......................... 186 1.20 Génération automatique de code......................... 188 1.21 Exemple de code XML pour la génération automatique de code......... 189 2.1 L architecture du CERTI, d après [Bréholée et al. 02].............. 194 2.2 Exemple de scénario de transfert de données (d après [Bréholée et al. 02])... 196 2.3 La gestion du modèle objet dans le CERTI.................... 197 2.4 Le nouveau modèle objet du CERTI....................... 198 2.5 Description du modèle objet........................... 199 2.6 Ajout au modèle d interaction.......................... 200 2.7 Ajout au modèle d objet............................. 202 2.8 Modification de l espace de routage....................... 203 3.1 Diagramme de classe entre les classes générées et les classes de base...... 206 3.2 Fichier de description en XML.......................... 206 3.3 Fichier FED généré automatiquement et servant à initialiser le RTI....... 207 3.4 Exemple de code généré pour la classe du réel.................. 207 3.5 Cheminement d appels de méthodes à partir d une requête sur le réel...... 208 3.6 Exemple de code généré pour la classe du fantôme............... 208 3.7 Cheminement d appels de méthodes à partir d une requête sur le fantôme... 208 3.8 Blocage de la boucle à l aide d un attribut.................... 209 xiii

Liste des Figures 3.9 Ajout de fonctionnalités à la classe........................ 210 3.10 Code dynamiquement ajouté à la classe..................... 211 xiv

Introduction 1 La recherche perpétuelle de nouveaux produits répondant aux besoins des consommateurs a rendu leur conception beaucoup plus complexe. Cette complexification met en œuvre une profusion et une hétérogénéité de points de vue, de compétences, de disciplines et de technologies [Lamine 01]. Meinadier fait remarquer que l on peut distinguer deux principaux types de complexité dans un système [Meinadier 98] : La complexité statique qui est liée à l architecture du système, c est-à-dire le nombre de fonctions, de composantes, de relations, etc, la complexité dynamique qui est liée à la dynamique des interactions entre les soussystèmes et les composants ainsi qu à l existence de relations bouclées entre les fonctions. Faisant appel à des domaines de recherche différents, le recours à des modélisations est devenu nécessaire afin d analyser le comportement du système. Difficile à déterminer, la complexité dynamique nécessite une étape de prototypage afin de paramétrer au mieux le modèle et ainsi correspondre aux besoins des concepteurs. Les travaux menés sur oris [Harrouet 00] ont permis d offrir un outil de prototypage interactif permettant à l utilisateur de prototyper le modèle suivant son comportement dynamique sans recourir à des phases d aller/retour permanentes entre conception et simulation. 1 Même un chemin de mille lieues commence par un pas. Proverbe Japonais 1

Introduction Nos travaux portent sur la mise en œuvre d une architecture orisdis permettant la réalisation d applications de prototypage interactif et collaboratif. Ainsi, nous rendons possible l élaboration d un modèle de manière collaborative en permettant aux différents acteurs de préciser l objectif du modèle. De l agent à la réalité virtuelle distribuée Créer un système, c est rassembler différents éléments dotés d un comportement simple. L agent est un moyen informatique permettant de construire un objet autonome doté de son propre comportement, qui répond à un modèle défini par son concepteur. Simple à mettre en œuvre, l agent capte son environnement proche, effectue un traitement plus ou moins complexe ou plus ou moins intelligent. En réponse à cette perception et suivant son intelligence, il réagit ou agit et modifie l environnement suivant les besoins de son modèle. Complexifier le système, c est composer ou agréger différents agents. On obtient un système multi-agents qui permet de modéliser la complexité statique dans chacun de ses agents ainsi que la complexité dynamique, à travers les interactions entre ces différents agents. Difficile à prévoir, cette dynamique fait souvent l objet d un prototype afin de constater l émergence d un comportement désiré ou une auto-organisation menant vers le même but que son concepteur. Seulement, cette étape de composition de différents modèles simples nécessite souvent le recours à des modifications d un ou de l ensemble des modèles. Introduire l homme dans la boucle et lui permettre d agir directement sur le modèle offre la possibilité de réduire le temps de conception en évaluant interactivement les modifications apportées. Cette simulation participative rend l homme pleinement actif dans ce processus de mise au point. La réalité virtuelle a révolutionné la vision de l ordinateur vis à vis de l homme. Elle permet un couplage très fort entre les deux éléments et ouvre la voie à de nouvelles applications offrant un haut niveau de créativité à l utilisateur. L homme, non seulement dans la boucle, se place lui même, à travers son avatar, au même niveau conceptuel. Cette relation d égal à égal autorise une plus grande autonomie des modèles et par voie de conséquence, une plus grande autonomie de l utilisateur [Tisseau 01]. Comme la conception d un modèle complexe est de plus en plus le fruit du travail de nombreux experts, il devient nécessaire d offrir un outil permettant de confronter les différentes idées de chacun. La réalité virtuelle distribuée propose de lever les barrières des distances géographiques en permettant aux différents acteurs d être présents en un même endroit virtuel et surtout au même instant. Notre approche est basée sur l utilisation des systèmes multi-agents au sein d un environnement virtuel. Ce choix offre à l utilisateur un moyen d observer, d expérimenter et de fa conner un modèle numérique d une manière similaire aux investigations qu il peut mener autour d un système du monde réel [Harrouet 00]. 2

Introduction Organisation de ce mémoire Ce document est organisé en quatre parties. Le contexte présente deux des trois domaines ayant trait à notre problématique. Tout d abord, un premier chapitre qui présente la réalité virtuelle et montre comment l immersion de l utilisateur est réalisée, à travers différents capteurs et effecteurs et aussi, à travers le monde simulé. La réalité virtuelle a pour objectif de fournir une représentation réaliste et interactive de l environnement commun et partagé par tous les utilisateurs. Il est suivi d un deuxième chapitre qui offre un aperçu des systèmes multi-agents permettant de rendre un environnement virtuel beaucoup plus interactif. Les systèmes multi-agents viennent en complément de la réalité virtuelle. Ils permettent de doter les entités virtuelles de comportements réalistes qui peuvent être modifiés par les utilisateurs. Ces comportements sont plus ou moins développés en fonction de la capacité de décision de ces entités. Le reste du mémoire concerne les aspects distribués de notre problématique. La deuxième partie concerne essentiellement l étude des différentes couches intervenant dans l échange d informations entre les différents ordinateurs participant à cette immersion collective. Un premier chapitre aborde les propriétés offertes par le réseau et étudie comment ce système de transport peut gérer au mieux les données à véhiculer. Le second chapitre s intéresse aux paradigmes qui ont été élaborés dans le but de réaliser des applications coopérantes. D un niveau conceptuel supérieur, ces paradigmes offrent des facilités de programmation non négligeables et apportent tous une réponse au partage de données. La troisième partie s attache aux aspects distribués dans un contexte de réalité virtuelle. Elle présente cet aspect particulier des systèmes coopératifs qui requièrent une synchronisation temporelle. Le premier chapitre s attache à présenter les résultats des recherches menées par le ministère américain de la défense dans le but de promouvoir une architecture la mieux adaptée au développement d une telle application tout en permettant sa réutilisation. DIS 2 et HLA 3 constituent les deux principales architectures retenues. Le second chapitre s intéresse aux technologies adaptées au contexte de la réalité virtuelle distribuée. Nous présentons toutes les optimisations effectuées tant au niveau architectural qu au niveau de la transformation des données afin d améliorer la qualité du rendu, l extensibilité de l application et bien d autres aspects. Une taxonomie est réalisée afin de confronter les différentes plates-formes développées à ce jour. La dernière partie présente notre modèle destiné à créer une application de prototypage interactif, collaboratif et coopératif. Le premier chapitre présente une partie sur l intégration de l architecture de simulation militaire HLA à notre plate-forme multi-agents oris. Nous y détaillons les différentes technologies nécessaires à la réalisation d une plate-forme de prototypage distribuée et, plus précisément, certains aspects sur l évolution des modèles 2 DIS : Distributed Interactive Simulation 3 HLA : High Level Architecture 3

Introduction durant la simulation. La seconde partie intéresse plus particulièrement le concepteur d une application puisqu il offre un formalisme de spécification simple permettant de faciliter le développement de l application et surtout, de générer automatiquement le code nécessaire à la distribution de l application. Le second chapitre présente les modifications apportées à l interface du CERTI un RTI compatible HLA pour permettre une évolution dynamique de l application durant la simulation. Enfin, nous conclurons en présentant quels avantages nous pouvons retirer de cette architecture. Cette conclusion permet de faire le point sur la norme HLA par rapport aux applications de réalité virtuelle distribuées et de proposer des évolutions. Remarques complémentaires Le développement actuel d Internet en fait une source primordiale pour se documenter et approfondir certains sujets. Nous avons donc ajouté une annexe contenant une liste de sites Internet en relation avec les sujets traités. À chaque fois que nous parlons d un sujet et qu une référence Internet est disponible, elle est annoté par un arobase ( @ ). Par ailleurs, lorsque nous faisons référence à des méthodes relatives à certaines interfaces de programmation, nous adoptons l écriture utilisée dans les documentations de l architecture HLA. Par exemple, la méthode updateattributevalues() sera notée Update Attribute Values. Enfin, ces travaux ont fait l objet de plusieurs publications scientifiques : [Rodin et al. 00] [Raulet et al. 02a] [Raulet et al. 02b] [Raulet et al. 03b] [Raulet et al. 03a]. Les quatre dernières publications sont fournies en annexe. 4

Partie I Le contexte 5

Le contexte 6

Introduction À la charnière de différentes disciplines, la réalité virtuelle se propose de synthétiser les résultats de recherches en simulation, en informatique graphique, en audiovisuel et en de nombreuses autres disciplines. Chaque avancée dans l une de ces disciplines profite à la réalité virtuelle et permet à l ordinateur d être encore plus en adéquation avec les idées de l utilisateur. En effet, le résultat présenté par l ordinateur correspond aux conséquences des différentes interactions de l homme sur l ordinateur et réciproquement. Le premier chapitre de cette partie a pour objectif de montrer comment cette collaboration est effectuée et a abouti aux différentes applications que nous connaissons aujourd hui. Le second chapitre aborde les systèmes multi-agents ou SMA 1 et présente comment chaque entité l agent participe dans un processus global. L interaction entre l agent et l environnement ainsi que le processus inverse produit l émergence d un système plus complexe. Dans cette partie, nous présentons succinctement quelques aspects de la réalité virtuelle et des systèmes multi-agents afin de mieux comprendre les points forts à retenir pour notre problématique. 1 en anglais, MAS pour MultiAgent System. 7

Introduction 8

Chapitre 1 La Réalité Virtuelle...Nous pouvons modeler votre vision pour lui fournir tout ce que votre imagination peut concevoir. Nous contrôlerons tout ce que vous allez voir et entendre. Nous partagerons les angoisses et les mystères qui gisent dans les plus profonds abysses... au-delà du réel. Au-delà du réel (1963-1965), Leslie Stevens & Joseph Stephano 1.1 Introduction Bien que le terme virtuel ait pris, aujourd hui, un autre sens que celui d origine, il est souvent utilisé pour exprimer l existence d une chose uniquement dans sa réalisation informatique. La réalité virtuelle offre cette apparence en plaçant l utilisateur au centre du système. Trois points particuliers permettent de rendre cette immersion parfaite. Tout d abord, l utilisateur est immergé dans un monde graphique en trois dimensions. Ce monde peut simuler un monde réel ou imaginaire. Ensuite, l utilisateur se trouve dans l application et navigue généralement dans cet environnement via un avatar, un représentant informatique de luimême. Enfin, cet utilisateur peut examiner, interagir et manipuler les objets virtuels composant l environnement [Wilson et al. 01]. Le rendu graphique, le retour sensoriel et les moyens d interactions offerts à l utilisateur permettent une profonde osmose entre cet utilisateur et l ordinateur. La réalité virtuelle est un domaine pluridisciplinaire tirant parti de l informatique graphique, de la simulation, de la conception assistée par ordinateur, de la téléopération, ainsi que de beaucoup d autres lui permettant de remplir son rôle. 9