Navegación

Búsqueda

Búsqueda avanzada

El autor Lidia Fuentes ha publicado 16 artículo(s):

1 - Self-Adaptation of Mobile Systems with Dynamic Software Product Lines

Mobile ecosystems are generally long-lived and sometimes operate in inaccessible areas, so they require support for self-adaptation to the continuous context changes. Dynamic Software Product Lines (DSPLs) produce software products capable of adapting to requirements that change at runtime. We propose a DSPL-based self-adaptation process especially designed for mobile system requirements, such as context and device heterogeneity. We follow a lightweight model@run.time approach, by using variability models to generate, at runtime, the products adapted to the context changes, but without loading the models in the mobile devices. In addition, our approach takes into account the quality-of-service as part of the decision making process.

Autores: Nadia Gamez / Lidia Fuentes / José María Troya / 
Palabras Clave: Dynamic Software Product Lines - Self-Adaptation

2 - Composition and Self-Adaptation of Service-Based Systems with Feature Models

The adoption of mechanisms for reusing software in pervasive systems has not yet become standard practice. This is because the use of pre-existing software requires the selection, composition and adaptation of prefabricated software parts, as well as the management of some complex problems such as guaranteeing high levels of efficiency and safety in critical domains. In addition to the wide variety of services, pervasive systems are composed of many networked heterogeneous devices with embedded software. In this work, we promote the safe reuse of services in servicebased systems using two complementary technologies, Service-Oriented Architecture and Software Product Lines. In order to do this, we extend both the service discovery and composition processes defined in the DAMASCo framework, which currently does not deal with the service variability that constitutes pervasive systems. We use feature models to represent the variability and to self-adapt the services during the composition in a safe way taking context changes into consideration. We illustrate our proposal with a case study related to the driving domain of an Intelligent Transportation System, handling the context information of the environment.
In this work, we present the integration process of the feature models (FM) into DAMASCo to deal with the services’ variability in the composition. Firstly, in addition to the BPEL/WF descriptions, we have a FM for each service describing its variability. Then, each business process corresponds with a valid configuration of the FM that represents it. We focus on the representation of the service variability wrt the context. After a client executes a request, both the DAMASCo model transformation and the semantic-based service discovery process are activated. Due to the high variability of the services, it is possible that a small variation of a service could be needed. Then, a new process using FM is added to the DAMASCo framework, called service family discovery, to find a new matching as regards a certain context. A new valid configuration of that family containing this feature, representing the particular services, is automatically created, and the new service self-adaptation process added to DAMASCo is executed. Then, the CA-STS corresponding with this FM configuration is automatically created. Finally, this CA-STS interface is transformed into a WF/BPEL, composed with the services to satisfy the request.

Autores: Javier Cubo / Nadia Gamez / Lidia Fuentes / Ernesto Pimentel / 
Palabras Clave:

3 - Configuring a Context-Aware Middleware for Wireless Sensor Networks

In the Future Internet, applications based on Wireless Sensor Networks will have to support reconfiguration with minimum human intervention, depending on dynamic context changes in their environment. These situations create a need for building these applications as adaptive software and including techniques that allow the context acquisition and decisions about adaptation. However, contexts use to be made up of complex information acquired from heterogeneous devices and user characteristics, making them difficult to manage. So, instead of building context-aware applications from scratch, we propose to use FamiWare, a family of middleware for Ambient Intelligence specifically designed to be aware of contexts in sensor and smartphone devices. It provides both, several monitoring services to acquire contexts from devices and users, and a context-awareness service to analyze and detect context changes. However, the current version of FamiWare does not allow the automatic incorporation related to the management of new contexts into the FamiWare family. To overcome this shortcoming, in this work, we first present how to model the context using a metamodel to define the contexts that must to be taken into account in an instantiation of FamiWare for a certain Ambient Intelligence system. Then, to configure a new context-aware version of FamiWare and to generate code ready-to-install within heterogeneous devices, we define a mapping that automatically transforms metamodel elements defining contexts into elements of the FamiWare family, and we also use the FamiWare configuration process to customize the new context-aware variant. Finally, we evaluate the benefits of our process, and we analyze both that the new version of the middleware works as expected and that it manages the contexts in an efficient way.

