780 likes | 2.52k Views
Méta-modélisation UML pour la conception et la mise en œuvre de situations-problèmes coopératives. Soutenance de thèse présentée par Pierre Laforcade Laboratoire d’Informatique de l’Université de Pau et des Pays de l’Adour. Directeur de thèse : Franck Barbier
E N D
Méta-modélisation UML pour la conception et la mise en œuvre de situations-problèmes coopératives Soutenance de thèse présentée par Pierre Laforcade Laboratoire d’Informatique de l’Université de Pau et des Pays de l’Adour Directeur de thèse : Franck Barbier Encadrants : Thierry Nodenot, Christian Sallaberry
Plan • Introduction aux modèles pour la e-formation • Étude des situations-problèmes, plates-formes et UML • Contribution • Langage de conception CPM • Modèle de composant éducatif CPL • Bilan et perspectives
Plan • Introduction aux modèles pour la e-formation • Domaine des EIAH • Cadre de travail : situation-problème et plate-forme • Processus de e-formation et phase de conception • Notre problématique • Objectif, orientations et méthodologie • Étude des situations-problèmes, plates-formes et UML • Contribution : langage CPM et composant CPL • Bilan et perspectives
Domaine des EIAH • EIAH (Environnement Informatique pour l’Apprentissage Humain) • Tout environnement informatique conçu pour favoriser un apprentissage humain • Recherche pluridisciplinaire : Sciences Humaines et Sociales + Informatique • Ingénierie des EIAH • Fournir des moyens reproductibles et/ou réutilisables pour faciliter la mise en place de situations d’apprentissage dans leur articulation avec les dispositifs informatiques [Tchounikine, 02]
Analyse didactique du contexte Étude des comportements émergents, activité réelle, usage effectif des outils Identification des objectifs d’apprentissage Conception et spécification de l’activité proposée : • Conception de la tâche à réaliser • Identification des acteurs et de leurs rôles • Articulation acteurs/outils • … Étude du contexte d’insertion de l’activité Problématique générale • Comment modéliser la complexité d’une situation d’apprentissage ? Problèmes inter-reliés
Situation-problème coopérative (PBL) Plates-formes de formation à distance (FAD) Cadre de travail : PBL et plates-formes • EIAH : • Intention didactique + environnement informatique • Ingénierie des EIAH : • E-formation • Processus industrialisé • Importance des modèles de conception
Mise en œuvre Conception Formation Module Module Module Module Unité pédagogique objectifs de formation pré-requis contenu durée Processus d’utilisation Instanciation de la formation Exécution de la formation Processus de e-formation Processus itératif de conception
met à disposition Ressources pédagogiques ressources à développer Scénario pédagogique Description (informelle) de la tâche nouvelles fonctionnalités à développer Informations sur la plate-forme cible Phases de conception et de mise en œuvre en détail
Notre problématique Comment faciliter l’élaboration de modèles pour la conception et la mise en œuvre de situations-problèmes coopératives sur des plates-formes de formation à distance ?
Modélisation UML Méta-modélisation UML Objectif, orientations et méthodologie • Objectif • Fournir un langage de modélisation • Dédié aux PBL et aux plates-formes de FAD • Public cible • langage l’ingénieur pédagogique • modèles élaborés l’équipe pluridisciplinaire de conception • Usages des modèles • Outils de communication et d’abstraction • Orientation pour le langage • Langage graphique • Spécialisation d’UML PBL plates-formes de FAD
Plan • Introduction aux modèles pour la e-formation • Étude des situations-problèmes, plates-formes et UML • Situations-problèmes coopératives • Plates-formes de formation à distance • Modélisation et méta-modélisation UML • Contribution : langage CPM et composant CPL • Bilan et perspectives
Activités Situation authentique • Présentation • Analyses/productions • Présentations individuelle et production d’une solution commune • Correction effectué en surmontant Ressources Contraintes • responsabilisation • sécurité/prévention routière • code de la route • accident de vélo • témoignages • carte village • feuille de notes • plusieurs responsables • reconstituer l’accident • trouver responsable • témoignages différents • nombre limité lié à la réalisation Rôles • enquêteurs • chef de police Situations-problèmes coopératives (PBL) Cas d’étude : SMASH (enfants 8-12 ans) Objectifs pédagogiques/apprentissage Problème/obstacle Tâche/objectif
Technologies Évolutions plates-formes temps Diffusion de cours individualisé en asynchrone applications synchrones Suivi des apprenants Interactivité (chat, forum, classe virtuelle,…) Support d’apprentissages coopératifs applications distribuées (composant) Apport pour architecture et structure : environnement ouvert et flexible Nouveaux usages ? Plates-formes de formation à distance • Définition • Dispositif de formation à distance utilisant les réseaux informatiques comme support • Constat • Concepteur doit s’adapter aux plates-formes • Objets d’apprentissage et services
Le langage UML • Utilité • visualiser, spécifier, construire, documenter les éléments d’un système • Langage semi-formel • 12 diagrammes (UML 2) • Diagrammes statiques (classe, objet, paquetage, etc.) • Diagrammes dynamiques (états/transitions, activités, etc.) • Syntaxe UML • abstraite : méta-modèle UML, enrichi par contraintes OCL • concrète : la notation
Méta-modélisation UML • Utilité • Spécialisation d’UML à un domaine • Représentation partagée pour le public cible • « Outil » de communication • « Outil » de partage de modèles • Solution : profil UML • Mécanisme d’extension • Ensemble cohérent de : • Éléments sélectionnés • Stéréotypes, définitions de valeurs marquées • Contraintes, règles • Utilité des outils supportant les profils UML • Aide à l’élaboration des modèles • Exploitation des modèles
Plan • Introduction aux modèles pour la e-formation • Étude des situations-problèmes, plates-formes et UML • Contribution • Contribution globale • Langage de conception CPM • Modèle de composants éducatifs CPL • Bilan et perspectives
Contribution 1 • Un langage support pour la modélisation de PBL • dédié à la phase de conception • indépendant des plates-formes • sous la forme d’un profil UML • Contribution 2 • Un modèle de composant éducatif pour réduire l’écart entre : • les besoins de conception • les fonctionnalités fournies par la plate-forme Constat, positionnement et contribution globale
Plan • Introduction aux modèles pour la e-formation • Étude des situations-problèmes, plates-formes et UML • Contribution • Contribution globale • Langage de conception CPM • Modèle de composants éducatifs CPL • Bilan et perspectives
Syntaxe concrète (notation) : • le profil CPM • Syntaxe abstraite (concepts et relations) : • le méta-modèle CPM M3 MOF Méta-méta-modèle conforme à conforme à M2 Méta-modèle UML Méta-modèle CPM spécialise Profil CPM M1 Modèle M0 Le réel « perçu », run-time instances (Cooperative PBL Metamodel ) Le langage CPM • Démarche de spécification du langage CPM • Sémantique : • Descriptions et règles (langage naturel & OCL)
<<enumeration>> enCollaborationAvec RôleType 0..1 * Rôle apprenant tuteur 1 * roleType : RôleType réalise * * Personne 1 * Activité pédagogique joue Ressource produit utilise estResponsableDe * * * * représentation mentale service savoir savoir-faire événement pédagogique objet d’apprentissage Le modèle conceptuel
Modèle conceptuel CPM Étude de structures d’organisation pour l’activité DARE SIMULIGNE [Guareis,00] IMS-LD SPEM Aspects sociaux Aspects structurels Aspects pédagogiques Décomposition interne Composition externe Règles/contraintes Pré-requis/objectifs Ressources/outils Rôles/activités Collaboration Droits/outils Construction du méta-modèle CPM Basé sur
Le méta-modèle CPM • Les différents paquetages du méta-modèle CPM Sous-ensemble d’UML 1.4 <<metamodel>> CPM_Foundation <<use>> CPM_Extensions <<metamodel>> <<metamodel>> CPM_SocialPackage CPM_PedagogicalPackage <<metamodel>> <<metamodel>> CPM_BasicElements CPM_StructuralPackage
Le méta-modèle CPM : extraits CPM_SocialPackage CPM_StructuralPackage Context ActivityStructure inv: self.subStructure->forall( v | v.oclIsKindOf(ActivityStructure) or v.oclIsKindOf(Activity) )
Le profil CPM • Diagrammes privilégiés pour la notation : • Diagramme de classes • Permet de modéliser l’ensemble des relations statiques entre concepts d’une PBL • Diagramme de cas d’utilisation • Permet en amont de définir les activités et les rôles impliqués • Diagramme d’états • Permet de détailler l’évolution temporelle des états des ressources • Diagramme d’activités • Permet de détailler la dynamique de l’enchaînement des activités
Classes alternatives Le profil CPM : extraits
Class <<LearningPhase>> Acte 1 - Présentation {phaseKind="Acte"} Exemples de modèles CPM : aspects structurels Diagramme de classes
Class <<LearningPhase>> Act 3 – Result pooling {phaseKind="Acte"} Operation <<LearningPhase>> Scene X - … {phaseKind="Scene"} Exemples de modèles CPM : aspects structurels Diagramme de classes
SubActivityState <<LearningPhase>> Act 3 – Result pooling {phaseKind="Acte"} ActionState <<LearningPhase>> Scene X - … {phaseKind="Scene"} Exemples de modèles CPM : aspects structurels Diagramme d’activités
Actor Actor <<Role>> Les enquêteurs {roleKind="Apprenant"} <<Role>> Chef de la police {roleKind="Tuteur"} UseCase <<Activity>> … Exemples de modèles CPM : aspects sociaux Diagramme de cas d’utilisation
Partition <<Role>> {roleKind="Apprenant"} Partition <<Role>> {roleKind="Tuteur"} ActionState <<CollaborativeActivity>> Exemples de modèles CPM : aspects sociaux Diagramme d’activités
mis en œuvre • Profile Builder • Modeler conformes à des modèles pour SMASH Vérifications et mises à l’essai Méta-méta-modèle M3 UML M2 Méta-modèle spécialise Profil CPM Modèle M1 Réel perçu M0
Extrait du profil implanté dans Objecteering Profile Builder Recherche guidée d’informations Vérification des modèles (contraintes syntaxiques) Élaboration de modèles avec Objecteering Modeler Ajout d’éléments Onglet de propriétés Projection vers d’autres langages Réalisations • Outillage avec un AGL existant : Objecteering • Objectifs • Implémenter le langage CPM • Outillage avec un AGL existant : Objecteering • Objectifs • Implémenter le langage CPM • Vérifier l’élaboration de modèles conformes au langage CPM • Prototyper un système-auteur adapté à l’ingénieur pédagogique • Expérimenter la plus-value de modèles graphiques et interprétables par la machine • Outillage avec un AGL existant : Objecteering • Objectifs • Implémenter le langage CPM • Vérifier l’élaboration de modèles conformes au langage CPM • Outillage avec un AGL existant : Objecteering • Objectifs • Implémenter le langage CPM • Vérifier l’élaboration de modèles conformes au langage CPM • Prototyper un système-auteur adapté à l’ingénieur pédagogique
Les modèles produits avec CPM • Mise à l’essai de SMASH • Sur la base de documents pédagogiques validés en amont par des pédagogues/enseignants • Spécification d’un scénario : • rôles, ressources • activités individuelles • activités collaboratives • coopération • événements • Analyse détaillée • des rôles • des ressources • des activités • des connaissances • Définition • des objectifs • de la fiche de tâche • des critères de succès • de l’obstacle • des rôles Vue = ensemble de diagrammes Modèle = ensemble de vues Expression initiale des besoins Analyse Conception
Plan • Introduction aux modèles pour la e-formation • Étude des situations-problèmes, plates-formes et UML • Contribution • Contribution globale • Langage de conception CPM • Modèle de composants éducatifs CPL • Bilan et perspectives
Contribution 2 : notre approche • Idée : • ajouter de nouvelles fonctionnalités aux plates-formes • capturer les activités de base récurrentes dans les modèles de conception de PBL • Proposition : • Le composant éducatif CPL • capture une activité élémentaire réutilisable(pour les concepteurs) • est implémenté comme un composant logiciel « métier » sur la plate-forme (pour les développeurs de composants)
Contribution 2 : détails des réalisations • Un modèle spécifique pour le composant CPL • Basé sur le modèle de composant UML 2 • Permet de décrire, spécifier les composants CPL sur la base des composants logiciels des plates-formes • Composé de • Une vue d’assemblage « boîte noire » • Des vues comportementales • Démarches • Construction d’une bibliothèque de modèles de CPL (pour les développeurs de composants et les concepteurs) • Réutilisation des modèles de CPL (pour les concepteurs) • Extension du langage CPM • Ajout du concept d’activité réutilisable (pour les concepteurs) • Modélisation des composants CPL(pour les développeurs de composants)
Modèles de CPL Modèles de CL Gestion Conflit Besoins en activités élémentaires Chat Question/ réponse Langage CPM abstraction Mettent en valeur Nouveaux modèles de conception avancée Modèles de conception CPL CPL CPL CPL CPL Mailing Lecture FAQ Timer Visioconf Chat Agenda Forum Instant messaging Situations-problèmes coopératives Plates-formes de FAD Contribution 2 : illustration des démarches
Plan • Introduction aux modèles pour la e-formation • Étude des situations-problèmes, plates-formes et UML • Contribution • Bilan et perspectives
Langage CPM Modèle CPL Modèles Modèles Modèles Modèles Conception Expression initiale des besoins Analyse Conception avancée Implémentation Déploiement Test Évaluation Phase de conception Bilan Aide à la conception et la mise en œuvre de PBL • Objectif • Aide à la conception de PBL en phases amont : décrire, spécifier, documenter, abstraire complexité, favoriser communication équipe pluridisciplinaire • Réalisations • Langage CPM pour l’ingénieur pédagogique • Prototype d’environnement-auteur via un AGL existant • Mise à l’essai sur un cas d’étude riche • Objectif • Aide à la mise en œuvre de PBL sur des plates-formes • Réalisations • Composant éducatif CPL • Modélisation UML 2 • Double démarche (1-spécification de CPL, 2-réutilisation de CPL) • Extension du langage CPM
Bilan sur les apports de la contribution • Le modèle de composants CPL • Approche originale et novatrice • Nécessite un travail en profondeur • Le langage CPM : identifier et décrire les apports de la (méta)-modélisation UML • Conceptualisation explicite • Meilleure capitalisation des connaissances • Améliore communication • Exploitation des modèles via les AGL • Vers des nouveaux usages pour les modèles CPM • Difficulté de modélisation • Choix de représentation • Complexité des modèles
Perspectives • Validation des modèles CPM • Comment : • Expérimentation du langage CPM par • Communauté UML et communauté EIAH • Pour quoi : • Cadrer les usages du langage • Servir de base pour l’élaboration d’une méthode • Méthode adaptée au langage CPM • Comment : • Méthodes UML (RUP, 2TUP, etc.) • Méthodes de design pédagogique (MISA, Recre@sup, etc.) • Pour quoi : • Guider la conception des modèles • Vers une ingénierie des modèles ?
Merci de votre attention Méta-modélisation UML pour la conception et la mise en oeuvre de situations-problèmes coopératives
M3 Class Méta-méta-modèle (MOF) <<instanceOf>> <<instanceOf>> <<instanceOf>> M2 <<metaclass>> Attribute <<metaclass>> Class <<metaclass>> Instance Méta-modèle (Ex. UML) <<stereotype>> Role {<<taggedValue>> type : string[1] } <<instanceOf>> <<instanceOf>> <<instanceOf>> M1 Modèles <<Role>> Chef_Police {type="tuteur"} :Chef_Police Chef_Police nom= "Nicolas" nom : string M0 Le réel « perçu », run-time instances Un chef de police Illustration du modèle en couche de l’OMG
Exemple de modèles de CPL • Modélisation UML 2 • Gestion conflit
Exemple de CPL (2) • State Machine associé à l’interface Ituteur
Exemple de CPL (3) • State Machine associé à l’interface Iapprenant
Propriétés du langage CPM • Reproductibilité, réutilisation, indépendance médium/configuration/plates-formes, personnalisation • Propriétés de personnalisation : • Terminologie « ouverte » : peut être enrichie selon besoins des concepteurs • Via : • Les stéréotypes : Relation, Activity, StaticPBLElement, DynamicPBLElement, resource, PBLConstraint • Et leurs valeurs marquées : relationKind, activityKind, … • Exemples : • Une contrainte de durée pour les activités : • <<PBLConstraint>> avec {constraintKind=Duration} • Une relation d’équivalence entre 2 ressources : • <<Relation>> avec {relationKind=IsEquivalentOf}
Le méta-modèle CPM • Les concepts