utilisation de xml pour la validation des tâches dans un système tutoriel intelligent

Post on 21-Jan-2016

42 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent. Azly Nacro, Bernard Lefebvre Laboratoire SAFARI Université du Québec À Montréal octobre 2000. Plan de la présentation. Introduction Définition de tâches Primitives de décomposition d’une tâche - PowerPoint PPT Presentation

TRANSCRIPT

1Laboratoire SAFARI , UQAM

2

Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent

Azly Nacro, Bernard Lefebvre

Laboratoire SAFARIUniversité du Québec À Montréal

octobre 2000

3Laboratoire SAFARI , UQAM

Plan de la présentation

• Introduction • Définition de tâches• Primitives de décomposition d’une

tâche• Représentation d’une tâche en XML• Correspondance entre DTD et

primitives de description d’une tâche• Processus d’évaluation d’une tâche

4Laboratoire SAFARI , UQAM

Plan de la présentation

• Exemple d’une application– La composante apprentissage pour un

système d’identification bactérienne

• Travaux futurs

5Laboratoire SAFARI , UQAM

Introduction

• Le cas d’un système tuteur intelligent dédié à l’apprentissage d’une tâche – Apprentissage basé sur l’exemple– Évaluation basée sur la réalisation de la

tâche• À l’aide d’un système informatique• À l’aide d’une simulation informatique

• 2 aspects – Comment représenter une tâche ?– Comment l’évaluer ?

6Laboratoire SAFARI , UQAM

Introduction

• Approches existantes pour la représentation et l’évaluation– La théorie des erreurs et les réseaux

procéduraux– Les machines à états finis ou les réseaux

de transitions augmentés

• L’approche nouvelle basée sur XML et les DTD– XML pour la représentation de la

réalisation d’une tâche– Le DTD pour son évaluation

7Laboratoire SAFARI , UQAM

.

.

.

.

.

.

.

.

T1

T2

Tn

Conditions initiales

Conditions finales

Tâche atomique

Sous tâche

Définition et structure d’une tâche

8Laboratoire SAFARI , UQAM

Plan de la présentation

• Introduction • Définition de tâches• Primitives de décomposition

d’une tâche• Représentation d’une tâche en

XML• Correspondance entre DTD et

primitives de description d’une tâche

• Processus d’évaluation d’une tâche

9Laboratoire SAFARI , UQAM

Primitives de décomposition d’une tâche

• Elles sont analogues à celles que l’on a pour décrire les algorithmes– séquence(Liste de tâches)

• Définit une séquence de tâches • séquence([T2,T1,T3])

– répétition(Tâche, N)• Indique qu’une tâche doit être exécutée N fois• répétition(T2, 3)

10Laboratoire SAFARI , UQAM

Primitives de décomposition d’une tâche

• répétitionx(Tâche, N)– Indique qu’une tâche doit être exécutée au plus N

fois– répétitionx(T2, 3)

• parallèle(Liste de tâches) – Indique que les tâches de la liste peuvent être

exécutées en parallèle– parallèle([T2,T1,T3])

• choix(Liste de tâches)– La tâche à entreprendre est à choisir dans la liste– choix([T1,T2,T3])

11Laboratoire SAFARI , UQAM

Primitives de décomposition d’une

tâchePrimitives de décomposition d’une tâche

• sousTâcheDe(Tâche 1, Tâche 2)– primitive de spécialisation. Elle indique que Tâche

1 est une sous tâche de Tâche 2

• compose(Tâche,[Tâche1,…,TâcheN])– primitive de composition ou d’agrégation. Elle

spécifie que Tâche est composée des sous-tâches Tâche1,…,TâcheN.

– compose(T, [T1,T2,T3]) exprime que la tâche T est formée de la séquence des tâches T1, T2 et T3.

12Laboratoire SAFARI , UQAM

Plan de la présentation

• Introduction • Définition de tâches• Primitives de décomposition

d’une tâche• Représentation d’une tâche en

XML• Correspondance entre DTD et

primitives de description d’une tâche

• Processus d’évaluation d’une tâche

13Laboratoire SAFARI , UQAM

