Abstract:
Künstliche Intelligenz (KI) hat in den vergangenen Jahren große Erfolge erzielt und ist immer stärker in den Fokus geraten. Insbesondere Methoden des Deep Learning (ein Teilgebiet der KI), in dem Tiefe Neuronale Netze (TNN) zum Einsatz kommen, haben beeindruckende Ergebnisse erzielt, z.B. im autonomen Fahren oder der Mensch-Roboter-Interaktion. Die immense Datenabhängigkeit und Komplexität von TNN haben jedoch gravierende Schwachstellen offenbart. So reagieren TNN sensitiv auf bestimmte Einflussfaktoren der Umwelt (z.B. Helligkeits- oder Kontraständerungen in Bildern) und führen zu falschen Vorhersagen. ... mehrDa KI (und insbesondere TNN) in sicherheitskritischen Systemen eingesetzt werden, kann solch ein Verhalten zu lebensbedrohlichen Situationen führen. Folglich haben sich neue Forschungspotenziale entwickelt, die sich explizit der Absicherung von KI-Verfahren widmen.
Ein wesentliches Problem bei vielen KI-Verfahren besteht darin, dass ihr Verhalten oder Vorhersagen auf Grund ihrer hohen Komplexität nicht erklärt bzw. nachvollzogen werden können. Solche KI-Modelle werden auch als Black-Box bezeichnet. Bestehende Arbeiten adressieren dieses Problem, in dem zur Laufzeit “bösartige” Eingabedaten identifiziert oder auf Basis von Ein- und Ausgaben potenziell falsche Vorhersagen erkannt werden. Arbeiten in diesem Bereich erlauben es zwar potenziell unsichere Zustände zu erkennen, machen allerdings keine Aussagen, inwiefern mit solchen Situationen umzugehen ist. Somit haben sich eine Reihe von Ansätzen auf Architektur- bzw. Systemebene etabliert, um mit KI-induzierten Unsicherheiten umzugehen (z.B. N-Version-Programming-Muster oder Simplex Architekturen). Darüber hinaus wächst die Anforderung an KI-basierte Systeme sich zur Laufzeit anzupassen, um mit sich verändernden Bedingungen der Umwelt umgehen zu können. Systeme mit solchen Fähigkeiten sind bekannt als Selbst-Adaptive Systeme. Software-Ingenieure stehen nun vor der Herausforderung, aus einer Menge von Architekturellen Sicherheitsmechanismen, den Ansatz zu identifizieren, der die nicht-funktionalen Anforderungen bestmöglich erfüllt. Jeder Ansatz hat jedoch unterschiedliche Auswirkungen auf die Qualitätsattribute des Systems. Architekturelle Entwurfsentscheidungen gilt es so früh wie möglich (d.h. zur Entwurfszeit) aufzulösen, um nach der Implementierung des Systems Änderungen zu vermeiden, die mit hohen Kosten verbunden sind. Darüber hinaus müssen insbesondere sicherheitskritische Systeme den strengen (Qualitäts-) Anforderungen gerecht werden, die bereits auf Architektur-Ebene des Software-Systems adressiert werden müssen.
Diese Arbeit befasst sich mit einem modellbasierten Ansatz, der Software-Ingenieure bei der Entwicklung von KI-basierten System unterstützt, um architekturelle Entwurfsentscheidungen (bzw. architekturellen Sicherheitsmechanismen) zum Umgang mit KI-induzierten Unsicherheiten zu bewerten. Insbesondere wird eine Methode zur Zuverlässigkeitsvorhersage von KI-basierten Systemen auf Basis von etablierten modellbasierten Techniken erforscht. In einem weiteren Schritt wird die Erweiterbarkeit/Verallgemeinerbarkeit der Zuverlässigkeitsvorhersage für Selbst-Adaptive Systeme betrachtet. Der Kern beider Ansätze ist ein Umweltmodell zur Modellierung (𝑖) von KI-spezifischen Unsicherheiten und (𝑖𝑖) der operativen Umwelt des Selbst-Adaptiven Systems. Zuletzt wird eine Klassifikationsstruktur bzw. Taxonomie vorgestellt, welche, auf Basis von verschiedenen Dimensionen, KI-basierte Systeme in unterschiedliche Klassen einteilt. Jede Klasse ist mit einem bestimmten Grad an Verlässlichkeitszusicherungen assoziiert, die für das gegebene System gemacht werden können.
Die Dissertation umfasst vier zentrale Beiträge.
1. Domänenunabhängige Modellierung von KI-spezifischen Umwelten: In diesem Beitrag wurde ein Metamodell zur Modellierung von KI-spezifischen Unsicherheiten und ihrer zeitlichen Ausdehnung entwickelt, welche die operative Umgebung eines selbstadaptiven Systems bilden.
2. Zuverlässigkeitsvorhersage von KI-basierten Systemen: Der vorgestellte Ansatz erweitert eine existierende Architekturbeschreibungssprache (genauer: Palladio Component Model) zur Modellierung von Komponenten-basierten Software-Architekturen sowie einem dazugehörigenWerkzeug zur Zuverlässigkeitsvorhersage (für klassische Software-Systeme). Das Problem der Black-Box-Eigenschaft einer KI-Komponente wird durch ein Sensitivitätsmodell adressiert, das, in Abhängigkeit zu verschiedenen Unsicherheitsfaktoren, die Prädektive Unsicherheit einer KI-Komponente modelliert.
3. Evaluation von Selbst-Adaptiven Systemen: Dieser Beitrag befasst sich mit einem Rahmenwerk für die Evaluation von Selbst-Adaptiven Systemen, welche für die Absicherung von KI-Komponenten vorgesehen sind. Die Arbeiten zu diesem Beitrag verallgemeinern/erweitern die Konzepte von Beitrag 2 für Selbst-Adaptive Systeme.
4. Klassen der Verlässlichkeitszusicherungen: Der Beitrag beschreibt eine Klassifikationsstruktur, die den Grad der Zusicherung (in Bezug auf bestimmte Systemeigenschaften) eines KI-basierten Systems bewertet.
Der zweite Beitrag wurde im Rahmen einer Fallstudie aus dem Bereich des Autonomen Fahrens validiert. Es wurde geprüft, ob Plausibilitätseigenschaften bei der Zuverlässigkeitsvorhersage erhalten bleiben. Hierbei konnte nicht nur die Plausibilität des Ansatzes nachgewiesen werden, sondern auch die generelle Möglichkeit Entwurfsentscheidungen zur Entwurfszeit zu bewerten. Für die Validierung des dritten Beitrags wurden ebenfalls Plausibilitätseigenschaften geprüft (im Rahmen der eben genannten Fallstudie und einer Fallstudie aus dem Bereich der Mensch-Roboter-Interaktion). Darüber hinaus wurden zwei weitere Community-Fallstudien betrachtet, bei denen (auf Basis von Simulatoren) Selbst-Adaptive Systeme bewertet und mit den Ergebnissen unseres Ansatzes verglichen wurden. In beiden Fällen konnte gezeigt werden, dass zum einen alle Plausibilitätseigenschaft erhalten werden und zum anderen, der Ansatz dieselben Ergebnisse erzeugt, wie die Domänen-spezifischen Simulatoren. Darüber hinaus konnten wir zeigen, dass unser Ansatz Software-Ingenieure bzgl. der Bewertung von Entwurfsentscheidungen, die für die Entwicklung von Selbst-Adaptiven Systemen relevant sind, unterstützt. Der erste Beitrag wurde implizit mit Beitrag 2 und mit 3 validiert. Für den vierten Beitrag wurde die Klassifikationsstruktur auf bekannte und repräsentative KI-Systeme angewandt und diskutiert. Es konnte jedes KI-System in eine der Klassen eingeordnet werden, so dass die generelle Anwendbarkeit der Klassifikationsstruktur gezeigt wurde.
Abstract (englisch):
There have been enormous achievements in the field of Artificial Intelligence (AI) which has attracted a lot of attention. Especially, Deep Learning (a subfield of AI) employs so-called Deep Neural Networks (DNNs) that have been successfully applied to various complex learning tasks, e.g. autonomous driving or human-robot-interaction. However, the tremendous data dependency and complexity of DNNs revealed significant vulnerabilities. More specifically, DNNs react sensitively to particular environmental factors (e.g. brightness or contrast variations in input images) which can result in incorrect predictions. ... mehrHowever, since AI (and especially DNNs) is applied in safety-critical systems, such erroneous behaviour may result in physical or economical damage. As a result, research branches have emerged that approach the unreliable nature of AI.
One of the major issues of AI models is that they reached a high complexity which makes it either impossible to understand their internals or to explain why particular predictions have been made. Thus, they are also referred to as Black-Boxes. Existing works address this problem by runtime approaches that can detect either potentially malicious input data or wrong predictions made by the AI model. Although such approaches enable the detection of possible unsafe states, they do not discuss any countermeasures. Consequently, several approaches at the architectural or system level have been elaborated that deal with the unreliable or uncertain nature of AI (e.g. N-Version Programming Pattern or Simplex Architectures). Moreover, there is a growing requirement for AI-enabled systems to adapt at runtime in order to deal with changing environmental conditions. Systems with such capabilities are known as Self-Adaptive Systems. We denote such architectural or system-level approaches (e.g. n-version programming or self-adaptive systems) as Architectural Safeguards. Software engineers are now facing the challenge to identify the architectural safeguard that satisfies the non-functional requirements best. Each architectural safeguard, however, impacts the quality attributes of the system differently. It is crucial to resolve such design decisions as early as possible in the development process (i.e. at design-time) to avoid changes after the system has been implemented as they are associated with high costs. In addition, safety-critical systems in particular must satisfy strict (quality) requirements that need to be addressed at the architecture level of the software system.
This thesis presents a model-based approach that supports software engineers in the development of AI-enabled systems. More specifically, the approach allows the evaluation of architectural design decisions specifically dealing with AI-induced uncertainties (i.e. architectural safeguards). In particular, an approach for reliability prediction of AI-enabled systems based on established model-based techniques is presented. In the next step, we describe how the reliability prediction approach is generalised to self-adaptive systems. The core of the approach is an environment model to describe (i) AI-specific uncertainties and (ii) the operating environment of a self-adaptive system. Finally, a classification structure or taxonomy is presented which, based on various dimensions, classifies AI-enabled systems into four possible classes. Each class is associated with a certain degree of dependability assurance that can be made for the given system.
The thesis encompasses four central contributions:
1. Domain-agnostic modelling of AI-specific environments: In this contribution, a metamodel was elaborated for the modelling of AI-specific uncertainties and their temporal expansion which form the operative environment of a self-adaptive system.
2. Reliability prediction of AI-enabled systems: The presented approach extends an existing Architectural Description Language (namely the Palladio Component Model) for modelling component-based software architectures and an associated reliability prediction tool (for classical software systems). The problem of the black-box property of an AI component is addressed by a sensitivity model that, depending on various uncertainty factors, models the Predictive Uncertainty of an AI component.
3. Evaluation of self-adaptive systems: This contribution presents a framework for evaluating self-adaptive systems that act as architectural safeguards, i.e. they safeguard an AI component. The concepts presented in this contribution generalises the concepts of contribution 2.
4. Classes of architectural dependability assurance: The contribution describes a classification structure that describes the extent to which assurances (w.r.t. a dependability-related system-level property) can be made for a given AI-enabled system.
Contribution 2 was validated in the context of a case study from automated driving. More precisely, we validated whether our reliability prediction approach preserves plausibility assertions that can be observed in the case study.
Moreover, we demonstrated the general possibility to evaluate design decisions at design-time. For the validation of contribution 3, plausibility assertions were validated in the context of the aforementioned case study and a case study from the field of human-robot-interaction. In addition, two further community case studies have been considered, in which (based on simulators) quality attributes of self-adaptive systems were evaluated and compared with the results of our framework. In both cases, it could be shown that on the one hand all plausibility assertions are preserved and on the other hand, our approach produces the same results as the domain-specific simulators. Furthermore, we could demonstrate that our approach supports software engineers in evaluating design decisions that are relevant when developing self-adaptive systems. Contribution 1 was implicitly validated with contribution 2 and 3. For the fourth contribution, the classification structure is applied to well-known and representative AI systems. We were able to classify each AI system into one of the classes such that the general applicability of the classification structure was shown.