Reasoning about Human Participation in Self-Adaptive Systems
CARNEGIE-MELLON UNIV PITTSBURGH PA SOFTWARE ENGINEERING INST
Pagination or Media Count:
Self-adaptive systems overcome many of the limitations of human supervision in complex software-intensive systems by endowing them with the ability to automatically adapt their structure and behavior in the presence of runtime changes. However, adaptation in some classes of systems e.g., safety-critical can remarkably benefit by receiving information from humans e.g., acting as sophisticated sensors, decision-makers, or by involving them as system-level effectors to execute adaptations e.g., when automation is not possible, or as a fallback mechanism. However, human participants are influenced by factors external to the system e.g., training level, fatigue that affect the likelihood of success when they perform a task, its duration, or even if they are willing to perform it in the first place. Without careful consideration of these factors, how to decide when to involve humans in adaptation, and in which way In this paper, we investigate the problem of how the explicit modeling of human participants can provide a better insight into the trade-offs of involving humans in adaptation. We contribute a formal framework to reason about human involvement in self-adaptation, focusing on the role of human participants as actors i.e., effectors during the execution stage of adaptation. The approach consists of i a language able to express adaptation models that capture factors affecting human behavior and its interactions with the system, and ii a formalization of these adaptation models as stochastic multiplayer games SMGs that can be used to analyze human-system-environment interactions. We illustrate our approach in an adaptive industrial middleware used to monitor and manage sensor networks in renewable energy production plants.