Die Codegröße in der Automobilsoftware nimmt zu
Die Komplexität moderner Autos nimmt kontinuierlich zu, was nicht nur auf fortschrittlichere mechanische Komponenten zurückzuführen ist, sondern auch auf die große Anzahl von Computern und Software-Programmen, die in den heutigen Autos enthalten sind. Gegenwärtig sind selbst in Autos der unteren Preisklasse rund 50 elektronische Steuergeräte (ECU) eingebaut – kleine Kästen, die an verschiedenen Stellen im Fahrzeug installiert sind und den Softwarecode enthalten, der für Funktionen wie die Steuerung des Motors, die Verwaltung des Antiblockiersystems oder auch nur das Öffnen der Seitenfenster benötigt wird.
Je mehr Funktionen ein Auto hat, desto mehr Steuergeräte werden benötigt, um diese Funktionen zu berechnen und auszuführen. Daher können moderne Premiumfahrzeuge bis zu 100 Steuergeräte mit bis zu 100 Millionen Codezeilen (MLOC) enthalten.
Obwohl das bereits nach viel klingt, wird es noch beeindruckender, wenn man es mit anderen aktuellen Geräten und Fahrzeugen vergleicht. So wird beispielsweise der moderne F-35 Joint Strike Fighter der US-Luftwaffe von 24 MLOC gesteuert. Mit einer zunehmenden Anzahl von Autofunktionen, wie dem autonomen Fahren, wird die Codegröße in den nächsten Jahren auf 300 MLOC ansteigen.
In Autos interagiert der gesamte Softwarecode ständig mit so genannten E/E-Komponenten oder ist sogar direkt in sie eingebettet. Bei diesen elektrischen und elektronischen Komponenten kann es sich zum Beispiel um so einfache Dinge wie die Scheinwerfer eines Autos handeln, aber auch um Dachöffner, Teile des Abgassystems oder sogar die Sensoren und Aktoren, die erforderlich sind, damit ein Auto von alleine fährt.
Autonomes Fahren und die Rückverfolgbarkeit
Obwohl autonome Autos unsere Straßen sicherer machen sollen, werden sie kaum einwandfrei sein und jeden einzelnen Unfall verhindern können. Deshalb schreibt der internationale Gesetzgeber strenge Regeln für die Entwicklung autonomer Autos vor, um später feststellen zu können, was einen Unfall verursacht hat. Die Autohersteller werden also gerichtlich verpflichtet, den Behörden nachzuweisen, wer für welche Funktion und deren Folgen verantwortlich ist.
Dieses Konzept wird als Rückverfolgbarkeit bezeichnet und steht für die Fähigkeit, zu überprüfen, wer verantwortlich ist und wie und von wem ein bestimmter Teil der Software hergestellt wurde. Da viele Steuergeräte mit Softwarecode oder sogar ganze Systeme (z. B. eine Servolenkung) von Automobilzulieferern entwickelt und hergestellt werden, ist es für OEMs entscheidend, sich durch eine strenge Rückverfolgbarkeit abzusichern.
Bewältigung der Komplexität der Softwareentwicklung in der Automobilindustrie
Diese Anforderung macht die Zusammenarbeit zwischen verschiedenen Teams und Unternehmen jedoch nicht weniger kompliziert. Zahlreiche Entwickler mit unterschiedlichen Anforderungen und Motivationen müssen aufeinander abgestimmt werden, wenn sie an einem hochkomplexen System wie einem Auto arbeiten. OEMs kommt daher mehr denn je eine koordinierende Rolle zu, um die Rückverfolgbarkeit zwischen den von ihren Zulieferern entwickelten Komponenten und Teilen herzustellen.
Wie bei großen Bauprojekten müssen Experten aus verschiedenen Disziplinen koordiniert werden, um sicherzustellen, dass sie alle zu einer gemeinsam vereinbarten Architektur beitragen. Und wie bei vielen Großprojekten bedarf es eines strukturierten Ansatzes, um ein so komplexes System wie ein selbstfahrendes Auto zu konzipieren, zu gestalten und zu bauen.
Ein Ansatz dafür ist das Konzept des Systems Engineering. Es stellt Methoden und Werkzeuge zur Verfügung, um sehr komplexe Systeme zu entwerfen und zu verwalten, von der ersten Idee über die Einrichtung einer Architektur bis hin zur Umsetzung in ein Produkt.
Was haben wir gelernt?
Diese Artikelserie gibt Ihnen einen Überblick über Systems Engineering im Kontext der Automobilindustrie. Zusammengefasst:
In diesem Artikel haben wir gesehen, dass moderne Autos hochkomplexe Systeme sind, für die bestimmte gesetzliche Normen gelten. Die Automobilhersteller müssen ihre verschiedenen Zulieferer und Entwicklungsteams koordinieren – dies kann durch Systems Engineering geschehen.
Im nächsten Artikel werden wir uns mit dem V-Modell befassen, was Architektur im Zusammenhang mit der Automobilentwicklung bedeutet, in welchem Zusammenhang das mit dem Bau von Häusern steht und der Installation von Wasserhähnen zu tun hat.
Im folgenden Artikel werden wir verstehen, welche Rollen im V-Modell benötigt werden, wie ihre Schnittstellen beschrieben werden und welche Artefakte sie produzieren. Wir werden uns mit den praktischen Problemen bei der Umsetzung von Systems Engineering in einer großen Unternehmensstruktur befassen und uns mit der Verifikation, der Validierung und dem Vier-Augen-Prinzip beschäftigen und wie diese Konzepte in der Softwareentwicklung eingesetzt werden.