1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système...

38
1 Laboratoire SAFARI , UQAM

Transcript of 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système...

Page 1: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

1Laboratoire SAFARI , UQAM

Page 2: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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

Page 3: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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

Page 4: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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

Page 5: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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 ?

Page 6: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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

Page 7: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

7Laboratoire SAFARI , UQAM

.

.

.

.

.

.

.

.

T1

T2

Tn

Conditions initiales

Conditions finales

Tâche atomique

Sous tâche

Définition et structure d’une tâche

Page 8: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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

Page 9: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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)

Page 10: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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])

Page 11: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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.

Page 12: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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

Page 13: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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)

Page 14: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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

Page 15: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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

Page 16: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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>

Page 17: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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

Page 18: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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

Page 19: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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>

Page 20: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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

Page 21: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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

Page 22: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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

Page 23: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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

Page 24: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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

Page 25: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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

Page 26: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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

Page 27: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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

Page 28: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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

Page 29: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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

Page 30: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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

Page 31: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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

Page 32: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

32Laboratoire SAFARI , UQAM

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

Page 33: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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

Page 34: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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

Page 35: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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

Page 36: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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>

Page 37: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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

Page 38: 1 Laboratoire SAFARI, UQAM 2 Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire.

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