- Anzeige -
- Anzeige -
Lesedauer: 8min
Hilfe bei der Erkennung von Software-Fehlern in IoT-Geräten
Bei der Entwicklung von Software für IoT-Geräte lässt sich nie mit Sicherheit feststellen, ob auch wirklich alle Fehler entdeckt wurden. Wie immer bei der Software-Entwicklung können Tests zwar das Vorhandensein von Fehlern aufzeigen, aber nicht deren Abwesenheit beweisen. Es ist daher nicht ungewöhnlich, dass Softwarefehler unentdeckt bleiben und bis in das fertige Gerät durchrutschen. Allein die durchschnittlichen Kosten für die Behebung von Fehlern im ersten Betriebsjahr eines eingebetteten Geräts können sich auf hunderttausende Dollar belaufen. Der von AWS IoT Core gehostete neue Cloud-Service Percepio DevAlert alarmiert Entwickler, sobald ein Fehler auftritt und bietet eine visuelle Trace-Diagnose zur Identifizierung der Grundursache.
Die Abbildung veranschaulicht den Informationsfluss in der Lösung und das Zusammenspiel mit der DevAlert Classification Engine.
Die Abbildung veranschaulicht den Informationsfluss in der Lösung und das Zusammenspiel mit der DevAlert Classification Engine.Bild: Percepio AB

Wie in jeder Software stecken auch in der Firmware von IoT-Geräten Fehler. Laut Schätzungen entstehen bei der Entwicklung eingebetteter Software typischerweise 50 bis 100 Fehler pro 1.000 Codezeilen; etwa drei bis fünf dieser Fehler werden beim Testen übersehen und landen somit in der endgültigen Geräte-Firmware. Das liegt daran, dass es praktisch unmöglich ist, jedes Ausführungsszenario und jeden Code-Pfad in Multi-Threaded-Firmware zu testen. Auch steigt der Aufwand, der erforderlich ist, um den letzten verbleibenden Softwarefehler zu finden, in der Regel exponentiell an.

Die Fehlerbehebung ist teuer

Eine kürzliche Umfrage des Marktforschungsunternehmens VDC Research ergab, dass eingebettete Geräte-Firmware im ersten Jahr nach Einsatz durchschnittlich 79 Software-Patches benötigt. Die durchschnittlichen Kosten für das Debuggen, die Fehlerkorrektur und die Bereitstellung lagen bei über 5.000 Dollar pro Patch. Das sind insgesamt mehrere hunderttausend Dollar an Supportkosten pro Projekt, allein im ersten Jahr. Noch gravierender ist, dass viele dieser Patches Fehler beheben, über die sich der Kunde bereits seit geraumer Zeit ärgert. Die im VDC-Bericht genannten Kosten pro Patch berücksichtigen keine Faktoren, wie die Schädigung der Kundenbeziehungen, schlechte Produktbewertungen oder entgangene Verkaufschancen, die einen noch viel größeren Einfluss auf das Geschäft haben können als die direkten Kosten für die Fehlerbehebung.

Umgehende Fehlermeldung

Cloud-basierte IoT-Plattformen wie AWS IoT Core bieten Embedded-Entwicklern neue Möglichkeiten der nachträglichen Beseitigung von Firmware-Fehlern. Mit AWS IoT Core können IoT-Geräte mit Cloud-Anwendungen und anderen Geräten interagieren. Die Plattform unterstützt Milliarden von Geräten und Nachrichten zuverlässig und sicher verarbeiten und an AWS-Endpunkte und andere Geräte weiterleiten, selbst wenn gerade kein Internet-Zugang besteht. Tritt ein neuer unbekannter Fehler in der Firmware auf, wird der Entwickler direkt über den Cloud-Service informiert. Dabei enthält der Fehlerbericht detaillierte Software-Traces, die genau zeigen, was in der Firmware kurz vor dem Auftreten des Fehlers geschah. Sobald der Fehler behoben wurde, kann der Patch automatisch über die Cloud als Over-the-Air (OTA)-Update implementiert werden, was sowohl schneller als auch zuverlässiger ist, als Kunden zu bitten, den Patch manuell herunterzuladen und zu installieren. Percepio stellt für diesen Prozess drei Komponenten zur Verfügung: Percepio DevAlert Firmware Agent, Percepio DevAlert Classification Engine, Percepio Tracealyzer.

