• Aucun résultat trouvé

10.2 Architecture T AILOR

10.2.1 Le diagnostic

The Bad Beginning, Lemony Snicket

Sommaire

10.1 Modèle et gestion de l’état du monde . . . 180

10.1.1 Le moteur WORLDMANAGER . . . 180

10.1.2 Utilisation de WORLD-DL pour la production d’environnements virtuels . . . . 180

10.2 Architecture T

AILOR

. . . 181

10.2.1 Le diagnostic . . . 181

ZPD-Space . . . 181

Sélection pédagogique . . . 182

10.2.2 Instanciation . . . 182

10.2.3 Diégétisation . . . 182

10.2.4 Interface utilisateur . . . 183

Interface de pilotage de TAILOR. . . 183

Interface Formateur . . . 183

10.2.5 Intégration à Humans . . . 184

10.3 Cas d’application . . . 185

10.3.1 NIKITA- Formation des monteurs-assembleur dans le domaine aéronautique . 185

Modèles de domaine . . . 185

Mise en place d’un démonstrateur . . . 186

Modèle du connaissance pour la détection d’intention . . . 187

10.3.2 SIMADVF - La formation des assistantes de vie . . . 188

Nos propositions sur la scénarisation personnalisée dans les environnements virtuels pous la

for-mation ont été implémentées et appliquées sur différents scénarios. Dans une première partie nous

décrirons l’opérationnalisation du modèle du monde au sein du WORLDMANAGERet son intégration

dans la production d’un environnement virtuel. Dans une seconde partie nous décrions

l’architec-ture TAILOR. La dernière partie de ce chapitre évoquera deux cas d’applications de nos travaux.

10.1. MODÈLE ET GESTION DE L’ÉTAT DU MONDE CHAPITRE 10. IMPLÉMENTATION

10.1 Modèle et gestion de l’état du monde

Les modèles décrits dans le formalisme WORLD-DL sont opérationnalisés grâce au WORLDMA

-NAGERqui permet de maintenir et mettre à jour la base de connaissances sur le monde. Nous avons

par ailleurs proposé des outils pour faciliter la production d’un environnement virtuel par

l’utilisa-tion d’un modèle de connaissance.

10.1.1 Le moteur WORLDMANAGER

Le moteur WORLDMANAGER a été développé en JAVA en utilisant le framework JENA. Le

dia-gramme de classes de ce moteur est proposé dans l’annexe E.3. Le moteur offre a la fois un accès

au modèle du monde, c’est-à-dire à l’ontologie, mais également à la base de faits correspondant à

l’état du monde courant. Il est associé à un agent JADEpour l’intégrer au sein de la plateforme

multi-agents HUMANS.

Ainsi, les différents modules peuvent accéder à l’état du monde pour disposer d’informations ou pour

déclencher des actions et événements. L’annexe F résume l’ensemble du protocole de

communica-tion entre le WORLDMANAGERet les autres modules.

FIGURE10.1 – Interface de visualisation de la base de connaissances

Le WorldManagerGUI offre une interface de visualisation des changements opérés sur le monde

et permet en outre de simuler des actions, événements et commitments pour voir leurs effets.

10.1.2 Utilisation de WORLD-DL pour la production d’environnements virtuels

Un générateur de classe C# destinée au moteur de jeu UNITYa été développé en JAVAen utilisant

la librairie JENA.

Pour chaqueComponentdécrit dans le métamodèle WORLD-DL, une classe est créée. Les relations

que peut nouer un composant sont décrites par des attributs de la classe du type adéquat. La

cardi-nalité de ces relations (décrites via des relations du langage de description d’ontologie OWL) définit

CHAPITRE 10. IMPLÉMENTATION 10.2. ARCHITECTURETAILOR

si l’attribut de la classe est une liste d’élément ou un élément simple. Des membres sont égalements

créés pour tous les attributs des états auquel le composant peut être lié.

Pour chaqueObjectdécrit dans le métamodèle WORLD-DL, une classe est créée. La classe définit les

composants dont elle hérite avec la primiteRequireComponent. Ainsi, l’ajout de la classePortesur

la géométrie d’un objet de la scène confère automatiquement à cet objet les composantsOuvrableet

