Engineering of safety in automated safety-critical systems through design-time verification and runtime validation of environment assumptions
Automatisierte Systeme kommen häufig in sicherheits- und missionskritischen Anwendungen zum Einsatz. Ein Ausfall solcher Systeme kann nicht nur zum Scheitern der Mission führen, sondern auch Menschenleben gefährden. Aufgrund ihrer Komplexität und Kritikalität erfordern automatisierte sicherheitskritische Systeme einen strukturierten und rigorosen Entwicklungsprozess mit klar definierten Aufgaben für Verifikation und Validierung, um ihre Sicherheit zu gewährleisten. Formale Verifikationsmethoden in der Entwurfsphase können die Korrektheit eines Systems im Hinblick auf Sicherheitsanforderungen mathematisch nachweisen. Allerdings sind diese Methoden auf die Informationen beschränkt, die den Systemingenieuren zum Zeitpunkt der Entwicklung zur Verfügung stehen. Zudem stoßen sie aufgrund von Skalierbarkeitsproblemen an Grenzen, sodass die Größe der Systeme, die überprüft werden können, begrenzt ist. Um diese Einschränkungen zu überwinden, werden Tests eingesetzt, die die Verifikation in der Entwurfsphase ergänzen. Während des Systemtests prüfen Testorakel in Form von Eigenschaftsmonitoren, ob das Systemverhalten die vorgegebenen Anforderungen erfüllt.
Während des Betriebs können jedoch unvorhergesehene Ereignisse in der Umgebung auftreten, die Sicherheitsrisiken verursachen. Diese Gefahren entstehen nicht durch Systemfehler, sondern weil Annahmen über die Betriebsumgebung, die während der Entwicklung getroffen wurden, nicht mehr gültig sind. Die für die Verifikation der Systemanforderungen entwickelten Eigenschaftsmonitore können solche Annahmeverletzungen nicht erkennen, da die Umgebungsannahmen zur Entwurfszeit nicht explizit definiert werden.
Um diese Einschränkungen zu adressieren, schlägt diese Arbeit einen ingenieurwissenschaftlichen Ansatz vor, der die Qualitätssicherung automatisierter sicherheitskritischer Systeme um die Verifikation und Validierung von Umgebungsannahmen erweitert. Bereits während der Entwicklung werden diese Annahmen explizit festgelegt und darauf basierende Monitore abgeleitet. Während der Testphase liegt der Fokus der Qualitätssicherung sowohl auf der Überprüfung der Umgebungsannahmen-Monitore als auch auf der Validierung des implementierten Systems. Die Anforderungsvalidierung umfasst dabei sowohl die Sicherheitsanforderungen des Systems als auch die Überprüfung der Umgebungsannahmen. Der vorgeschlagene Ansatz ist in den Entwicklungsprozess integriert und wird anhand zweier Anwendungsfälle evaluiert: eines mobilen Serviceroboters sowie einer Automobilfunktion zur präzisen Ermittlung der Fahrzeuggeschwindigkeit.
Automated systems are often used in highly safety- and mission-critical applications. Failure of automated systems could lead to mission failure and endanger human life. Being complex and safety- and mission-critical in their nature, automated safety-critical systems benefit from a structured and rigorous system development process with clearly specified tasks for verification and validation in order to make sure that such systems are safe. Formal verification methods used at design-time can provide proof of the system’s correctness with respect to a safety property specification. Yet, design-time verification methods can reason only on the basis of the information which is available to the systems engineers at design-time. Furthermore, design-time verification techniques have scalability issues, which limits the size of the systems that can be verified. Testing is used to complement design-time verification and overcome its scalability issues. During system test, test oracles in form of property monitors check whether the behavior of the system fulfills the system requirements.
During the system operation, events unforeseen during the system design phase occur in the operational environment and result in safety hazards. These hazards do not appear as consequence of system faults, but because assumptions made about the operational environment during design-time are not valid anymore. The property monitors designed to check the system requirements cannot detect the assumptions violation, because there is no explicit definition of the environment assumptions at system’s design-time.
In order to address these limitations, this thesis proposes an engineering approach which extends the quality assurance goals for automated safety-critical systems towards the verification and validation of environment assumptions. During system design, environment assumptions are explicitly defined and monitors are derived from the environment assumptions definition. During system testing, the quality assurance goals are to test the environment assumptions monitors as well as the implemented system. Requirements validation means both the validation of the system safety requirements as well as the validation of the environment assumptions. The approach is integrated in the system development process and is evaluated on the basis of two applications systems: a mobile service robot and an automotive function for accurate vehicle speed estimation.
Preview
Cite
Access Statistic

Rights
Use and reproduction:
All rights reserved