Für die smarten Elektrorollstühle von Whill spielt Software eine tragende Rolle: Der medizinzertifizierte japanische Hersteller entwickelt und programmiert seine Steuerungen inhouse und setzt auf die Codeanalyse von Parasoft C/C++test.
»Auf dem Teller wenden« ist für Bootsfahrer ein kniffliges Manöver, ohne welches niemand einen Bootsführerschein bekommt. Auch für Rollstuhlfahrer ist das »auf der Stelle drehen« eine Basistechnik, die einige Übung verlangt. Doch die moderne Elektronik macht lässt Rolli-Benutzer staunen: der elektrischer Rollstuhl C2 des japanischen Herstellers Whill dreht sich per Knopfdruck der Stelle; dank einem patentierten, omnidirektionalen Radsystem mit zehn kleinen Rädern und der passenden Software.
Das in Tokyo ansässige Unternehmen hat mit seinem Flagschiff-Modell nicht nur einen gewöhnlichen Elektrorollstuhl entwickelt, sondern nennt ihn »ein smartes Mobilitätsgerät« für Menschen mit Behinderungen oder Senioren ohne Führerschein. Der C2 ist FDA-zugelassen ist und erfüllt höchste Sicherheitsstandards. Die Software ermöglicht dabei nicht nur eine präzise Steuerung, sondern auch die nahtlose Anbindung ans Smartphone.
Hinter der benutzerfreundlichen Oberfläche steckt hochkomplexe Technologie. Whill entwickelt die gesamte Software für die Rollstuhl-Steuerung im eigenen Haus. Dadurch kann das Entwicklungsteam Verbesserungen an bestehenden Funktionen schneller und einfacher vornehmen. Die Software muss nicht nur zuverlässig sein, sondern auch die Sicherheitsanforderungen für medizinische Geräte erfüllen.
Um die strengen Anforderungen der IEC 62304-Norm und der FDA-Zulassung Klasse II einzuhalten, setzt Whill auf modernste Entwicklungswerkzeuge. »Die schnelle Erkennung von Code-Problemen war ein entscheidender Schritt zur Verbesserung unserer Produktqualität«, sagtt Tsuyoshi Iriyama, Chief Officer des Quality Headquarters bei Whill.
Lesen Sie passend dazu: |
Richtlinien zur US-Zertifizierung - FDA-Validierung der Cybersicherheit in Medizingeräten |
Whill sah sich während der Softwareentwicklung für seine smarten Rollstühle mit mehreren Herausforderungen konfrontiert:
»Eine der technischen Besonderheiten des Whill C2 ist das Omni-Rad. Im Gegensatz zu einem herkömmlichen Rad besteht es aus 10 kleinen Rädern, wodurch wir eine hohe Geländegängigkeit und Wendigkeit erreichen«, sagt Tsuyoshi Iriyama, der auch das Regulatory and Certification Department bei Whill leitet.
Das patentierte Omni-Rad ermöglicht es den Rädern, sich sowohl vertikal als auch einzeln horizontal zu drehen. Dank der ausgeklügelten Radtechnologie kann das Gefährt in einem sehr kleinen Radius schwenken und überwindet mühelos Hindernisse von bis zu fünf Zentimetern Höhe. Das oni-Rad ist nur ein Beispiel, in der Medizingerätenetwicklung steigt mit jedem neuen Produkt, jeder neuen Funktion, Schnittstelle oder Spezifikation auch die Nachfrage nach spezifischer Software. Im besten Fall können die Entwickler zügig neuen Code erstellen oder bestehenden Code aus anderen Produkten wiederverwenden.
»Zusätzlich zu neuem Code war es dringend notwendig, einen Prozess zu etablieren, der eine effiziente Wiederverwendung des bestehenden Codes ermöglicht und gleichzeitig die Qualität sicherstellt. Zudem mussten wir an der Einhaltung internationaler Standards für Softwarequalität arbeiten, wie z.B. IEC 62304, einem internationalen Standard für Software-Lifecycle-Prozesse für medizinische Geräte, und von der US-amerikanischen FDA, die für den internationalen Vertrieb erforderlich sind. Vor diesem Hintergrund planten wir die Einführung eines statischen Analysewerkzeugs, um die Codequalität [durch Berichtsmetriken] zu visualisieren und eine qualitativ hochwertigere Entwicklung zu erzielen.« |
---|
Yoshizo Mihara von der Personal Mobility Development Section 4 bei Whill |
Da die Codequalität oberste Priorität hatte, zog Whill mehrere statische Analysewerkzeuge in Betracht, darunter sowohl kommerzielle als auch Open-Source-Software (OSS). Das ausgewählte Tool musste die folgenden fünf Punkte erfüllen:
Basierend auf diesen fünf Punkten fiel die Wahl auf C/C++test von Parasoft zusammen mit dem Deployment-System von TechMatrix. Zunächst setzte das Team C/C++test für zwei bestehende Softwaremodule ein und führte Code-Tests durch, die hauptsächlich auf MISRA C aufsetzten.
»Um unsere eigenen Fähigkeiten einzuschätzen, führten wir zuerst Tests mit strengen Filterbestimmungen durch, die zu Tausenden von Fehlermeldungen führten. Durch die Überprüfung dieser Meldungen mit eigenen Augen, einschließlich der wiederverwendeten Teile aus früheren Beständen, konnten wir die Gesamtqualität des Codes aus der objektiven Perspektive des Tools visualisieren und unser Verständnis des eigenen Codes vertiefen. Wir betrachten dies als einen großen Erfolg«, so Yoshizo Mihara.
Die Software-Testlösung für sicherheitskritische Embedded-Anwendungen lässt sich eng in die DIE von C und C++, die CI/CD Pipeline und in containerisierte Deployments integrieren, um komplexe laufzeitähnliche Probleme bereits in der Entwicklungsphase aufzudecken – ohne kostenaufwändige Laufzeittests auszuführen. Indem die Lösung die Ausführungspfade durch den Code analysiert, findet sie mögliche Probleme (z.B. Null-Zeiger-Dereferenzierung, Division durch Null, Speicherlecks) und Sicherheitslücken (z.B. beschädigte Datendateien, Pufferüberläufe, Befehlsinjektion, SQL-Injektion).
Sie bietet integrierte Checker-Sets (Regeln) für C/C++-Code, um die Konformität mit Standards wie MISRA* und anderen zu überprüfen. Eine solche Analyse wird für regulierte Industrien empfohlen/verlangt, d.h. für die Entwicklung in den Bereichen Medizin, funktionale Sicherheit mit ISO 26262 und Sicherheit (d.h. SEI CERT C/C++, CWE).
Die Resultate der C/C++test-Codeanalysetools können im dynamischen Parasoft-Reporting-Dashboard angezeigt werden, das eine automatisierte Verarbeitung und erweiterte Reportingstrategien unter Verwendung historischer Daten ermöglicht. Die Ergebnisse der statischen Analyse über den gesamten Build-Zeitraum sind leicht zu erkennen, selbst bei der Arbeit mit großen Code-Basen und Legacy-Code, wo die Sichtbarkeit des Codes normalerweise eine Herausforderung darstellt. Das ermöglicht es Benutzern sich schnell auf die Qualität des neu hinzugefügten Codes zu konzentrieren.
Mit Widgets, die automatisch die Einhaltung eines bestimmten Programmierstandards verfolgen, erhalten Anwender einen dynamischen Einblick in den Compliance-Prozess und können einfach automatische Berichte für Code-Audits erstellen.
Weil die Qualification Kits von Parasoft vom TÜV Süd unabhängig für den Einsatz in sicherheitskritischen Projekten zertifiziert sind, können die statischen C/C++ Analysetools ohne weitere Qualifizierung eingesetzt werden. Sie gehen weit über eine einfache Dokumentation hinaus, um den Zeit- und Arbeitsaufwand für die Tool-Qualifizierung für Standards wie ISO 26262, IEC 62304 und andere erheblich zu reduzieren.
Whill implementierte ein System, in dem C/C++test effiziente Code-Tests durchführt, um die Einhaltung von Sicherheits- und Programmierstandards zu gewährleisten und hochwertige Software zu liefern. Das Unternehmen zeigte sich auch mit dem Support-System von TechMatrix zufrieden. Bei der Entwicklung neuer Geräte strebt Whill eine kontinuierliche Verbesserung der Produktqualität mit Hilfe von Parasoft C/C++test an.
Tsuyoshi Iriyama resümiert: »Die Möglichkeit, eine Umgebung zu schaffen, in der wir Code-Probleme mit C/C++test innerhalb einer begrenzten Entwicklungszeit schnell erkennen und uns auf die Bereiche konzentrieren können, die unsere besondere Aufmerksamkeit erfordern, war ein sehr wichtiger Schritt, um die Software-Qualität und somit auch die Qualität und Wettbewerbsfähigkeit unserer Produkte und Dienstleistungen zu verbessern«. (uh)