Seminars

NO.168 Uncertainty in Self-Adaptive Systems (USAS)

Shonan Village Center

July 6 - 10, 2020 (Check-in: July 5, 2020 )

Organizers

  • Danny Weyns
    • Katholieke Universiteit Leuven, Belgium
  • Radu Calinescu
    • University of York, UK
  • Raffaela Mirandola
    • Politecnico di Milano, Italy
  • Kenji Tei
    • Waseda University, Japan

Overview

Modern software systems are expected to operate properly under uncertain conditions, without interruption. However, engineering such systems is very challenging. Possible causes of uncertainties include changes in the operational environment, dynamics in the availability of resources, and variations of user goals. A prominent approach to mitigate uncertainties is self-adaptation. Self‐adaptation is typically realised using a closed feedback loop system. This feedback loop system collects additional data about the uncertainties during operation, and uses this data to resolve uncertainties, to reason about the system and to make decisions about how to reconfigure or adjust it to satisfy the user goals under changing conditions (or to degrade gracefully if necessary).

Over the past several years, researchers have started studying the notion of uncertainty in the context of self-adaptation. Different sources of uncertainty in self‐adaptive systems have been identified, related to the system itself, the system goals, the execution context, and human aspects. An example of a concrete source of uncertainty within the system itself is incomplete knowledge, e.g., some parts of the system are missing at development time and may need to be added at runtime. An example of uncertainty related to system goals is a change of goals that may be induced by new customer needs, new regulations, or new market rules. An example of uncertainty in the execution context is imperfect monitoring as a result of noise in sensors, which are not ideal devices. An example of uncertainty related to human aspects is human behaviour (e.g., interaction with the system) that can diverge from the expected behaviour.

Researchers have studied multiple strategies for “taming” uncertainty. One prominent approach is the use of first-class modelling concepts for specifying the goals of self-adaptive systems that are subject to uncertainties. Such modelling concepts typically relax the goals of self‐adaptive systems under certain conditions. Making goal models based on such relaxed goals runtime entities allows a feedback loop system to take into account the uncertainties when making adaptation decisions. Another pioneering approach to mitigate uncertainties is the use of stochastic models with parameters that represent uncertainties. These models are updated at runtime using actual observations of the uncertain parameters. The feedback loop system can then use the up‐to‐date models to reason about the system and make informed adaptation decisions. A typical example of such an approach is runtime quantitative verification, which uses Markovian models and model checking at runtime for analysing quality properties (such as performance and reliability) and selecting adaptation configurations that achieve the required goals. To increase the scalability of this approach, several researchers have recently studied the use of statistical verification techniques. Another approach explored by researchers is the use of controllers based on control theory to realise runtime adaptation. The task of the controller is to ensure that the output of the system follows a set‐point goal while reducing the effects of uncertainty, which appear as disturbances, or as noise in variables or imperfections in the models of the system or environment used to design the controller.

While researchers have devoted substantial efforts to handling uncertainty in self­adaptive systems, a comprehensive understanding of the precise nature of uncertainty is lacking. This refers to what uncertainty is. Without a proper understanding of the very notion of uncertainty, the research community is doomed to study approaches for mitigating uncertainty in an ad‐hoc, case‐by‐case manner. This refers to how uncertainty can be mitigated in a principled and systematic way. As an example, the focus of research in self-adaptation so far has primarily been on parametric uncertainties, i.e., the uncertainties related to the values of unknown model parameters such as request arrival rates, component failure probabilities, or cost of operations. Little research has been devoted to so-called structural uncertainties, i.e. uncertainties related to the inability of accurately modelling real‐world phenomena. Structural uncertainties may manifest themselves as model inadequacy, model bias, model discrepancy, etc. To tackle this problem, techniques from other fields may provide a starting point. E.g., in health economics, techniques such as model averaging and discrepancy modelling have been used to deal with structural uncertainties.

This Shonan meeting proposal is motivated by the urgent need for a holistic and systematic discussion of the numerous challenges associated with tackling uncertainty. This discussion must involve the different communities pursuing research on the causes, effects and potential solutions of uncertainty. As such, the goal of the proposed meeting is to investigate thoroughly the what and how of uncertainty, and to outline a research agenda for addressing the challenges identified by this investigation over the coming years. Having a well-defined framework of what uncertainty is and how it affects self-adaptive systems will provide a foundation for future research efforts and lay the basis for developing reusable engineering solutions. One of the most prominent examples is the self-driving vehicle industry: autonomous vehicles must be prepared to face a multitude of uncertainties while driving. Massive efforts are devoted to this problem and any solution must be trustworthy, which requires a solid understanding of the uncertainties, and systematic and reusable solutions for handling them.

In this meeting, we plan to involve a group of active leading researchers in key areas of self-adaptive systems, including Adaptive and Self‐Managing Systems, Self-Organizing systems, Self‐Aware Computing Systems, and Software Engineering. We also will invite researchers from other fields that are active on the topic of uncertainty. In this way, we aim to set up a unique environment to discuss the central aspects of uncertainty, generate new insights and knowledge on uncertainty, and identify the key challenges for a future research roadmap. We envisage that having these participants from a wide variety of research areas will bring the required breadth and diversity to shed light on the concept of uncertainty and to move the key research on this topic forward.

The Shonan meetings on "Engineering Adaptive Software Systems" (EASSy) and “Controlled Adaptation of Self‐adaptive Systems” (CASaS) are topic‐wise related to our proposed meeting. Different from these meetings, our meeting focuses on the central role of uncertainty in self-adaptive systems. By bringing together leading researchers from multiple areas active in self-adaptation (which often work rather isolated), we will foster collaboration between these areas, define a joint understanding of uncertainty and outline a joint research roadmap for future research on the topic. In order to get the best out of the meeting and facilitate insightful and productive discussions, we plan to have a good mix of participants coming from these different research areas.

We plan to organize the meeting into several parts. We will start with setting the scene by letting a few participants that represent different research areas to give a talk stating their perspectives on the notion of uncertainty (what it is and how it is or can be handled). This will give the participants a good overview of the current landscape and help clarify the commonalities and differences in opinions between research areas. Then, we plan a plenary discussion to identify topics for in-depth analysis; this discussion will be driven by suggestions by the organisers, identified from the talks and related discussions. Next, we will organize working sessions based on the topics selected by the attendees. We will iterate breakout sessions with short plenary reports to steer the work forward and align the activities of the breakout groups as needed. On the last day, we will wrap up the findings in a plenary session, summarise the meeting findings, and outline future actions for the participants and their research communities.

We expect the meeting to encourage participants from different areas and communities to interact and actively search for common interests. Our aim is to let these interactions result in possible collaborations and joint work. To that end, the organizers plan to edit a research volume with chapters based on the findings of the meeting; this volume will be published with a leading international science publisher such as Springer.