Verouillage. L’annexe I présente des exemples de classes générées à partir d’un modèle du monde.

Le framework DOUG[Degiovanni et al., 2014] développé par des étudiants de l’Université de

Techno-logie de Compiègne permet de synchroniser les éléments de la simulation avec la base de

connais-sances en communiquant avec le WORLDMANAGER. Il convient aux concepteurs d’enrichir les classes

générées pour créer les comportements liés à la scène 3D.

Le métamodèle WORLD-DL est également utilisé pour la génération de comportement pour des

per-sonnages virtuels autonomes. Le moteur REPLICANTSse sert du modèle du monde pour générer de

nouveaux plans pour atteindre un but lorsqu’aucune solution ne peut être trouvée dans le modèle

d’activité [Lhommet, 2012].

10.2 Architecture TAILOR

Les différentes fonctionnalités du moteur TAILORont été développées independemment afin de

bénéficer des technologies les plus adaptées à chaque problème. Notamment, nous avons utilisé JAVA

et la librairie JENApour la gestion des connaissances sémantiques, tandis que le C++ était très adapté

aux besoins en performances nécessaires dans la manipulation de l’espace-zpd. Nous décrivons ici

les différents éléments de cette architecture illustrée dans la figure 10.2.

FIGURE10.2 – Architecture logicielle du moteur TAILOR

10.2.1 Le diagnostic

ZPD-Space

L’espace de classes de situations associé aux distributions de masses de croyance et les différents

opérateurs que nous avons proposés pour la manipulation de l’espace-zpd ont été implémentés dans

la librairie C++zpdspace. Le diagramme UML de la librairie est proposé dans l’annexe E.1

Nous avons implémenté deux versions de l’algorithme d’inférence :

— une versioninductivequi propage les croyances puis les fusionne avec l’opérateur de fusion

avec conflit. Cette version permet desaturerle profil de l’apprenant en inférant toutes les

cro-yances possibles. C’est donc la méthode privilégiée pour pouvoir mettre en œuvre une prise

de décision pour la prescription d’une nouvelle situation ;

10.2. ARCHITECTURE TAILOR CHAPITRE 10. IMPLÉMENTATION

— une versiondéductivequi calcule la valeur d’une croyance en un point donné à partir de son

voisinage. Il y a recherche des voisins, propagation de leurs sources de croyances et fusion avec

conflit au point donné. Cette méthode est utilisée pour déterminer la croyance du système

dans la capacité de l’apprenant à gérer une situaton particulière, et notamment, celle en cours.

L’espace-zpd est alimenté en parcourant les traces d’activités générées par le module de suivi de

l’ap-prenant, MONITOR, de la plateforme HUMANS[Amokrane, 2010].

Un profil d’apprenant, constitué d’un espace-zpd, peut être sauvegardé dans un formatXMLdont un

exemple est fourni en annexe G. Un profil contient les informations suivantes :

la structure de l’espace(noms des descripteurs, ensembles de définition des descripteurs) ;

les sources d’informationqui résultent de l’observation de l’apprenant, elles contiennent les

informations suivantes :

origine: traces d’activité, demandes d’assistances, etc.,

distribution de masse de croyance(a, d, i c),

vecteur de propagation: dans notre implémentation, nous avons prévu le cas où les

cro-yances se propagent différement selon certains descripteurs,

position: un entier naturel permettant de retrouver le vecteur position dans l’espace ;

les points de croyancerésultent de la propagation des sources croyances dans l’espace-zpd,

ils contiennent les informations suivantes :

distribution de masse de croyance(a, d, i c),

position: un entier naturel permettant de retrouver le vecteur position dans l’espace ;

Sélection pédagogique

La métaheuristique proposée dans le chapitre 7 a été implémentée en utilisant le langage C++ et

la librairie STL. A l’heure actuelle, les contraintes suivantes ont été implémentées pour la sélection

d’une classe de situationS:

— la distribution des masses de croyance deStend vers une distribution déterminée ;

— l’une des masses de croyance deSest au delà d’un certains seuil déterminé dans un fichier ;

— l’une des masses de croyance deSest en deça d’un certain seuil ;

— certains descripteurs de deSont des valeurs particulières.

Un diagramme de classe du module de sélection pédagogique est proposé en annexe E.2.