Représentation des tâches en XML

• XML (eXtensible Markup Language), format universel de représentation de documents structurés et de données sur le Web. – XML permet de décrire sous forme d’arbre des

données structurées dans un fichier texte– XML ressemble à HTML mais n’est pas HTML– Un fichier XML est un texte qui n’est pas destiné à

être lu– XML est associé à une famille de technologies (XML

Schema · XML Query · XPath, XPointer, XML Base, XLink · DOM · RDF · CSS XSL · XHTML · MathML · SMIL · SVG · XML Signature)

14Laboratoire SAFARI , UQAM

Représentation des tâches en XML

• La description de la réalisation d’une tâche peut être vue comme un arbre, comme un document XML

• La racine est la tâche principale• Les nœuds internes sont les sous-

tâches • Les feuilles sont les tâches atomiques

ou actions

T3

T6

T10

T11

T12

T7

T13

T14

<enterData>

<?xml version=“1.0”?>

<enterTestResults>

<inputUsingBox>…</inputUsingBox>

</enterData>

<inputUsingPalette>…</inputUsingPalette>

<resultModification>…</resultModification>

</enterTestResults>

<chooseOptions>

<selectStrainOrigin>... </selectStrainOrigin>

<selectStrainOrigin>... </selectStrainOrigin>

<chooseOptions>

Représentation des tâches en XML

16Laboratoire SAFARI , UQAM

Le DTD d’une tâche

<!ELEMENT enterData (enterTestsResults,chooseOptions)>

<!ELEMENT enterTestsResults ((inputUsingBox|inputUsingPalette|resultModification)+)><!ELEMENT chooseOptions

(selectStrainOrigin,selectIdentificationSystem)>

<!ELEMENT inputUsingBox EMPTY><!ELEMENT inputUsingPalette EMPTY><!ELEMENT resultModification EMPTY><!ELEMENT selectIdentificationSystem EMPTY><!ELEMENT selectStrainOrigin EMPTY>

17Laboratoire SAFARI , UQAM

Plan de la présentation

• Introduction • Définition de tâches• Primitives de décomposition

d’une tâche• Représentation d’une tâche en

XML• Correspondance entre DTD et

primitives de description d’une tâche

• Processus d’évaluation d’une tâche

18Laboratoire SAFARI , UQAM

Correspondance entre DTD et primitives de description d’une tâche

• séquence([T2,T1,T3]) – (T2,T1,T3)

• répétition(T1, N) – (T1,…,T1)

• répétitionx(T1, N) – (T1)+ ou (T1)? ou (T1)*

• choix([T1,T2,T3])– T1 | T2 | T3

• parallèle([T1,T2,T3])– Non utilisé dans le cas d’un apprentissage

individuel

19Laboratoire SAFARI , UQAM

Correspondance entre DTD et primitives de description d’une

tâche

– sousTâcheDe(Tâche 1, Tâche 2)

– compose(Tâche, [Tâche1,…TâcheN])

<!ELEMENT enterTestsResults

((inputUsingBox|inputUsingPalette|resultModification)+)>

<!ELEMENT inputUsingBox EMPTY>

<!ELEMENT inputUsingPalette EMPTY>

<!ELEMENT resultModification EMPTY>

20Laboratoire SAFARI , UQAM

Plan de la présentation

• Introduction • Définition de tâches• Primitives de décomposition

d’une tâche• Représentation d’une tâche en

XML• Correspondance entre DTD et

primitives de description d’une tâche

• Processus d’évaluation d’une tâche

TÂCHE

1.xml

2.xml

n.xml

.

.

Generateurde DTD

structure.dtd

TÂCHE

usager.xml

tâche.dtd

Analyseur XMLvalidant

Valide InvalideMessagesd'erreurs

Modification duDTD

Execution

Generation duDTD

Fichiers XML desscénarios

Fichier XML del'apprenant

12

3

4

5

Apprenant

Superviseur

Execution

Processus pour l’évaluation d’une tâche

22Laboratoire SAFARI , UQAM

Évaluation d’une tâcheÉtape 1: produire des fichiers XML • Acteur – Le superviseur

