Analysis and design of Dependable Systems

Auftrag

Software spielt heute eine zentrale Rolle in den meisten Systemen. Software Fehler können der Ursprung von hohen Kosten sein und sogar Menschenleben gefährden. Leider ist die Analyse und das Design von kritischen, software-intensiven Systemen (z.B. ein Flugzeug Autopilot) sowie normaler Software (z.B. ein Kühlschrank Controller) extrem herausfordernd. Um die Korrektheit solcher Software abzusichern, existieren viele Methoden und Techniken (z.B. testgetriebene Entwicklung, Anforderungsanalyse, formale Verifikation). Allerdings werden sie tatsächlich sehr selten benutzt, da sie größere Änderungen der in der Praxis angewandten Methoden mit sich bringen. Unser Ziel ist die Entwicklung von pragmatischen Techniken, welche diese neuen Methoden in die Praxis bringen.

Herangehensweise

Das Haupthindernis der massenhaften Anwendung ist die Gewohnheit:
Die oben genannten Methoden verlangen eine Veränderung der aktuell angewandten und gewohnten Methodik. Tatsächlich fügen alle diese Methoden einen oder mehrere Schritte zum Entwicklungsprozess hinzu: der Zweck ist die Entwickler dazu zu bringen, Informationen, die sie normalerweise nur in ihrem Kopf haben, festzuhalten (z.B. einen Test hinzuzufügen bevor er entwickelt wird, den Codezweck durch einen Trace zu rechtfertigen, eine logische Formel anzugeben um das Verhalten der Software einzuschränken). Ziel ist die Unterstützung der Entwickler durch eine adäquate Identifikation von Prozessschritten, die die Erfassung notwendiger Information erleichtert. Dazu wird dem Entwickler in unterschiedlichen Prozessschritten ermöglicht, entsprechende Daten schnell und einfach zu erfassen.

Nach Eingabe der Informationen ist eine ständige Überprüfung ihrer Korrektheit notwendig. Bei diesem kontinuierlichen Aktualisierungsprozess wird der Entwickler aktiv unterstützt, um den Aufwand gering zu halten und die Vorteile des Konzepts durchgängig nutzen zu können. Dies erlaubt es, Informationen in einem holistischen und nicht-invasivem Weg aufzunehmen und weitere Analysen auf dieser Basis durchzuführen.

Ansprechpartner

Vincent Aravantinos