Optimizing mobile applications by exploiting variability models at runtime

Gustavo G. Pascual · 2018

Los telefonos moviles inteligentes son una herramienta indispensable en nuestra vida cotidiana. Son dispositivos con los que podemos ejecutar aplicaciones y tareas complejas en cualquier lugar y en cualquier momento. Estas aplicaciones estan fuertemente relacionadas con su contexto (e.g., localizacion, recursos disponibles, etc.) y los requisitos del usuario cambian cuando lo hace el contexto en el que se ejecutan. Por lo tanto, desarrollar aplicaciones que se adaptan al contexto es fundamental para satisfacer dichos requisitos y, para lograrlo, es necesario proporcionar mecanismos de reconfiguracion dinamica. Un enfoque ampliamente aceptado para gestionar la variabilidad de las aplicaciones en tiempo de ejecucion son las Lineas de Producto Software Dinamicas (DSPLs). Por otro lado, otro paradigma ampliamente aceptado en la comunidad de los sistemas distributidos es el de la Computacion Autonoma (CA), cuyo principal objetivo es dotar a los sistemas distribuidos de capacidades de auto-gestion. Esta tesis explora la aplicacion de las DSPLs y la CA al desarrollo de aplicaciones para dispositivos moviles que pueden ser reconfiguradas en tiempo de ejecucion en funcion de su contexto. Sus contribuciones cubren tanto el diseno de la DSPL como el desarrollo de mecanismos de reconfiguracion dinamica. Con respecto al diseno de la DSPL, se han propuesto dos alternativas diferentes para la especificacion de la arquitectura software y la variabilidad. Por un lado, un mecanismo basado en el uso de perfiles UML y herramientas para modelos de caracteristicas. Por otro lado, un mecanismo basado en el uso del lenguaje CVL para el modelado de la variabilidad. Para la adaptacion de las aplicaciones en tiempo de ejecucion se ha definido un middleware que incluye servicios de monitorizacion del contexto y de reconfiguracion dinamica. El servicio de reconfiguracion dinamica genera y despliega configuraciones de la aplicacion optimizadas para el contexto de la ejecucion. Para la generacion eficiente de estas configuraciones se han definido los algoritmos geneticos DAGAME (mono-objetivo) y MO-DAGAME (multi-objetivo). Ambos algoritmos han sido evaluados, obteniendo buenos resultados con respecto al tiempo de ejecucion y a la calidad de las configuraciones generadas.

Read the paper · More papers on PaperTik