160 likes | 269 Vues
This paper presents a novel middleware approach using Perspective-oriented EML (PoEML) to enhance educational processes in Moodle, the most widely used Learning Management System (LMS). It discusses the limitations of Moodle's rigid content structure and self-paced learning design, proposing solutions to create flexible and collaborative learning experiences. By integrating PoEML with general-purpose workflow engines like Jbpm, educators can define better learning flows that include participant-generated content, offering a constructivist environment tailored to diverse educational needs.
E N D
SupportingPoEMLEducationalProcesses in Moodle: a Middleware Approach Roberto Pérez Rodríguez Manuel Caeiro Rodríguez Luis Anido Rifón Universidad de Vigo
Moodle • Es el LMS más utilizado • Licencia GPL • Gran estabilidad • Comunidad muy activa de desarrolladores • Enfoque constructivista • Los participantes también producen contenidos • To moodle: aprender desordenadamente • Proporciona 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écnico • Escrito en PHP • Lenguaje poco apropiado para el soporte de procesos • Estructura de contenidos muy rígida • Course, section, topic • No es viable cambiar la manera en la que Moodle estructura los contenidos • Dos maneras de tener un nuevo curso • Utilizar la herramienta de creación de curso • Restaurar archivo XML en Moodle Backup Format
Moodle desde el punto de vista pedagógico • Self-pacing • Todo el contenido del curso está siempre disponible para el alumno (no activitylocking) • No hay indicación de progreso (stateless) • No es posible definir itinerarios ordenados por los contenidos y actividades • No 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 actividad • Con esta opción no podremos hacer learnflows utilizando las actividades propias de Moodle • Crear un nuevo tipo de curso • El nuevo tipo de curso permitirá hacer learnflows de actividades propias de Moodle
Alternativas para soportar learnflows • Ad-hoc learnflows • CSCL scripts • Estas propuestas suelen traducirse a IMS-LD para ser ejecutables con CopperCore • EMLs • IMS-LD ha sido criticado por su poca versatilidad a la hora de definir procesos colaborativos • PoEML(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ón • Motores de workflow de propósito general
Propuesta • Utilizar PoEML como lenguaje de autoría de learnflows • Utilizar un motor de workflow de propósito general para la ejecución de learnflows
PoEML • EML 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 general • Galaxia Workflow Engine • Escrito en PHP • Integración sencilla con Moodle • El código de las tareas es PHP • Inconvenientes: • 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 subprocesos • Soporta la definición de procesos multirol • Soporta las restricciones temporales en los procesos • Provee mecanismos de monitorización de procesos
En resumen • El motor de workflowJbpm se ofrece como una API de Web Services • Moodle se trata como un sistema heredado. Se utilizan técnicas de Desarrollo Software Orientado a Aspectos • Té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 concerns • Los Aspectos se introducen en el código heredado como llamadas a Web Services