The MAPE-K feedback loop~\cite{MAPEK,mapek2}, is a well-adopted reference model for managing and controlling autonomous and self-adaptive systems, and its use has enabled significant advances in autonomous systems over the past decades, for example, in areas such as autonomous driving and traffic management~\cite{gerostathopoulos2019trapped}, Unmanned Aerial Vehicles~\cite{maia2019dragonfly,moreno2019dartsim}, Smart Home and IoT applications~\cite{arcaini2020smart,iftikhar2017deltaiot}, and assistive robots~\cite{jamshidi2019machine}. Furthermore, rapid advancements in Artificial Intelligence (AI), supported by frameworks such as \mbox{MAPE-K}, have shifted the focus from traditional human-directed robots to fully autonomous ones that do not require explicit human control. These systems, which are commonly developed as ``Human-on-the-Loop'' (HotL)~\cite{fischer2021loop} systems, differ from ``Human-in-the-Loop'' (HitL) systems in several important ways. In HitL systems, humans make decisions at key points of the system's execution; while HotL systems take full advantage of machine autonomy to perform tasks independently, efficiently, and quickly.

Requirements-based Monitoring and Diagnosis

Today, large-scale and heterogeneous software systems are ubiquitous in many domains. Often, such systems are part of systems of systems (SoS) or cyber-physical systems (CPS), and work together to fulfill common goals resulting from domain or customer requirements. Such systems comprise hardware and software systems, which are commonly provided by different vendors following their own development strategies and release plans. The behavior of such systems is hardly predictable at development time and only fully emerges during operation, when the systems interact with each other and the hardware in their environment.

It is thus essential to observe these complex software-intensive systems at runtime and to continuously check that they adhere to their requirements. However, approaches that have been developed for this purpose so far mainly focus on detecting violations, while subsequent support for analysis and diagnosis of violations is still rather limited. Due to the increasing size and complexity of these systems, manually diagnosing requirements violations can easily become a tedious and cumbersome task, often infeasible for people without deep knowledge of the systems and the technologies they are based on.

We thus want to address these issues by bringing together the research fields of requirements monitoring and software traceability to better relate design-time artifacts (e.g., source code or specification documents) and runtime artifacts (e.g., events and data collected from a monitored system). We expect that engineers diagnosing a violation occurring at runtime can greatly profit from traceability between the actual violation and underlying, related specification documents or source code.

Our main goal is to develop a novel traceability-supported framework for diagnosing requirements violations in large-scale, heterogeneous systems. This requires (i) a thorough evaluation of the current state of the art in the area of (runtime) monitoring and traceability, and (ii) an as-is assessment of the state of the practice. Based on this assessment we aim at (iii) developing traceability-supported algorithms and an accompanying tool-supported framework for runtime diagnosis, and (iv) evaluating and iteratively improving the framework based on its application in industrial applications.

This project is funded by the Austrian Science Fund (FWF) - Erwin Schroedinger Fellowship - Requirements Monitoring and Diagnosis of Software Systems (2017 - 2020)

Selected Publications

  • From Requirements Monitoring to Diagnosis Support in System of Systems
  • A Comparison Framework for Runtime Monitoring Approaches
  • Supporting Diagnosis of Requirements Violations in Systems of Systems