• But– Produire un ensemble de fichier XML valides– Chaque fichier XML représente un scénario

d’exécution valide de la tâche

• Méthode – Le superviseur exécute la tâche de toutes les

manières possibles – Chaque action du superviseur est capturée et codée

dans un fichier sous forme d’une balise XML

TÂCHE

1.xml

2.xml

n.xml

.

.

Generateurde DTD

structure.dtd

TÂCHE

usager.xml

tâche.dtd

Analyseur XMLvalidant

Valide InvalideMessagesd'erreurs

Modification duDTD

Execution

Generation duDTD

Fichiers XML desscénarios

Fichier XML del'apprenant

12

3

4

5

Apprenant

Superviseur

Execution

Processus pour l’évaluation d’une tâche

24Laboratoire SAFARI , UQAM

Évaluation d’une tâcheÉtape 2: produire le DTD

• Acteur – Générateur de DTD

• Data Descriptor By Example (IBM)• Librairie Java

• But– Produire un DTD à partir d’un ensemble de fichiers XML

• Méthode– Créer un modèle objet de document (DOM) pour chaque

fichier– Regrouper les nœuds éléments par type d’éléments– Créer un modèle de contenu pour chaque type par

factorisation

TÂCHE

1.xml

2.xml

n.xml

.

.

Generateurde DTD

structure.dtd

TÂCHE

usager.xml

tâche.dtd

Analyseur XMLvalidant

Valide InvalideMessagesd'erreurs

Modification duDTD

Execution

Generation duDTD

Fichiers XML desscénarios

Fichier XML del'apprenant

12

3

4

5

Apprenant

Superviseur

Execution

Processus pour l’évaluation d’une tâche

26Laboratoire SAFARI , UQAM

Évaluation d’une tâcheÉtape 3: modifier le DTD

• Acteur – Le superviseur

• But– Modifier le DTD s’il est trop strict ou pas assez strict

• Méthode– Éditer manuellement le DTD

TÂCHE

1.xml

2.xml

n.xml

.

.

Generateurde DTD

structure.dtd

TÂCHE

usager.xml

tâche.dtd

Analyseur XMLvalidant

Valide InvalideMessagesd'erreurs

Modification duDTD

Execution

Generation duDTD

Fichiers XML desscénarios

Fichier XML del'apprenant

12

3

4

5

Apprenant

Superviseur

Execution

Processus pour l’évaluation d’une tâche

28Laboratoire SAFARI , UQAM

Évaluation d’une tâcheÉtape 4: exécution de la tâche

• Acteur – L’apprenant

• But– Produire un fichier XML décrivant l’exécution de la

tâche par l’apprenant

• Méthode– L’apprenant exécute la tâche– Chacune de ses actions significatives est ajoutée

dans le fichier sous la forme d’une balise XML

TÂCHE

1.xml

2.xml

n.xml

.

.

Generateurde DTD

structure.dtd

TÂCHE

usager.xml

tâche.dtd

Analyseur XMLvalidant

Valide InvalideMessagesd'erreurs

Modification duDTD

Execution

Generation duDTD

Fichiers XML desscénarios

Fichier XML del'apprenant

12

3

4

5

Apprenant

Superviseur

Execution

Processus pour l’évaluation d’une tâche

30Laboratoire SAFARI , UQAM

Évaluation d’une tâcheÉtape 5: validation de la tâche

• Acteur – Un analyseur XML validant

• But– Valider le fichier XML produit par les actions de

l’apprenant au moyen du DTD obtenu à l’étape 3

• Méthode– Faire analyser les fichier XML par un analyseur XML

validant– Interpréter les erreurs éventuelles produites par

l’analyse validante

31Laboratoire SAFARI , UQAM

Plan de la présentation

• Exemple d’une application– La composante apprentissage

pour un système d’identification bactérienne

• Travaux futurs

32Laboratoire SAFARI , UQAM

La composante apprentissage pour un système d’identification bactérienne

33Laboratoire SAFARI , UQAM

