Soutenance de thèse de doctorat MDEduc: concevoir et implémenter une approche orientée langage pour la conception de scénarios d’apprentissage automatisés César Olavo de Moura Filho Comme l’annonce le titre de cette présentation, les travaux que je vais décrire portent sur une nouvelle approche pour la conception de scénarios d’apprentissage automatisés. Directeur de thèse: Alain Derycke Co-encadrant: Yvan Peter
Plan Problématique et situation du domaine d’étude Proposition conceptuelle L’approche Multi-EML Réalisation technique Le Prototype MDEduc Conclusion -La présentation, prévue pour durer quarante minutes environs, est organisé selon ce plan. 1. D’abord, dans l’introduction, je vous explique l’objet de la thèse ainsi que l’objet de cette présentation. En plus je précise les origines des travaux; 2. Ensuite, je positionne les travaux par rapport au domaine d’étude, à savoir, celui de la conception des scénarios pédagogiques automatisés, dont je décris succinctement l’état de l’art; 3. Ensuite, dans la troisième partie, je vous présente la réalisation conceptuelle de cette recherche: l’approche Multi-EML. Même s’il y a dans la thèse toute une théorie développée pour étayer et défendre mes propositions, pour cette présentation j’ai fait le choix de survoler cette théorie pour pouvoir me consacrer davantage aux aspects plus pratiques de la réalisation conceptuelle et technique.
Problématique et situation du domaine d’étude L’ingénierie des Environnements Informatiques pour l’Apprentissage Humain
L’Ingénierie des EIAH Analyse Langage Auteur Outils CASE Design Evaluation Implémentation Développement Langage Auteur Outils CASE Approche générative Ex. Authorware, ToolBook, LAMS (fig.), etc. Application vs. Scénarios Programmation des scénarios: orientée blocs de construction (gabarits) Instructional System Design Processus de développement de logiciel Approche systématique, division du travail (fig.) Ex. ADDIE (fig.) Application vs. scénarios Scénarios prédéfinis Educational Modeling Languages (EML) Domain Specific Languages/Frameworks Ex. IMS-LD (fig.) Application vs. scénarios Spécification des scénarios: orientée approche pédagogique 0)si l’on définit un scénario comme une façon particulière de s’utiliser une application, càd une séquence particulière d’interactions entre usager et l’application l’informatique est caractérisé par une asymétrie historique entre ses deux composants. Alors que le matériel poursuit sa marche inébranlable en avant, appuyé sur la loi de Moore, le logiciel suit son progrès par secousse, entre une crise et la suivante. -Or, c’est exactement la croissante puissance du matériel qui demande des logiciels toujours plus complexes et plus performants, poussant les développeurs de programmes à créer des solutions toujours plus ingénieuses. -On va voir dans cette ligne du temps quelques solutions proposées par le génie logiciel. Ici, je suis intéressé par le cas particulier des programmes à l’usage éducationnel ou EIAH. -En fait, à chaque nouvelle avancée dans le domaine du génie logiciel, la communauté des EIAH se mobilise pour l’adapter à ses propres besoins. 1)ISD: inspiré du génie logiciel (approche systématique pour le développement d’applications) -après l’épisode crise des logiciels, ont l’idée de s’inspirer des solutions adoptés par d’autres secteurs de l’activité humaine plus chevronnés. -approche organisationnelle systématique (comme une ligne de production), cycle de développement, division du travail, inspiré d’autres industries - Et la communauté EIAH, l’adapté (ADDIE) -refaire des scénarios signifie refaire l’application (cycle de vie long) 2) CASE -programmes qui produisent des programmes -génération, interface graphique (boîtes et flèches) -Durée du développement d’un scénario: courte -échoué un peu partout, même si elle nous a laissé quelques bonne leçons - Adapté par EIAH: modules éducationnels (mostrar LAMS) -qu’est-ce que les concepteurs en aval on pour construire leurs scénarios? Des grands blocs fonctionnels qu’ils doivent les assembler 3) EML: l’idée c’est de spécifier formellement une stratégie pédagogique -contexto: internet, web, -protocoles standardisés; dans ce contexte distribué, il fallait aussi standardiser la façon de représenter les donnés et ainsi permettre l’automatisation des échanges: XML -définissable et validable par un schéma -Adapté par EIAH: EML (cela nous rappelle que maintenant nous sommes au niveau des langages) --EML: pour spécifier une stratégie pédagogique --context EIAH: plates-formes FOAD, réponse aux contenus --stratégie pédagogique qui renferme les contenus et services nécessaires -découplé: application vs. Scénario; entité vs. Processus; concepteurs en amont et en aval - programmation scénario: orientée stratégie pédagogique - là c’est une autre approche selon laquelle il y a deux types de concepteurs (upstream et downstream) -analogie avec le MVC (où les upstream fournissent le Model et les downstream définissent comment les éléments de ce model seront combinés pour en faire l’application finale (c.à.d., ils définissent le Contrôleur) -même si les scénarios sont programmables, les entités avec lesquelles ont peut créer des scénarios sont fixes -cela veut dire que tous les concepteur doivent penser de la même façon -alors que (valeurs, paradigmes -Pour donner un exemple, on peux combiner les divers concepts de l’IMS-LD (activité d’apprentissage, environnement, méthode, etc.) de différentes façons, et ainsi créer des différents scénarios. Mais il faut bien noter qu’on ne peut pas échapper l’univers ontologique du IMS-LD. On doit donc se contenter des concepts proposés par son auteur. 4) IDM -AGLs et Schéma fournissent un langage qui peut être utilisé pour construire des applications, IDM permet de créer des langages, chacun permettant de créer -alors, cette thèse est une proposition pour une telle spécialisation pour l’IDM 1970 1980 1990 2000
Les problèmes des approches (1/2) ISD: couteaux (long, complexe, cher) EML / Langages auteur Langages uniques et fédérateurs Peu spécifiques, perte sémantique “When the language is defined, many of the choices about what to leave in and what to leave out, and therefore what can be said, are made ahead of time by the constraints of syntax and semantics […] Or to put it another way: When all you have is a hammer, every problem looks like a nail. ” (Fields, 2001) Perspectives “valuing one perspective means that other perspectives will be given less value” (Wilson, 1997) 1. La tendance des EMLs et aussi des LA est de créer des langages uniques et intégrateurs qui servent à représenter tout un domaine, dans ce cas spécifique tous les stratégies pédagogiques. Parce que ce domaine est très complexe, les langages intégrateurs deviennent peu spécifique pour la plupart des cas particuliers, impliquant dans une perte sémantique, si l’on jamais veut les représenter. 2. parce qu’un langage définit ce que peut être dit mais aussi ce que ne peut pas être dit, un langage représente une perspective en particulier Bien, avant de proposer une nouvelle approche pour la conception de scénarios pédagogiques, je voudrais parler un peut de quelques problème des autres approches. -ISD: cycle de vie trop long (changer un scénario c’est changer le code) -EML/LA: --langage figé: changer langage c’est changer le code de l’application (ce qui nous renvoi au même problème de l’ISD) --parce que c’est difficile de changer, la solution c’est de créer des langages qui puissent modéliser l’ensemble des situations éducationnelles; --cela nous même à des langages aggrégateurs, avec lesquels on prétend regrouper un domaine entier dans une seule hiérarchie de concepts. --bien, si c’est un domaine bien limité avec des règles bien définies, cette approche semble bien faisable. Mais, si par contre il s’agit 1) même si les scénarios sont programmables, les entités avec lesquelles ont peut créer des scénarios sont fixes -2)Comment peut-on espérer On ne pourrait jamais encadrer deux professionnels avec des conception 3) On fini par standardisé le code
Les problèmes des approches (1/2) EML / Langages auteur (continuation) Decontextualisé “[W]hen developing content for a given course, we take context into account beforehand in the elaboration of our materials, and we then forget about it, trusting that its behavior will always be as expected.” (Figueiredo & Afonso, 2005) Paradigmes “paradigmatic differences cannot be reconciled” (Kuhn, 1962) Neutralité “[T]here is no chance [of] being neutral, as referring to an epistemological and ontological position is unavoidable. Defining the structure of metadata and specifying a conceptual data schema inevitably reflects a specific concept of knowledge and meaning”. (Allert, 2004) Conclusion 1-un langage que se propose à modéliser tout est, par définition et par nécessité, décontextualisé. 2- s’il n’y a qu’un langage on doit se débrouiller avec pour représenter tous les situations, y inclus celle que s’inspirent de paradigmes différents. Cet à dire, , par exemple, que behavioristes et socio-constructivistes auront le même langage pour représenter leurs respectives paradigmes, qui sont pourtant irréconciliables. 3-aussi, ces langages se prétendent neutres, alors qu’on sait que c’est impossible de ne pas prendre une position. Faire référence à une position ontologique et épistémologique est inévitable, selon Allert. 4-Conclusion: on devrait s’en passer des langages intégrateurs, en tout cas dans le domaine des EIAH, et donner préférence plutôt à des langages plus spécifiques.
IDM Le Génie Logiciel a mêmes préoccupations et une tendance actuelle est créer des modèles riches et spécifiques Ingénierie Dirigée Modèles Caractéristique ? Adaptation EIAH? Application vs. scénarios ? Spécification de scénarios ? D’autre part il y une tendance actuelle dans le génie logiciel qui a ces mêmes préoccupations de créer des modèles expressives et spécifiques pour des situations 1970 1980 1990 2000
Language-Oriented Programming (Fowler) L’Approche IDM Language-Oriented Programming (Fowler) Monter le niveau d’abstraction des spécifications des logiciels (DSL vs. GPL) La programmation de bas niveau est laissée à la machine (générateur) On va voir que derrière l’expression IDM il y a des différentes approches, des différentes technologies mais qui se partagent au minimum le paradigme de programmation qui Fowler appelle LOP (par opposition à OOP) et qui a comme caractéristiques: -DSLs sont des spécifications formelles qui correspondent aux langages utilisés par les experts d’un domaine. -Cependant, avant d’utiliser cette technique avec l’éducation, il faut l’adapter. paramétrage
ISD, langage auteur/EML et IDM EIAH EML(s) Scénario(s) ISD LA/EML IDM … Concepteur en amont Concepteur en aval Maintenant on a des informations suffisantes pour tracer un cadre comparatif entre les différents approches utilisées en EIAH Amont: crée les outils Aval: utilise les outils ISD: même les scénarios doivent être prévus par le CA On peut même penser en 3 types de concepteurs Concepteur de langage
La solution IDM pour les EIAH Langages fédérateurs Langages sur mesure (ex. PBL, Jigsaw, etc.) Perspectives, neutralité, paradigmes Différentes perspectives => différents langages Langage décontextualisé Langages conçus par l’enseignant, sur place, juste-à-temps Découplage entre langage et code un même concept peut donner lieu à des différentes implémentations 1- si qqun veut représenter un scénario PBL, qu’il utilise un langage pour les PBL 2- cela n’est plus d’actualité, car les gens qui ont des différentes perspectives utiliseront des langages différents 3-Dans une situation idéale, les enseignants auront des outils pour construire, si nécessaire, leur propres langages, sur place et même juste-à-temps et pour en générer l’application correspondante. 4-Plus que permettre un choix des bons concepts, l’IDM permet aussi de choisir la façon comme ce concept sera implémenté un réglage au niveau de mapping entre ces concepts et l’implémentation spécifique dans une plate-forme. -choix du PIM et mapping PIM -> PDM
Différents approches disponibles Model Driven Architecture (OMG) Software Factories (Microsoft) Eclipse Modeling Framework (Eclipse) Literate Programming (Knuth) Generative Programming (Czarnecki) Intentional Software (Simonyi) etc. Il y a plusieurs technologies implémentant la philosophie IDM, telles le Model Driven Architecture, Software Factories, EMF, Literate Programming et ainsi de suite.
Model Driven Architecture (OMG)
Literate Programming (Knuth) File containing both documentation and code (e.g. myProg.web) Documentation file (e.g. myProg.tex) Traditional GPL code (e.g. myProg.java) Literate Programming Tool (e.g. WEB)
Generative Programming (Czarnecki)
Software Factories (Microsoft) Software families, software components, software frameworks, design patterns, aspects, web services, etc.
Intentional Software (Simonyi)
EMF/Eclipse
Multi-EML: Adaptant l’IDM aux EIAH Comme d’autres fois les EIAH ont adapté les différents approches du GL pour ses propres besoins, Alors, un des objectifs de ma thèse est de proposer l’approche Multi-EML, une adaptation de l’approche IDM aux besoins particuliers des EIAH, ce que je présente maintenant. Etant donné que l’approche IDM se propose à prendre en compte les particularités des divers domaines. on peut commencer par l’adapter à notre domaine d’intérêt, les EIAH.
Multi-EML: Adaptant l’IDM aux EIAH Commencer la création d’un scénario par une spécification informelle Patrons Pédagogiques (PP) Capturer un EML à partir d’une spécification informelle Garder côte à côte et en coïncidence les différentes formes de spécification d’un scénario (spécifications informelles, EMLs et code généré) Simplifier: le processus de création de nouveaux EMLs le processus de génération de code pour des différentes plates-formes Engager l’expert du domaine non-programmeur qui ne veut pas se mêler des aspects plus techniques Càd, on n’aurait pas un éditeur graphique avec des boites et flèches pour construire nos EMLs. Révisiter les spécifications originales, telles qu’ont été conçues par l’expert du domaine (et qui sont censés d’être les plus fidèles du domine en question) On espère que la démarche complète puisse être accomplie par un enseignant.
Multi-EML vs. IDM simplifier Multi-EML Patrons pédagogiques IDM paramétrage Comme cette partie de la synchronisation est garantie par l’IDM, il nous reste que trouver une façon de synchroniser cette autre partie. La solution que j’ai devisée si ce n’est pas l’idéal, nous laisse déjà imaginer des applications utiles.
Les Patrons (ou Patterns) Pédagogiques Spécialisation des patrons de conception Concept partagé par des différents domaines Patrons de Conception (Alexander) Façon d’extraire les bonnes pratiques d’un domaine l’importance de documenter les pratiques, pour qu’on puisse, postérieurement, les reproduire, partager, discuter, adapter, améliorer, etc. Contexte, problème et solution (prouvée) Langage naturel Une des parties fondamentales de l’approche Multi-EML c’est la capture des pratiques, des connaissances des experts, à partir desquels on peut démarrer l’approche. L’avantage des patrons de conceptions c’est qu’il s’agit d’une notation déjà utilisée par d’autres communautés et avec des très bons résultats, en particulier en Informatique. Alors, PP sont des spécialisations pour le domaine des stratégies pédagogiques.
Un Patron Pédagogique* Section contexte Section Problème (extrait) CHALLENGE UNDERSTANDING ** (This pattern was written by H. Sharp) You are teaching a course or seminar. You want students' understanding to be challenged so that you and they will know how well they have learned a topic. *** Students may think they understand a topic when in fact they do not. If they think they understand, they will not ask questions and will not know the gaps in their knowledge. In addition it is not possible to cover all nuances of a topic in notes …One way in which students learn is to ask questions of you and their peers, but…. Therefore, give the participants exercises, tasks or activities that challenge their understanding. These can be in the form of exercises, which help the student to apply techniques by Try it Yourself, or Groups Work [EBS] during… This pattern is quite abstract, and other patterns are needed to refine, extend, and implement it. However we do not refine it in this language, although it is …. Section Solution (extrait) -voilà un petit extrait du patron pédagogique « peer feedback », de Bergin et al. - Dans cet exemple, le patron est présenté dans le formulaire original de patrons, tel proposé par C.A. (avec les petites étoiles séparant les sections, etc). De toute façon, quelque soit le formulaire choisi, le noyau d’un patron se concentre dans la tuple: Contexte - Problème –Solution. -voilà la section contexte…, la section problème … et la section solution. --Regardant ce patron, on voit qu’il y a trois 3 étoiles séparant la section « problème » de la section « solution » --On voit aussi que la section solution commence par un « Therefore ». Cela n’est pas par hasard. En fait, C.Alexander suggère que la section solution commence toujours par « Therefore » suivi d’une virgule (ici je fait une petite parenthèse pour dire que même si ce prototype a été développé en anglais, des techniques d’internationalisation peuvent être facilement mise en place pour permettre sa traduction vers n’importe quelle langue). --Alors, considérant l’nsemble formé par nouveau paragraphe, les 3 étoiles et « Therefore » virgule, on a une simple séquence, commune à tous les patrons respectant le formulaire de Alexander, qui peut être réproduite via un template. --Selon Alexander, même si la solution complète soit exprimée en plusieurs paragraphes, la première phrase renferme toujours un résumé de la solution. Et cette phrase initiale doit obligatoirement s’écrire en gras, ce que nous donne une bonne règle. -Voyons alors comment on peut utiliser le PPEditor pour nous aider dans l’édition de la section solution: -(après la vidéo): Et là on a vu une simple démo de comment l’éditeur peut aider la construction de patrons. Bien sûr, comme j’ai déjà mentionné, d’autres règles et templates peuvent être créés à tout moment. * Peer Feedback pattern (extrait du Feedback Pattern Language - Bergin et al., 2002)
Multi-EML: rôles envisagés Spécification de la plate-forme Auteur Créer le scénario pédagogique (dans une notation informelle) Maintenant, j’utilise les mêmes blocs du slide antérieur pour montrer la participation des différents rôles pendant la création d’un scénario: -d’abord, il y a le rôle d’auteur, le responsable pour démarrer le processus, en créant une description informelle du scénario pédagogique; c’est quelqu’un qui connaît bien le domaine d’éducation (mais pas nécessairement de l’informatique) -Ensuite, nous avons un deuxième acteur, appelé learning designer, qui a des compétences de métamodélisation). Il sera responsable pour: 1. Créer des spécifications formelles (EMLs) 2. Générer des applications dirigées par les EMLs -Finalement, on a le rôle d’informaticien, celui responsable pour : 1. créer de nouvelles spécifications de plate-forme, nécessaires pour enrichir les possibilités de génération du MDEduc A ce moment, deux observations sont d’actualité: -La première c’est qu’on imagine que le rôles de Auteur et Learning Designer, dans des cas plus simples, pourront être joués par l’enseignant. -la seconde c’est que j’ai mis le rôle lié à l’informaticien à part, non parce qu’il soit moins important, mais parce qu’il n’est pas nécessaire pendant la création des scénarios. Une fois les spécifications des plates-formes se font disponibles, les autres rôles mentionnés sont auto-suffisants pour créer les scénarios; Learning designer 1. Créer des spécifications formelles (EMLs) 2. Générer des applications dirigées par les EMLs Informaticien Créer des spécifications pour les différentes plates-formes
Réalisation technique A ce moment, on revient à la réalisation technique, le prototype MDEduc, qui va outiller l’approche Multi-EML Le prototype MDEduc
MDEduc PPEditor EduModel EduGen -Dans cette figure, on peut avoir une vision schématique des modules du MDEduc. -au début de la chaîne, il y a le PPEditor, utilisé pour créer une documentation informelle d’un scénario pédagogique; -ensuite, on a le module EduModel, qui prend le relais du PPEditor pour permettre d’extraire un langage formel (c.à.d. un EML) à partir d’une documentation informelle -Et au bout de la chaîne, on a le EduGen, qui génère une application à partir de l’EML créé par l’EduModel. Powered by Eclipse/EMF (http://sourceforge.net/projects/mdeduc)
PPEditor PPEditor Patron pédagogique -le bonhomme qui conceptualise est la partie la plus importante (LOP) Nous allons maintenant procéder à une explication plus détaillé de chaque application, à commencer par le PPEditor. Il s’agit d’un éditeur syntactique pour créer des patrons pédagogiques.
PPEditor Editeur syntaxique Syntaxe définie à base de: Respecte la syntaxe du formulaire originel de C. Alexander. Syntaxe définie à base de: règles (pattern matching) templates (parties fixes) Et si l’on veut changer le formulaire? Par exemple, par le « GoF Form » D’autres bookmarks et annotations MultiLine Rule Concept 1. Revenant au PPEditor, il a été conçu à base de règles et templates pour aider l ’édition de patrons pédagogiques: -- Règles: Contrôlent la mise en forme des différentes parties d’un patron --templates: Aide l’insertion de parties fixes, communes à tous les patterns 2. l’avantage de cette approche c’est que, si l’on décide de changer le formulaire (par exemple, du formulaire de CA a celui de Gang of Four, il faut pas changer l’éditeur; ça suffit de changer le règles et template.
Règles Templates Par exemple, il y a une règle que dit que si tu trouve une string au tout début de la section « solution » qui commence par « Therefore, » et qui peut
EduModel EduModel Ensuite on a l’EduModel, une application qui permet d’extraire des EMLs à partir de descriptions informelles.
EduModel Editeur d’EML N’a pas d’interface graphique oblige à commencer la conception de l’EML à partir d’une spécification informelle (textuelle) N’impose pas une nouvelle interface Permet de capturer des EMLs à partir de plusieurs sources: PPEditor, EduBrowser et extensions. Éléments basiques de méta-modélisation Sous-ensemble de l’Ecore Synchronisé avec PPEditor Tout ce que voudrais éviter c’était, pendant une expérimentation avec des concepteurs/pédago, dire le suivant: ok, maintenant vous fermez l’éditeur que vous venez d’utiliser pour éditer le patron et ouvrez l’éditeur machin pour créer l’EML. Pour respecter la décision de projet de simplifier la création des EMLs, seuls les éléments les plus basiques de métamodélisation ont été pris en compte -ainsi, l’EduModel implémente juste un sous-ensemble de l’Ecore, le métamétamodèle du EML -Bien sûr, si le Learning Design connaît suffisamment les techniques de méta-modélisation, il peut utiliser l’éditeur Ecore qui vient avec le EML pour créer des méta-modèles plus complexes (par exemple, utilisant des énumérations, littéraux, data types, packages, etc.)
Création d’un EML: nouveau concept PPEditor n Vous voyez qu’il n’y a pas l’impact de changement d’interf Maintenant ace PPModel
EML créé (XMI-Ecore) peerfeedback.ecore Les EMLs créés sont sauvegardés dans le format XMI-Ecore. Voilà l’apparence des fichiers créés pour Stratégie A et Stratégie B. peerfeedback.ecore
Implémenter la synchronisation Point d’extension pour l’EduModel OtherListener PPEditorListener Class:ModelChange Listener Class1Listener Class2Listener IModelChangeListener EduModel PPEditor OtherPlugin Method: modelChanged Method: ClassifierChanged Method: operationChanged() Listener interface listeners listeners.exsd -j’ai déjà parlé de l’importance d’avoir les différentes spécifications synchronisées. Mais comment le faire? -une application dans la plate-forme Eclipse s’appelle plug-in. -l’EduModel a été conçu pour que d’autres plug-ins puissent « observer » ce qui se passe dans le EML créé. Pour cela, il implémente un patron de conception appelé « Observer ». Ce patron de conception est implémenté sous la forme de point d’extension (schématisé dans la figure et spécifié dans schéma). -Un avantage d’utiliser point d’extension: si d’un côté, cela a rajouté une complexité pour l’implémentation d’EduModel, d’autre côté il simplifie considérablement la vie des développeurs de ces plug-ins, car ils pourront implémenter ce mécanisme, sans même avoir besoin de regarder le code d’EduModel.
Application de la synchronisation associer -Une application: par exemple, permettre à un éditeur de texte d’afficher les éléments d’un EML créé, toujours en synchronisme avec le EML. Cela est utilisé par le PPEditor: Quand on associe ce EML (perfeedback), créé avec le EduModel, au patron pédagogique (d’où il est sorti, d’ailleurs) les mots correspondants aux éléments de l’EML seront mise en évidence suivant cette convention (un peu tape-à-l’œil, j’avoue). Plus que ça, comme les deux applications sont synchronisées, c.à.d., si je fait des changements dans le texte, à chaque fois que je tape un mot que fait partie de l’EML, il sera colorié. (autrement dit, le modèles formel et informel restent synchronisés) <<<mostrar animação >>> Obs pra animaçao: -faut même pas regarder le modèle, car on est rappelé à tout moment (colorié) -exemple du « knowledge »: s’il y a qq ch qui cloche dans l’applic: on revisite la source (parce qu ’elle est là à côté) et voit un mot intéressant (e cela peut donner des idées…) -Attends! Pq knowledge n’y est pas représenté? Peut-être que le problème c’est qu’on n’a pas pris en compte les connaissances des élèves. Et si l’on ajoutait un concept pour ça? -cela ne coûte rien d’essayer: disons qu’on crée un nouveau concept « knowledge », on le lie à un « module de banque de questions » pour voir le niveau de connaissance des élèves et régénère l’application. Et on peut vite valider ou falsifier cette hypothèse. -notez que cette approche et radicalement différent des langages auteurs, car ici on est mené a conceptualiser la stratégie et après, chercher l’équivalent sémantique le plus proche dans notre arsenal d’« éléments » de X---------xxxxxxxxxxxxxxxxx-------------xxxxxxxxxxxx----------------xxxxxxxxxxxxxx-------------- simulation
Application de la synchronisation
EduGen EduGen Et finalement, une fois qu’on a une notation formelle et une formelle pour notre scénario, la prochaine étape c’est de générer le code et pour ça nous avons le EduGen, le générateur d’applications du MDEduc.
EduGen Génère l’application choisie à partir d’un EML Prend en compte l’Ecore complet Spécification de la plate-forme Java Emitter Templates (JET) 1. 2. On a vu que, visant à simplifier la métamodélisation l’EduModel n’utilisait qu’un sous-ensemble. Cependant, l’EduGen génère des applications pour l’Ecore complet (ce qui permet que des métamodèles créés avec d’autres éditeurs puissent servir de base pour la génération aussi) 3. C’est dans l’EduGen qui nous pouvons choisir la plate-forme pour laquelle on veut déployer notre application. L’EduGen accepte des spécifications de plate-forme dans la technologie Java Emitter Templates (JET)
La transformation EML / code EMF => GenModel Solution EduGen Stéreotype Différent de l’approche standard EMF (évite GenModel) Ecore -> EAnnotation Exemple pour une application Web servlet, JSP, HTML, DTO, DAO, web deployment descriptor et ANT script mapping A C B -j’avai dit tout à l’heure que l’avantage de l’approche IDM c’est que plus que choisir les concepts souhaités, elle permet de choisir la façon d’implémenter ce concept. En fait, c’est un question fondamentale parce que on a beau répéter que tel concept est une activité ou un étudiant, on n’a que l’application générée pour exprimer la sémantique aux usagers. -après tout on est dans l’informatique, et la façon de communiquer avec l’usagers, c’est le logiciel. Le bon choix de l’« artefact » qui va représenter mon concept est donc primordial. C’est-à-dire il faut choisir l’élément (de l’interface? Du logiciel?) le plus proche sémantiquement de mon concept. -L’EduGen utilise le concept de stéreotype pour implémenter Xxxx------xxxxxx----------xxxxxxxxxxxxx-------------xxxxxxxxxxxxxxxx---------- -les éléments du modèle sont marqués avec des informations sémantiques --différente du EMF standard: cela veut dire que j’ai du Méta-modèle domaine Méta-modèle Plate-forme
Règles de Transformation Ecore / Web Application Métamodèle Stéreotype Code généré EClass Session Servlet, JSP Entity DAO, DTO EPackage - Page HTML (de navigation) Descriptor Web descriptor, ANT Script EReference <a href> (JSP), RequestDispatcher (servlet), etc. EAttribute InputField <input type=”text”> (JSP), String (servlet), etc. TextArea <textarea> (JSP), String (servlet), Password <input type=”password”> (JSP), String (servlet) EOperation <form>+<input type=”submit”>(JSP), méthode (servlet) -Cela veut dire qu’il y a des classes et de classes -on convient qu’une classe appelée « Etudiant » n’a pas le même statut (?) qu’une classe appelée « Créer_Artefact » (une renferme l’idée d’une « entité » alors que l’autre c’est plutôt une « opération »). Alors on marque cette diférence sémantique avec des stéreotypes. Xxxxx------------xxxxxxxxxxxx------------xxxxxxxxxxxxx----------------- -il s’agit d’une correspondance sémantique. Par exemple, un attribut dans un métamodèle est essentiellement un élément pour stocker des informations, ce qui dans un JSP correspond à un champ texte (utilisé par les usagers pour entrer l’information. -bien sûr, je montre ici le mapping entre le métamodèle et un fichier JSP généré. Mais il y a plein d’autres codes générés (comme on a vu dans les fichiers créés), tels servlets, des objets pour simplifier l’accès aux bases de donnés (DAOs), des objets de transfert d’information (les DTOs), des descripteurs de déploiement, des pages HTML, etc. et pour chacun il y a un mapping entre ses éléments et ceux du métamodèle.
Entités vs. Session
EduBrowser Le MDEduc a aussi un browser avec toutes les fonctionnalités essentielles d’un browser, mais qui remplace le menu contextuel (d’habitude du système d’exploitation) par un autre avec les actions de l’EduModel (telles qu’on voit sur l’écran). Cela permet de capturer des métamodèles à partir de descriptions informelles trouvées sur l’Internet.
Conclusions et Perspectives Finie la présentation des réalisations, on passe maintenant à la partie finale de cet exposé, avec le résumé, les contributions apportées par ces travaux et la suite envisagée pour cette recherche.
Résumé (1/2) On note la volonté de la communauté EIAH d’outiller le concepteur/pédagogue. Une pratique actuelle c’est d’utiliser l’approche EML, qui, selon ce qu’on a pu constater au long de cette recherche, a une tendance d’appauvrir la diversité du domaine d’éducation, imposant une homogénéisation de la pratique. On s’est inspiré de l’expérience en Génie Logiciel (en particulier en Ingénierie Dirigé Modèles), qui préconise la multiplicité de modèles, ainsi comme la génération automatique de code à partir de ces modèles. On note la volonté de la communauté EIAH d’outiller le pédago. Une pratique actuelle c’est d’utiliser l’approche EML, qui, selon ce qu’on a pu constater au long de cette recherche, a une tendance d’appauvrir la diversité du domaine d’éducation, imposant une homogénéisation de la pratique. On s’est inspiré de l’expérience en Génie Logiciel (en particulier en Ingénierie Dirigé Modèles), qui préconise la multiplicité de modèles, ainsi comme la génération automatique de code à partir de ces modèles. Le travail de la thèse a pour but appliquer ces préceptes dans le domaine des EIAH et dans ce sens, on a: Formalisé une démarche Implémenté un prototype sur un environnement emblématique le l’IDM (la plate-forme Eclipse) Il y a un point qui n’a pas été mentionné: les travaux présentés ont à l’origine des expérimentations menés au Brésil auprès des enseignants d’une université technologique.
Résumé (2/2) Le travail de la thèse a pour but appliquer les préceptes d’IDM dans le domaine des EIAH: Formalisé une démarche Implémenté un prototype sur un environnement emblématique le l’IDM (la plate-forme Eclipse) Il y a un point qui n’a pas été mentionné: les travaux présentés ont à l’origine des expérimentations menés au Brésil auprès des enseignants d’une université technologique.
Contributions (1/2) Clarifier ce qu’est la conception des EIAH à la lecture de Herbert Simon et sa théorie de la conception. Elaboration d’un cadre conceptuel pour analyser les différents spécifications de scénarios pédagogiques selon la classification « conception orientée entités » et « conception orientée processus », ainsi que les rôles des concepteurs entre concepteurs « en amont » et « en aval » Des critères pour analyser la qualité des modèles conceptuels, selon expressivité, spécificité, neutralité, et le rôle du contexte. Pour ce dernier j’ai créé un schéma pour analyser la contextualité d’un scénario: contexte du langage Contexte du concepteur pédagogique Contexte de l’élève Clarifier ce qu’est la conception des EIAH à la lecture de Herbert Simon et sa théorie de la conception. …. Et qui se sont montrés très utiles tout au long de la thèse
Montrer la non-viabilité d’EML unique. Contributions (2/2) Montrer la non-viabilité d’EML unique. Spécification d’un cycle de développement qu’exploite les aspects pragmatiques de l’approche IDM pour la génération automatique d’applications à partir d’un modèle, tout en restant focalisé sur les préoccupations spécifiques de la conception des EIAH. Ce cycle préconise la liaison entre les spécifications informelles, formelles et code d’un même scénario.
Travaux futurs MDEduc Elaborer et mettre en œuvre un protocole d’expérimentation du prototype avec des vrais experts (concepteurs, pédagogues, enseignants) Modéliser les processus de conception des scénarios en sorte d’aider les concepteurs (intermédiaires et en aval) dans la conception Comment améliorer les « contenus » (PP, EML, templates, etc.) ? open movements Communautés de pratiques (wikis, CVSs, etc.) 1. Le prototype décrit dans cette présentation n’a pas été testé auprès des experts du domaine d’éducation. Alors, l’objectif primordial pour la suite des travaux c’est d’élaborer et de mettre en œuvre un protocole d’expérimentation du prototype avec des vrais experts (concepteurs, pédagogues, enseignants) 2. Même si j’ai envisagé la facilité d’utilisation du MDEduc (ex. commençant la démarche par une description informelle, utilisant un sous ensemble du métamodèle ECORE, etc.), force est de reconnaître que le MDEduc peut encore poser des problèmes à quelques usagers cibles. Alors, l’idée est de, à partir des retours d’usage de ces usagers, élaborer des processus automatisés pour faciliter la conception des scénarios (par exemple, sous la forme de wizards). 3. Une partie très importante des travaux futurs c’est l’ajout de nouvelles plates-formes cibles. Ce sont de nouvelles spécifications (sous la forme de templates JET) qui permettront d’étendre le spectre d’applications possibles d’être générées par le MDEduc. Là c’est clairement une tâche pour les informaticiens. 4. Pour finir, Il est fort improbable que les divers ressources produits et utilisés par les usagers avec MDEduc (les patrons pédagogiques édités, les métamodèles créés, les templates développés) soient déjà des versions haut de gamme d’un premier coup. Par exemple, le métamodèle du scénario peer-feedback utilisé dans cette présentation, créé dans une trentaine de minutes, ne se prêterait probablement pas pour un usage réel. -Certainement, pour chacun de ces ressources élaborés, il va falloir des allers et retours avant qu’on les considère prêts pour une situation éducationnelle réelle. Alors il faut envisager aussi une approche pour faciliter l’amélioration des ressources créés. -A mon avis, les « open mouvements » se prêtent bien à ce propos. Les OM sont caractérisés par la création d’un ressource quiconque suivie d’une vite publication, probablement dans un état encore loin d’être parfait. Ces contribution peut alors être modifiées par d’autres membres au sein d’une communauté, visant ainsi à l’affinement progressive de la qualité des contributions. -la logique derrière les mouvement ouverts est bien caractérisée par cette phrase de Eric Raymond: S’il y a de gens suffisant en train de regarder un ressource partagé, les erreurs seront vite repérés et réparés. - Je crois que des communautés de pratiques peuvent s’établir, en s’appuyant sur de outils qui supportent cette philosophie de la participation et du partage, tels les wikis, les portails, les CVSs, etc. Une fois ces communautés formées, la tendance c’est que les patrons, les EMLs et les templates produits dans le MDEduc atteignent plus vite les qualités désirées.
Merci Questions Remerciements Le Laboratoire Trigone Le personnel de l’équipe NOCE CEFET-CE (Brésil) CAPES (Brésil) Merci beaucoup.