7 research outputs found

    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

    Towards resilient monitoring for adaptive software systems

    Get PDF
    Software systems need monitors for observing them and respond to changes through adaptation. Any fault in the monitors would affect directly the systems' adaptation decisions. This project consists on implementing a monitoring system capable of detecting failures on the monitors, and apply the corr

    Evaluating verification awareness as a method for assessing adaptation risk

    Get PDF
    Self-integration requires a system to be self-aware and self-protecting of its functionality and communication processes to mitigate interference in accomplishing its goals. Incorporating self-protection into a framework for reasoning about compliance with critical requirements is a major challenge when the system’s operational environment may have uncertainties resulting in runtime changes. The reasoning should be over a range of impacts and tradeoffs in order for the system to immediately address an issue, even if only partially or imperfectly. Assuming that critical requirements can be formally specified and embedded as part of system self-awareness, runtime verification often involves extensive on-board resources and state explosion, with minimal explanation of results. Model-checking partially mitigates runtime verification issues by abstracting the system operations and architecture. However, validating the consistency of a model given a runtime change is generally performed external to the system and translated back to the operational environment, which can be inefficient.This paper focuses on codifying and embedding verification awareness into a system. Verification awareness is a type of self-awareness related to reasoning about compliance with critical properties at runtime when a system adaptation is needed. The premise is that an adaptation that interferes with a design-time proof process for requirement compliance increases the risk that the original proof process cannot be reused. The greater the risk to limiting proof process reuse, the higher the probability that the requirement would be violated by the adaptation. The application of Rice’s 1953 theorem to this domain indicates that determining whether a given adaptation inherently inhibits proof reuse is undecidable, suggesting the heuristic, comparative approach based on proof meta-data that is part of our approach. To demonstrate our deployment of verification awareness, we predefine four adaptations that are all available to three distinct wearable simulations (stress, insulin delivery, and hearables). We capture meta-data from applying automated theorem proving to wearable requirements and assess the risk among the four adaptations for limiting the proof process reuse for each of their requirements. The results show that the adaptations affect proof process reuse differently on each wearable. We evaluate our reasoning framework by embedding checkpoints on requirement compliance within the wearable code and log the execution trace of each adaptation. The logs confirm that the adaptation selected by each wearable with the lowest risk of inhibiting proof process reuse for its requirements also causes the least number of requirement failures in execution.Computer Scienc

    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)

    No full text
    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
    corecore