1 laboratoire safari, uqam 2 utilisation de xml pour la validation des tâches dans un système...
Post on 03-Apr-2015
105 Views
Preview:
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