Software implementieren und absichern

Software implementieren und absichern

Mit Modellierung zum schnelleren Prototyping

Ein plötzliches Verkehrshindernis kann zur Gefahr werden. Vor allem dann, wenn es Autofahrer zu spät wahrnehmen und es nicht schaffen, rechtzeitig darauf zu reagieren. Ein Gefahrenwarner kann dem vorbeugen. Jedoch sind solche fahrzeugübergreifenden Funktionen sehr komplex: Sie erfordern neue Entwicklungsansätze und -werkzeuge. Das heißt vor allem, dass vernetzte Fahrfunktionen schon früh im Entwurf simuliert und getestet werden sollten.

Abb.: Kommunikationsarchitekturen f?r kooperatives Fahren (Bild: Fraunhofer-Institut ESK)

Kommunikationsarchitekturen für kooperatives Fahren (Bild: Fraunhofer-Institut ESK)

Auf dem Weg zum autonomen Fahren stößt die Erkennung der Umwelt durch die bloße eigene Sensorik wie Lidar, Radar oder 360°-Kameras an Grenzen. Mehr Effizienz im Verkehr und höhere Sicherheit werden nur durch eine Vernetzung von Fahrzeugen untereinander sowie mit der Infrastruktur möglich (s. Bild 1). Dafür sind sehr komplexe Kommunikationsarchitekturen und darauf aufbauende Anwendungen notwendig. Für solche neuen Funktionen ist eine schnelle Entwicklung und Absicherung entscheidend. Entwickler können sich nicht mehr nur auf ein einzelnes Steuergerät oder ein Fahrzeug fokussieren, sondern sie müssen übergreifende Funktionen im Blick haben. Ziel muss es daher sein, eine Möglichkeit zum schnellen Prototyping kooperativer Fahrfunktionen zu schaffen, um auch Erkenntnisse durch Simulationen und Feldversuche frühzeitig gewinnen zu können. Modellgetriebene Absicherung und Monitoring der Kommunikation erlauben hier, schnell zu qualitativ hochwertigen vernetzten Fahrfunktionen zu gelangen und gleichzeitig deren sichere Arbeitsweise zu garantieren.

Beispiel Gefahrenwarner

Ein Gefahrenwarner sorgt dafür, dass der nachfolgende Autoverkehr vom Fahrzeug an einer nicht einsehbaren Gefahrenstelle per Vehicle-to-X Kommunikation (V2X) in Echtzeit alarmiert wird. Neben einfachen Warnungen werden zukünftige Funktionen komplexere Interaktionen zwischen Fahrzeugen, Infrastruktur und Fahrern vorsehen. Eine solche vernetzte Anwendung sollte schon früh im Entwurf simuliert und getestet werden, um Spezifikationslücken und Implementierungsfehler rechtzeitig zu beheben. Nur so kann eine vernetzte Funktion wie der Gefahrenwarner schnell auf die Straße gebracht werden. Dies sollte wiederum für Hersteller von hoher Bedeutung sein, um flexibel und in kurzer Zeit neue Kundenfeatures zu evaluieren und anbieten zu können. Dies ist umso wichtiger, als der Trend zu einer immer höheren Automatisierung von Fahrzeugen unaufhaltsam ist. Zu vielversprechend sind die Vorteile, die eine stärkere bis vollständige Übernahme von Fahrfunktionen bietet. Die Ziele reichen von erhöhter Sicherheit im Straßenverkehr bis zu einer effizienten und multimodalen Nutzung von Mobilität. Da einzelne Fahrzeuge selten alleine auf den Straßen unterwegs sind, kommt gerade der Interaktion zwischen Fahrzeugen besondere Bedeutung zu. Vor allem können durch die automatische Kooperation verschiedener Verkehrsteilnehmer neue Anwendungen erschlossen werden, wie beispielsweise optimiertes Einparken. Aber auch der Verkehrsfluss lässt sich dadurch deutlich erhöhen. Ein Beispiel dafür sind Spursperrungen, in denen kooperative Einfädelassistenzen effizient Staus reduzieren können.

Abb.: Entwicklung und Absicherung einer V2X-Applikation (Bild: Fraunhofer-Institut ESK)

Entwicklung und Absicherung einer V2X-Applikation (Bild: Fraunhofer-Institut ESK)

Herausforderung ‚kooperative Fahrfunktionen‘

