asyashiy.javeriana.edu.co/proyecto/docs/ashyi - reporte de... · 2017. 6. 13. · como se observa,...

11
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

Upload: others

Post on 29-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ASYashiy.javeriana.edu.co/proyecto/docs/ASHYI - Reporte de... · 2017. 6. 13. · Como se observa, en ambos casos los agentes correspondientes fueron creados e instanciados correctamente

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

Page 2: ASYashiy.javeriana.edu.co/proyecto/docs/ASHYI - Reporte de... · 2017. 6. 13. · Como se observa, en ambos casos los agentes correspondientes fueron creados e instanciados correctamente

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

Page 3: ASYashiy.javeriana.edu.co/proyecto/docs/ASHYI - Reporte de... · 2017. 6. 13. · Como se observa, en ambos casos los agentes correspondientes fueron creados e instanciados correctamente

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.

Page 4: ASYashiy.javeriana.edu.co/proyecto/docs/ASHYI - Reporte de... · 2017. 6. 13. · Como se observa, en ambos casos los agentes correspondientes fueron creados e instanciados correctamente

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–.

Page 5: ASYashiy.javeriana.edu.co/proyecto/docs/ASHYI - Reporte de... · 2017. 6. 13. · Como se observa, en ambos casos los agentes correspondientes fueron creados e instanciados correctamente

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:

Page 6: ASYashiy.javeriana.edu.co/proyecto/docs/ASHYI - Reporte de... · 2017. 6. 13. · Como se observa, en ambos casos los agentes correspondientes fueron creados e instanciados correctamente

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:

Page 7: ASYashiy.javeriana.edu.co/proyecto/docs/ASHYI - Reporte de... · 2017. 6. 13. · Como se observa, en ambos casos los agentes correspondientes fueron creados e instanciados correctamente

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:

Page 8: ASYashiy.javeriana.edu.co/proyecto/docs/ASHYI - Reporte de... · 2017. 6. 13. · Como se observa, en ambos casos los agentes correspondientes fueron creados e instanciados correctamente

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

Page 9: ASYashiy.javeriana.edu.co/proyecto/docs/ASHYI - Reporte de... · 2017. 6. 13. · Como se observa, en ambos casos los agentes correspondientes fueron creados e instanciados correctamente

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

Page 10: ASYashiy.javeriana.edu.co/proyecto/docs/ASHYI - Reporte de... · 2017. 6. 13. · Como se observa, en ambos casos los agentes correspondientes fueron creados e instanciados correctamente

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)

Page 11: ASYashiy.javeriana.edu.co/proyecto/docs/ASHYI - Reporte de... · 2017. 6. 13. · Como se observa, en ambos casos los agentes correspondientes fueron creados e instanciados correctamente

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