7,488 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

    Run-time Support to Manage Architectural Variability Speci ed with CVL

    Get PDF
    The execution context in which pervasive systems or mobile computing run changes continuously. Hence, applications for these systems should be adapted at run-time according to the current context. In order to implement a context-aware dynamic reconfiguration service, most approaches usually require to model at design-time both the list of all possible configurations and the plans to switch among them. In this paper we present an alternative approach for the automatic run-time generation of application configurations and the reconfiguration plans. The generated configurations are optimal regarding di erent criteria, such as functionality or resource consumption (e.g. battery or memory). This is achieved by: (1) modelling architectural variability at design-time using Common Variability Language (CVL), and (2) using a genetic algorithm that finds at run-time nearly-optimal configurations using the information provided by the variability model. We also specify a case study and we use it to evaluate our approach, showing that it is efficient and suitable for devices with scarce resources.Campus de Excelencia Internacional Andalucia Tech y proyectos de investigación TIN2008-01942, P09-TIC-5231 and INTER-TRUST FP7-317731

    Enabling Context-Aware Web Services: A Middleware Approach for Ubiquitous Environments

    Get PDF
    In ubiquitous environments, mobile applications should sense and react to environmental changes to provide a better user experience. In order to deal with these concerns, Service-Oriented Architectures (SOA) provide a solution allowing applications to interact with the services available in their surroundings. In particular, context-aware Web Services can adapt their behavior considering the user context. However, the limited resources of mobile devices restrict the adaptation degree. Furthermore, the diverse nature of context information makes difficult its retrieval, processing and distribution. To tackle these challenges, we present the CAPPUCINO platform for executing context-aware Web Services in ubiquitous environments. In particular, in this chapter we focus on the middleware part that is built as an autonomic control loop that deals with dynamic adaptation. In this autonomic loop we use FraSCAti, an implementation of the Service Component Architecture (SCA) specification, as the execution kernel for Web Services. The context distribution is achieved with SPACES, a flexible solution based on REST (REpresentational State Transfer ) principles and benefiting from the COSMOS (COntext entitieS coMpositiOn and Sharing ) context manage- ment framework. The application of our platform is illustrated with a mobile commerce application scenario that combines context-aware Web Services and social networks

    User-centric Adaptation Analysis of Multi-tenant Services

    Get PDF
    Multi-tenancy is a key pillar of cloud services. It allows different users to share computing and virtual resources transparently, meanwhile guaranteeing substantial cost savings. Due to the tradeoff between scalability and customization, one of the major drawbacks of multi-tenancy is limited configurability. Since users may often have conflicting configuration preferences, offering the best user experience is an open challenge for service providers. In addition, the users, their preferences, and the operational environment may change during the service operation, thus jeopardizing the satisfaction of user preferences. In this article, we present an approach to support user-centric adaptation of multi-tenant services. We describe how to engineer the activities of the Monitoring, Analysis, Planning, Execution (MAPE) loop to support user-centric adaptation, and we focus on adaptation analysis. Our analysis computes a service configuration that optimizes user satisfaction, complies with infrastructural constraints, and minimizes reconfiguration obtrusiveness when user- or service-related changes take place. To support our analysis, we model multitenant services and user preferences by using feature and preference models, respectively. We illustrate our approach by utilizing different cases of virtual desktops. Our results demonstrate the effectiveness of the analysis in improving user preferences satisfaction in negligible time.Ministerio de Economía y Competitividad TIN2012-32273Junta de Andalucía P12--TIC--1867Junta de Andalucía TIC-590

    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

    CaSPL-gen: a Context-aware Software Product Line benchmark generator

    Get PDF
    Software Product Lines (SPLs) are a mechanism for large-scale reuse where families of related software systems are represented in terms of commonalities and variabilities, e.g., using Feature Models (FMs). Context- aware SPL have been proposed to model and deal with dynamic systems whose behavior and properties depend on the context where they are deployed and executed. Due to the novelty of approach, no existing benchmarks of context-aware SPL are available. In this paper we overcome this limitation by introducing CaSPL-gen, i.e., the first benchmark generator tool able to generate random instances of context-aware SPL

    Achieving Autonomic Computing through the Use of Variability Models at Run-time

    Full text link
    Increasingly, software needs to dynamically adapt its behavior at run-time in response to changing conditions in the supporting computing infrastructure and in the surrounding physical environment. Adaptability is emerging as a necessary underlying capability, particularly for highly dynamic systems such as context-aware or ubiquitous systems. By automating tasks such as installation, adaptation, or healing, Autonomic Computing envisions computing environments that evolve without the need for human intervention. Even though there is a fair amount of work on architectures and their theoretical design, Autonomic Computing was criticised as being a \hype topic" because very little of it has been implemented fully. Furthermore, given that the autonomic system must change states at runtime and that some of those states may emerge and are much less deterministic, there is a great challenge to provide new guidelines, techniques and tools to help autonomic system development. This thesis shows that building up on the central ideas of Model Driven Development (Models as rst-order citizens) and Software Product Lines (Variability Management) can play a signi cant role as we move towards implementing the key self-management properties associated with autonomic computing. The presented approach encompass systems that are capable of modifying their own behavior with respect to changes in their operating environment, by using variability models as if they were the policies that drive the system's autonomic recon guration at runtime. Under a set of recon guration commands, the components that make up the architecture dynamically cooperate to change the con guration of the architecture to a new con guration. This work also provides the implementation of a Model-Based Recon guration Engine (MoRE) to blend the above ideas. Given a context event, MoRE queries the variability models to determine how the system should evolve, and then it provides the mechanisms for modifying the system.Cetina Englada, C. (2010). Achieving Autonomic Computing through the Use of Variability Models at Run-time [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/7484Palanci

    Feature-based generation of pervasive systems architectures utilizing software product line concepts

    Get PDF
    As the need for pervasive systems tends to increase and to dominate the computing discipline, software engineering approaches must evolve at a similar pace to facilitate the construction of such systems in an efficient manner. In this thesis, we provide a vision of a framework that will help in the construction of software product lines for pervasive systems by devising an approach to automatically generate architectures for this domain. Using this framework, designers of pervasive systems will be able to select a set of desired system features, and the framework will automatically generate architectures that support the presence of these features. Our approach will not compromise the quality of the architecture especially as we have verified that by comparing the generated architectures to those manually designed by human architects. As an initial step, and in order to determine the most commonly required features that comprise the widely most known pervasive systems, we surveyed more than fifty existing architectures for pervasive systems in various domains. We captured the most essential features along with the commonalities and variabilities between them. The features were categorized according to the domain and the environment that they target. Those categories are: General pervasive systems, domain-specific, privacy, bridging, fault-tolerance and context-awareness. We coupled the identified features with well-designed components, and connected the components based on the initial features selected by a system designer to generate an architecture. We evaluated our generated architectures against architectures designed by human architects. When metrics such as coupling, cohesion, complexity, reusability, adaptability, modularity, modifiability, packing density, and average interaction density were used to test our framework, our generated architectures were found comparable, if not better than the human generated architectures
    corecore