Resumen
En los últimos años, las interfaces de usuario inteligentes se han convertido en una solución para mejorar la usabilidad de
los sistemas software. Este tipo de interfaces debe ser consciente de las necesidades del usuario y adaptarse a su
situación actual (e.j., contexto actual). La información de contexto pertinente puede recogerse del entorno (por ejemplo, su
ubicación actual) o de modelos de usuario que reflejen el comportamiento del usuario. Aunque se han propuesto muchas
aproximaciones, la adaptación de interfaces para satisfacer los requisitos del contexto de uso sigue siendo un gran desafío,
especialmente cuando los usuarios finales se vuelven más exigentes en términos de calidad de adaptación. El desafío es
sugerir la adaptación correcta en el momento correcto y en el lugar correcto para que sea valioso para el usuario final. El
objetivo de este proyecto es definir e implementar un marco tecnológico para la adaptación inteligente de interfaces de
usuario basado en un ciclo de retroalimentación bio-inspirado. La adaptación se realizará mediante el uso de técnicas de
desarrollo dirigido por modelos y permitirá: 1) monitorizar tanto los niveles de usabilidad del sistema software así como la
experiencia del usuario; y 2) adaptar el interfaz para asegurar los niveles de usabilidad requeridos y/o mejorar la
experiencia de usuario. Para ello, se definirá una infraestructura que permita monitorizar el uso de un sistema software,
recogiendo información del sistema y del usuario y un proceso de toma de decisiones basado en técnicas de machine
learning (ML), en particular reinforcement learning (aprendizaje por refuerzo), que propondrá acciones de mejora
(adaptaciones) cuando los niveles de usabilidad del interfaz o la experiencia de usuario no son los esperados. Para
determinar la UX se hará uso de información específica del sistema monitorizado (por ejemplo, tiempo de uso, número de
intentos fallidos) así como de datos fisiológicos y de comportamiento del usuario que permitirán identificar los puntos de
atención y el esfuerzo cognitivo del usuario al realizar tareas con el sistema software.