Autores: Nadia Gamez / Javier Cubo / Lidia Fuentes / Ernesto Pimentel / 
Palabras Clave:

4 - Modelando y Gestionando la Variabilidad de los Sistemas de Inteligencia Ambiental con CVL

Las Líneas de Productos Software son una tecnología adecuada para gestionar la variabilidad inherente de los sistemas de Inteligencia Ambiental (AmI). Proponemos aplicar los conceptos de la ingeniería de líneas de producto a nivel de middleware para proporcionar configuraciones adaptadas a cada dispositivo de un determinado sistema AmI. Además de por la variabilidad, el dominio AmI está caracterizado por la necesidad de adaptar el sistema a los recursos escasos que suelen poseer los dispositivos AmI. Normalmente, en este domino, que también engloba los sistemas empotrados, estos problemas se suelen resolver a nivel de código. Pero nosotros consideramos que los modelos pueden ser claves para automatizar la generación de configuraciones de middlewares a medida y también para reconfigurar dicho middleware en tiempo de ejecución. Entonces, proponemos el uso de CVL (Common Variability Language), un lenguaje de modelado de la variabilidad genérico, para modelar una familia de middlewares para AmI, gestionando la variabilidad tanto en tiempo de diseño como en tiempo de ejecución.

Autores: Nadia Gámez / Lidia Fuentes / 
Palabras Clave: Ambientes Inteligentes - Lenguajes de Modelado de la Variabilidad - Líneas de Producto Software

6 - Reconfiguration of Service Failures in DAMASCo using Dynamic Software Product Lines (summary)

Building service-based applications requires providing the ability to handle, maintain or upgrade the services that compose these applications. As same services may be used by a wide variability of applications, the management of the heterogeneity at runtime is required. This is crucial to reconfigure applications in case of service failures. The DAMASCo framework reduces the complexity of modeling services focusing on the discovery, composition and adaptation of context-aware services. But currently, it does not support the dynamic reconfiguration of service-based applications. In this work, we follow a Dynamic Software Product Line approach to extend DAMASCo for providing reconfiguration to support specific situations of fails at runtime. We propose a novel approach of grouping services in families facilitating the selection and usage of similar services in case of fails. We apply our approach to an intelligent transportation system case study where DAMASCo composes and reconfigure the necessary services to provide a dynamic route for a driver’srequest.

 

Resumen del artículo publicado en:

12th IEEE International Conference on Services Computing (SCC 2015).

Autores: Javier Cubo / Nadia Gamez / Ernesto Pimentel / Lidia Fuentes / 
Palabras Clave: DSP - Heterogeneity - Service Reconfiguration

7 - Reconfigurando Aplicaciones Multi-Cloud con Líneas de Producto Software Dinámicas

La reconfiguración dinámica de aplicaciones multi-cloud es un reto complejo aún no suficientemente explorado. En estos entornos las aplicaciones o sus módulos pueden estar desplegados en diferentes proveedores. Por lo tanto, reconfigurar en tiempo de ejecución estas aplicaciones puede requerir la modificación de la distribución en múltiples y heterogéneos proveedores. Obtener la nueva distribución para que sigan funcionando correctamente las aplicaciones no es una tarea sencilla, pues tanto los requisitos de las aplicaciones como las propiedades de los proveedores son muy diversos y variables. Además, la migración de las aplicaciones o sus módulos en tiempo real de un proveedor a otro puede conllevar problemas de compatibilidad y/o dependencias entre los módulos. Por lo tanto, el manejo de la variabilidad dinámica de las aplicaciones y proveedores, así como el de las dependencias existentes es deseable que se haga a un alto nivel de abstracción. Las Líneas de Producto Software Dinámicas (DSLP) utilizan modelos de variabilidad en tiempo de ejecución para obtener los cambios que han de llevarse a cabo durante la reconfiguración. En este trabajo, exploramos el uso del enfoque de DSPL, para que cuando ocurran problemas en los proveedores o se violen requisitos de las aplicaciones multi-cloud, las apps puedan ser reconfiguradas y seguir proporcionando los servicios adecuadamente a los usuarios.

