ASHYI EDUashiy.javeriana.edu.co/proyecto/docs/ASHI - EDU Arquitectura.pdf · secuencia a seguir,...
Transcript of ASHYI EDUashiy.javeriana.edu.co/proyecto/docs/ASHI - EDU Arquitectura.pdf · secuencia a seguir,...
ASHYI-EDU
Arquitectura y Diseño
En este documento se presenta la arquitectura del proyecto ASHYI (Planificador dinámico de
actividades) en su caso de estudio ASHYI-EDU, el cual es un planificador en un entorno educativo
(un curso virtual de una universidad). De la misma forma, se presenta el diseño ASHYI en su mismo
caso de estudio ASHYI-EDU.
Arquitectura ASHYI es un planificador dinámico de actividades que, con base en un perfil de usuario, en unas
características de contexto y en un dominio; selecciona actividades y crea un plan para llevarlo a
cabo.
ASHYI tiene tres procesos principales:
Figura 1. Procesos ASHYI
- En la configuración del ambiente se definirá tanto el usuario y como el contexto de
adaptación que se manejarán para dicho sistema; estas definiciones podrán realizarse en
forma paralela o independiente, pues sus datos no dependen uno del otro. Para finalizar,
se debe caracterizar la actividad propia para el dominio a manejar, para esto es necesario
contar con los datos del dominio, del usuario y del contexto, debido a que parte de dichos
datos conformarán la descripción de una actividad. Este proceso debe ser realizado por el
usuario Administrador.
Entrada al proceso:
o Datos de dominio:
e.g. Tipos de Actividad (taller, exposición, lectura, etc.)
e.g. Características (habilidades y competencias)
Salida del proceso:
o Estructura del contexto de uso e.g. de un curso
- La planificación de actividades tiene el objetivo de definir orden, secuencia, dependencia y
resolución de conflictos entre las actividades a planear. Para la ejecución de este proceso,
se reciben los datos de usuario y de actividad obtenidos en el proceso anterior.
Entrada
o Actividades
o Datos de usuario
o Datos de dominio
Salida
o Plan a ejecutar
- En el último proceso, se ejecutan las actividades planeadas anteriormente teniendo en
cuenta el resultado de las mismas y la participación de los usuarios en el desarrollo del
plan.
Entrada
o Actividades
o Desarrollo de las actividades del usuario
o Datos contextuales
o Retroalimentación del profesor
Salida
o Cambios en el plan de actividades o en recursos
Según estas descripciones, los usuarios a participar en cada proceso son:
Figura 2. Usuario en procesos ASHYI
Por lo tanto, para ASHYI-EDU, los usuarios corresponden a:
Figura 3. Usuarios en procesos ASHYI-EDU
Con base en estos procesos, para ASHYI-EDU se crearon tres módulos que representa a cada
proceso dentro de una aplicación. Estos módulos son: i) Interfaz, ii) Creador del Plan y iii) Ejecutor
del Plan (ver Figura 4).
Figura 4. Arquitectura ASHYI
- Interfaz: este módulo se encarga de la parte gráfica del proyecto, por lo tanto, es la que
está directamente relacionada con el usuario, tanto para configurar el ambiente, planificar
actividades y ejecutar el plan de actividades. Para el caso ASHYI-EDU, el proyecto se apoyó
en Sakai (entorno de colaboración y aprendizaje para la educación superior) [1],
especialmente en su módulo LessonBuilder, para adaptarlo a las necesidades del
planificador ASHYI.
- Creador del plan: este módulo se encarga de planificar las actividades educativas. Este
módulo se apoya de cuatro sub proyectos creados para ASHYI:
o ASHYI: entidades y objetos de acceso a datos del planificador
o BESA.Kiss: sistema multi – agente del planificador
o PUMAS.Lite: sistema multi – agente en cargado de búsqueda de actividades y
recursos
o Graph: proyecto que crea una estructura de grafo para representar el plan, en
donde los nodos son actividades y las aristas son la relación entre dichas
actividades
Este módulo es el encargado de cuatro principales procesos (ver ¡Error! No se encuentra
el origen de la referencia.):
Figura 5. Creador del plan
PUMAS.Lite: este módulo realiza la búsqueda de actividades y recursos de acuerdo a
criterios específicos (e.g. por objetivo).
Editor del grafo: este proceso tiene como objetivo presentar las actividades a planificar
para que el Usuario Planificador las vea y participe en añadir o eliminar actividades. Este
módulo tendrá como entrada las actividades dadas por el componente PUMAS.Lite. Este
proceso se realiza en conjunto con el proceso Creador de conexiones.
Creador de conexiones: la planificación es representada por un grafo que contenga la
secuencia a seguir, por lo tanto las actividades, dadas en el proceso anterior, serán los
nodos del grafo y este proceso se encarga de crear las conexiones entre dichas
actividades. Además, este proceso debe verificar cada cambio que se realice en el grafo
(ya sea hecho por el Usuario Planificador o por el Sistema), de manera que el grafo cumpla
con las pre y post condiciones de cada actividad; teniendo en cuenta que las relaciones
entre actividades cumplan con el objetivo de la actividad de mayor nivel. Para permitir la
participación del Usuario Planificador, este proceso se realizará en conjunto con el proceso
Editor del grafo.
- Ejecutor del plan: este módulo se encarga de tres procesos principales:
Figura 6. Ejecutor del plan
Calculador de distancia: este proceso calcula la distancia entre una actividad y un Usuario
Ejecutor, de manera que se escojan las actividades del conjunto de actividades que
componen el grafo, que sean más “cercanas” al él.
Calculador ruta óptima: este proceso verifica las distancias calculadas anteriormente y
selecciona el camino más corto para la planificación, de manera que se maximice el
trabajo realizado y se minimice el número de actividades a desarrollar.
Ejecutor de ruta óptima: en este proceso es donde el Usuario Ejecutor realiza su mayor
participación, pues a través de este módulo donde el usuario desarrolla las actividades
planeadas. De acuerdo a lo realizado por dicho usuario, el sistema debe ir verificando el
seguimiento del plan, su cumplimiento y/o modificación de acuerdo a:
o Resultado de una actividad
o Cambios en el contexto
o Rechazo directo del usuario en la realización de la actividad
Si el sistema detecta algún cambio, debe volver a primer módulo y cambiar el plan
realizado.
INTERACCIÓN DE AGENTES
Para comunicar los diferentes procesos y paquetes, se creó una interacción entre los agentes de
los principales sistemas multi - agentes (BESA.Kiss y PUMAS.Lite) y Sakai (ver Figura 7).
Figura 7. Interacción entre agentes
En la interfaz gráfica Sakai hay un agente que representa ya sea al profesor o al estudiante, según
el usuario. Para el estudiante, existe un Agente Ejecutor y para el profesor, el Agente Editor. Este
agente (Editor o Ejecutor), se comunica con el agente principal del planificador (Main) de
BESA.Kiss, el cual a la vez, se comunica con el Agente Representante de PUMAS.Lite. Este agente
es quien interpreta a usuario en este sistema multi – agente.
A través de esta interacción, se realiza el paso de mensajes para desarrollar los diferentes
procesos del planificador.
Diseño
ASHYI es un planificador dinámico de actividades que, con base en un perfil de usuario, en unas
características de contexto y en un dominio; selecciona actividades y crea un plan para llevarlo a
cabo. Para este fin, ASHYI almacena la información del contexto, dominio y usuario en una base de
datos, así puede consultar los datos necesarios en la creación de un plan educativo diferente para
cada usuario. A continuación se presenta en detalle cada una de las tablas que componen la base
de datos de ASHYI-EDU. La Figura 8, presenta el diagrama completo de bases de datos que será
descrito a continuación.
Figura 8 Diagrama de base de datos completo
1. Diseño de la base de datos
2. Figura 9 Parte 1 - Base de datos
2.1. Actividad
Esta clase representa una actividad, que es la entidad sobre la cual se crean planes educativos. Los
atributos básicos de una actividad son el identificador, el cual es asignado por la base de datos y
auto-incremental, nombre, descripción, dedicación, un valor booleano indica si es de refuerzo o es
obligatoria y un nivel de recursividad que determina, según el dominio, si la actividad es atómica,
marco o recursiva.
2.2. Actividad_tiene_Actividad
Cuando una actividad está compuesta por más actividades, por ejemplo las unidades didácticas, se
almacena una relación entre cada actividad padre y las que la componen, para saber de esta forma
si una actividad pertenece a una unidad didáctica.
2.3. Recurso
Representa un recurso que se puede asociar a una actividad para su realización. Tiene como
atributos un identificador, nombre, idItemSakai que lo relaciona con un objeto ítem de Sakai,
naturaleza, tipo, formato, nivel y tipo_acceso.
2.4. Recurso_Actividad
Establece una relación entre una actividad y sus recursos.
2.5. Objetivo
Representa un objetivo, el cual puede ser asociado a una actividad y es revisado como criterio de
planificación. Tiene un identificador y un nombre.
2.6. Objetivos_Actividad
Establece una relación entre una actividad y sus objetivos.
2.7. Control_Ashyi
Guarda un registro de cada edición realizada al dominio de ASHYI.
2.8. Caracteristicas_Recurso
Establece una relación entre un recurso y sus características.
2.9. PalabraClave_Actividad
Establece una relación entre una actividad y sus palabras clave.
Figura 10 Parte 2 - Base de datos
2.10. Tipo
Representa cada tipo de actividad existente en ASHYI-EDU.
2.11. Caracteristica
Representa una característica cualquiera que se añada al dominio, esta puede ser parte de un tipo,
una actividad, un usuario, un recurso o un itemUsuario.
2.12. Caracteristicas_Tipo
Establece una relación entre un tipo y sus características.
2.13. Caracteristicas_Actividad
Establece una relación entre una actividad y sus características.
2.14. Item
Representa un ítem en ASHYI, que puede ser una actividad macro, actividad atómica, actividad
recursiva, estilo de aprendizaje, habilidad, competencia, personalidad, contexto o situación de
aprendizaje.
2.15. Caracteristicas_Usuario
Establece una relación entre un usuario y sus características.
Figura 11 Parte 3 - Base de datos
2.16. PalabraClave
Representa palabras que pueden describir un ítem en el dominio educativo.
2.17. PalabraClave_Objetivo
Establece una relación entre un objetivo y sus palabras clave.
2.18. ItemPlan
Una unidad didáctica se encuentra compuesta por objetos de tipo itemPlan, ya que todas las
actividades podrían estar disponibles a nivel general del curso, y no solo de una actividad. Un
itemPlan es la instancia de una actividad enmarcada dentro de una unidad didáctica, la duración
de una actividad, sus recursos, fechas límite, etc. pueden ser distintos por cada unidad didáctica.
Se caracteriza por tener un identificador de itemPlan, uno de la actividad asociada, un
identificador del recurso con el que debe realizarse, si se encuentra activo, fecha inicial, fecha final
y tiempo de duración.
2.19. Actividad_tiene_Item_Plan
Establece una relación entre una actividad (Unidad didáctica) y sus itemPlan.
2.20. Items_Usuario
Establece una relación entre un usuario y los itemPlans que debe realizar o ha realizado.
2.21. Usuario
Representa un usuario del curso y tiene identificador que lo relaciona al usuario de la plataforma
Sakai al que corresponde, también tiene un rol en el curso y un nivel académico.
Figura 12 Parte 4 - Base de datos
2.22. Grafo
Representa un grafo de actividades de ASHYI-EDU. Tiene un identificador propio y el identificador
del itemPlan por el cual inicia el grafo.
2.23. Grafo_Relaciones
Almacena todas las relaciones o arcos de un grafo de actividades. Tiene un identificador que lo
asocia a un grafo, un identificador de relación (identificador propio), el id del itemPlan origen y el
identificador del itemPlan destino en la relación; el atributo orden es usado para la presentación
gráfica del grafo.
2.24. Grafos_Usuario
Establece los grafos que tiene un usuario en una unidad didáctica. Tiene un identificador de
usuario, uno de grafo y uno de la actividad (unidad didáctica).
2.25. Caracteristicas_ItemUsuario
Establece una relación entre un itemUsuario y sus características.
2.26. Respuesta_ItemUsuario
Representa cada una de las respuestas enviadas por un usuario a un itemUsuario. Tiene el
identificador propio, el identificador del itemPlan, el identificador del usuario, la ruta donde se
encuentra el archivo de respuesta a la actividad, la retroalimentación de profesor y estudiante y
una fecha de realización de la respuesta.