147 research outputs found

    A model-based runtime environment for adapting communication systems

    Full text link
    With increasing network sizes, mobility, and traffic, it becomes a challenging task to achieve goals such as continuously delivering a satisfying service quality. Self-adaptive approaches use feedback loops to adapt a managed resource at runtime according to changes in the execution context. Adding self-adaptive capabilities to communication systems-computer networks as well as supporting structures such as overlays or middleware-is a major research focus. However, making a communication system self-adaptive is a challenging task for communication system developers. First, the distributed nature of such systems requires the collection of monitoring information from multiple hosts and the adaptation of distributed components. Second, communication systems consist of heterogeneous components, which are, e.g., developed in different programming languages. Third, system developers typically lack knowledge about the development of self-adaptive systems. Hence, this work's overall goal is to allow system developers to focus on making a (legacy) communication system adaptive. Motivated by these observations, this thesis proposes a model-based runtime environment for adapting communication systems called REACT. In contrast to self-adaptation frameworks, which offer a standard way to build self-adaptive applications, we refer to REACT as a runtime environment, i.e., a platform that is additionally able to plan and execute adaptations based on user-specified adaptation behavior. REACT includes the support for decentralized adaptation logics and distributed systems, multiple programming languages, as well as tool support and assistance for developers. The developer support is achieved using model-based techniques for specifying the reconfiguration behavior of the adaptation logic. Also, this thesis proposes an easy-to-follow development process. As part of that, it is needed to monitor the reconfiguration behavior of the self-adaptive system. Hence, this work also presents two dashboard-based visualization approaches called CoalaViz and EnTrace for providing traceability of self-adaptive systems for system developers and administrators. This thesis follows a design science research methodology resulting in the design and implementation of the final artifacts. By that, this dissertation presents different REACT Loops, including specific ways to model and plan the adaptive behavior using satisfiability, mixed-integer linear programming, and constraint solvers. The prototypes of these approaches, including the two visualization solutions, are evaluated in multiple use cases. Therefore, this work provides an end-to-end solution for specifying the adaptive behavior, connecting a managed resource, deploying the system, as well as debugging and monitoring it

    Comparison of approaches for developing self-adaptive systems

    Full text link
    The engineering of software systems enables developers to create very powerful, complex and highly customized software systems by utilizing newest technical capabilities. However, these systems often are error-prone, inflexible, non-reusable and expensive to maintain. Self-adaptation attends to these challenges, offering new ways to automate the adjustment of a system's structure and state. For that reason, many software development approaches specifically consider self-adaptability, leading to a high diversity of methodologies with different characteristics and areas of application. This work addresses this issue by presenting a taxonomy for the analysis and comparison of different approaches for developing self-adaptive systems. In addition, different sample approaches are presented, demonstrating how these dimensions can be applied to compare and classify related work

    A Dynamic Software Product Line Approach for Planning and Execution of Reconfigurations in Self-Adaptive Systems

    Full text link
    Model-based autonomic computing systems facilitate the planning capabilities inside the adaptation logic. However, it is challenging to capture the complete reconfiguration behavior in a model. Context Feature Models used in Dynamic Software Product Lines help to specify the capabilities of a software as well as the monitored context values with the possibility to add constraints. Additionally, most adaptation logics are tailored to single use cases without the possibility for later reuse. This thesis presents an adaptation logic approach based on Dynamic Software Product Line variability models. The complete adaptation knowledge is encapsulated inside a knowledge component. This enables reuse of the complete adaptation logic. After the introduction of the approach, the adaptation logic is evaluated in a distributed computing use case

    Comparison of approaches for self-improvement in self-adaptive systems (extended version)

    Full text link
    Various trends such as mobility of devices, Cloud Computing, or Cyber-Physical Systems lead to a higher degree of distribution. These systems-of-systems need to be integrated. The integration of various subsystems still remains a challenge. Self-improvement within self-adaptive systems can help to shift integration tasks from the static design time to the runtime, which fits the dynamic needs of these systems. Thus, it can enable the integration of system parts at runtime. In this paper, we define self-improvement as an adaptation of an Autonomic Computing system’s adaptation logic. We present an overview of approaches for self-improvement in the domains of Autonomic Computing and self-adaptive systems. Based on a taxonomy for self-adaptation, we compare the approaches and categorize them. The categorization shows that the approaches focus either on structural or parameter adaptation but seldomly combine both. Based on the categorization, we elaborate challenges, that need to be addressed by future approaches for offering self-improving system integration at runtime

    REACT-ION: A model-based runtime environment for situation-aware adaptations

    Full text link
    Trends such as the Internet of Things lead to a growing number of networked devices and to a variety of communication systems. Adding self-adaptive capabilities to these communication systems is one approach to reducing administrative effort and coping with changing execution contexts. Existing frameworks can help reducing development effort but are neither tailored toward the use in communication systems nor easily usable without knowledge in self-adaptive systems development. Accordingly, in previous work, we proposed REACT, a reusable, model-based runtime environment to complement communication systems with adaptive behavior. REACT addresses heterogeneity and distribution aspects of such systems and reduces development effort. In this article, we propose REACT-ION—an extension of REACT for situation awareness. REACT-ION offers a context management module that is able to acquire, store, disseminate, and reason on context data. The context management module is the basis for (i) proactive adaptation with REACT-ION and (ii) self-improvement of the underlying feedback loop. REACT-ION can be used to optimize adaptation decisions at runtime based on the current situation. Therefore, it can cope with uncertainty and situations that were not foreseeable at design time. We show and evaluate in two case studies how REACT-ION’s situation awareness enables proactive adaptation and self-improvement
    corecore