Jedoch stellen sich mit der Entwicklung solcher kooperativen Fahrfunktionen völlig neue Herausforderungen für Automobilhersteller, Zulieferer und Verkehrsinfrastrukturbetreiber: Die Komplexität steigt, sowohl durch die verstrickte Vernetzung und die interaktive Kommunikation als auch durch die Gewährleistung der Sicherheit von Fahrfunktionen. Hinzu kommt eine erhöhte Entwicklungsgeschwindigkeit, die notwendig ist, um den Kunden als Erster neue erlebbare Mehrwertfunktionen auf dem Markt anbieten zu können. Aufgrund des innovativen Charakters solcher, auf starker Vernetzung beruhenden, Funktionen werden diese häufig komplett neu, individuell entwickelt. Dabei ist zu erwarten, dass die ersten umgesetzten Funktionen mit einfachen Interaktionsmechanismen arbeiten, wie dem unidirektionalen Auslösen einer Warnung bei einem Stauwarnassistenten. Diese einfachen Interaktionsmechanismen können noch mit aktuellen Software-Werkzeugen entwickelt werden, allerdings mit einigem Aufwand. So gibt es keine ausreichenden Prototyping-Umgebungen und das Debugging ist auf solche verteilten Funktionen noch nicht ausgerichtet. Dagegen werden zukünftige kooperative Fahrfunktionen komplizierte Interaktionsmechanismen aufweisen, wie sie zum Beispiel für das automatisierte Einfädeln notwendig sind. Sie beziehen nämlich verschiedene Akteure ein, etwa andere Fahrzeuge oder Backend-Dienste, welche entscheidend zum Ausgang von Fahrentscheidungen beitragen. Solche hochkomplex vernetzten intelligenten Transportsysteme lassen sich nicht mehr mit heutigen Methoden zuverlässig entwickeln und würden neben dem späten Time-to-Market sehr hohe Kosten für Entwicklung, Integration und Test erfordern. Daher müssen solche Funktionen zukünftig auch mit durchgängigen Ansätzen frühzeitig implementiert und evaluiert werden. Für den Entwurf von heutigen Software-Architekturen steht bereits eine Vielzahl an Methoden und Werkzeugen zur Verfügung, die erfolgreich in der Entwicklung von herkömmlichen Fahrerassistenzsystemen Verwendung finden. Beispielsweise erlaubt der AUTOSAR-Standard die Definition von steuergeräteunabhängiger Software und bietet mit ARXML ein standardisiertes Format zum Austausch. Übergreifende Systemarchitekturen werden häufig mit generischen Modellierungssprachen wie UML und SysML oder aber mit domänenspezifischen Sprachen wie EAST-ADL spezifiziert. Allerdings beschränkt sich der Einsatz oft auf einzelne Fahrzeugbereiche, oder die Formalisierung und Planung der Systemarchitektur wird gänzlich vernachlässigt. Zukünftige kooperative Fahrfunktionen umfassen jedoch sehr viel mehr und verschiedene Systemelemente, von Backendsystemen über Übertragungsinfrastruktur und fremden Fahrzeugen bis hin zum eigenen Fahrzeugsystem. Aktuelle Methoden und Werkzeuge bieten jedoch keinen Ansatz, solche komplexen Interaktionen, die fahrzeugübergreifenden Funktionen zugrunde liegen, überhaupt zu erfassen. Aus diesem Grund erweitern und entwickeln die Wissenschaftler des Fraunhofer ESK Modellierungsmethoden, um Anforderungen zukünftig interaktiv vernetzter Fahrzeuge zu erfassen und frühzeitig absichern zu können. Dabei kann diese Modellierung auch als Grundlage in der weiteren Entwicklung und beim Prototyping kooperativer Funktionen verwendet werden, da deren Entwicklung weitere Herausforderungen bereithält.

Simulation statt Erprobung im Verkehr