Autores: Javier Cubo / Nadia Gámez / Ernesto Pimentel / Lidia Fuentes / 
Palabras Clave: Aplicaciones Cloud - DSPL - Multi-Cloud - Reconfiguración - Variabilidad

8 - Configuración Eco-Eficiente de Atributos de Calidad Funcionales

Los atributos de calidad funcionales (FQAs) son aquellos que para satisfacerlos se necesita incorporar funcionalidad adicional a la arquitectura de las aplicación (e.g., seguridad). La nueva funcionalidad incorporada por estos FQAs (e.g., encriptación) afecta a otro atributo de calidad como es el consumo de energía de la aplicación. Hasta el momento no se han explorado suficientemente las interdependencias entre, por ejemplo diferentes niveles de seguridad y su incidencia en el consumo de energía. En este artículo se propone una solución para ayudar al arquitecto software a generar la configuración de los FQAs que optimiza la eficiencia energética de la aplicación. Para ello se define un modelo de uso para cada FQA, teniendo en cuenta las variables que influyen en el consumo de energía y como el valor de estas variables cambia en función del punto de la aplicación donde se requiere ese FQA. Se extiende una Línea de Productos Software que modela una familia de FQAs para incorporar la variabilidad del modelo de uso y los frameworks existentes que implementan los FQAs. Generamos la configuración más eco-eficiente seleccionando el framework y las características más adecuadas para cada FQA y configurándolo según los requisitos de la aplicación.

Autores: José Miguel Horcas Aguilera / Mónica Pinto / Lidia Fuentes / 
Palabras Clave: Atributos de Calidad - Eco-Eficiente - Energía - FQA - Línea de Productos Software - Variabilidad

9 - vEXgine: Extendiendo el Motor de Ejecución de CVL

El Lenguaje CVL (textit{Common Variability Language}) carece de una herramienta flexible que permita poner en práctica las necesidades industriales del modelado de la variabilidad en Líneas de Producto Software. Las herramientas existentes que proporcionan soporte para CVL son prototipos incompletos, o se centran principalmente en la especificación de la variabilidad, sin llegar a resolverla sobre modelos reales. Además, no existe una API que permita la interacción directa con el motor CVL para extenderlo o usarlo en una aplicación independiente. Este artículo presenta vEXgine, una implementación adaptable y extensible del motor de ejecución de la variabilidad de CVL.

Autores: José Miguel Horcas Aguilera / Mónica Pinto / Lidia Fuentes / 
Palabras Clave: CVL - Línea de Producto Software - Variabilidad - vEXgine

10 - Aplicabilidad de la Caracterización de Benchmarks a Modelos de Variabilidad

Los Benchmarks utilizados para comparar el rendimiento de diferentes sistemas presentan una alta variabilidad que puede ser representada en modelos de variabilidad como los feature models. En este artículo presentamos las ventajas de la caracterización de Benchmarks (dada por sus cargas de trabajo), junto a los problemas de escalabilidad y complejidad de selección por objetivos de los Feature Models. Para solucionar esos problemas, formalizamos un modelo de caracterización de paquetes de cargas de trabajo para Feature Models, basándonos en ocho atributos abstractos (operaciones matemáticas, memoria, …). Este modelo y sus ventajas son evaluados en el eco-asistente HADAS, junto a un Benchmark PHP, y al Benchmark de sistemas empotrados BEEBS, obteniendo una capacidad de selección más intuitiva, y un decremento en el tiempo de obtención de configuraciones válidas y sus métricas en HADAS, con respecto a la representación estándar.

