5 research outputs found

    An Adaptation Reasoning Approach for Large Scale Component-based Applications

    Get PDF
    There is a growing demand for context-aware applications that can dynamically adapt to their run-time environment. An application offers a collection of functionalities that can be realized through a composition of software components and/or services that are made available at runtime. With the availability of alternative variants of such components and/or services that provide the basic functionalities, while differ in extra-functional characteristics, characterized by quality of services (QoS), an unforeseen number of application variants can be created. The variant that best fits the current context is selected through adaptation reasoning, which can suffer from the processing capabilities of resource-scarce mobile devices, especially when a huge number of application variants needs to be reason about. In this paper, we present a reasoning approach, which provides a meaningful adaptation decision for adaptive applications having a large number of variants within a reasonable time frame. The approach is validated through two arbitrary applications with large number of variants. Keywords: self-adaptation, ubiquitous computing, adaptation reasoning, variability, scalability, utility functio

    Preface

    Get PDF

    Testing self-adaptive applications with simulation of context events

    Get PDF
    Modern trends in mobile computing have raised the expectations of users in terms of such features such as context-awareness and self-adaptiveness. With such capabilities, applications can autonomously sense their context and automate a number of tasks, effectively reducing the attention required by the end users. This paper presents a custom simulation engine, designed to support the testing of applications developed using the MUSIC platform. The simulation tool consists of a platform-independent server module, deployed along with the application, and a client module which is responsible for interpreting and executing the simulation script. The use of the tool is demonstrated in the scope of the SatMotion application, which is designed to assist satellite antenna installers with specialized functionality

    Multi-Quality Auto-Tuning by Contract Negotiation

    Get PDF
    A characteristic challenge of software development is the management of omnipresent change. Classically, this constant change is driven by customers changing their requirements. The wish to optimally leverage available resources opens another source of change: the software systems environment. Software is tailored to specific platforms (e.g., hardware architectures) resulting in many variants of the same software optimized for different environments. If the environment changes, a different variant is to be used, i.e., the system has to reconfigure to the variant optimized for the arisen situation. The automation of such adjustments is subject to the research community of self-adaptive systems. The basic principle is a control loop, as known from control theory. The system (and environment) is continuously monitored, the collected data is analyzed and decisions for or against a reconfiguration are computed and realized. Central problems in this field, which are addressed in this thesis, are the management of interdependencies between non-functional properties of the system, the handling of multiple criteria subject to decision making and the scalability. In this thesis, a novel approach to self-adaptive software--Multi-Quality Auto-Tuning (MQuAT)--is presented, which provides design and operation principles for software systems which automatically provide the best possible utility to the user while producing the least possible cost. For this purpose, a component model has been developed, enabling the software developer to design and implement self-optimizing software systems in a model-driven way. This component model allows for the specification of the structure as well as the behavior of the system and is capable of covering the runtime state of the system. The notion of quality contracts is utilized to cover the non-functional behavior and, especially, the dependencies between non-functional properties of the system. At runtime the component model covers the runtime state of the system. This runtime model is used in combination with the contracts to generate optimization problems in different formalisms (Integer Linear Programming (ILP), Pseudo-Boolean Optimization (PBO), Ant Colony Optimization (ACO) and Multi-Objective Integer Linear Programming (MOILP)). Standard solvers are applied to derive solutions to these problems, which represent reconfiguration decisions, if the identified configuration differs from the current. Each approach is empirically evaluated in terms of its scalability showing the feasibility of all approaches, except for ACO, the superiority of ILP over PBO and the limits of all approaches: 100 component types for ILP, 30 for PBO, 10 for ACO and 30 for 2-objective MOILP. In presence of more than two objective functions the MOILP approach is shown to be infeasible
    corecore