ASYashiy.javeriana.edu.co/proyecto/docs/ASHYI - Reporte de... · 2017. 6. 13. · Como se observa,...
Transcript of ASYashiy.javeriana.edu.co/proyecto/docs/ASHYI - Reporte de... · 2017. 6. 13. · Como se observa,...
ASHYI Reporte de pruebas
En el presente documento se muestra cuál es el protocolo de pruebas a realizar para la
validación del sistema ASHYI.
18-3-2015
1
Contenido Introducción ........................................................................................................................................ 2
De acuerdo a estas consideraciones, se probará el comportamiento del planificador. ................. 2
1. Hipótesis .................................................................................................................................. 2
1.1. Hipótesis general ............................................................................................................. 3
1.2. Hipótesis específicas ....................................................................................................... 3
2. Pruebas Unitarias .................................................................................................................... 3
2.1. Creación de agentes ........................................................................................................ 4
2.2. Consulta de actividades - PUMAS.Lite ............................................................................ 5
2.3. Consulta de actividades de refuerzo - PUMAS.Lite ......................................................... 5
2.4. Creación de plan general de una actividad recursiva - ASHYI y GRAPH .......................... 5
2.5. Personalización de ruta de actividades para un usuario ejecutor - ASHYI y GRAPH. ..... 7
2.6. Re-planificación por cambio de contexto - ASHYI, KISS, PUMAS.Lite y GRAPH .............. 7
2.7. Resultado prueba JUnit ................................................................................................. 10
Lista de Figuras
Figura 1 Jerarquía actividad ASHYI ...................................................................................................... 2
Figura 2 Proceso general de planificación ........................................................................................... 3
Figura 3 Creación de los agentes KISS - Editor ................................................................................... 4
Figura 4 Creación de los agentes PUMAS.Lite - Editor ....................................................................... 4
Figura 5 Creación de agentes KISS - Ejecutor ...................................................................................... 5
Figura 6 Creación de los agentes PUMAS.Lite - Ejecutor .................................................................... 5
Figura 7 Creación de plan general de una actividad recursiva ............................................................ 6
Figura 8 Partes de grafo de actividades .............................................................................................. 7
Figura 9 Personalización de ruta de actividades para un estudiante ................................................. 7
Figura 10 Re-planificación por cambio de contexto............................................................................ 8
Figura 11 Re-planificación por cambio de contexto II ......................................................................... 9
Figura 12 Pruebas JUnit ..................................................................................................................... 10
2
Introducción
Este documento explica las pruebas realizadas a las principales acciones del planificador dinámico
de actividades ASHYI, mostrando el comportamiento esperado y el resultado obtenido de cada
una de las pruebas.
Cada una de las pruebas fue desarrollada con JUNit de Java, corroborando el correcto
comportamiento y resultado de cada proceso.
ASHYI trabaja con tres tipos de actividades. Por esta razón, se definió una estructura jerárquica
para su manejo, la cual se presenta en la siguiente composición:
Actividad compuesta macro: es la actividad de mayor nivel, la cual se compone de una o más
actividades recursivas. Esta actividad puede verse como el plan general (ej. un curso académico o
un plan de actividades diarias).
Actividad compuesta recursiva: es una actividad de segundo nivel, que se compone de una o más
actividades de este mismo nivel y/o de una o más actividades atómicas.
Actividad atómica: es una actividad nuclear que el usuario realiza. De este tipo de actividades se
esperan resultados e interacción directa con el usuario.
Figura 1 Jerarquía actividad ASHYI
De acuerdo a estas consideraciones, se probará el comportamiento del planificador.
1. Hipótesis En esta sección se presentaran las hipótesis que fueron planteadas para realizar las pruebas
teóricas, unitarias y la validación del sistema ASHYI, un planificador dinámico de actividades. Este
sistema está compuesto por los siguientes paquetes:
- KISS: sistema multi-agente para la interacción de los usuarios y el planificador.
- PUMAS.Lite: sistema multi-agente para la búsqueda de actividades y recursos.
3
- GRAPH: librería para grafos acíclicos y dirigidos
A continuación se explican las hipótesis que el planificador debe cumplir y sus resultados.
1.1. Hipótesis general
¿Es posible personalizar el desarrollo de un proceso, a través de una planificación de actividades?
1.2. Hipótesis específicas
H1 La búsqueda de actividades y recursos mejora la calidad del plan de actividades.
H2 Un análisis multi-criterio soporta la personalización de la ruta de actividades de un usuario en
el desarrollo de un plan de actividades.
H3 La consideración de actividades remediales o de refuerzo, dentro del plan de actividades,
mejora el desempeño del usuario ejecutor.
H4 Los datos contextuales generan re-planificación.
H5 El resultado de una actividad genera re-planificación.
Vale aclarar que las hipótesis se probarán en una implementación del planificador en un dominio
educativo.
2. Pruebas Unitarias Prueban el funcionamiento de los algoritmos principales de ASHYI, en conjunto con los paquetes
KISS, PUMAS.Lite y GRAPH; con datos de entrada conocidos y caracterizados. Dichos algoritmos
deberían producir unos resultados que serán comparados contra los resultados esperados para
determinar si su funcionamiento es correcto.
Se crearon seis algoritmos que agrupan las principales funcionalidades de ASHYI a cuales se les
realizarán las pruebas unitarias. A continuación, se presentan dichos algoritmos junto con los
datos de entrada y los resultados esperados en cada uno de ellos.
A nivel de implementación, estas pruebas fueron desarrolladas en Java con JUnit 4.
Estos algoritmos están basados en el proceso general que cumple el planificador:
Figura 2 Proceso general de planificación
Principalmente en los procesos 2 y 3 –Planificar actividades y Ejecutar actividades–.
4
También cabe aclarar que, dentro del proceso de planificación a verificar en este documento,
participan dos roles: usuario editor y usuario ejecutor.
2.1. Creación de agentes
Este algoritmo muestra la creación de los agentes involucrados en la planificación.
Para KISS y en el caso en que el usuario sea el editor, se debe crear el agente editor y en el caso
del ejecutor, se debe crear el agente ejecutor.
Para PUMAS.Lite se deben crear dos grupos de agentes: uno para el proceso de planificación (con
el usuario editor) y otro para la ejecución de las actividades (con el usuario ejecutor).
Para el proceso de planificador los agentes son RouterAgent, IntermediaryAgent y
InformationSourceAgent y para el usuario los agentes son RepresentativeAgent y ContextAgent.
Vista para el usuario editor: el usuario debe ingresar al sistema y ASHYI crea los agentes
correspondientes.
1. Resultado - Creación de los agentes KISS:
Figura 3 Creación de los agentes KISS - Editor
2. Resultado - Creación de los agentes PUMAS.Lite:
Figura 4 Creación de los agentes PUMAS.Lite - Editor
Vista para el estudiante: el usuario debe ingresar al sistema y ASHYI crea los agentes
correspondientes.
3. Resultado - Creación de los agentes KISS:
5
Figura 5 Creación de agentes KISS - Ejecutor
4. Resultado - Creación de los agentes PUMAS.Lite:
Figura 6 Creación de los agentes PUMAS.Lite - Ejecutor
Como se observa, en ambos casos los agentes correspondientes fueron creados e instanciados
correctamente.
2.2. Consulta de actividades - PUMAS.Lite
De acuerdo a los objetivos de una actividad recursiva, se consultan todas las posibles actividades
atómicas que puedan cumplir con dichos objetivos. Esta consulta está a cargo de PUMAS.Lite,
sistema multi-agente, que de acuerdo a los requerimientos de consulta, devuelve una lista de
actividades atómicas (para más información ver Reporte de Pruebas PUMAS.Lite).
2.3. Consulta de actividades de refuerzo - PUMAS.Lite
ASHYI verifica si existen actividades atómicas de refuerzo, que puedan apoyar al usuario ejecutor
en el desarrollo del proceso que se planifica. Si es así, deben ser consultadas para tenerlas en
cuenta para la planificación. Esta consulta está a cargo de PUMAS.Lite, sistema multi-agente, que
de acuerdo a los requerimientos de consulta, devuelve una lista de actividades atómicas (para más
información ver Reporte de Pruebas PUMAS.Lite).
2.4. Creación de plan general de una actividad recursiva - ASHYI y GRAPH
Con base en las actividades atómicas consultadas (de refuerzo o del plan), ASHYI crea un grafo
general de actividades agrupando las actividades por objetivo a desarrollar. Para esto, ASHYI se
apoya de GRAPH, paquete que crea una estructura de grafo acíclico, en donde se mapea el grafo
de actividades que se planifican. A continuación se muestra el grafo general de actividades
resultante:
6
Figura 7 Creación de plan general de una actividad recursiva
Se representa a través de números que identifican a cada actividad, seguido por una flecha
indicando la relación con otra actividad y finaliza con el orden que esta relación tiene en el grafo.
Por ejemplo:
7
Figura 8 Partes de grafo de actividades
En este caso se crearon los 144 enlaces entre actividades de acuerdo a la estructura del grafo.
(Para más información ver Reporte de Pruebas GRAPH).
Con los procesos Creación de agentes, Consulta de actividades - PUMAS.Lite y Consulta de
actividades de refuerzo - PUMAS.Lite se validan las hipótesis 1 y 2.
2.5. Personalización de ruta de actividades para un usuario ejecutor - ASHYI y GRAPH.
Con base en el grafo general de actividades creado anteriormente y con los datos tanto de la
actividad como del usuario ejecutor, se calcula la mejor ruta de actividades que dicho usuario
debe desarrollar. Esto se realiza a través de cálculos de distancia entre los datos de las actividades
y del usuario que están a cargo del paquete GRAPH (para más información ver Reporte de Pruebas
GRAPH). A continuación se muestra la distancia más pequeña del camino encontrado y la ruta
resultante.
Figura 9 Personalización de ruta de actividades para un estudiante
La distancia más pequeña fue de 3.77, recorriendo las actividades 29, 46, 30, 33, 34 y 37.
A partir de estas actividades, ASHYI organiza la dependencia y secuencia de estas actividades para
que el usuario pueda ejecutarlas.
Con este proceso se validan las hipótesis 2 y 3.
2.6. Re-planificación por cambio de contexto - ASHYI, KISS, PUMAS.Lite y GRAPH
ASHYI debe re-planificar la ruta del usuario ejecutor en dos ocasiones: según el resultado de las
actividades que se realizan o según el cambio de contexto de uso del sistema –si se encuentra
fuera del lugar “habitual” de la ejecución del plan o si está ejecutando el plan desde un dispositivo
móvil o de escritorio–. Si alguno de estos dos casos se presenta, ASHYI debe verificar si las
8
actividades pueden ejecutarse bajo estas nuevas condiciones de contexto o si es necesario
cambiar una(s) actividad(es) o el recurso de alguna de ellas.
Si es necesario el cambio de una o varias actividades, el planificador debe volver a consultar
actividades y/o recursos que se acomoden al contexto actual y recalcular la ruta de actividades.
Para esto, ASHYI se apoya nuevamente en PUMAS.Lite y GRAPH, para repetir los procedimientos
explicados en Consulta de actividades - PUMAS.Lite, Creación de plan general de una actividad
recursiva - ASHYI y GRAPH y
Personalización de ruta de actividades para un usuario ejecutor - ASHYI y GRAPH. A continuación
se muestra el resultado del cambio de contexto y el comportamiento del planificador respecto a
este cambio.
Figura 10 Re-planificación por cambio de contexto
9
Figura 11 Re-planificación por cambio de contexto II
En la Figura 11, se muestra que se genera un archivo, esto con el fin de conocer qué sucede
cuando se califica una actividad o cuando existe un cambio en el contexto. El archivo se encuentra
separado por punto y comas (;), en donde esa separación es un dato. En la siguiente línea se
observa el significado y el orden de cada uno de los datos.
Id estudiante; Id ítem Plan (relacionado a la actividad planeada); Id grafo nuevo; Id grafo anterior;
id Instructor; tipo evento; año; mes; día; hora; minutos; segundos; calificación
El tipo del evento se define de la siguiente manera:
0=mismo grafo (no cambia el grafo) 1=re planificación grafo 2=origen (creación del grafo)
3=cambio contexto (cambio contexto)
10
Cabe aclarar que cuando el cambio se genera por origen o por cambio del contexto, los resultados
de la actividad y de la calificación salen vacíos, ya que el cambio no se generó por una calificación
realizada como se observa en las siguientes líneas.
28; ;201;200;1;2;2015;3;19;10;55;54; (origen) 28; ;202;201;1;3;2015;3;19;10;56;6; (contexto)
Con este proceso se validan las hipótesis 4 y 5.
2.7. Resultado prueba JUnit
Desarrollando las pruebas individuales de con JUnit, el resultado fue satisfactorio, pues todos los
procesos anteriores fueron exitosos. En la Figura 12, se muestra la correcta ejecución de cada
subproceso de ASHYI.
Figura 12 Pruebas JUnit