Percepio DevAlert Firmware Agent

Der DevAlert Firmware Agent ist eine kompakte Softwarebibliothek, die Geräteentwickler in ihre RTOS-basierte IoT-Anwendung einbetten. Dieser Agent verhält sich in etwa wie ein Flugschreiber und ist für zwei Firmware-Überwachungsaufgaben zuständig: Er zeichnet die jüngsten Software-Ereignisse auf und bietet aufgrund eines speziellen Fehlerbehandlungscodes die Möglichkeit, alle festgestellten Fehler zu melden. Wird ein Fehler entdeckt und gemeldet, beispielsweise eine fehlgeschlagene Assert-Bedingung, liefert ein Bericht wichtige Informationen und Diagnosedaten. Dieser Fehlerbericht, Alert genannt, wird dann über die bestehende AWS IoT Core-Verbindung in das Konto des Entwicklers hochgeladen. Falls die Verbindung im Moment nicht verfügbar ist (z.B. aufgrund des gemeldeten Fehlers), kann der Alert stattdessen im Flash-Speicher gespeichert und nach Wiederherstellung der Verbindung hochgeladen werden.

Percepio DevAlert Classification Engine

Alerts werden zunächst in einem Amazon Simple Storage Service (Amazon S3)-Bucket im Konto des Entwicklers gespeichert. Die Symptome werden dann an die DevAlert Classification Engine weitergeleitet. Dabei handelt es sich um einen vollständig verwalteten Dienst, der von Percepio gehostet wird und auf AWS läuft. Alle Trace-Daten verbleiben im Konto des Geräteentwicklers. Die DevAlert Classification Engine untersucht Fehlercodes und alle anderen Symptome, die vom Firmware-Agenten bereitgestellt werden, und benachrichtigt die Entwickler im Falle eines neuen bisher unbekannten Problems, d.h. einer neuen Kombination von Symptomen. Die Benachrichtigung der Entwickler läuft über den Amazon Simple Notification Service (SNS) und geschieht in der Regel per E-Mail. Die gewünschte Einstellung kann in der DevAlert-Konsole konfiguriert werden.

Visuelle Trace-Diagnose im Percepio Tracealyzer: Die Übersichten helfen den Entwicklern, Anomalien zu erkennen und verknüpfte Ansichten vereinfachen das Drill-down zu den entsprechenden Ereignissen.
Visuelle Trace-Diagnose im Percepio Tracealyzer: Die Übersichten helfen den Entwicklern, Anomalien zu erkennen und verknüpfte Ansichten vereinfachen das Drill-down zu den entsprechenden Ereignissen.Bild: Percepio AB

Visuelle Trace-Diagnose zur schnellen Fehlerbehebung

Tracealyzer ist eine Desktop-Software zur visuellen Trace-Diagnose, die Entwicklern in detaillierten Ansichten und Übersichten zeigt, was in der Firmware kurz vor dem Auftreten eines Fehlers geschah. Eine physikalische Debugverbindung ermöglicht es, Tracealyzer im Streaming-Modus zu verwenden und lange Traces aufzuzeichnen – über mehrere Minuten oder sogar Stunden, falls erforderlich.

Sicherheit von Anfang an eingebaut

Percepio DevAlert befolgt AWS Best Practices bei der Authentifizierung und Verschlüsselung, wodurch Kundendaten geschützt bleiben. Dank der Verwendung von bestehenden sicheren Kommunikationsprotokollen wie MQTT über TLS werden auch keine zusätzlichen Angriffsflächen freigelegt. Entwickler können das integrierte Software-Tracing nutzen, um alle relevanten Informationen in der Firmware zu protokollieren. Da es sich dabei gegebenenfalls auch um sensible Informationen handeln kann, wurde die DevAlert Classification Engine so konzipiert, dass sie keine Analyse der Trace-Daten vornehmen muss. Die Trace-Daten verlassen zu keinem Zeitpunkt das Konto des Entwicklers.

Zusammenfassung