class MyItemListener implements ItemListener{

public void itemStateChanged(ItemEvent e){

Object object = e.getSource();

if(object == responsesList){

// TEST_SELECTION : Modification dans la liste des résultats

String ftm = responsesList.getSelectedItem();

int im = ftm.indexOf('=');

props.put(ftm.substring(0,im),ftm.substring(im+1));

xmlgen.input("TEST_SELECTION", props);

}

if(object == kitList){

// KIT_SELECTION : Sélection d’un kit d’identification

props.put("kit“, normalise(kitList.getSelectedItem()));

xmlgen.input("KIT_SELECTION", props);

}

Saisie des actions

34Laboratoire SAFARI , UQAM

else if (object == originList){

// ORIGIN_SELECTION : Sélection de l’origine de la souche

props.put("origin", normalise(originList.getSelectedItem()));

xmlgen.input("ORIGIN_SELECTION", props);

}

}

}

// Créer un nouvel auditeur d’éléments

MyItemListener itemLis_ = new MyItemListener();

// Associer l’auditeur aux composantes

responsesList.addItemListener(itemLis_);

kitList.addItemListener(itemLis_);

originList.addItemListener(itemLis_);

Saisie des actions

35Laboratoire SAFARI , UQAM

<?xml version='1.0'?>

<!DOCTYPE TASK SYSTEM "taskdtd2.dtd">

<TASK>

<DESC>Identification system task</DESC>

<MODALITY_CLICK value= "0" />

<MODALITY_INPUT value= "0" />

<MODALITY_OK Erythriol= "0" />

<MODALITY_CLICK value= "2" />

<MODALITY_INPUT value= "2" />

<MODALITY_OK D_arabinose= "2" />

<MODALITY_CLICK value= "3" />

<MODALITY_INPUT value= "3" />

<MODALITY_OK L_arabinose= "3" />

<MODALITY_CLICK value= "1" />

<MODALITY_INPUT value= "1" />

<MODALITY_OK L_arabinose= "1" />

<TEST_SELECTION Erythriol= "2" />

<MODALITY_INPUT value= "2" />

<MODALITY_CLICK value= "0" />

<MODALITY_INPUT value= "0" />

<MODALITY_OK Erythriol= "0" />

<ORIGIN_SELECT origin= "Bronchus" />

<KIT_SELECTION kit= "Kit3" />

</TASK>

Document XML représentant une exécution valide

36Laboratoire SAFARI , UQAM

Exemple de DTD généré avec un degré maximum de factorisation<!ELEMENT DESC (#PCDATA)>

<!ELEMENT MODALITY_CLICK EMPTY>

<!ATTLIST MODALITY_CLICK value CDATA #IMPLIED>

<!ELEMENT MODALITY_INPUT EMPTY>

<!ATTLIST MODALITY_INPUT value CDATA #IMPLIED>

<!ELEMENT MODALITY_OK EMPTY>

<!ATTLIST MODALITY_OK Erythriol CDATA #IMPLIED

D_arabinose CDATA #IMPLIED

L_arabinose CDATA #IMPLIED>

<!ELEMENT ORIGIN_SELECT EMPTY>

<!ATTLIST ORIGIN_SELECT origin CDATA #IMPLIED>

<!ELEMENT TASK

(DESC,(MODALITY_INPUT|MODALITY_CLICK|MODALITY_OK|TEST_SELECTION)+)>

<!ELEMENT TEST_SELECTION EMPTY>

<!ATTLIST TEST_SELECTION Erythriol CDATA #IMPLIED>

37Laboratoire SAFARI , UQAM

Avantages et inconvénients de méthode

• Facile à implanter• Suffisamment précise pour valider une tàche• Générique (Peut être utilisée our de multiple

domaines)• Facile à utiliser dans le contexte du Web• Utilise des outils standards

• Pas de contrôle dynamique de l’exécution de la tâche

• Pas d’analyse du raisonnement de l’apprenant

38Laboratoire SAFARI , UQAM

Directions futures

• Évaluer l’apporche dans le cas de tâches plus complexes

• Faciliter la génération de DTD• Définir des outils permettant une

meilleure spécification des tâches et un meilleur traitement des erreurs de l’apprenant

top related