Die Hypervisor-Technologie ist auf dem besten Weg, sich im Automotive-Markt zu etablieren. Nachdem sie bereits im Infotainment-Bereich Fuß gefasst hat, folgt nun die Verwendung in Echtzeit-Steuerungssystemen und Automotive-Mikrocontrollern. Prototypen sind in der Erprobung. Anfang 2016 wird Etas Beta-Versionen für konkrete Integrationsprojekte verfügbar machen, wobei Integration in diesem Fall Trennung bedeutet, denn der Etas-Hypervisor partitioniert ECUs und DCUs (Domain Controller Units). Er unterteilt somit ein und dieselbe Hardware in strikt voneinander abgeschirmte virtuelle Steuergeräte und Kontrolleinheiten.

aufmacher-web.jpg

Etas

Schwieriger Status-Quo

Die Partitionierung ist ein neuer Ansatz, um der massiv steigenden Komplexität durch den immer größeren Funktionsumfang in der Steuergeräteentwicklung Herr zu werden. Über viele Standorte verteilte Teams von verschiedenen Zulieferern sowie zusätzlich die Teams des Automobilherstellers sind heute an der Entwicklung einzelner Steuergeräte und ihrer Software beteiligt – inklusive Tests und Validierung. Weil in modernen Fahrzeugen dutzende ECUs und DCUs Funktionen im Antrieb, Fahrwerk, Interieur und im Bereich aktiver Sicherheitssysteme steuern, läuft der kollaborative Entwicklungsprozess dutzendfach parallel, was zu einer zusätzlichen Steigerung der Komplexität führt.

Erschwert wird die Situation dadurch, dass im Sinne einer Konsolidierung der Steuergerätehardware verschiedene Funktionen in einzelne Steuergeräte (ECUs) und Domänensteuergeräte (DCUs) integriert werden (Bild 1); leistungsstarke Multicore-Prozessoren machen es möglich. Diese Vereinfachung treibt jedoch den Aufwand in die Höhe, denn bei Lieferung bereits getestete und validierte Softwareanteile müssen im Zusammenspiel erneut überprüft werden. Dabei auftretende Fehler lassen sich nur iterativ ausräumen, wobei die Fehlerursache oft schwer auf einzelne Verursacher rückführbar ist. Die Tests der zusammengeführten Softwareblöcke sind zeit- und damit kostenaufwendig.

Bild 1: Soll die Software aus verschiedenen Stellen in einem Domänensteuergerät (DCU) vereinheitlicht werden, kann es zu Problemen kommen.

Bild 1: Soll die Software aus verschiedenen Stellen in einem Domänensteuergerät (DCU) vereinheitlicht werden, kann es zu Problemen kommen.Etas

Eine weitere Komplexitätsdimension liegt in der Weiterentwicklung der Software. Im Fahrzeug müssen Updates zuverlässig mit älteren Versionen zusammenwirken. Und als wäre das nicht kompliziert genug, öffnen sich Fahrzeugsysteme über das Internet für die Außenwelt. Das birgt neue Risiken – seien es Over-the-air-Updates von unausgereifter Software, gezielte Attacken oder Viren, die über Smartphones oder Werkstattdiagnosegeräte an Bord gelangen. Um solche Risiken beherrschbar zu machen, braucht es neue Ansätze, in denen Safety und Security direkt ineinandergreifen, denn schließlich gilt es, Fahrzeugsysteme abzuschirmen und ihre funktionale Sicherheit auch im Ernstfall aufrecht zu erhalten. Zugleich sind Lösungen erforderlich, die den Aufwand der Entwicklung samt Tests und Validierungen begrenzen – und die Steuergeräte-Konsolidierung unterstützen.

Partitionierung löst Sicherheitsfragen und entzerrt Entwicklungsprozess

Bild 2: Auch verschiedene Betriebssysteme können dank des Hypervisors parallel auf einem Mikrocontroller (µC) laufen.

Bild 2: Auch verschiedene Betriebssysteme können dank des Hypervisors parallel auf einem Mikrocontroller (µC) laufen.Etas

Werden Prozesse oder Aufgaben zu komplex, hilft der ingenieursmäßige Ansatz, ergo das Zerlegen in überschaubare Einheiten. Genau diesen Ansatz verfolgt der Hypervisor von Etas. Er überträgt die im PC-Bereich etablierte Partitionierungs-Technologie auf Embedded-Systeme im Fahrzeug und passt sie dafür an die spezifischen Anforderungen im Automobil an. So liefert er eine Lösung, die künftig sowohl den kollaborativen Entwicklungsprozess entzerren als auch das geforderte Ineinandergreifen von Safety und Security umsetzen kann. Und nicht zuletzt erlaubt sie über das gesamte Fahrzeugleben hinweg partielle Aktualisierungen einzelner Softwareblöcke.

Virtuelle ECUs

