Veröffentlicht:
01.10.2018 |
Sven Flake, Product Engineer Virtual Validation, dSPACE GmbH
In meinem letzten Beitrag habe ich über virtuelle Steuergeräte gesprochen, und ich habe AUTOSAR als Grundlage für den einfachen Austausch von Software-Funktionen hervorgehoben. Dabei ging es jedoch um das klassische AUTOSAR, genauer gesagt um die AUTOSAR Classic Platform. Im Kontext des autonomen Fahrens spricht man von Adaptive AUTOSAR oder auch von der AUTOSAR Adaptive Platform.
Als die Adaptive Platform zum ersten Mal in Gesprächen mit Kunden auftauchte, klang das ungefähr so:
Kunde: „Wir brauchen flexible Software-Architekturen, um Updates over-the-air durchzuführen."
Ich: „Wie wollen Sie das anstellen?”
Kunde: „Wir wissen es noch nicht, aber Adaptive AUTOSAR wird es schaffen."
Das war ein paar Monate vor dem ersten Release der Adaptive Platform. Unsere Erwartungen waren hoch und passten perfekt zu dem Eifer, mit dem die dSPACE Kollegen bereits daran arbeiteten, unsere Software-in-the-Loop-Toolkette „adaptiv“ zu machen.
Natürlich ist da etwas Grundsätzliches, das man sich bewusst machen muss: Adaptive AUTOSAR ist kein Nachfolger des klassischen AUTOSAR; das eine ersetzt nicht das andere. Stattdessen ist es eine alternative Möglichkeit, Steuergeräte-Software zu definieren und die Art, wie sie auf Steuergeräte-Hardware – oder auf virtuellen Maschinen – ausgeführt wird.
Was ist der Grund für die Einführung einer neuen Plattform? AUTOSAR ging 2002 an den Start und hat heute mit der AUTOSAR Classic Platform eine ausgereifte Version 4. Wenn Sie auf der Suche nach einem modularen Standard für die Programmierung und den Austausch von eingebetteter Software im Automobilbereich sind, empfehlen wir Ihnen, diesen zu verwenden.
Aber die Automobilindustrie erfindet sich neu. Mit dem autonomen Fahren haben sich die Anforderungen an Software-Architekturen grundlegend verändert.
Bedenken Sie, dass selbstfahrende Autos Folgendes können müssen:
Lassen Sie uns das in eher technische Begriffe übersetzen:
Dies sind nur Beispiele für derzeitige Überlegungen im Zusammenhang mit teilautomatisiertem und autonomem Fahren.
Sie haben großen Einfluss darauf, wie Software entwickelt werden muss.
Wenn Sie entscheiden, wie Sie die Software entwickeln, dann müssen Sie sich auch für eine bestimmte Architektur entscheiden, was nicht ganz unwichtig ist. Jede Software-Architektur verfolgt einen Zweck.
Mit der AUTOSAR Classic Platform entwerfen Sie eine Software-Architektur mit einem bestimmten Ziel. Es geht ausschließlich um Software, die "tief eingebettet" ist:
Nichts davon harmoniert mit unserer Erwartungshaltung an autonomes Fahren. Schon an den drei Beispielen sehen wir, dass neue Anforderungen erfüllt werden müssen:
Die AUTOSAR Classic Platform ist einfach nicht für autonomes Fahren ausgelegt. Deshalb hat AUTOSAR die Adaptive Platform entwickelt – mit genau diesen neuen Anforderungen vor Augen.
Mit der Adaptive Platform werden die Busnachrichten zwischen Software-Funktionen nicht mehr zyklisch alle auf einmal gesendet, sondern serviceorientiert. Eine „adaptive Anwendung“ (in der Classic Platform als „Software-Komponente“ bezeichnet) meldet, welche Daten sie bereitstellen kann und welche Daten sie benötigt. Ein Brokering Service findet die richtige Übereinstimmung und die beiden Anwendungen kommunizieren direkt.
Darüber hinaus basiert die untergeordnete Kommunikation nicht mehr auf CAN oder anderen klassischen automotiven Bussystemen, die eigene Protokolle verwenden, sondern auf Ethernet. Neben der Ethernet-Kommunikation erregt derzeit SOME/IP [http://some-ip.com] deutlich mehr Aufmerksamkeit. Als serviceorientierte Middleware-Schicht definiert es die tatsächliche Art und Weise, wie Anwendungen kommunizieren. Beispielsweise müssen Sie zyklische Triggerzeiten nicht mehr direkt im Code-Verhalten festlegen.
Als jemand, der aus der Welt der Classic Platform kommt, verstehe ich den Austausch von Software zur Laufzeit in nicht eingebetteten Kontexten, aber nicht den im AUTOSAR-Kontext. Der Grund dafür liegt auf der Hand. Mit der Classic Platform wird die Kommunikation zwischen den Software-Komponenten fest definiert und durch die AUTOSAR Runtime Environment (RTE) zum Leben erweckt. Diese übersetzt im Anschluss daran die Kommunikation von der Architektur- auf die Steuergeräte-Ebene. Dies geschieht durch die Auflösung statischer Makros und deren Übersetzung in entsprechende Basissoftware-Aufrufe, zum Beispiel um sie in Busnachrichten zu wrappen.
Wenn Sie Software bevorzugen, die zur Laufzeit ausgetauscht werden kann, funktioniert dieses Vorgehen nicht. Die Adaptive Platform schaltet die Nachteile der fest definierten Kommunikation durch die Implementierung einer serviceorientierten Kommunikationsarchitektur aus.
Dadurch arbeitet die adaptive Version der AUTOSAR Runtime Environment (ARA, AUTOSAR Runtime for Adaptive Applications) unabhängig von den eigentlichen Anwendungen. Sie stellt ausschließlich den Brokering Service bereit. Die Kommunikation wird zwischen allen Anwendungen hergestellt, die danach fragen,
Das Endergebnis? Sie können Software zur Laufzeit hinzufügen oder ersetzen, da die Kommunikation erst nach dem Start der Software automatisch aufgebaut wird – sie wird im Gegensatz zur Classic Platform nicht in der Entwurfsphase festgelegt.
Eine letzte Anmerkung zur Flexibilität: Wir alle wissen, dass modernste autonome Antriebssysteme, insbesondere im Rahmen der Sensordatenverarbeitung, auf Linux-Systemen entwickelt werden. Wir brauchen die gesamte Flexibilität, die ein Betriebssystem bietet, einschließlich flexibler Speicherzuweisung, Thread-Handling usw. Auf diese Flexibilität wollen und können wir nicht verzichten, nur weil wir unseren Code für ein spezielles Steuergeräte-Betriebssystem kompilieren müssen.
Aus diesem Grund basiert die Adaptive Platform auf einem POSIX-Interface. Durch die Bereitstellung der Anwendungen auf einer adaptiven Plattform können Entwickler nun alle Vorteile ihres geliebten Linux nutzen.
Das ist doch etwas, oder?
Meine persönliche Schlussfolgerung ist, dass die Adaptive Platform eine Schwester der Classic Platform ist. Beide Plattformen haben die gleichen Vorfahren, die gleiche Absicht: Bereitstellen von Methoden und einem Standard zur Entwicklung hochwertiger automotiver Software.
Sie ergänzen sich gegenseitig: Die Classic Platform ist auf effiziente, tief eingebettete Funktionen der klassischen Automobilbereiche spezialisiert, während die Adaptive Platform auf die sich entwickelnde Domäne des autonomen Fahrens abzielt, mit all der Flexibilität, die dieser Bereich erfordert und die wir in Bezug auf Software-Architektur, Kommunikationsmittel und Rechenleistung erreichen können.
Deshalb brauchen wir beide.
Und bei dSPACE unterstützen wir beide. Unser nächster Beitrag wird auf die Details eingehen.
Treiben Sie Innovationen voran. Immer am Puls der Technologieentwicklung.
Abonnieren Sie unser Expertenwissen. Lernen Sie von erfolgreichen Projektbeispielen. Bleiben Sie auf dem neuesten Stand der Simulation und Validierung. Jetzt dSPACE direct und dSPACE direct aeropace & defense abonnieren.