Bei der Entwicklung von DevAlert hat Percepio eng mit diversen Herstellern von IoT-Boards zusammengearbeitet, darunter STMicroelectronics und Cypress Semiconductor. Mit Percepio DevAlert und AWS IoT Core können Geräteentwickler komplexe IoT-Firmware mit der Gewissheit einsetzen, genauen Einblick in das reale Verhalten ihrer Geräte-Firmware zu erhalten und bei Bedarf OTA-Updates bereitstellen. Dadurch lassen sich die Kosten für den Support von IoT-Geräten senken, die Zahl der von Fehlern betroffenen Anwender minimieren und die Kundenerfahrung insgesamt verbessern.

Von Johan Kraft, PhD, CEO und Gründer von Percepio

(Dieser Artikel basiert auf einem englischen Original, das erstmals als AWS Partner Network (APN) Blog hier erschienen ist.)

Firma: Percepio AB
http://www.percepio.se

MARKT – TRENDS – TECHNIK

Weitere Beiträge

Das könnte Sie auch interessieren

Licht in die Maschine bringen

Der optimal ausgeleuchtete Innenraum der Maschine und ihres Arbeitsbereichs gehört zur zuverlässigen Inbetriebnahme und Wartung. Licht ins Dunkel bringen ermöglicht auch die schnelle Behebung von Störungen. Kurzum: So kann der laufende Fertigungsprozess überwacht werden und Stillstandzeiten können reduziert werden. Die neuen Maschinenleuchten von Phoenix Contact leisten in der Holzbearbeitung sehr gute Dienste.

mehr lesen
Neue Funktionen für bessere Wartung

Neue Funktionen für bessere Wartung

Antriebe sind heute mehr als einfache Frequenzregler. Mit der Fähigkeit, als Sensoren zu fungieren, Daten zu verarbeiten, zu speichern und zu analysieren, sowie mit ihrer Konnektivität bilden sie zentrale Elemente in
Automatisierungssystemen. Die integrierte Überwachung moderner Antriebe ermöglicht weitere Vorteile – z.B. bei der zustandsabhängigen Durchführung von Wartungsarbeiten.

mehr lesen

Nachhaltiger fertigen durch neue Technologie

Vernetzte Maschinen, vorausschauende Wartung, Automatisierung: Industrie-4.0-Technologien verbessern nicht nur die Produktion in Fabrikhallen, sondern sorgen auch für mehr Nachhaltigkeit.

Duale Fernverwaltungslösung für IoT-Geräte

Das exponentielle Wachstum von IoT-Geräten führt dazu, dass eine große Anzahl von verbundenen Geräten, auf die an weit verstreuten und entfernten Standorten möglicherweise nur schwer zugegriffen werden kann, effektiv verwaltet und überwacht werden müssen.

Partnerschaft für Cybersicherheit

Schneider Electric hat eine strategische Partnerschaft mit dem Cybersicherheits-Unternehmen Fortinet gestartet, um den Sicherheitsansprüchen von OT-Netzen besser gerecht zu werden.

Cybersicherheit in der Quantentechnologie

Quantencomputer versprechen die Grenzen der Recheneffizienz stark zu erweitern und damit Probleme zu lösen, mit denen heutige Systeme überfordert sind.

Daten werden mehrheitlich für einfache Analysen eingesetzt

85 Prozent der Unternehmen sehen große Bedeutung von Daten für ihr Geschäft, wie eine aktuelle Bitkom-Studie zeigt. Eine gesetzliche Verpflichtung zum Datenaustausch erweist sich demnach als nicht hilfreich, um die Nutzung von Daten zu erleichtern.

Erstes Maintenance-Update abgeschlossen

Die Digitalisierung und Industrie 4.0 prägen derzeit neue Anforderungen an die Automatisierung. Profibus & Profinet International (PI) stellt sich seit Beginn neuen Anforderungen und arbeitet daran, diese in ihren Technologien zu erfüllen.

Siemens und SAP arbeiten an gemeinsamen Lösungen

Im Rahmen der neuen Partnerschaft von Siemens und SAP wollen beide Unternehmen ihre Branchenkompetenz nutzen und ihre sich ergänzenden Softwarelösungen für Product Lifecycle, Supply Chain und Asset Management kombinieren.