Monthly Archives: July 2013

Was unterscheidet Automotive Software Engineering von Standard SE?

Im Automotivbereich spielt Software eine immer größere Rolle. Dies hat nicht nur den Grund, dass Multimedia Systeme oft zum Standard in neuen Fahrzeugen gehören, sondern auch da Komponenten die zuvor Hardware gesteuert (oder sogar mechanisch) nun durch Software ersetzt werden.

Gründe dafür sind geringere Kosten, Platz- und Gewichtsersparnis sowie Zuverlässigkeit der Systeme.

Unterscheidungsmerkmale:
Die Software Entwicklung im Automotivbereich unterscheidet sich in vielen Punkten von der normaler Software. Zunächst einmal ist gutes Personal für die Umsetzung nötig. In diesem Fall bedeutet “gut” das es Interdisziplinäre Erfahrung hat.
Das Personal muss das Zusammenspiel von mechanischen, hydraulischen, elektrischen und elektronischen Komponenten verstanden haben.

Die Hersteller-Zulieferer-Beziehung im Entwicklungsprozess kommt im Gegensatz zur gewöhnlichen reinen Softwareprojekten in der Automobilindustrie sehr häufig vor. Beispiel: VW beauftragt BOSCH mit der Entwicklung des Motors. BOSCH beauftrag ein weiteres Unternehmen mit der Entwicklung der Motorsteuerung. Dadurch entstehen sogenannte Zuliefererketten. Die bringt eine große Herausforderung für die Softwareentwicklung mit sich. Denn zum Schluss müssen alle Systeme harmonieren und funktionieren.

Auch die Sicherheit ist bedeutsamer als bei Standard Software Entwicklungen. Fehler könnten Menschenleben kosten. Was passiert schon wenn der Entwickler einer Android App einen Fehler macht – halb so wild. Wenn jedoch der Entwickler der ABS Komponente oder sogar der Bremsteuerung ein Fehler macht könnte das für den Fahrzeugführer schlimme Folgen haben.

Auch Variantenvielfalt tritt häuftig auf.  Um nicht für jeden Kunden individuelle Teile oder Hardware entwickeln zu müssen wird einfach über die Software das gewünschte Feature oder Verhalten konfiguriert. So entstehen nebenbei erwähnt auch neue Geschäftsmodelle in der Automobilbranche, denn nun lassen sich Features wie im AppStore hinzukaufen. Beispiel Tageslicht: Könnte Standardmäßig deaktiviert sein (lässt sich also auch nicht vom Besitzer manuell aktivieren) bis der Kunde dieses Feature kauft und in der Werkstatt aktivieren lässt. Gleichzeit ist dies eine große Challange für die Entwickler.

Die Produktlebenszyklen sind auch erheblich länger. Ein weiter Grund die Code Qualität besonders hoch zu halten und ihn updatebar zu gestalten.

Fehler sind peinlich, rufschädigend und teuer. Nur durch Rückrufaktion oder heimlich beim nächsten Werkstattbesucht können sie korrigiert werden.

Ein weiter Besonderheit ist die sogenannte Lebendigkeit des Systems im Fahrzeug. Ständig ist es aktiv und wertet Messdaten von Sensoren und aus. Es terminiert in der Regel nur dann wenn das System komplett heruntergefahren wird. Das System läuft verteilt auf verschiedenen Steuergeräten somit ergibt sich eine hohe Nebenläuftigkeit welche auch erstmal beherrscht werden muss. Zudem hat man eine hohe Heterogenität des Gesamtsystems. Also Hardware,Software, Bussysteme und unterschiedliche Steuersysteme.