19 research outputs found

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

    Get PDF
    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 service-based 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.Work partially supported by the projects TIN2008-05932, TIN2008-01942, TIN2012-35669, TIN2012-34840 and CSD2007-0004 funded by Spanish Ministry of Economy and Competitiveness and FEDER; P09-TIC-05231 and P11-TIC-7659 funded by Andalusian Government; and FP7-317731 funded by EU. Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tec

    Evolución arquitectónica de servicios basada en modelos CVL con cardinalidad

    Get PDF
    La computación en la nube se está convirtiendo en un mecanismo predominante para desplegar fácilmente aplicaciones con requisitos especiales, tales como el almacenamiento masivo compartido, o el equilibrado de carga. Esta funcionalidad se proporciona normalmente como servicios por las plataformas en la nube. Un desarrollador puede mejorar tanto el despliegue de sus aplicaciones como la productividad siguiendo un enfoque multi-tenancy, donde diferentes variantes de la misma aplicación pueden adaptarse rápidamente a las necesidades de cada usuario (tenant). Sin embargo, gestionar la variabilidad inherente a las aplicaciones multi-tenant, con cientos de usuarios y miles de configuraciones arquitectónicas diferentes, puede llegar a ser una tarea intratable de abordar manualmente. En este artículo, se propone un enfoque de línea de producto software en el cual: (1) usamos modelos de variabilidad con cardinalidad para modelar cada tenant como una característica clonable, (2) automatizamos el proceso de evolución de las arquitecturas de aplicaciones multi-tenant, y (3) demostramos que la implementación de los procesos de evolución es correcta y eficiente para un número elevado de tenants en un tiempo razonable.Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech

    Reconfigurando aplicaciones multi-cloud con líneas de producto software dinámicas

    Get PDF
    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 de reflexión, exploramos el uso del enfoque de DSPL, para que cuando ocurran problemas en los proveedores o se violen los requisitos de las aplicaciones en entornos multi-cloud, las aplicaciones puedan ser reconfiguradas y seguir proporcionando los servicios adecuadamente a los usuarios.Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech

    Optimizing mobile applications by exploiting variability models at runtime

    Get PDF
    El servicio de reconfiguración dinámica genera y despliega configuraciones de la aplicación optimizadas para el contexto de la ejecución. Para la generación eficiente de estas configuraciones se han definido los algoritmos genéticos DAGAME (mono-objetivo) y MO-DAGAME (multi-objetivo). Ambos algoritmos han sido evaluados, obteniendo buenos resultados con respecto al tiempo de ejecución y a la calidad de las configuraciones generadas. Fecha de lectura de Tesis Doctoral: 18 de diciembre 2018.Los teléfonos móviles 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 están fuertemente relacionadas con su contexto (e.g., localización, 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 reconfiguración dinámica. Un enfoque ampliamente aceptado para gestionar la variabilidad de las aplicaciones en tiempo de ejecución son las Líneas de Producto Software Dinámicas (DSPLs). Por otro lado, otro paradigma ampliamente aceptado en la comunidad de los sistemas distributidos es el de la Computación Autónoma (CA), cuyo principal objetivo es dotar a los sistemas distribuidos de capacidades de auto-gestión. Esta tesis explora la aplicación de las DSPLs y la CA al desarrollo de aplicaciones para dispositivos móviles que pueden ser reconfiguradas en tiempo de ejecución en función de su contexto. Sus contribuciones cubren tanto el diseño de la DSPL como el desarrollo de mecanismos de reconfiguración dinámica. Con respecto al diseño de la DSPL, se han propuesto dos alternativas diferentes para la especificación de la arquitectura software y la variabilidad. Por un lado, un mecanismo basado en el uso de perfiles UML y herramientas para modelos de características. Por otro lado, un mecanismo basado en el uso del lenguaje CVL para el modelado de la variabilidad. Para la adaptación de las aplicaciones en tiempo de ejecución se ha definido un middleware que incluye servicios de monitorización del contexto y de reconfiguración dinámica

    A model-driven approach for constructing ambient assisted-living multi-agent systems customized for Parkinson patients

    Get PDF
    The Parkinson disease affects some people, especially in the last years of their lives. Ambient assisted living systems can support them, especially in the middle stages of the disease. However, these systems usually need to be customized for each Parkinson patient. In this context, the current work follows the model-driven engineering principles to achieve this customized development. It represents each patient with a model. This is transformed into an agent-based model, from which a skeleton of programming code is generated. A case study illustrates this approach. Moreover, 24 engineers expert in model-driven engineering, multi-agent systems and/or health experienced the current approach alongside the three most similar works, by implementing actual systems. Some of these systems were tested by Parkinson patients. The results showed that (1) the current approach reduced the development time, (2) the developed system satisfied a higher percentage of the requirements established for certain Parkinson patients, (3) the usability increased, (4) the performance of the systems improved taking response time into account, and (5) the developers considered that the underlying metamodel is more appropriate for the current goal

    Context-dependent reconfiguration of autonomous vehicles in mixed traffic

    Get PDF
    Human drivers naturally adapt their behaviour depending on the traffic conditions, such as the current weather and road type. Autonomous vehicles need to do the same, in a way that is both safe and efficient in traffic composed of both conventional and autonomous vehicles. In this paper, we demonstrate the applicability of a reconfigurable vehicle controller agent for autonomous vehicles that adapts the parameters of a used car-following model at runtime, so as to maintain a high degree of traffic quality (efficiency and safety) under different weather conditions.We follow a dynamic software product line approach to model the variability of the car-following model parameters, context changes and traffic quality, and generate specific configurations for each particular context. Under realistic conditions, autonomous vehicles have only a very local knowledge of other vehicles' variables.We investigate a distributed model predictive controller agent for autonomous vehicles to estimate their behavioural parameters at runtime, based on their available knowledge of the system.We show that autonomous vehicles with the proposed reconfigurable controller agent lead to behaviour similar to that achieved by human drivers, depending on the context.Junta de Andalucía MAGIC P12-TIC1814Ministerio de Ciencia, Innovación y Universidades HADAS TIN2015-64841-

    WeaFQAs: A Software Product Line Approach for Customizing and Weaving Efficient Functional Quality Attributes

    Get PDF
    Fecha de Lectura de Tesis: 10 de julio de 2018Los atributos de calidad funcionales (FQA) son aquellos que tienen una clara implicación en la funcionalidad del sistema, es decir, existen unos componentes específicos que deben ser incorporados a la arquitectura software del sistema para satisfacer sus requisitos de atributos de calidad. Ejemplos de FQAs son seguridad, usabilidad, o persistencia. Modelar estos atributos es una tarea compleja. Por un lado, se componen de muchas características relacionadas, por ejemplo seguridad está compuesto, entre otros, por autenticación, confidencialidad y encriptación. Tienen dependencias entre ellos, por ejemplo, seguridad puede ser requerido por usabilidad o persistencia. Por otro lado, tienen muchos puntos de variabilidad: una aplicación concreta puede requerir autenticación y control de acceso mientras que otra puede necesitar sólo encriptación. Además, su funcionalidad suele estar dispersa afectando a varios componentes del sistema en desarrollo. El objetivo de esta tesis es definir una línea de productos software orientada a aspectos que permita: (1) modelar las similitudes y la variabilidad de los FQAs desde las primeras etapas del proceso de desarrollo, (2) gestionar las dependencias existentes entre los FQAs, (3) independizar el modelado de los FQAs de la arquitectura de la aplicación afectada, (4) configurar los FQAs en base a los requisitos de cada aplicación teniendo además en cuenta propiedades no funcionales como el rendimiento y el consumo energético de cada solución, (5) incorporar las configuraciones a la arquitectura de la aplicación de manera automática; y (6) gestionar la evolución de los FQAs cuando los requisitos cambien en el futuro. Como resultado se ha definido WeaFQAs, un proceso software para gestionar los FQAs que cubre todos los puntos mencionados. Se han realizado y comparado dos instanciaciones de WeaFQAs usando diferentes lenguajes de variabilidad y de modelado, además de proporcionar soporte con una herramienta basada en el lenguaje CVL

    Model Defects in Evolving Software Product Lines: A Review of Literature

    Get PDF
    Software products lines (SPLs) are long living systems that undergo several evolutions throughout their lifetime due to many reasons related to technology, strategy, business, etc. These evolutions can be the source of several defects that impact the different artefacts of SPLs, namely requirements, models, architecture and code. Many studies in the literature have dealt with the correction of defects in software product lines, but to our knowledge, no reviews have been carried out to provide an extensive overview of these studies. In this paper, we present a literature review of model defects in software product lines. The purpose of this review is to enumerate the different defects discussed in literature and to present the approaches proposed to detect and correct them. The findings of this review reveal new research leads to explore in this issue

    Specification Patterns for Robotic Missions

    Get PDF
    Mobile and general-purpose robots increasingly support our everyday life, requiring dependable robotics control software. Creating such software mainly amounts to implementing their complex behaviors known as missions. Recognizing the need, a large number of domain-specific specification languages has been proposed. These, in addition to traditional logical languages, allow the use of formally specified missions for synthesis, verification, simulation, or guiding the implementation. For instance, the logical language LTL is commonly used by experts to specify missions, as an input for planners, which synthesize the behavior a robot should have. Unfortunately, domain-specific languages are usually tied to specific robot models, while logical languages such as LTL are difficult to use by non-experts. We present a catalog of 22 mission specification patterns for mobile robots, together with tooling for instantiating, composing, and compiling the patterns to create mission specifications. The patterns provide solutions for recurrent specification problems, each of which detailing the usage intent, known uses, relationships to other patterns, and---most importantly---a template mission specification in temporal logic. Our tooling produces specifications expressed in the LTL and CTL temporal logics to be used by planners, simulators, or model checkers. The patterns originate from 245 realistic textual mission requirements extracted from the robotics literature, and they are evaluated upon a total of 441 real-world mission requirements and 1251 mission specifications. Five of these reflect scenarios we defined with two well-known industrial partners developing human-size robots. We validated our patterns' correctness with simulators and two real robots

    Evolution in Dynamic Software Product Lines

    Get PDF
    International audienceMany software systems today provide support for adaptation and reconfiguration at runtime, in response to changes in their environment. Such adaptive systems are designed to run continuously and may not be shut down for reconfiguration or maintenance tasks. The variability of such systems has to be explicitly managed, together with mechanisms that control their runtime adaptation and reconfiguration. Dynamic software product lines (DSPLs) can help to achieve this. However, dealing with evolution is particularly challenging in a DSPL, as changes made at run-time can easily lead to inconsistencies. This paper describes the challenges of evolving DSPLs using an example cyber-physical system for home automation. We discuss the shortcomings of existing work and present a reference architecture to support DSPL evolution. To demonstrate its feasibility and flexibility, we implemented the proposed reference architecture for two different DSPLs: the aforementioned cyber-physical system, which uses feature models to describe its variability, and a runtime monitoring infrastructure, which is based on decision models. To assess the industrial applicability of our approach, we also implemented the reference architecture for a real-world DSPL, an automation software system for injection molding machines. Our results provide evidence on the flexibility, performance and industrial applicability of our approach
    corecore