Kooperative Fahrfunktionen können in den frühen Stadien der Entstehung aus Sicherheits- und Kostengründen nicht direkt auf der Straße erprobt werden. Stattdessen greifen Entwickler auf ein breites Spektrum an Simulationswerkzeugen zurück. Ausgehend von der umfassenden Modellierung des Systems, den benötigten Komponenten und auch der Umgebung können die Module und Konfigurationen für die jeweiligen Tools automatisch erzeugt werden. Durch eine Kombination von erprobten und validierten Simulatoren aus den Bereichen Verkehr, Fahrdynamik und Kommunikation können die geplanten Funktionen mit einem hohen Detailgrad untersucht und kontinuierlich verbessert werden. Aussagen zum Verhalten des Systems im Zusammenspiel mehrerer Fahrzeuge, zu Dimensionierung und Parametrierung von Algorithmen sowie zu möglichen Randbedingungen und Grenzen lassen sich so leicht ermitteln und im fortlaufenden Prozess berücksichtigen. Die Verwendung von etablierten Referenzszenarien verkürzt die Entwicklungszyklen zusätzlich, damit aus einer Idee schnell eine funktionsfähige und abgesicherte Softwarekomponente werden kann. Hat sich eine Funktion in der Simulation bewährt, kann sie mit geringem Aufwand direkt aus dem Modell in einen Prototypen überführt und so im Fahrzeug unter realistischen Bedingungen getestet werden. Hierzu stellt das Fraunhofer ESK mit dem ezCar2X- Framework eine Ausführungsumgebung bereit, in der die gleiche Codebasis wie in der Simulation Verwendung findet. Auf diese Weise lässt sich die mehrfache Implementierung der gleichen Funktionalität in unterschiedlichen Entwicklungsumgebungen vermeiden, was Fehler reduziert und ein nahtloses Wechseln zwischen verschiedenen Phasen der Entwicklung ermöglicht. Zusätzlich bietet die Umgebung eine Abstraktion für den Zugriff auf externe Komponenten wie Sensoren, Aktoren, Kommunikationsschnittstellen und Kartendaten. Hier können je nach Bedarf und Verfügbarkeit reale und virtuelle Blöcke gemischt werden, um etwa während einer Fahrt die Ausgabedaten aufzuzeichnen anstatt sie direkt in die Steuerung des Fahrzeuges einzuspeisen. Im Laufe der Erprobung in realen Fahrzeugen wird eine Vielzahl von Daten gesammelt. Die hierfür benötigten Mess- und Erfassungspunkte können jedoch bereits im Modell definiert werden. So ist es ohne weiteres möglich, die Ergebnisse von Versuchsfahrten direkt wieder in das Modell zu integrieren und mit standardisierten Tools auszuwerten. Darüber hinaus lassen sich die Daten dazu nutzen, die verwendeten Simulationskomponenten für den konkreten Einsatzzweck zu kalibrieren. So werden zukünftige Simulationen noch realistischer und somit aussagekräftiger. Neben Simulationen kann ein Modell der Fahrfunktion auch für eine automatisierte Absicherung herangezogen werden. Zum Beispiel sorgt das Fraunhofer ESK-Werkzeug Dana für eine passive Verifikation von Kommunikationsschnittstellen. Ein solches Modell einer Fahrfunktion kann auch als Spezifikation für einen Zulieferer oder die Umsetzung im Serienfahrzeug genutzt werden. Da die Werkzeuge der Prozessphasen ineinander greifen, ist es jederzeit möglich, einen Schritt vor oder zurück zu gehen. So können neue Erkenntnisse aus Erprobungsfahrten in das Modell einfließen und zuerst in der Simulationsumgebung evaluiert werden, bevor erneut aufwändige und kostspielige Fahrversuche durchgeführt werden müssen. Durch die sich wiederholende Nutzung des Modells im Entwicklungsprozess kann dieses zudem verbessert und abgesichert werden, sodass es als verifizierte Referenz zur automatisierten Überprüfung von Implementierungen herangezogen werden kann. Fraunhofer ESK bietet eine Toolkette für durchgängige Entwicklung, Evaluierung und Prototyping von verteilten kooperativen Fahrfunktionen. Damit sind Entwickler solcher Funktionen in der Lage, auf modellgetriebene Methoden und Werkzeuge zurückzugreifen – vom Entwurf über Verifikation und Simulation bis zum Prototyping für Versuchsfahrzeuge. Fahrzeughersteller, Zulieferer und Hersteller von Verkehrsinfrastrukturen können aber auch ihre eigenen Werkzeuge und Werkzeugketten weiter nutzen. Hierfür sind eine Analyse der Toolketten und eine Erstellung von Erweiterungen zum Schließen gegebenenfalls vorhandener Lücken hin zu einer durchgängigen Entwicklung hilfreich. Vernetzte Fahrfunktionen prägen die Mobilität von morgen. Sie setzen allerdings neue durchgängige Entwicklungsumgebungen zum Prototyping und zur Absicherung voraus: Dies ermöglicht die schnelle Umsetzung prototypischer Anwendungen für die Fahrzeug-Umwelt-Vernetzung und eine die Verifikation des Ablaufs der Nachrichtenkommunikation vernetzter Fahrzeugfunktionen, wie eines Gefahrenwarners. Solche Entwicklungsumgebungen sind natürlich nicht auf den Automotive-Bereich beschränkt. Sie eignen sich vielmehr zur Implementierung und Absicherung vernetzter Software im Embedded-Systems-Umfeld generell. Das gilt für die zahlreichen Domänen, in denen vernetzte eingebettete Systeme eingesetzt werden und die sich jetzt der zunehmenden Digitalisierung gegenübersehen. Zum Beispiel im Rahmen der Industrie 4.0 für die industrielle Fertigung: Dort kann eine solche Entwicklungsumgebung das Prototyping und die Absicherung von Steuerungssoftware in verteilten Produktionsanlagen unterstützen.

Autor: Dr. Gereon Weiß,
Gruppenleiter Entwurf und Absicherung Anwendungsarchitekturen,
Fraunhofer-Institut ESK in München
www.esk.fraunhofer.de

Autor: Dipl.-Ing. Josef Jiru,
Gruppenleiter Kommunikationstechnologien und -architekturen,
Fraunhofer-Institut ESK in München
www.esk.fraunhofer.de

Fraunhofer-Institut ESK
www.esk.fhg.de

Das könnte Sie auch Interessieren