19 research outputs found
Improving Context-Awareness in Self-Adaptation Using the DYNAMICO Reference Model
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
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
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
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
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
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
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
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
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