Post on 08-Jan-2016
description
Roberto Pérez RodríguezManuel Caeiro Rodríguez
Luis Anido Rifón
Universidad de Vigo
MoodleEs el LMS más utilizado
Licencia GPLGran estabilidadComunidad muy activa de desarrolladores
Enfoque constructivistaLos participantes también producen contenidos
To moodle: aprender desordenadamenteProporciona herramientas colaborativas
Foro, chat“Free collaboration does not necessary produce
learning”Nuestro enfoque: dotar a Moodle de un motor de
learnflow
Moodle desde el punto de vista técnicoEscrito en PHP
Lenguaje poco apropiado para el soporte de procesos
Estructura de contenidos muy rígidaCourse, section, topicNo es viable cambiar la manera en la que Moodle
estructura los contenidosDos maneras de tener un nuevo curso
Utilizar la herramienta de creación de cursoRestaurar archivo XML en Moodle Backup Format
Moodle desde el punto de vista pedagógicoSelf-pacing
Todo el contenido del curso está siempre disponible para el alumno (no activity locking)
No hay indicación de progreso (stateless)No es posible definir itinerarios ordenados por los
contenidos y actividadesNo muy distinto de un servicio de reprografía
tradicional, salvo en que todos los participantes y no sólo el profesor son creadores de contenidos (constructivismo)
En los institutos y universidades se controlan los itinerarios por medio de exámenes Planificación basada en objetivos (stateful)
Mecanismos para extender Moodle
Crear un nuevo tipo de actividadCon esta opción no
podremos hacer learnflows utilizando las actividades propias de Moodle
Crear un nuevo tipo de cursoEl nuevo tipo de curso
permitirá hacer learnflows de actividades propias de Moodle
Alternativas para soportar learnflowsAd-hoc learnflowsCSCL scripts
Estas propuestas suelen traducirse a IMS-LD para ser ejecutables con CopperCore
EMLsIMS-LD ha sido criticado por su poca versatilidad a
la hora de definir procesos colaborativosPoEML (Perspective-oriented EML)
Inspirado en el ámbito del workflow Orientado a perspectivas (separation of concerns) Hasta la fecha no tiene desarrollado un motor de
ejecuciónMotores de workflow de propósito general
PropuestaUtilizar PoEML como lenguaje de autoría de
learnflowsUtilizar un motor de workflow de propósito
general para la ejecución de learnflows
PoEMLEML orientado a Perspectivas (separación de asuntos)Perspectivas consideradas:
Data Sólo documentos en los entornos
Structural Jerarquía de Escenarios Educativos
Estructura en árbol ES compuesto de sub-Ess
Order Reglas sobre el orden de realización de sub-Ess
Secuencia (ordenada y desordenada) Paralelo Bucles (evaluación de condiciones)
Motores de workflow de propósito generalGalaxia Workflow Engine
Escrito en PHPIntegración sencilla con MoodleEl código de las tareas es PHPInconvenientes:
El proyecto no está lo suficientemente maduro No contempla jerarquías de unidades de estructuración
Motores de workflow de propósito general Jbpm
Soporta la mayor parte de los patrones de secuenciación definidos en PoEML
Soporta una jerarquía de procesos y subprocesosSoporta la definición de procesos multirolSoporta las restricciones temporales en los procesosProvee mecanismos de monitorización de procesos
Mapeo de entidades PoEML, Moodle y JbpmPoEML Moodle Jbpm
Composed Educational Scenario
Course section Process
Atomic Educational Scenario
Course section Task
ES-root Course Process definition
Tool Resource/activity (Not mapped)
Order Specification: transition
(Not mapped) Workflow construct: transition
Role (Not mapped) Swimlane
Arquitectura del sistema
El sistema en tiempo de ejecución
Importación de un curso
En resumenEl motor de workflow Jbpm se ofrece como una API
de Web ServicesMoodle se trata como un sistema heredado. Se
utilizan técnicas de Desarrollo Software Orientado a AspectosTécnicas:
Ingeniería inversa (identificar pointcuts) Introducción de Aspectos (introducción de advices)
Se identifican las funcionalidades nuevas como Aspectos a introducir en el código Estos aspectos se corresponden con las Perspectivas de
PoEML Data, Order, Structural, Participants, Awareness, etc.
AOP y PoEML tecnologías basadas en separation of concernsLos Aspectos se introducen en el código heredado como
llamadas a Web Services
¡Muchas gracias por su atención!