Autores: Daniel Jesus Munoz Guerra / Lidia Fuentes / 
Palabras Clave: Atributos - Benchmarking - Caracterización - Eficiencia - escalabilidad - Features - Software - Variabilidad

11 - Mecanismos de Reconfiguración Eco-eficiente de Código en Aplicaciones Móviles Android

Los dispositivos móviles ofrecen cada vez mayores prestaciones a costa de un mayor consumo energético. La energía consumida por un móvil no sólo depende de las aplicaciones en sí, sino también de las interacciones del usuario con la aplicación. Si un recurso no está siendo utilizado por la aplicación, no debería estar consumiendo energía. En este artículo se presenta un modelo de adaptación de aplicaciones móviles al contexto del usuario con el objetivo de reducir el consumo energético de las aplicaciones. Se desarrollan y evalúan cuatro implementaciones diferentes de la propuesta en busca del mecanismo de reconfiguración más eficiente energéticamente.

Autores: Angel Canete / José Miguel Horcas Aguilera / Lidia Fuentes / 
Palabras Clave: Adaptabilidad - Android - Dispositivos móviles - Eco-Eficiente - Energía - reconfiguración dinámica

12 - Integrating the Common Variability Language with Multilanguage Annotations for Web Engineering

Web applications development involves managing a high diversity of files and resources like code, pages or style sheets, implemented in different languages. To deal with the automatic generation of custom-made configurations of web applications, industry usually adopts annotation-based approaches even though the majority of studies encourage the use of composition-based approaches to implement Software Product Lines. Recent work tries to combine both approaches to get the complementary benefits. However, technological companies are reticent to adopt new development paradigms such as feature-oriented programming or aspect-oriented programming.Moreover, it is extremely difficult, or even impossible, to apply these programming models to web applications, mainly because of their multilingual nature, since their development involves multiple types of source code (Java, Groovy, JavaScript), templates (HTML, Markdown, XML), style sheet files (CSS and its variants, such as SCSS), and other files (JSON, YML, shell scripts).We propose to use the Common Variability Language as a composition-based approach and integrate annotations to manage fine grained variability of a Software Product Line for web applications.In this paper, we (i) show that existing composition and annotation-based approaches, including some well-known combinations, are not appropriate to model and implement the variability of web applications; and (ii) present a combined approach that effectively integrates annotations into a composition-based approach for web applications. We implement our approach and show its applicability with an industrial real-world system.

Autores: José Miguel Horcas Aguilera / Alejandro Cortiñas / Lidia Fuentes / Miguel R. Luaces / 
Palabras Clave: annotations - automation - composition - CVL - SPL - Variability - web engineering

13 - Modelando la Variabilidad de Características Complejas en Líneas de Productos Software

A pesar de la gran cantidad de trabajos y de herramientas existentes en el ámbito de las Líneas de Productos Software, muchos dominios de aplicación actuales no pueden verse beneficiados del uso de una Línea de Producto Software. Además, fuera del mundo académico, la empresa sigue siendo bastante reticente a usar este enfoque. En este artículo reflexionamos sobre las razones de esta falta de adopción, tanto desde el punto de vista de las características complejas que son imprescindibles en los sistemas actuales, como del soporte que las herramientas existentes proporcionan.

Autores: José Miguel Horcas Aguilera / Mónica Pinto / Lidia Fuentes / 
Palabras Clave: Líneas de Productos Software - Modelado - Soporte de herramientas - Variabilidad

14 - Variability Models for Generating Efficient Configurations of Functional Quality Attributes

