19 research outputs found

    Improving Context-Awareness in Self-Adaptation Using the DYNAMICO Reference Model

    Get PDF
    International audienceSelf-adaptation mechanisms modify target systems dynamically to address adaptation goals, which may evolve continuously due to changes in system requirements. These changes affect values and thresholds of observed context variables and monitoring logic, or imply the addition and/or deletion of context variables, thus compromising self-adaptivity effectiveness under static monitoring infrastructures. Nevertheless, self-adaptation approaches often focus on adapting target systems only rather than monitoring infrastructures. Previously, we proposed DYNAMICO, a reference model for self-adaptive systems where adaptation goals and monitoring requirements change dynamically. This paper presents an implementation of DYNAMICO comprising our SMARTERCONTEXT monitoring infrastructure and QOS-CARE adaptation framework in a self-adaptation solution that maintains its context-awareness relevance. To evaluate our reference model we use self-adaptive system properties and the Znn.com exemplar to compare the Rainbow system with our DYNAMICO implementation. The results of the evaluation demonstrate the applicability, feasibility, and effectiveness of DYNAMICO, especially for self-adaptive systems with context-awareness requirements

    Integrating Adaptation Mechanisms Using Control Theory Centric Architecture Models: A Case Study

    Get PDF
    International audienceControl theory provides solid foundations for developing reliable and scalable feedback control for software systems. Although, feedback controllers have been acknowledged to efficiently solve common classes of problems, their adoption by state-of-the-art approaches for designing self-adaptation in legacy software systems remains limited and at best consists in ad hoc integrations, which are usually engineered manually. In this paper, we revisit the Znn.com case study and we present an alternative implementation based on classical feedback controllers. We show how these controllers can be easily integrated into software systems through control theory centric architecture models and domain-specific modeling support. We also provide an assessment of the resulting properties, quality attributes and limitations

    Temporal Models for History-Aware Explainability

    Get PDF
    On one hand, there has been a growing interest towards the application of AI-based learning and evolutionary programming for self-adaptation under uncertainty. On the other hand, self-explanation is one of the self-* properties that has been neglected. This is paradoxical as self-explanation is inevitably needed when using such techniques. In this paper, we argue that a self-adaptive autonomous system (SAS) needs an infrastructure and capabilities to be able to look at its own history to explain and reason why the system has reached its current state. The infrastructure and capabilities need to be built based on the right conceptual models in such a way that the system's history can be stored, queried to be used in the context of the decision-making algorithms. The explanation capabilities are framed in four incremental levels, from forensic self-explanation to automated history-aware (HA) systems. Incremental capabilities imply that capabilities at Level n should be available for capabilities at Level n + 1. We demonstrate our current reassuring results related to Level 1 and Level 2, using temporal graph-based models. Specifically, we explain how Level 1 supports forensic accounting after the system's execution. We also present how to enable on-line historical analyses while the self-adaptive system is running, underpinned by the capabilities provided by Level 2. An architecture which allows recording of temporal data that can be queried to explain behaviour has been presented, and the overheads that would be imposed by live analysis are discussed. Future research opportunities are envisioned

    A generic architecture style for self-adaptive cyber-physical systems

    Get PDF
    Die aktuellen Konzepte zur Gestaltung von Regelungssystemen basieren auf dynamischen Verhaltensmodellen, die mathematische Ansätze wie Differentialgleichungen zur Ableitung der entsprechenden Funktionen verwenden. Diese Konzepte stoßen jedoch aufgrund der zunehmenden Systemkomplexität allmählich an ihre Grenzen. Zusammen mit der Entwicklung dieser Konzepte entsteht eine Architekturevolution der Regelungssysteme. In dieser Dissertation wird eine Taxonomie definiert, um die genannte Architekturevolution anhand eines typischen Beispiels, der adaptiven Geschwindigkeitsregelung (ACC), zu veranschaulichen. Aktuelle ACC-Varianten, die auf der Regelungstheorie basieren, werden in Bezug auf ihre Architekturen analysiert. Die Analyseergebnisse zeigen, dass das zukünftige Regelungssystem im ACC eine umfangreichere Selbstadaptationsfähigkeit und Skalierbarkeit erfordert. Dafür sind kompliziertere Algorithmen mit unterschiedlichen Berechnungsmechanismen erforderlich. Somit wird die Systemkomplexität erhöht und führt dazu, dass das zukünftige Regelungssystem zu einem selbstadaptiven cyber-physischen System wird und signifikante Herausforderungen für die Architekturgestaltung des Systems darstellt. Inspiriert durch Ansätze des Software-Engineering zur Gestaltung von Architekturen von softwareintensiven Systemen wird in dieser Dissertation ein generischer Architekturstil entwickelt. Der entwickelte Architekturstil dient als Vorlage, um vernetzte Architekturen mit Verfolgung der entwickelten Designprinzipien nicht nur für die aktuellen Regelungssysteme, sondern auch für selbstadaptiven cyber-physischen Systeme in der Zukunft zu konstruieren. Unterschiedliche Auslösemechanismen und Kommunikationsparadigmen zur Gestaltung der dynamischen Verhalten von Komponenten sind in der vernetzten Architektur anwendbar. Zur Bewertung der Realisierbarkeit des Architekturstils werden aktuelle ACCs erneut aufgenommen, um entsprechende logische Architekturen abzuleiten und die Architekturkonsistenz im Vergleich zu den originalen Architekturen basierend auf der Regelungstheorie (z. B. in Form von Blockdiagrammen) zu untersuchen. Durch die Anwendung des entwickelten generischen Architekturstils wird in dieser Dissertation eine künstliche kognitive Geschwindigkeitsregelung (ACCC) als zukünftige ACC-Variante entworfen, implementiert und evaluiert. Die Evaluationsergebnisse zeigen signifikante Leistungsverbesserungen des ACCC im Vergleich zum menschlichen Fahrer und aktuellen ACC-Varianten.Current concepts of designing automatic control systems rely on dynamic behavioral modeling by using mathematical approaches like differential equations to derive corresponding functions, and slowly reach limitations due to increasing system complexity. Along with the development of these concepts, an architectural evolution of automatic control systems is raised. This dissertation defines a taxonomy to illustrate the aforementioned architectural evolution relying on a typical example of control application: adaptive cruise control (ACC). Current ACC variants, with their architectures considering control theory, are analyzed. The analysis results indicate that the future automatic control system in ACC requires more substantial self-adaptation capability and scalability. For this purpose, more complicated algorithms requiring different computation mechanisms must be integrated into the system and further increase system complexity. This makes the future automatic control system evolve into a self-adaptive cyber-physical system and consistitutes significant challenges for the system’s architecture design. Inspired by software engineering approaches for designing architectures of software-intensive systems, a generic architecture style is proposed. The proposed architecture style serves as a template by following the developed design principle to construct networked architectures not only for the current automatic control systems but also for self-adaptive cyber-physical systems in the future. Different triggering mechanisms and communication paradigms for designing dynamic behaviors are applicable in the networked architecture. To evaluate feasibility of the architecture style, current ACCs are retaken to derive corresponding logical architectures and examine architectural consistency compared to the previous architectures considering the control theory (e.g., in the form of block diagrams). By applying the proposed generic architecture style, an artificial cognitive cruise control (ACCC) is designed, implemented, and evaluated as a future ACC in this dissertation. The evaluation results show significant performance improvements in the ACCC compared to the human driver and current ACC variants

    Towards automated provenance collection for runtime models to record system history

    Get PDF
    In highly dynamic environments, systems are expected to make decisions on the fly based on their observations that are bound to be partial. As such, the reasons for its runtime behaviour may be difficult to understand. In these cases, accountability is crucial, and decisions by the system need to be traceable. Logging is essential to support explanations of behaviour, but it poses challenges. Concerns about analysing massive logs have motivated the introduction of structured logging, however, knowing what to log and which details to include is still a challenge. Structured logs still do not necessarily relate events to each other, or indicate time intervals. We argue that logging changes to a runtime model in a provenance graph can mitigate some of these problems. The runtime model keeps only relevant details, therefore reducing the volume of the logs, while the provenance graph records causal connections between the changes and the activities performed by the agents in the system that have introduced them. In this paper, we demonstrate a first version towards a reusable infrastructure for the automated construction of such a provenance graph. We apply it to a multithreaded traffic simulation case study, with multiple concurrent agents managing different parts of the simulation. We show how the provenance graphs can support validating the system behaviour, and how a seeded fault is reflected in the provenance graphs

    Incorporating Architecture-Based Self-Adaptation into an Adaptive Industrial Software System

    Get PDF
    Complex software-intensive systems are increasingly relied upon for all kinds of activities in society, leading to the requirement that these systems should be resilient to changes that may occur to the system, its environment, or its goals. Traditionally, resilience has been achieved either through: (i)~low-level mechanisms embedded in the implementation (e.g., exception handling, timeouts, redundancies), which are unable to detect subtle but important anomalies (e.g., progressive performance degradation); or (ii)~human oversight, which is costly and unreliable. Architecture-based self-adaptation (ABSA) is regarded as a promising approach to improve the resilience and reduce the development/operation costs of such systems. Although researchers have illustrated the benefits of ABSA through a number of small-scale case studies, it remains to be seen whether ABSA is truly effective in handling changes at run-time in industrial-scale systems. intend to be representative of larger industrial systems, so it remains to be seen whether ABSA is truly effective in such settings. In this paper, we report on our experience applying an ABSA framework (Rainbow) to a large-scale commercial software system, called Data Acquisition and Control Service (DCAS), which is used to monitor and manage highly populated networks of devices in renewable energy production plants. In the approach followed, we have replaced some of the existing adaptive mechanisms embedded in DCAS by those advocated by ABSA proponents. This has allowed us to assess the development costs associated with the reengineering of adaptive mechanisms when using an ABSA solution, and to make effective comparisons, in terms of operational performance, between a baseline industrial system and one that uses ABSA. Our results show that using the ABSA concepts as embodied in Rainbow enabled an independent team of developers to: (i)~effectively implement the adaptation behavior required from such industrial systems; and (ii)~obtain important benefits in terms of maintainability and extensibility of adaptation mechanisms

    A context-aware monitoring architecture for supporting system adaptation and reconfiguration

    Get PDF
    Modern services and applications need to react to changes in their context (e.g. location, memory consumption, number of users) to improve the user’s experience. To obtain this context, a monitoring infrastructure with adequate functionality and quality levels is required. But this monitoring infrastructure needs to react to the context as well, raising the need for context-aware monitoring tools. Provide a generic solution for context-aware monitoring able to effectively react to contextual changes. We have designed CAMA, a service-oriented Context-Aware Monitoring Architecture that can be easily configured, adapted and evolved according to contextual changes. CAMA implements a decoupled architecture and manages a context domain ontology for modelling the inputs, outputs and capabilities of monitoring tools. CAMA has been demonstrated in three real use cases. We have also conducted different evaluations, including an empirical study. The results of the evaluations show that (1) the overhead introduced by the architecture does not degrade the behavior of the system, except in extreme conditions; (2) the use of ontologies is not an impediment for practitioners, even when they have little knowledge about this concept; and (3) the reasoning capabilities of CAMA enable context-aware adaptations. CAMA is a solution useful for both researchers and practitioners. Researchers can use this architecture as a baseline for providing different extensions or implementing new approaches on top of CAMA that require context-aware monitoring. Practitioners may also use CAMA in their projects in order to manage contextual changes in an effective way.This work was partially supported by the Spanish project GENESIS TIN2016-79269-R, and SUPERSEDE project, funded by the European Union’s Information and Communication Technologies Programme (H2020) under Grant Agreement No 644018.Peer ReviewedPostprint (author's final draft

    Autonomic Performance-Aware Resource Management in Dynamic IT Service Infrastructures

    Get PDF
    Model-based techniques are a powerful approach to engineering autonomic and self-adaptive systems. This thesis presents a model-based approach for proactive and autonomic performance-aware resource management in dynamic IT infrastructures. Core of the approach is an architecture-level modeling language to describe performance and resource management related aspects in such environments. With this approach, it is possible to autonomically find suitable system configurations at the model level

    A framework for engineering reusable self-adaptive systems

    Full text link
    The increasing complexity and size of information systems result in an increasing effort for maintenance. Additionally, miniaturization of devices leads to mobility and the need for context-adaptation. Self-adaptive Systems (SASs) can adapt to changes in their environment or the system itself. So far, however, development of SASs is frequently tailored towards the requirements of use cases. The research for reusable elements — for implementation as well as design processes — is often neglected. Integrating reusable processes and implementation artifacts into a framework and offering a tool suite to developers would make development of SASs faster and less error-prone. This thesis presents the Framework for Engineering Self-adaptive Systems (FESAS). It offers a reusable implementation of a reference system, tools for implementation and design as well as a middleware for controlling system deployment. As a second contribution, this thesis introduces a new approach for self-improvement of SASs which complements the SAS with meta-adaptation
    corecore