Resumen

En estos últimos años, nuestra vida cotidiana ha sufrido un gran cambio debido a los servicios Web; muestra de ello es la participación masiva de los usuarios en las redes sociales y el uso extendido de teléfonos inteligentes (smartphones). Sin embargo, y pese a la potencial interconectividad de estos servicios y su acceso ubicuo, no se han llegado a explotar convenientemente las sinergias entre ellos debido a diversas razones como la fragmentación del mercado, las incompatibilidades existentes entre diferentes servicios y los errores intrínsecos a cualquier desarrollo software de cierta complejidad. El objetivo general de la presente propuesta es la creación de una plataforma que permita el desarrollo optimizado y certificado de orquestadores de servicios en la Nube (Cloud), accedidos mediante dispositivos móviles, de acuerdo a los recursos físicos del terminal (memoria, red, energía, etc.), y a los servicios Web accedidos (aplicaciones o redes sociales). La plataforma proporcionará una funcionalidad que extiende a los entornos de desarrollo de aplicaciones software tradicionales, tanto por el valor añadido de los servicios ofertados en la Nube, como por la generación óptima y fiable de dichos servicios a partir de mecanismos formales. Los servicios serán accesibles a través de una interfaz intuitiva basada en los modelos abstraídos de los servicios. Para alcanzar tal objetivo, la plataforma se construirá en base a tres módulos o capas. Dado que la meta principal es optimizar la manera de ofrecer los mejores recursos de la Nube al menor coste, en una primera capa se realizará un análisis de los parámetros monitorizados (del terminal móvil, acceso a la nube a través del operador y funcionalidades en la ejecución en la nube) a fin de optimizar el rendimiento y la calidad del servicio en general. Este análisis permitirá, en una segunda capa, la síntesis de orquestadores dinámicos que podrán variar en tiempo de ejecución en función de los cambios del contexto (tanto del dispositivo móvil como del usuario y del entorno), facilitando el descubrimiento, la composición (entendida ya sea como orquestación o como coreografía), la monitorización, la adaptación y la reconfiguración de los servicios seleccionados según la optimización previa. Finalmente, en una tercera capa de la plataforma, y en paralelo durante la síntesis de orquestadores, se verificarán propiedades funcionales y no funcionales de dichos orquestadores mediante diversas técnicas formales (considerando sistemas discretos, híbridos o estocásticos), soportando no sólo una verificación estática, sino también una verificación en tiempo real.

 

Summary

Our daily life has changed thanks to Web services, being social networks and smartphones the most recent examples. Nonetheless, even though services are potentially interconnected and ubiquitously accessible, their synergies are not exploited due to market fragmentation, incompatibility and bugs which naturally creep into products of certain complexity.

The main goal of this proposal is to create a platform to support the development of orchestrators of Cloud services. The development process focusses on the optimization and certification of such orchestrators. Both the platform and the developed service orchestrators (which are also services themselves) will be accessible from mobile devices and will be tailored to their physical resources (memory, network, energy, etc.) and to the orchestrated Web services (Web applications and social networks). This platform will extend traditional software development environments both by the added-value provided by the services offered in the Clouds and by the generation of optimal and reliable services by means of formal methods. The synthesized services and orchestrators will be accessible through an intuitive interface based on the abstract models corresponding to the services. To fulfill such goal, the platform will be built in three modules or layers. In the first step, performance and QoS in general will be monitorized and analyzed in order to offer optimal services, spending the fewest resources at the lowest cost.

This analysis will support a second layer in charge of synthesizing dynamic orchestrators. These orchestrators could evolve over run time to adapt themselves to changes in context (due to the mobile device, user preferences or their environment). This evolution will empower the discovery, adaptability and reconfiguration of services. Finally, on the third layer of the platform, functional and non-functional properties will be verified during the synthesis process, both statically and at runtime, by means of different formal techniques (both considering discrete systems, hybrid systems, or stocastic ones).

 

Proyecto financiado por

Documento de la Propuesta