Der Schlüssel dazu ist die Partitionierung ein und desselben Steuergeräts in mehrere virtuelle Steuergeräte. Da jede virtuelle ECU in sich funktionstüchtig ist, kann der mit der abschließenden späteren Integration betraute Steuergerätehersteller sich künftig darauf beschränken, Spezifikationen des Hypervisiors zu erarbeiten und seinen Zulieferern je eine Kopie davon zukommen zu lassen. Diese können ihre Software direkt auf dem Hypervisor entwickeln, testen und validieren. Die Verantwortung für die reibungslose Funktion im Gesamtsystem bleibt zwar beim Integrator, doch sie verteilt sich dank der strikten Partitionierung effektiv auf alle Beteiligten, weil exakt nachvollziehbar wird, welches virtuelle Steuergerät im Systemverbund fehlerhaft arbeitet. Das erlaubt es, die eingearbeiteten Entwickler des jeweiligen Zulieferers zur Fehlerbehebung hinzuzuziehen und somit vorhandenes Know-how effektiver zu nutzen. Zudem können bisher nacheinander abgearbeitete Korrekturen parallel erfolgen.

Bild 3: Der Automotive-Hypervisor kann auch sicherheitsrelevante Bereiche abschirmen.

Bild 3: Der Automotive-Hypervisor kann auch sicherheitsrelevante Bereiche abschirmen.Etas

Die Partitionierung geht also weit über die Hardware hinaus: Sie minimiert die Komplexität der Kollaboration und den Abstimmungsbedarf. Und obendrein müssen die Akteure sensible Bereiche ihrer Software-Codes nicht mehr offen legen; ihre IP ist besser geschützt als in Entwicklungsprozessen, die ausschließlich gängigen Autosar-Ansätzen folgen.

Mehrere Betriebssysteme parallel

Die Trennung in virtuelle ECUs hat weitere Vorteile: Unterschiedliche Betriebssysteme wie Autosar, Linux oder Posix im Bereich der aktiven Assistenzsysteme können im Fahrzeug ebenso nebeneinander laufen wie unterschiedliche Softwareversionen (Bild 2). Bei Bedarf besteht die Möglichkeit, virtuelle ECUs für den OEM und seine inhouse entwickelte Software zu reservieren. Und vor allem bietet die sichere Abschirmung der virtuellen Steuergeräte einen weiteren Schutzschirm gegen mutwillige Angriffe oder fehlerhafte Updates. Fahrlässig eingeschleuste Viren, Bugs in Updates oder Angriffe von Hackern können so im äußersten Fall nur eine Partition treffen und sich nicht weiter ausbreiten. Umgesetzt wird dies durch klare Zuordnung, auf welche Speicher welche virtuelle ECU zugreifen darf, welche Prioritäten dabei gelten und wie oft sie in einem bestimmten Zeitraum dazu berechtigt sind. Weichen sie von diesen Regeln ab, schaltet der Hypervisor die virtuelle ECU kontrolliert ab und startet sie nach einer Fehleranalyse neu.

Erster Hypervisor für Embedded-Echtzeit-Systeme

Eckdaten

Der neue Hypervisor schließt eine Lücke, die bisher im Bereich der ECUs und DCUs klaffte. Denn er erlaubt die Integration unterschiedlicher Software und Betriebssysteme – und zwar unabhängig vom jeweils verwendeten Mikroprozessor-Fabrikat. Damit ist die Lösung komplett portabel, was die Integration erleichtert und obendrein die von OEM angestrebte Steuergeräte-Konsolidierung unterstützt.

Etas hat den Hypervisor als Bare-Metal-Hypervisor des Typs 1 ausgelegt, der bereits etablierte Hardware-Abstraktions-Mechanismen und gängige Software-Architekturen sowie MCALs nutzt. So sind bei der Integration der betreffenden Software-Stacks nur geringfügige Anpassungen notwendig. Zudem setzt der Hypervisor auf marktüblicher Hardware auf. Ein bereits realisierter Prototyp nutzt Infineons Plattform Aurix. Weitere gängige Hardware-Ports wird Etas mit der nun beginnenden Serieneinführung erschließen.

Vor allem aber ist das robuste System auf maximale Effizienz im Verbrauch von Rechenleistung und Speicherkapazität ausgelegt, um den spezifischen Anforderungen einer tiefen Einbettung in Fahrzeugsysteme gerecht zu werden. Etas hat zudem die üblichen Funktionen eines Hypervisors im Infotainment-Bereich stark ausgeweitet, um spezifische Automotive-Bedürfnisse zu erfüllen. Die neue Lösung unterstützt Mikrocontroller mit MPU (Speicherschutz-Einheiten) und eine statische, zur Buildtime festgelegte Konfiguration. So lässt sich die Hypervisor-Technologie auf eine neue Klasse von Mikrocontrollern anwenden und trotz eingeschränkten Ressourcen für echtzeitfähige sicherheitsrelevante Systeme verwenden. Zudem unterstützt der Etas-Hypervisor Bootloader sowie Kalibriervorgänge und ermöglicht Fehlerdiagnostik und -zuordnung.