Sichere Embedded Systeme durch präzise Softwaretests

von Andreas Bergmeier - 2024-02-13

In vielen technischen Geräten arbeitet Software im Verborgenen. Sie steuert Sensoren, verarbeitet Daten, löst Funktionen aus und muss im richtigen Moment zuverlässig reagieren.

Genau hier liegt eine der größten Herausforderungen der Embedded-Entwicklung: Hinter jeder Software stehen Entwickler, und Entwickler können Fehler machen. In sicherheitskritischen Systemen darf ein solcher Fehler jedoch nicht dazu führen, dass Menschen gefährdet werden. Auf der Embedded World in Nürnberg zeigte iSystem, wie Entwicklungs- und Testwerkzeuge dabei helfen können, solche Risiken zu reduzieren. Das Unternehmen stellt Werkzeuge bereit, mit denen Entwickler tief in laufende Embedded Systeme hineinsehen, Softwareverhalten überprüfen und Tests möglichst nah an der realen Hardware automatisieren können.

iSystem Blue Box mit Testsoftware
Anzeige

iSystem erklärt sichere Embedded Systeme am Wink-O-Maten

Am Messestand wurde das Thema zunächst bewusst einfach dargestellt. Ein sogenannter Wink-O-Mat diente als Demonstrator, um den Anspruch „Enabling Safer Embedded Systems“ verständlich zu machen. Das Beispiel stammt aus der Maker-Welt, in der Entwicklungsboards wie Arduino, Raspberry Pi oder BeagleBone häufig als Einstieg in die Embedded-Entwicklung genutzt werden. Solche Plattformen ermöglichen es Studenten, jungen Ingenieuren und Entwicklern, schnell erste Systeme aufzubauen. iSystem stellt dafür eine freie Softwareentwicklungsumgebung zur Verfügung, um den Einstieg zu erleichtern. Entscheidend ist jedoch nicht der einfache Demonstrator selbst, sondern das Prinzip dahinter: Ein System muss in der Lage sein, auf bestimmte Situationen kontrolliert zu reagieren. Nähert sich jemand dem Wink-O-Maten, fährt dieser in einen sicheren Zustand. Genau dieser Gedanke ist für Embedded Systeme zentral. Sicherheit bedeutet hier nicht nur, dass eine Funktion vorhanden ist. Sie bedeutet, dass ein Gerät in kritischen Situationen so reagiert, dass niemand verletzt wird und kein unkontrollierter Zustand entsteht.

iSystem CEO Erol Simsek embedded world 2016
iSystem Blue Box Controler Debug

On-Chip-Analyzer als Fenster in den Mikroprozessor

Die eigentlichen Produkte von iSystem sind kleine blaue Boxen, die als Entwicklungs- und Testwerkzeuge eingesetzt werden. Sie ermöglichen Entwicklern den Zugriff auf den Mikroprozessor eines Embedded Systems. Im Gespräch wird dies als eine Art Fenster in den Microchip beschrieben. Über diese Verbindung kann ein Entwickler prüfen, ob die Software tatsächlich so läuft, wie sie geplant wurde. Dazu wird das Zielsystem mit der Box verbunden und per USB an einen PC angeschlossen. Anschließend lässt sich das Verhalten der Software analysieren, Schritt für Schritt nachvollziehen und bei Bedarf korrigieren. Der Nutzen liegt vor allem darin, dass nicht nur ein abstrakter Programmcode betrachtet wird. Stattdessen wird sichtbar, wie sich die Software im konkreten System verhält. Gerade bei Embedded Anwendungen ist das entscheidend, weil Software häufig direkt mit Sensoren, Aktoren und physikalischen Prozessen verbunden ist.

Anzeige
iSystems Neuheiten embedded world 2016

Timing als kritischer Faktor bei Airbag und Herzschrittmacher

Embedded Systeme verarbeiten Daten aus der Umgebung. Sensoren liefern Informationen, Algorithmen werten sie aus und lösen anschließend bestimmte Reaktionen aus. In vielen Fällen zählt dabei nicht nur das Ergebnis, sondern auch der genaue Zeitpunkt. Besonders deutlich wird das bei sicherheitskritischen Anwendungen. Ein Airbag muss im Fahrzeug nicht nur auslösen, sondern zum richtigen Zeitpunkt. Ein Herzschrittmacher muss zuverlässig reagieren, wenn der Körper es benötigt. In solchen Fällen können kleine Verzögerungen oder unerwartete Softwarezustände erhebliche Folgen haben.

iSystem einfache Verbindung Platine Blue Box PC

Die Werkzeuge von iSystem helfen dabei, dieses Verhalten zu untersuchen. Entwickler können prüfen, ob Abläufe korrekt ausgeführt werden und ob zeitliche Anforderungen eingehalten werden. Damit wird aus der Softwareentwicklung ein überprüfbarer Prozess, der über reines Programmieren hinausgeht.

  • Analyse laufender Embedded Software
  • Einblick in den Mikroprozessor über PC-Anbindung
  • Schrittweise Überprüfung des Programmverhaltens
  • Tests nah an der realen Hardware
  • Automatisierung wiederkehrender Testabläufe
  • Überprüfung zeitkritischer Funktionen

Mikroprozessor Embedded System Kontrollsoftware iSystems
Anzeige

Testautomatisierung nah an der realen Hardware

Nach der Entwicklung endet die Arbeit an sicherheitskritischer Software nicht. Im Gegenteil: Die Testphase wird zu einem zentralen Bestandteil des gesamten Prozesses. iSystem integriert deshalb Testfunktionen in seine Werkzeuge und in die zugehörige Software. Das Ziel ist, Embedded Systeme möglichst nah an der realen Hardware zu testen. Diese Nähe ist wichtig, weil sich bestimmte Fehler erst im Zusammenspiel von Software, Mikroprozessor, Sensoren und realen Signalen zeigen. Ein rein theoretischer Test reicht bei solchen Systemen oft nicht aus. Mit den Werkzeugen lassen sich Tests automatisieren. Dadurch können bestimmte Prüfungen immer wieder im Hintergrund ausgeführt werden, auch während der laufenden Entwicklung. Fehler werden dadurch früher sichtbar, und Entwickler müssen nicht erst am Ende eines Projekts feststellen, dass eine Funktion unter bestimmten Bedingungen anders reagiert als erwartet.

Messe.TV Beitrag iSystems embedded world
Messeauftritt iSystem embedded world Nürnberg

Warum Softwaretests in Embedded Systemen wichtiger werden

Die Komplexität eingebetteter Systeme nimmt seit Jahren zu. Fahrzeuge, Medizintechnik, Industrieanlagen und vernetzte Geräte enthalten immer mehr Software. Gleichzeitig steigen die Erwartungen an Zuverlässigkeit und Nachweisbarkeit. Hersteller müssen belegen können, dass ihre Systeme funktionieren. Bei sicherheitsrelevanten Anwendungen geht es nicht nur um Komfort oder Qualität, sondern um Verantwortung. Ein Gerät soll nicht nur im Normalfall arbeiten, sondern auch in Grenzsituationen berechenbar bleiben. Für iSystem bedeutet diese Entwicklung, dass Testautomatisierung und kontinuierliche Prüfung weiter an Bedeutung gewinnen. Je komplexer die Software wird, desto weniger reicht es aus, punktuell zu testen. Entscheidend ist ein Entwicklungsprozess, in dem Analyse und Prüfung dauerhaft mitlaufen. Genau dafür sind Werkzeuge gefragt, die tief genug in das System hineinreichen und gleichzeitig praktikabel im Alltag der Entwickler bleiben.