Context: Quality attributes play a critical role in the architecture elicitation phase. Software Sustainability and energy efficiency is becoming a critical quality attribute that can be used as a selection criteria to choose from among different design or implementation alternatives. Energy efficiency usually competes with other non-functional requirements, like for instance, performance.Objective: This paper presents a process that helps developers to automatically generate optimum configurations of functional quality attributes in terms of energy efficiency and performance. Functional quality attributes refer to the behavioral properties that need to be incorporated inside a software architecture to fulfill a particular quality attribute (e.g., encryption and authentication for the security quality attribute, logging for the usability quality attribute).Method: Quality attributes are characterized to identify their design and implementation variants and how the different configurations influence both energy efficiency and performance. A usage model for each characterized quality attribute is defined. The variability of quality attributes, as well as the energy efficiency and performance experiment results, are represented as a constraint satisfaction problem with the goal of formally reasoning about it. Then, a configuration of the selected functional quality attributes is automatically generated, which is optimum with respect to a selected objective function.Results: Software developers can improve the energy efficiency and/or performance of their applications by using our approach to perform a richer analysis of the energy consumption and performance of different alternatives for functional quality attributes. We show quantitative values of the benefits of using our approach and discuss the threats to validity.Conclusions: The process presented in this paper will help software developers to build more energy efficient software, whilst also being aware of how their decisions affect other quality attributes, such as performance.

Autores: José Miguel Horcas Aguilera / Mónica Pinto / Lidia Fuentes / 
Palabras Clave: Energy consumption - Energy Efficiency - Performance - Quality Attributes - Software Product Line - Sustainability - Variability

15 - Sistema de Asignación de Tareas Energéticamente Eficiente en Infraestructuras de Despliegue Variables

Cada vez existen más dispositivos de la Internet de las Cosas conectados a Internet que generan una gran cantidad de datos que pueden llegar a congestionar la red en su camino hacia la Nube. Para paliar esta congestión, tecnologías recientes, como el Edge Computing y el Fog Computing, proponen realizar el procesamiento de los datos en dispositivos más cercanos al origen de estos datos. Esto hace que las infraestructuras sobre las que se despliegan las aplicaciones sean cada vez más variables (diferentes tipo de dispositivos, capacidades de cómputo, características de red, etc). En este trabajo se presenta una solución para la asignación óptima de tareas a dispositivos del borde, con el objetivo de minimizar el consumo energético de la ejecución de las aplicaciones. Para ello, utilizamos modelos de variabilidad de Lineas de Producto Software para configurar tanto las aplicaciones como las infraestructuras de despliegue, presentando un modelo general para este último. La configuración de ambas se utiliza como entrada a un marco de trabajo de asignación óptima de tareas, obteniendo como resultado un sistema que proporciona la configuración más eficiente energéticamente en el momento en que el usuario lanza la aplicación, sin comprometer su experiencia como usuario, de forma transparente, escalable, y consiguiendo un importante ahorro energético, como se demuestra en nuestro caso de estudio.

Autores: Ángel Cañete / Mercedes Amor / Lidia Fuentes / 
Palabras Clave: Eficiencia energética - Líneas de Producto Software - Mobile Cloud Computing - Mobile Edge Computing

16 - Finding Correlations of Features Affecting Energy Consumption and Performance of Web Servers Using the HADAS Eco-Assistant

The impact of energy consumption on the environment andthe economy is raising awareness of «green»software engineering. HADASis an eco-assistant that makes developers aware of the influence oftheir designs and implementations on the energy consumption and performanceof the final product. In this paper, we extend HADAS to bettersupport the requirements of users: researchers, automatically dumpingthe energy-consumption of different software solutions; and developers,who want to perform a sustainability analysis of different software solutions.This analysis has been extended by adding Pearson’s chi-squareddifferentials and Bootstrapping statistics, to automatically check the significanceof correlations of the energy consumption, or the execution time,with any other variable (e.g., the number of users) that can influencethe selection of a particular eco-efficient configuration. We have evaluatedour approach by performing a sustainability analysis of the mostcommon web servers (i.e. PHP servers) using the time and energy datameasured with the Watts Up? Pro tool previously dumped in HADAS.We show how HADAS helps web server providers to make a trade-offbetween energy consumption and execution time, allowing them to selldifferent server configurations with different costs without modifying thehardware.

Autores: Daniel-Jesus Munoz / Mónica Pinto / Lidia Fuentes / 
Palabras Clave: Energy Efficiency - Linux - Performance - Web Servers