In kürzester Zeit von der Simulationsumgebung ins Fahrzeug
Der integrierte Entwicklungsprozess von IAV ermöglicht es, Software in Simulationsumgebungen ausführlich zu testen und von dort schnell als ausführbaren Code ins Fahrzeug zu bringen. Dieses „Rapid Control Prototyping“ ist ein wichtiger Teil der ganzheitlichen Werkzeugkette bei IAV.

Mit Hilfe des integrierten Entwicklungsprozesses von IAV zur schnellen Regelungs- und Steuerungsentwicklung wird es möglich, im V-Modell auch horizontale Iterationsschleifen durchzuführen. Hierdurch können sehr schnell Probleme erkannt werden. Beispielsweise kann ein Regler im Entwurfswerkzeug unmittelbar an zur Verfügung stehenden Modellen anderer Komponenten oder Teilsystemen erprobt werden, auch wenn die Zielhardware oder das Fahrzeug noch nicht zur Verfügung stehen. Dieser integrierte Entwicklungsprozess zur schnellen Regelungs- und Steuerungsentwicklung wird als „Rapid Control Prototyping“ bezeichnet. Wichtige Prozessschritte des integrierten Entwicklungsprozesses bei IAV sind „Continuous Integration“, „Continuous Deployment“ und „Continuous Testing“.
Automatische Prüfung der Codequalität
Der Schritt „Continuous Integration“ konzentriert sich dabei auf nichtfunktionale Tests. Der Begriff beschreibt, dass die verschiedenen Komponenten einer Anwendung fortlaufend zu einer ausführbaren Software zusammengeführt werden. Im Rahmen einer „statischen Codeanalyse“ werden Aspekte wie die Struktur der Algorithmen oder Konventionen zur optimalen Lesbarkeit der Software-Codes überprüft. Dabei bewertet die Analyse auch, ob Richtlinien eingehalten werden, die von Branchengremien wie dem MAAB (MathWorks Automotive Advisory Board) oder der MISRA (Motor Industry Software Reliability Association) festgelegt wurden.
Fallen bei dieser Analyse Abweichungen auf, werden die zuständigen Programmierer direkt über dieses Ergebnis benachrichtigt, damit sie die erkannten Fehler beheben können. Wie auch in den folgenden Schritten findet bei der Codeanalyse zudem eine automatisierte Dokumentation statt.
Wie es weitergeht, erklärt Dr. Rick Voßwinkel, IAV-Experte für Motion Planning: „Hat ein Softwarestand diesen ersten Prüfschritt absolviert, findet das „Continuous Deployment“ statt. In diesem Prozessschritt wird der neue, verifizierte Code automatisiert für alle relevanten Entwicklungs-, Test-, Integrations- und Produktivumgebungen bereitgestellt. Beispielsweise werden der Code und die skriptbasiert erzeugten Lieferdokumente zentral in einer Cloud-Lösung abgelegt. So lässt sich sicherstellen, dass alle Entwickler auf diese aktuelle Version zugreifen.“ Ergebnisse dieses automatisierten Auslieferungsprozesses sind etwa die Testprotokolle der statischen Code-Analyse sowie Funktions-Dokumentationen. Bei Bedarf können diese Dokumente sogar für frühere Softwarestände erneut erzeugt werden.
Funktionale Tests als Teil des Entwicklungs-Workflows
Eng verzahnt mit dem automatisierten Integrations- und Auslieferungsprozess erfolgt das „Continous Testing“, das den Fokus auf die funktionalen Tests legt. In diesem Schritt werden die Tests automatisiert beispielsweise als Teilfunktions-, Integrations- oder Qualitäts-Tests durchgeführt. Je nach geplantem Testumfang erfolgen die Tests auf Basis unterschiedlicher Simulationskonzepte.
Um fahrzeugnahe Fahrdynamikregelung testen zu können, hat IAV verschiedene spezifische Simulationsmodelle entwickelt, die beispielsweise in der von der Firma MathWorks bereitgestellten Modellierungs-Software Simulink laufen. Dr. Voßwinkel betont den praktischen Vorteil:
«Das von uns eingesetzte Rapid Control Prototyping ermöglicht uns, aus dem Code in der Simulationsumgebung in kürzester Zeit ausführbare Software zu generieren, die wir dann im nächsten Schritt direkt im Fahrzeug einsetzen können.»
— IAV-Experte für Motion Planning
„So werden die entwickelten Funktionen im Gesamtsystem Fahrzeug schneller erlebbar.“
Neben der Nutzung dieser Simulationstools sind Realdaten eine weitere wichtige Basis für effizientes Testing, so Voßwinkel. Die Grundlage dafür können neben aufgezeichneten realen Testdaten auch zuvor generierte Simulationsergebnisse sein. Dass die entwickelte Software modular aufgebaut ist, begünstigt zudem ein effizientes Testen auf Modulebene. Dabei können etwa interne Modulschnittstellen als Basis eines umfassenden Testkatalogs verwendet werden.
Die Vorteile des „Rapid Control Prototyping“ haben sich sowohl in Kundenprojekten als auch in internen Entwicklungs- und Forschungsszenarien bereits bewiesen. IAV entwickelt seine maßgeschneiderte Werkzeugkette für automatisierte Software-Tests kontinuierlich weiter und ist damit für die aktuellen und künftigen Anforderungen der Automobilbranche bestens gerüstet.
Der Artikel erschien in der automotion 03/2020, dem Automotive Engineering-Fachmagazin von IAV. Hier können Sie die automotion kostenfrei bestellen.