Hacia una arquitectura para sistemas de e- learning - IEEE-RITA
Transcription
Hacia una arquitectura para sistemas de e- learning - IEEE-RITA
230 IEEE-RITA Vol. 4, Núm. 3, Ago. 2009 Hacia una arquitectura para sistemas de elearning basada en PoEML Roberto Pérez Rodríguez, Manuel Caeiro Rodríguez, Member, IEEE, Luis Anido Rifón, Member, IEEE Title— Towards a PoEML-based Architecture for E-learning Systems. Abstract—The current panorama of Learning Technologies is composed of not interoperable technological domains. Thus, there are web-based systems, m-learning systems, and the recent concept of t-learning systems. In this paper we present a proposal of architecture to support the interoperability of e-learning systems, independently of the access technologies used by participants. That architecture enables the collaboration between participants in the same learning process, which is formalized by using the PoEML Educational Modeling Language. Index Terms—e-learning, ubiquitous computing, Computer Supported Collaborative Learning, interoperability I. INTRODUCCIÓN D URANTE los últimos años, las Tecnologías del Aprendizaje se han convertido en un sector estratégico tanto para empresas como para universidades. E-learning es una palabra que engloba numerosos conceptos tales como aprendizaje a distancia, aprendizaje asistido por ordenador, y muchos otros. A pesar de los recientes avances en la estandarización de las Tecnologías del Aprendizaje, los sistemas de e-learning, tanto propietarios como open-source, son desarrollados sin el suficiente soporte para la interoperabilidad. Las consecuencias de este enfoque son que cada nuevo sistema es desarrollado desde cero, los sistemas no son compatibles, los Contenidos Educativos no son portables entre sistemas y, lo que es peor, las Tecnologías del Aprendizaje no evolucionan al siguiente nivel de desarrollo. Como en todo ámbito tecnológico que alcanza un cierto estado de desarrollo han aparecido ciertos estándares de facto que intentan hacer compatibles las diferentes tecnologías y unificar esfuerzos. La mayor parte de estas especificaciones se centran en los contenidos de los sistemas de e-learning Roberto Pérez Rodríguez está en el Departamento de Ingeniería Telemática, Universidad de Vigo, 36310 Vigo, España (e-mail: rperez@gist.det.uvigo.es) Manuel Caeiro Rodríguez está en el Departamento de Ingeniería Telemática, Universidad de Vigo, 36310 Vigo, España (e-mail: Manuel.Caeiro@det.uvigo.es) Luis Anido Rifón está en el Departamento de Ingeniería Telemática, Universidad de Vigo, 36310 Vigo, España (e-mail: Luis.Anido@det.uvigo.es) DOI (Digital Object Identifier) Pendiente (tutoriales, lecciones, ejemplos, exámenes, etc.), definiendo estándares de clasificación, creación y distribución de dichos contenidos. En los últimos años ha aparecido un nuevo enfoque en cuanto a las especificaciones de diseño centrado en el proceso educativo (o de aprendizaje atendiendo a la denominación en inglés de learning process). El proceso educativo se refiere a la realización y coordinación de las diferentes actividades de una unidad pedagógica (e.g. seminario, jornada, curso académico), en los que no es suficiente con describir los contenidos sino que hay que especificar, por ejemplo, qué tienen que hacer los alumnos, el orden en el que hay que realizar los contenidos, etc. En la actualidad, la arquitectura de los sistemas de elearning es dependiente de la tecnología de acceso. De esta manera tenemos sistemas inter-departamentales que dependen de la tecnología de la intranet corporativa, sistemas basados en Web, sistemas basados en la televisión digital, y sistemas basados en dispositivos móviles. Cada uno de estos sistemas presenta habitualmente un diseño monolítico que hace virtualmente imposible su extensión para soportar una tecnología de acceso distinta. XML es el estándar de mayor utilización para la representación de información de forma independiente de su presentación. Las aplicaciones, al proveer interfaces basadas en XML, pueden ofrecer su funcionalidad independientemente de la tecnología final utilizada por el usuario para acceder a ellas. De esta manera, los Escenarios Educativos pueden contener recursos consumibles desde varias tecnologías de acceso. En este artículo se presenta una propuesta de arquitectura para sistemas de e-learning que no depende de la tecnología de acceso empleada. Para ello se ha optado por una Arquitectura Basada en Componentes, en la cual cada componente del sistema tiene una funcionalidad independiente y realiza una o varias interfaces bien definidas. De esta manera, el soporte de una nueva tecnología de acceso se logra añadiendo el componente que realice la nueva funcionalidad, permaneciendo el resto del sistema sin cambios. En nuestra propuesta, un motor de ejecución de procesos educativos es expuesto como un Servicio Web. De esta manera, la lógica de control de los procesos educativos está centralizada, siendo la misma independientemente de la tecnología de acceso empleada por cada participante. ISSN 1932-8540 © IEEE PÉREZ RODRÍGUEZ et al.: HACIA UNA ARQUITECTURA PARA SIST. DE E-LEARNING BASADA EN POEML 231 Los módulos de integración siguen un enfoque Orientado a Aspectos [1], ya que en puntos bien definidos de la ejecución en la capa de presentación se ejecuta código relativo a diferentes asuntos o aspectos. De esta manera se encapsulan las llamadas desde las capas de presentación a los Web Services de interacción con el motor de ejecución. Estos asuntos guardan relación con las Perspectivas de PoEML (Perspective-oriented Educational Modelling Language) [2][3], el Lenguaje de Modelado Educativo en el cual está basado este sistema de e-learning. II. PROPUESTA Nuestra propuesta de arquitectura está basada en el empleo del Lenguaje de Modelado Educativo PoEML. Los EMLs (Educational Modelling Languages) fueron propuestos hace algunos años con el propósito de dar soporte a la creación de modelos de unidades educativas con independencia del enfoque pedagógico. La principal característica de PoEML en su enfoque basado en la separación de asuntos. En lugar de intentar dar soporte al modelado de unidades educativas con un conjunto completo de elementos y relaciones, PoEML considera los diferentes asuntos implicados en las unidades educativas y ofrece diferentes conjuntos de elementos y relaciones para modelar cada asunto. La propuesta PoEML completa es bastante extensa, ya que comprende 17 asuntos distintos, agrupados en 13 perspectivas y 4 aspectos. Las perspectivas y los aspectos son dos tipos de asuntos ortogonales. A pesar del gran número de perspectivas y aspectos, una propiedad capital de la propuesta PoEML es que las perspectivas y los aspectos pueden ser utilizados de una manera modular. En la práctica, existe sólo una perspectiva que necesita ser siempre considerada en las unidades educativas, el resto son opcionales y se pueden utilizar cuando sea requerido. El Escenario Educativo es el elemento de construcción básico para crear modelos de unidades educativas. La Figura 1 muestra la estructura de un Escenario Educativo. Básicamente, un Escenario Educativo es un elemento que agrega elementos, especificaciones y expresiones: • Los elementos representan las entidades contenidas en el Escenario Educativo. Para el propósito de este artículo es suficiente con tener en cuenta que un Escenario Educativo puede incluir: (i) uno o más objetivos que indican qué tiene que ser realizado de un modo declarativo; (ii) uno o varios roles que indican las funciones de los participantes que tienen que ver con la consecución de los objetivos; (iii) uno o varios entornos conteniendo los recursos que pueden ser utilizados por los participantes para desarrollar su trabajo. Cada uno de esos elementos puede incluir otros elementos, tales como elementos de datos, representando propiedades, parámetros o variables. Adicionalmente, un Escenario Educativo puede contener otros Escenarios Educativos agregados jerárquicamente, llamados Subescenarios Educativos. Es importante destacar que los objetivos de un Escenario Educativo pueden estar relacionados con los objetivos de los Subescenarios que lo componen. • Las especificaciones representan controles en tiempo de ejecución que tienen que ser aplicados para manejar los elementos contenidos en un Escenario Educativo. En este artículo, las especificaciones principales son la temporal y la de orden. • Las expresiones implican descripciones correspondientes con los aspectos de PoEML. Representan cuestiones que pueden afectar al comportamiento de los elementos y las especificaciones. Por ejemplo, una expresión de condición determina su resultado de acuerdo con el valor de ciertos elementos de datos. Figura 1. Estructura de un Escenario Educativo Para tener un sistema de e-learning en el estado del arte es suficiente con considerar 4 de las perspectivas de PoEML: • La perspectiva estructural define la estructura de una unidad educativa en Escenarios y Subescenarios educativos. Esta estructura es análoga al sistema de directorios en un sistema operativo. • La perspectiva funcional define una estructura de objetivos y subobjetivos. Cada Escenario Educativo debe contener al menos un objetivo. En la Figura 2 se muestra un ejemplo con relaciones entre objetivos y subobjetivos. • La perspectiva de orden define el orden de realización de los subescenarios contenidos en un cierto Escenario Educativo. • La perspectiva temporal permite definir instantes concretos de tiempo para la realización de un Escenario Educativo. Esta estructura permite la descripción de las cuestiones englobadas en los Escenarios Educativos. Es importante ISSN 1932-8540 © IEEE 232 IEEE-RITA Vol. 4, Núm. 3, Ago. 2009 señalar que cada una de las cuestiones englobadas en un Escenario Educativo se incluye como una entidad separada. De esta manera, se facilita la modificación de Escenarios Educativos mediante el reemplazo de elementos específicos, especificaciones o expresiones, facilitando de esta manera la reutilización. Además, durante el tiempo de ejecución es necesario crear instancias de los Escenarios Educativos y de sus elementos. El número de instancias a crear puede ser determinado estáticamente durante el tiempo de diseño o dinámicamente durante el tiempo de ejecución de acuerdo con el resultado proporcionado por expresiones específicas. Figura 2. Agregación de Escenarios Educativos y objetivos III. ARQUITECTURA La Figura 4 muestra un diagrama con la arquitectura del sistema. En las siguientes subsecciones se detalla dicha arquitectura. A. La máquina de procesos educativos: PoEML Engine El motor de ejecución de procesos educativos es el componente central del sistema de e-learning [4]. En él se almacena la información relativa a los Escenarios Educativos, participantes, objetivos, y resto de elementos, haciendo evolucionar el estado del sistema dependiendo de los eventos, tanto externos al motor como internos a él, que se producen. El motor de ejecución se integra en el sistema de e-learning a través de una interfaz bien definida basada en Web Services, garantizando el requisito de la conectividad. Al mismo tiempo, los componentes de presentación deben estar lo más desacoplados que sea posible respecto al motor de ejecución, esto implica utilizar un sencillo conjunto de APIs. La escalabilidad también es un requisito fundamental, al ser el motor de ejecución el componente central del sistema de elearning. Eventos generados por el participante: • Comenzar un ES • Finalizar un ES • Intentar un objetivo • Darse de alta/darse de baja Eventos generados por el motor de ejecución: • Instanciar un ES • Instanciar un objetivo • Dar por finalizado un objetivo • Hacer accesible/no accesible un ES • Hacer intentable/no intentable un objetivo Los componentes de presentación también pueden acceder al motor de ejecución de una manera pasiva simplemente para recuperar información, tanto sobre los Escenarios Educativos como sobre los objetivos. Esta recuperación de información está asociada a la navegación por los Escenarios Educativos: • Conseguir la información relativa a un Escenario Educativo • Conseguir la información de los subescenarios de un cierto ES Un Escenario Educativo tiene que ser instanciado para que un usuario pueda acceder a él. Este caso es similar a la instanciación en un lenguaje de programación orientado a objetos, donde un objeto tiene que ser instanciado antes de poder acceder a sus atributos y métodos. En el caso que nos ocupa, un Escenario Educativo puede estar también en los estados Iniciado y Finalizado. La Figura 3 muestra todos los posibles estados de ejecución en que puede estar un Escenario Educativo. Un evento externo al motor de ejecución como el acceso a un Escenario Educativo puede desencadenar varios eventos internos al motor de ejecución como la instanciación de sus Subescenarios Educativos. Al mismo tiempo, se impone la restricción de que dichos Subescenarios Educativos tengan un objetivo propuesto. Este comportamiento es un problema bien conocido, que se resuelve mediante reglas Evento-CondiciónAcción: • Evento: un participante accede a un Escenario Educativo • Condición: que el Subescenario tenga un objetivo propuesto • Acción: instanciar el Subescenario Figura 3. Posibles estados de ejecución de un Escenario Educativo De una manera similar, el motor de ejecución tiene que manejar los eventos relativos a los objetivos de los Escenarios Educativos. El participante puede generar el evento de intentar objetivo, con los posibles resultados de éxito y fracaso. Este evento genera en el motor de ejecución los eventos de ISSN 1932-8540 © IEEE PÉREZ RODRÍGUEZ et al.: HACIA UNA ARQUITECTURA PARA SIST. DE E-LEARNING BASADA EN POEML 233 instanciación de los objetivos que presentan una relación de completitud con el objetivo intentado. En resumen, la interacción entre los componentes de presentación y el motor de ejecución puede ser tanto la recuperación pasiva de información relativa a los Escenarios Educativos como la comunicación de eventos generados por el participante. Figura 4. Arquitectura del sistema de e-learning A. La capa de middleware Para facilitar que los Servicios Web sean accesibles desde los módulos de presentación se hace uso de las funcionalidades que provee un motor SOAP. De esta manera los módulos de presentación tienen una interacción desacoplada con el motor de ejecución de procesos educativos. La funcionalidad que provee el motor de ejecución de procesos educativos se publica en un archivo WSDL. Los métodos de servicio son tanto para la recuperación pasiva de información como para la comunicación de eventos generados por el participante. B. Los módulos de presentación dependientes de l dominio tecnológico Cada Servidor de Presentación se describe como un componente multicapa: • La capa de middleware consiste en una implementación del protocolo SOAP, para acceder desde cada Servidor de Presentación al motor de ejecución de procesos educativos. • La capa de aspectos contiene el código de integración, encapsulando las invocaciones a los Web Services del motor de ejecución en aspectos. • La capa iTV/Web/dispositivo móvil contiene el código dependiente de cada dominio tecnológico. IV. CASOS DE APLICACIÓN A. Moodle En nuestro estudio de los sistemas de e-learning nos hemos encontrado con que los sistemas open-source tienen cada vez una aceptación mayor. Moodle [5] es el Sistema de Gestión del Aprendizaje (Learning Management System, LMS) más utilizado, con millones de usuarios (moodlers) a lo largo de todo el mundo. Su licencia GPL, su estabilidad, y la gran comunidad de usuarios y desarrolladores, son los principales motivos de su popularidad. Moodle sigue un enfoque constructivista. Los estudiantes no son solamente consumidores de contenidos de aprendizaje, sino creadores de contenidos también. De esta manera, el conocimiento es construido por la comunidad. Para dar soporte al enfoque constructivista, Moodle cuenta con herramientas colaborativas que ponen en contacto a los participantes entre sí y con los contenidos. Hemos evaluado a Moodle descomponiendo el problema siguiendo el principio de separación de asuntos como sigue: • Desde un punto de vista estructural, la manera en la que Moodle estructura los contenidos es muy rígida, ya que sólo permite diseñar cursos compuestos de secciones sobre las que se agregan los recursos educativos. La estructura de contenidos es una jerarquía: curso, sección, recurso. • Desde un punto de vista temporal, Moodle permite liberar contenidos semanalmente. No permite definir instantes arbitrarios de tiempo en los que liberar contenidos. • Desde un punto de vista de orden de realización, Moodle no permite definir secuencias ordenadas de realización de contenidos educativos. En la actualidad estamos trabajando en el desarrollo de la capa de aspectos para la integración de Moodle con el motor ISSN 1932-8540 © IEEE 234 IEEE-RITA Vol. 4, Núm. 3, Ago. 2009 de ejecución de procesos educativos [6]. El enfoque para esto está basado en la programación orientada a aspectos. El Desarrollo Software Orientado a Aspectos (Aspect-oriented Software Development) es un paradigma que permite modularizar asuntos entrecruzados (crosscutting concerns), esto es, código que no puede ser capturado en módulos utilizando el mecanismo de descomposición presente en el lenguaje de programación empleado. En el caso de Moodle, las unidades de modularización son scripts PHP, y los nuevos asuntos entrecruzan multitud de scripts PHP pertenecientes al código fuente de Moodle. El procedimiento para añadir un nuevo asunto a Moodle es: • Listar los puntos la ejecución de Moodle donde ese asunto tiene que ser tenido en cuenta. Esos puntos se definen como joinpoints • Un pointcut se define como un conjunto de joinpoints • El último paso es definir el código advice a ejecutar en cada pointcut. El código advice encapsula las llamadas a los Web Services del motor de ejecución de procesos B. iTV Consideramos que la experiencia de los participantes en los sistemas de t-learning sería enriquecida al integrar un motor de ejecución de procesos educativos no perteneciente al dominio de la iTV (Interactive Television). Se utiliza un servidor DVB (Digital Video Broadcasting) para el streaming, mientras que los Web Services que provee el motor de ejecución controlan el proceso de aprendizaje. El participante debe contar con un receptor MHP (Multimedia Home Protocol). C. M-learning Se llama m-learning al aprendizaje a través del uso de dispositivos móviles. Estos dispositivos móviles son una de las tecnologías más prometedoras para el soporte del aprendizaje, ya que el participante puede acceder al sistema en cualquier tiempo y lugar. Este enfoque se ajusta especialmente bien en escenarios colaborativos, donde los participantes pueden colaborar entre sí mediante el uso de un dispositivo móvil. Cuando se accede a un Escenario Educativo desde un dispositivo inalámbrico móvil, el sistema tiene que saber cómo ensamblar los contenidos para posteriormente enviarlos al dispositivo móvil. Además, la información relativa a un Escenario Educativo debe ser formateada para ajustarse a dicho dispositivo. Con nuestro enfoque, dispondríamos de un módulo de presentación para m-learning capaz de comunicarse con los dispositivos móviles utilizando los protocolos de comunicación empleados en las redes inalámbricas. Este módulo de presentación consumiría los Web Services que provee el motor de ejecución de PoEML. Así, el funcionamiento es muy similar a un sistema basado en Web, ya que hacemos separación del código dependiente del dominio tecnológico (web, dispositivos móviles, iTV) del código independiente del dominio (el motor de ejecución de procesos educativos). V. LA EXTENSIÓN DE MOODLE La extensión que hemos desarrollado se compone de un nuevo tipo de curso con tres vistas: la vista en tiempo de ejecución (run-time), la herramienta de autoría, y la vista de monitorización. En esta sección detallaremos estas tres vistas. Antes de detallar los diferentes entornos, es importante describir el concepto de descripción del curso, así como el de instancia de curso. Una descripción de curso es análoga a una clase en la Programación Orientada a Objetos: una guía a partir de la cual los objetos son creados. De esta manera, múltiples instancias de curso pueden ser creadas a partir de una descripción de curso: una por estudiante. En los cursos Moodle actuales, se necesita simplemente un esquema de base de datos para guardar la descripción de cursos. En nuestro caso, necesitamos un esquema de base de datos para las descripciones de cursos y otro para las instancias de cursos en tiempo de ejecución. A. El entorno de autoría El proceso de autoría consiste en una serie de operaciones atómicas. En el conjunto de operaciones posibles hay algunas como: • Añadir/editar/borrar un Escenario • Añadir/editar/borrar un Objetivo • Añadir/editar/borrar un recurso/actividad Los cambios atómicos son validados para asegurar que son consistentes con el diseño general del curso. Después de haber verificado su consistencia, el cambio atómico se compromete contra el esquema de base de datos que contiene las descripciones de cursos. El nivel de granularidad puede ser fijado como se desee: una operación atómica puede consistir en añadir un Objetivo con todos sus campos constituyentes, o puede ser editar un Objetivo previamente creado y cambiar sólo un campo. El proceso de autoría consistente en cambios atómicos presenta algunas ventajas valorables: • Los cambios atómicos son inmediatamente vistos por otros co-autores • No hay necesidad de un chequeo de la consistencia como el que se necesita al importar un archivo que contiene una descripción de un curso completo El chequeo de la consistencia es aún necesario para el soporte de la interoperabilidad. Las descripciones de cursos siguen el modelo de datos de PoEML. Por los tanto, las descripciones de cursos pueden ser exportadas desde su esquema de base de datos a archivos XML. Así, un archivo XML que contiene una descripción de curso puede ser importado en otro LMS compatible con PoEML. La Figura 5 muestra el proceso de autoría de varios expertos trabajando en el mismo diseño. Los co-autores realizan cambios atómicos en el diseño del curso, y esos cambios son comprometidos contra el esquema de base de datos de las descripciones de cursos. El diseño del curso puede ser testeado ISSN 1932-8540 © IEEE PÉREZ RODRÍGUEZ et al.: HACIA UNA ARQUITECTURA PARA SIST. DE E-LEARNING BASADA EN POEML 235 ''al vuelo'' creando una nueva instancia de curso y testeándola en el entorno de tiempo de ejecución. La figura también muestra que los archivos que contienen descripciones de cursos pueden ser importados y exportados en la base de datos del LMS Engine. actividades nativos de Moodle, tales como cuestionarios, foros y wikis. Al fondo de la página se presentan los Subescenarios. En la vista Funcional, el participante puede ver el estado de los Objetivos y una lista de todos los Entornos necesarios para completar cada Objetivo. Dependiendo del Objetivo en el cual esté trabajando el participante, se muestran los Entornos. La vista de Escenarios en árbol (Figura 7) y la vista de Objetivos muestran un mapa del estado actual de los Escenarios y Objetivos para una cierta instancia de curso. Esas dos vistas pueden resultar de ayuda para ver qué Objetivos han sido completados y cuáles permanecen pendientes. Figura 6. Captura de pantalla del entorno de tiempo de ejecución Figura 5. Nuestro enfoque para la autoría de cursos B. El entorno de tiempo de ejecución La Figura 6 muestra una captura de pantalla del entorno de tiempo de ejecución para un participante en un curso. Consiste en cuatro vistas de curso: vista Estructural, vista de Escenarios en árbol, vista de Objetivos, y vista Funcional. Comenzamos la exposición con la vista Estructural. Cuando un participante es enrolado en un curso, se le asigna una instancia de curso. En ese momento, la vista estructural del curso se presenta en el navegador. Las partes principales de esa página son la barra de navegación (hilo de Ariadna), los Objetivos, los Entornos y los Subescenarios. La barra de navegación o hilo de Ariadna muestra en cada momento el nivel de agregación en el cual está el participante. La caja de Objetivos muestra todos los Objetivos para el Escenario actual. El color de cada Objetivo es una indicación de su estado. Los posibles estados son: No Propuesto, No Intentable, Intentable, Pendiente, Completado, y Fallido. Cada caja de Objetivo puede ser expandida para ver la información sobre las restricciones de entrada/salida, así como los parámetros de entrada/salida. Los recursos y actividades educativos están contenidos en una caja de Entornos. Un entorno contiene recursos y Figura 7. Vista en árbol de la jerarquía de Escenarios C. El entorno de monitorización La característica de monitorización del curso está disponible para el rol de profesor. Esta característica se divide en dos vistas diferentes: • Monitorización por elemento de curso (dirigida por elemento) • Monitorización de todos los elementos por estudiante (dirigida por estudiante) ISSN 1932-8540 © IEEE 236 IEEE-RITA Vol. 4, Núm. 3, Ago. 2009 La Figura 8 muestra la monitorización de un objetivo. En la parte superior de la página, podemos ver los posibles estados de un Objetivo y el número de estudiantes por estado. Se usa un histograma para mostrar esa información de una manera gráfica. En la parte inferior de la página, podemos ver una tabla detallando el estado de cada Objetivo para cada estudiante enrolado en el curso. Las Variables y las Expresiones de Datos pueden ser también monitorizadas. Las Variables pueden servir para expresar la nota de un estudiante en un cierto cuestionario. Las Expresiones de Datos sirven para componer decisiones que dependen del rendimiento del alumno, por ejemplo, una decisión que depende de la nota de un alumno en un cuestionario. La otra vista de monitorización disponible es la dirigida por estudiante. Esa vista es apropiada para monitorizar la progresión de un alumno a través de los itinerarios del curso. Figura 8. Captura de pantalla del entorno de monitorización. VI. TRABAJO RELACIONADO A. CopperCore CopperCore [7] es la implementación de referencia de un IMS Learning Design engine y también provee un player basado en ese engine. El objetivo fue proporcional una fuente de información para implementar otros players compatibles con LD. En la práctica ha sido visto como el player de referencia y herramienta para ejecutar diseños y para validar otras herramientas de LD tales como editores, herramientas de autoría, etc. Los objetivos de CopperCore incluían testear si el diseño de la API permitía que un thin client fuese construido encima del engine a un coste reducido; y dar una indicación de la funcionalidad que se esperaba de los IMS-LD players. Rendimiento y escalabilidad no son contempladas por CopperCore, aunque se espera que sea uno de los objetivos de los IMS-LD players en producción. A nivel interno CopperCore utiliza una máquina de estados finita (FSM - Finite State Machine) para evaluar propiedades y secuenciar condicionalmente el contenido. Por cada UoL importada se crea una FSM y un árbol de actividades es adjuntado a cada estado y mostrado al usuario cuando tal estado es alcanzado. Los siguientes players utilizan CopperCore: • SLED [8], Service-based Learning Design system. Está enfocado en el uso de web services: la comunicación entre el engine y el player es realizada usando web services. Herramientas adicionales y para usuarios finales (e.g. sistemas de conferencia) fueron construidas orientadas a web services. SLeD presenta mayor funcionalidad que el básico CopperCore engine. Por ejemplo, el CopperCore engine sólo es capaz de indicar que el diseño de aprendizaje necesita un foro, mientras que SLeD muestra el foro, ejecutándolo a través del servicio de conferencia. • El incluido en el proyecto Reload [9]. Este proyecto provee una familia de herramientas relacionadas con las especificaciones IMS, desde el ampliamente utilizado IMS-CP packager hasta un IMS-LD editor. Su implementación está basada en las plataformas Java y JBoss. Su funcionalidad incluye: importar/borrar de Learning Designs en el CopperCore engine con una simple interfaz gráfica, leer automáticamente un Learning Design y poblar el engine con un usuario activo por cada rol encontrado dentro del manifiesto (pueden ser añadidos usuarios a medida también), etc. B. GRAIL GRAIL (Gradient-lab RTE for Adaptative IMS-LD in .LRN) es el entorno de ejecución de IMS-LD implementado en .LRN. Ha sido concebido para ser utilizado dentro del contexto de una comunidad .LRN, un conjunto de usuarios compartiendo recursos tales como documentos, foros, calendarios, etc. Un curso es simplemente una instancia de una de esas comunidades. Como suele ser el caso, y IMS-LD no es una excepción, las especificaciones no incluyen detalles de cómo debe ser implementado el RTE (Run-Time Environment). Esto normalmente se traduce en un amplio conjunto de decisiones que tiene que tomar el equipo de diseño. Tienen que ver con importantes aspectos de la usabilidad y efectividad del entorno de ejecución y por lo tanto tienen que ser cuidadosamente consideradas. Otros entornos de ejecución de IMS-LD como CopperCore utilizan un modelo de máquina de estados finitos (FSM) para evaluar propiedades y secuenciar el contenido condicionalmente. Para cada Unidad de Aprendizaje (UOLUnit Of Learning) importada, una máquina de estados finitos es creada y un árbol de actividades es creado para cada estado y mostrado al usuario cuando el estado es alcanzado. La evaluación de una condición debe conducir a un árbol de actividades nuevamente calculado, conteniendo sólo aquellos ISSN 1932-8540 © IEEE PÉREZ RODRÍGUEZ et al.: HACIA UNA ARQUITECTURA PARA SIST. DE E-LEARNING BASADA EN POEML 237 recursos visibles para un usuario y/o un rol. Propiedades y condiciones pueden estar relacionadas con dependencias arbitrariamente complejas. Cuando el valor de una propiedad es cambiado, todas las condiciones referidas a ella necesitan ser reevaluadas. Tal evaluación puede desencadenar nuevos cambios de valor en más propiedades. Como consecuencia, el entorno de ejecución aplica esos pasos iterativamente hasta que no cambia el valor de ninguna propiedad más, esto es, alcanzando el nuevo estado. Este proceso tiene el riesgo de entrar en un bucle infinito (los cambios de valor en las propiedades no alcanzan un estado estacionario, sino que oscilan) lo cual denotaría una Unidad de Aprendizaje (UOL) incorrecta, pero el entorno de ejecución necesita proporcionar algún mecanismo para evitarlo. La aproximación tomada en GRAIL es ligeramente diferente de una máquina de estados. No se definen estados predefinidos cuando se carga la UoL, en su lugar son calculados bajo demanda cuando la UoL es ejecutada. El entorno de ejecución almacena la relación de dependencia entre propiedades y condiciones. El valor inicial de todas las condiciones se obtiene cuando se instancia una nueva ejecución de la UoL. Desde ese punto, cuando una propiedad cambia de valor solamente se reevalúan las condiciones relacionadas. Para evitar bucles infinitos el sistema deja de evaluar condiciones si una propiedad cambia de valor más veces que un límite dado, el cual debe ser elegido suficientemente alto. En build-time, las condiciones son guardadas en la base de datos tal y como se definen en la descripción de la UoL, con su código XML. La evaluación de condición significa parsear este XML reemplazando propiedades por sus valores correspondientes. Este esquema facilita una hipotética edición de condiciones cuando un error es detectado. Las siguientes entidades utilizan .LRN: • MIT Sloan School of Management .LRN aloja sobre 11000 usuarios y sobre 3000 sesiones concurrentes. Se estima que .LRN fue desplegado y mantenido con aproximadamente el 25% del coste de soluciones basadas en software comercial. • Harvard Univ. Executive Education Project. • Vienna Univ. of Economics and Business Admin. Es una de las instancias de .LRN mayores. Sirve alrededor de 20000 usuarios, contiene 26000 recursos educativos y soporta de media unas 600 conexiones. • Universidad de Valencia. Esta universidad requería una plataforma para soportar 40000 usuarios. Después de estudiar plataformas como Moodle, Atutor, WebCT y ILIAS, su elección fue .LRN debido a su combinación de escalabilidad y extensibilidad. modelar las unidades educativas de una manera independiente de la tecnología logramos que los participantes puedan colaborar en el mismo proceso de aprendizaje independientemente de la tecnología de acceso que cada participante use para conectarse al sistema de e-learning. El uso de estándares como XML y los Web Services nos proporciona el necesario desacoplamiento entre la lógica de control del proceso de aprendizaje y la tecnología empleada para la presentación final de los contenidos al participante. Debido a que todo participante en un proceso de aprendizaje debe ver el mismo estado se hace necesario centralizar el motor de ejecución de procesos. La interacción de los servidores de presentación con el motor de ejecución se realiza a través de una sencilla interfaz mediante la que se recupera información de una manera pasiva y mediante la que se comunican eventos generados por el participante al motor de ejecución de procesos de aprendizaje. Los módulos de integración de los servidores de presentación con el motor de ejecución siguen un enfoque Orientado a Aspectos. De esta manera, y siguiendo la descomposición en Perspectivas del lenguaje PoEML, se encapsulan las llamadas a los Web Services que provee el motor de ejecución de procesos de aprendizaje. AGRADECIMIENTOS Este trabajo ha sido financiado parcialmente por el programa eContentplus ECP 2007 EDU 417008 (www.aspectproject.org), un programa Comunitario multianual cuyo objetivo es crear contenidos digitales más fácilmente accesibles, usables y explotables. Igualmente, queremos agradecer al Ministerio de Educación y Ciencia su financiación parcial a este trabajo a través del proyecto TIN2007-68125-CO02-02 (Servicios Adaptativos para E-learning basados en estándares). REFERENCIAS [1] [2] [3] [4] [5] [6] [7] VII. CONCLUSIONES [8] El uso de un lenguaje de modelado nos proporciona el marco conceptual para desarrollar un sistema de e-learning. Al [9] R. E. Fillman, T. Elrad, S. Clarke, and M. Aksit, Eds., Aspect-Oriented Software Development. Boston: Addison-Wesley, 2005. M. Caeiro, Contribuciones a los lenguajes de modelado educativo. Universidad de Vigo, 2007. M. C. Rodríguez, M. J. Marcelino, M. L. Nistal, L. E. Anido-Rifón, and A.J. Mendes, “Supporting the Modeling of Flexible Educational Units. PoEML: A Separation of Concerns Approach.” J. UCS, vol. 13, no. 7, pp. 980-990, 2007. R. Perez-Rodriguez, M. Caeiro-Rodriguez, and L. Anido-Rifón, “Basic Perspective Support of a PoEML-conformant Component-based LMS Engine”, in Proceedings of the X Simposio Internacional de Informática Educativa, 2008. (2009, Mar.) Moodle. [Online]. Available: http://moodle.org R. Perez-Rodriguez, M. Caeiro-Rodriguez, and L. Anido-Rifon, “Supporting PoEML Educational Processes in Moodle: a Middleware Approach”, in Proceedings of the V Simposio Pluridisciplinar sobre Diseño y Evaluación de Contenidos Educativos Reutilizables, 2008. (2009, Mar.) Coppercore. [Online]. Available: http://www.coppercore.org (2009, Mar.) Sled. [Online]. Available: http://www.elearning.ac.uk/features/sledproject (2009, Mar.) Reload. [Online]. Available: http://www.reload.ac.uk ISSN 1932-8540 © IEEE 238 IEEE-RITA Vol. 4, Núm. 3, Ago. 2009 Roberto Pérez Rodríguez es Ingeniero de Telecomunicación (2008) en la especialidad de Telemática por la Universidad de Vigo. Actualmente es estudiante de doctorado en el Departamento de Ingeniería Telemática de la Universidad de Vigo y realiza labores docentes como Profesor Invitado en dicho departamento. Su labor investigadora está centrada en la utilización de Arquitecturas Orientadas a Servicios para proveer servicios de e-learning. Manuel Caeiro Rodríguez es Ingeniero de Telecomunicación (1999) y Doctor Ingeniero de Telecomunicación (2007) por la Universidad de Vigo. Actualmente es Profesor Contratado Doctor en el Departamento de Ingeniería Telemática de la Universidad de Vigo realizando tareas docentes relacionadas con la ingeniería del software y la arquitectura de ordenadores. En cuanto a la investigación su interés principal se centra en la aplicación de las Tecnologías de la Comunicación y la Información a la educación, en especial en el marco de los lenguajes de modelado educativo. Luis Anido Rifón es Ingeniero de Telecomunicación cum laude (1997) en las especialidades de Telemática y Comunicaciones, y Doctor Ingeniero de Telecomunicación cum laude (2001) por la Universidad de Vigo. Actualmente es Profesor Titular de Universidad en el Departamento de Ingeniería Telemática de la Universidad de Vigo y ocupa el puesto de Director del Área de Innovación Educativa de la Universidad de Vigo. Ha recibido varios premios por el W3C, la Royal Academy of Sciences y la Colegio Oficial de Ingenieros de Telecomunicación. Es autor de más de 180 artículos en revistas y congresos. Es también el director del Programa Gallego de Investigación en TIC, secretario técnico de AENOR CTN71 SC36 y el director de la delegación española de ISO/IEC JTC1 SC36. ISSN 1932-8540 © IEEE