Anzeige

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.

Software implementieren und absichern
Bild: Fraunhofer-Institut ESK


Das könnte Sie auch interessieren

Die Produktfamilie der embedded Kommunikationsschnittstellen Anybus CompactCom von HMS Industrial Networks unterstützt künftig auch die IoT-Protokolle OPC UA und MQTT. Damit bietet HMS Geräteherstellern und Maschinenbauern, die Anybus CompactCom einsetzen, eine einfache Möglichkeit, Daten im Umfeld von Industrie 4.0 / IIoT sicher auszutauschen.‣ weiterlesen

Beim gemeinsamen Messeauftritt auf der SPS IPC Drives 2017 haben Janz Tec und Verlinked ihre Kooperation besiegelt. Gemeinsam bieten sie ein Lösungspaket für Data Broker Aufgaben in der digitalisierten Produktion.‣ weiterlesen

MVTec Software macht umfassende Deep-Learning-Funktionen nun auch auf Embedded-Boards mit der NVIDIA Pascal-Architektur verfügbar.‣ weiterlesen

Anzeige

Fujitsu erweitert die Palette seiner Mainboards der Industrial Series um die zwei Modellreihen D3543-S und D3544-S.‣ weiterlesen

Mit MAX14878, MAX14879 und MAX14880, den 2,75kV- und 5kV-Familien isolierter CAN-Transceiver von Maxim Integrated, können Entwickler eine robuste Kommunikation und eine längere Betriebszeit für industrielle Anwendungen erzielen.

Für das Unit- und Integrationstestwerkzeug Tessy stellt Razorcat ab Version 4.1 eine neue Funktion vor. Mit ihr lassen sich Testfälle per Fault Injection einfach und komfortabel ohne Quellcode-Änderung erzeugen, verwalten und in Unit Tests, Integrationstests und Komponententests implementieren – mit geringerem zeitlichen und finanziellen Aufwand.

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige