Resumen de la thesis de doctorado (Español)

El desarollo de interfaces de usuario (IU), en el contexto de aplicaciones interactivas de uso intensivo de datos, es una tarea repetitiva y gran consumidora de tiempo. Sin embargo, pocos proyectos de investigación buscan generar la interfaz de usuário de forma automática.

Los enfoques existentes para la generación automática de interfaces de usuario, o requieren la construcción de un modelo completo de la interfaz de usuario, lo que, en aplicaciones de uso intensivo de datos, corresponde a mover la repetibilidad de la construcción de la IU al nivel de modelado, o necesitan de un complejo conjunto de sub-modelos contaminados con información concreta de IU. Esto ha dejado de lado una utilización más generalizada de estos planteamientos. Algunas soluciones existentes en la literatura, intentan simplificar los sub-modelos requeridos a través de la generación de otros sub-modelos a partir de los primeros, pero estas soluciones han demostrado ser poco flexibles, tornando difícil el manejo de problemas menos estándar.

Con base en la identificación y comparación de instrumentos y enfoques de el estado de la técnica, para la generación automática de IU, esta tesis doctoral trata de la generación automática de aplicaciones interactivas completamente funcionales intensamente basadas en los datos, incluyendo la interfaz de usuario, según un enfoque guiado por modelos. El enfoque adoptado se inicia con la construcción de modelos del sistema bajo desarrollo, no de la interfaz de usuario, independientes de la plataforma, a saber el modelo de dominio y el modelo de casos de uso, y genera un modelo de la interfaz de usuario, que se utiliza junto con el modelo de dominio para generar el código final de la aplicación.

También se propone un proceso iterativo de desarrollo de software, alineado con la arquitectura guiada por modelos (MDA), incluyendo la validación de modelos utilizando un prototipo de trabajo en el final de cada iteración.

El enfoque que se presenta debe ser contextualizado en una perspectiva evolutiva del desarrollo de software, a partir de un prototipo que permite la validación y implementación de modelos ejecutables del sistema, y hacer posible su uso como base para evolución futura, a través del perfeccionamiento de los modelos anteriores, o el suplemento con nuevos sub-modelos.

Se utiliza la lenguaje OCL (Object Constraint Language) y una lenguaje de acciones para aumentar el rigor y la riqueza semántica al modelo del sistema bajo desarrollo, permitiendo la generación de ciertas características derivadas de los cuerpos de las operaciones, invariantes y precondiciones definidas en el modelo, contribuyendo para mejorar la usabilidad y la aceptabilidad de la interfaz de usuario.

Se presentan dos casos de estudio que validan el enfoque propuesto.