5
Scénarios d'utilisation de HEDAYA et
protocoles d'interaction entre agents
Pour démontrer le comportement du système
multi-agents ; la présentation adaptative du cours et la
génération dynamique des pages du cours hypermédia, on a
utilisé un cours sur la dermatologie spécifié pour deux
activités pédagogiques « Familiariser » et «
Clarifier » ; en définissant le modèle du domaine (), les
documents méta concepts (Figure 3.5) pour générer la page
index du cours et les documents multimédias (Figure 3.4) pour
générer la page de concept.
Nous illustrons, dans la suite, le fonctionnement du
système par les scénarios possibles pendant les sessions
d'apprentissage, en associant à chaque scénario les
différents messages envoyés entre les agents, qui
définissent les différents protocoles d'interaction.
Notant que :
-
AI : Agent d'Interface
-
AMA: Agent de Modèle de l'Apprenant
-
APA: Agent Pédagogique d'Adaptation
-
AF: Agent de Filtrage
5.1
Scénario 1 : Connexion d'un apprenant
Lorsque un nouveau apprenant demande l'inscription pour
apprendre le cours:
1.
Quand l'apprenant demande l'inscription l'agent d'interface
affiche la page d'inscription (Figure 3.12).
2.
Après l'appui sur le bouton (« Inscription et
connexion ») ; la demande d'inscription sera envoyée à
l'agent d'interface (requête HTTP : POST: nom, password, mode
d'apprentissage)
3.
L'agent d'interface envoie un message KQML à l'agent de
modèle de l'apprenant demandant l'ajout d'un nouveau apprenant (Acheive
: ajoutApprenant(nom, password, mode))
4.
L'agent de modèle de l'apprenant ajout un nouveau
apprenant à la base de données et initialise son niveau avec
faible pour tous les concepts, puis répond l'agent d'interface par (tell
; appreanantAjouter(idApprenant))
Si l'apprenant est déjà inscrit,
1.
Il demande la connexion pour suivre l'apprentissage, la
requête HTTP (POST : nom, password) sera envoyé à l'agent
d'interface.
2.
L'agent d'interface envoie un message à l'agent de
modèle de l'apprenant demandant la vérification de l'apprenant
(Ask-if : apprenantEstInscrit(nom, password))
3.
L'agent de modèle de l'apprenant vérifie puis
répond l'agent d'interface par (reply : apprenatInscrit(idApprenant) ou
apprenantNomInsrit())
Après la connexion la page index du cours sera
affichée. La Figure 3.13 présente les différents
protocoles d'interaction.
Nouveau apprenant
A.I
Apprenant
Achieve
A.I
Apprenant
POST
Ask-if
Figure 3.12: inscription d'un nouveau
apprenant
5.2
Scénario 2 : génération et affichage de
page Index du cours
1.
Suite à une requête de l'apprenant (GET : index,
idApprenant, la requête HTTP de la forme http://url?index
=oui&idapprenant=...)
2.
L'agent d'interface envoie un message KQML à l'agent
pédagogique d'adaptation contenant (Acheive:
génèreIndexePage(Idappreant))
3.
L'agent pédagogique d'adaptation demande pour chaque
concept le niveau de l'apprenant (Ask-about: niveauApprenant(idApprenant,
concepts))
4.
l'agent de modèle de l'apprenant répond par une
liste contenant le niveau de l'apprenant pour chaque concept (reply:
niveauApprenantEst(concpt/niveau))
5.
L'agent pédagogique d'adaptation demande de l'agent de
filtrage de filtrer les documents constituants la page index du cours (Acheive:
filtrerMetaDoc(concepts))
6.
L'agent de filtrage filtre les documents et envoie les adresses
à l'agent pédagogique (tell :
metaDocFiltré(concpts/adresses))
7.
L'agent pédagogique construit la structure de la page et
ses liens et les envoie avec les adresses des documents à l'agent
d'interface comme réponse à la demande de
génération de page index du cours (tell:
indexPageGénérer(structure, adresses))
8.
l'agent d'interface récupère les documents
multimédias selon leurs adresses, puis génère la page et
les liens selon la structure spécifiée par l'agent
pédagogique d'adaptation, puis envoie la page à l'apprenant comme
réponse à la requête GET.
La Figure 3.14(a) présente la page index du cours pour
le niveau faible (activité pédagogique Familiariser) pour tous
les concepts et la Figure 3.14(b) présente la page index du cours pour
le niveau faible (activité pédagogique Familiariser) pour
quelques concepts et moyen (activité pédagogique Clarifier) pour
d'autres concepts.
Le protocole d'interaction dans le cas de
génération et affichage de page index du cours est
présenté dans la Figure 3.15.
(a) page index du cours pour le niveau faible
pour tous les concepts
(b) page index du cours pour le niveau faible
pour quelques concepts et moyen pour d'autres concepts
Achieve
A.I
S'il y a des concepts bien étudiés, les liens
vers ces concepts sont annotés par : « Concept bien
étudié » ; c'est-à-dire bien étudié
pour toutes les activités pédagogiques. La Figure 3.16
présente la page index du cours dont le niveau est faible pour quelques
concepts et moyen pour d'autres concepts avec des annotations pour les concepts
« Histologie » et « infections ».
5.3
Scénario 3 : affichage de page de concept
1.
L'apprenant demande le concept (GET: concept, idApprenant).
2.
L'agent d'interface envoie un message KQML à l'agent
pédagogique d'adaptation demandant la page de concept (acheive:
génèrePageConcept(concept, idApprenant)).
3.
L'agent pédagogique consulte le modèle du domaine
pour déterminer les concepts prérequis, et demande de l'agent du
modèle de l'apprenant le niveau de l'apprenant sur ces concepts
prérequis (Ask-about: niveauApprenant(idApprenant, concepts)).
4.
L'agent de modèle de l'apprenant répond par une
liste contenant le niveau de l'apprenant pour chaque concept (reply:
niveauApprenantEst(concept/niveau)).
5.
S'il y a des concepts prérequis non
étudiés, il génère une page index des concepts
prérequis de la même façon que celle de la page index du
cours (Figure 3.17).
6.
S'il n'y a pas de concepts prérequis non
étudiés, l'agent pédagogique d'adaptation consulte le
modèle du domaine pour déterminer le type de concept ;
conjonction de sous concepts, disjonction de sous concepts ou il a des concepts
analogue. Dans ces cas, il applique les règles de paragraphe 4.1
ci-dessus. Dans notre démonstration, le modèle du domaine ne
contient que la relation de conjonction.
Achieve
A.I
A.P.A
Tell
A.F
Achieve
Tell
Figure 3.15 : protocole d'interaction dans le
cas de génération et affichage de page index du cours
GET
Apprenan
Figure 3.16 : page index du cours pour le niveau
faible pour quelques concepts et moyen pour d'autres concepts avec des concepts
annotés
POST
7.
Si le concept est une conjonction, on crée la page de ce
concept, qui contient les liens des concepts de conjonction dont chaque lien
est annoté par « concept étudié » ou « **
», « ** » indique le concept courant, et contient la page du
premier sous concept non étudié. La Figure 3.18 présente
la page de concept « Infections » qui est une conjonction des
concepts « Erysipèle », « Impétigo »
et « Acnés » dont
le concept courant est « Impétigo », le concept «
Erysipèle » est étudié, le concept «
Acnés » est non étudié. Pour construire cette page,
les mêmes messages de cas de concept simple de l'étape 8 sont
envoyés entre les agents.
8.
Si le concept est simple, l'agent pédagogique
d'adaptation consulte le modèle des activités pédagogiques
pour extraire les tâches induites par l'activité
pédagogique suivie, puis envoie un message à l'agent de filtrage
en demandant le filtrage des documents associés aux tâches
déjà spécifiées, (Acheive:
filtrerTâchesDoc(concepts, tâches)).
9.
L'agent de filtrage filtre les documents et envoie les adresses
à l'agent pédagogique (tell : tâchesDocFiltré
(tâches/adresses)).
10.
L'agent pédagogique construit la structure de la page et
ses liens et les envoie avec les adresses des documents à l'agent
d'interface comme réponse à la demande de
génération de page de concept (tell:
conceptPageGénérer(structure, adresses)).
11.
l'agent d'interface récupère les documents
multimédias selon leurs adresses, génère la page et les
liens selon la structure spécifiée par l'agent pédagogique
d'adaptation, puis envoie la page à l'apprenant comme réponse
à la requête GET.
Tell
Le protocole d'interaction entre agents de scénario de
génération de page de concept est présenté dans la
Figure 3.19.
5.4
Scénario 4 : modification de modèle de l'apprenant
On associe à chaque concept pour chaque activité
pédagogique, un document test d'évaluation sous forme d'un Applet
contenant un ou plusieurs QCM (Questionnaire à choix multiple)
permettant l'évaluation de l'apprenant sur le concept (Figure 3.20).
Le scénario d'évaluation et de mise à
jour de modèle de l'apprenant est le suivant :
1.
L'apprenant après l'étude de concept, il doit
demander le test par clique sur le bouton « Test d'évaluation
» de l'Applet chargé avec la page. La boite de teste s'affiche
(Figure 3.21), après la réponse, il clique sur le bouton «
Valider ».
2.
Si la réponse est considérée suffisante,
l'Applet envoie le résultat d'évaluation à l'agent
d'interface par une requête HTTP, (POST: concept, act-pédag,
idApprenant)
3.
l'agent d'interface formule un message KQML et l'envoie à
l'agent du modèle de l'apprenant pour modifier le niveau de l'apprenant
sur le concept spécifié (Achieve:
modierNiveauApprenant(idApprenant, concept))
4.
l'agent du modèle de l'apprenant modifie le modèle
de l'apprenant et envoie le message (tell :
niveauApprenantModifié(concept, idApprenant)) à l'agent
d'interface.
A.P.A
Tell
A.F
Achieve
Tell
Figure 3.19: protocole d'interaction de
scénario de génération de page de concept
GET
Apprenant
Figure 3.20 : Applettest d'évaluation
associé à chaque concept
Le protocole d'interaction entre agents du scénario de
modification de modèle de l'apprenant est présenté dans la
.
Figure 3.21 : Test d'évaluation
associé au concept Eczéma
Figure 3.22Figure 3.22 : protocole d'interaction
pour le scénario de modification de modèle de l'apprenant
SGBD
|