Resumen
Los sistemas software se han convertido en parte de nuestra vida diaria y esto ha aumentado la demanda de sistemas más eficientes y
fáciles de usar. Una tendencia es el desarrollo de sistemas adaptativos ya que estos están diseñados para ajustar su estructura o
funcionalidades a las necesidades y preferencias cambiantes de sus usuarios. Además, la adaptación de la interfaz de usuario (IU) es un
aspecto crucial de los sistemas adaptativos, ya que permite que el sistema ajuste su interfaz para adaptarse mejor a las necesidades del
usuario. Algunos usuarios pueden necesitar o preferir diferentes características del interfaz (layout, tareas), y al adaptarse a estas
preferencias, el sistema puede proporcionar una experiencia de usuario (UX) más eficiente y satisfactoria. Sin embargo, como no todos
los atributos de calidad del sistema pueden garantizarse a nivel de la interfaz de usuario pueden ser necesarios cambios en la
arquitectura del sistema. Además, con la creciente tendencia de software que explora el potencial de las técnicas de aprendizaje
automático (ML), la adaptación inteligente de software se ha convertido en un requisito fundamental. Esta necesidad también se destaca
en la Agenda para la Investigación y Desarrollo en Ingeniería de Software publicada recientemente por el Software Engineering Institute
(SEI).
Creemos que la noción actual de adaptación de software será reemplazada por una en la que la inteligencia artificial (IA )y los humanos
colaboren para adaptar y evolucionar continuamente los sistemas software para mejorar su calidad y la experiencia de sus usuarios. Esto
significa que los humanos y el sistema potenciado por la IA colaborarán hacia objetivos de adaptación comunes a lo largo del tiempo,
evolucionarán juntos, mejorarán y aprenderán uno de otro. Por tanto, en este proyecto, se propone un marco tecnológico de adaptación
que se compone de 1) un conjunto de modelos que permitirá monitorizar el uso del sistema para recopilar información del sistema
software (atributos de calidad) y del usuario (ej., naturaleza de la tarea de interacción, características del usuario y sus datos fisiológicos,
estados afectivos), y 2) un proceso de toma de decisiones basado en técnicas de aprendizaje automático (ML) que aprenderá
comportamientos adaptativos a partir de la interacción del usuario con el sistema para proponer acciones de mejora (adaptaciones) a
nivel de interfaz de usuario y arquitectura de software, cuando la calidad del sistema y/o la UX no son las esperadas.