close

FACHGEBIET SOFTWARETECHNIK

Forschung/Projekte

Embedded Automotive Systems

Die Bedeutung von Software im Automobilbau hat im Laufe der letzten 10-15 Jahre dramatisch zugenommen. Die wichtigsten Gründe hierfür sind zum einen der Wunsch nach neuartigen Sicherheits- und Komfortfunktionen (Fahrdynamiksysteme wie ESP, Pre-Crash-Systeme, Navigation, etc.) zum anderen aber auch gesteigerte Sicherheits- und Umweltschutzanforderungen an klassische Fahrzeugkomponenten: So lassen sich beispielsweise aktuelle Abgasnormen ohne eine ausgefeilte, softwaregestützte Motorsteuerung nicht mehr erfüllen. Schließlich führt die gesteigerte Komplexität der gewünschten Funktionen bei dem gleichzeitigen Erfordernis einer Reduktion oder zumindest Begrenzung von Fahrzeuggewicht und Herstellungkosten zu der Notwendigkeit einer gemeinsamen Nutzung von Sensoren, Aktuatoren sowie Teilfunktionalitäten und damit zu einer komplexen Vernetzung fast aller Fahrzeugkomponenten.

Dies führt im Ergebnis dazu, dass die Softwaresysteme heutiger Fahrzeuge eine sehr hohe Komplexität erreichen. So können in aktuellen Fahrzeugen der Oberklasse deutlich über 50 Steuergeräte (und damit Ausführungseinheiten) zum Einsatz kommen, die zusätzlich alle über Kommunikationsverbindungen miteinander vernetzt sein können. Ein Ende dieser Entwicklung ist derzeit noch nicht absehbar, wenn es auch Bestrebungen gibt, die Komplexität durch eine Reduzierung der Anzahl der Steuergeräte und auch Funktionen einzugrenzen.

Ein besonderer Reiz des Automobilbereichs als Anwendungsdomäne liegt aus wissenschaftlicher Sicht darin, dass hier Teilsysteme sehr unterschiedlicher Eigenschaften zu betrachten sind. So ähnelt bspw. die Telematik (Navigationssystem, Radio, Kommunikation, etc.) noch sehr starkt der klassischen Anwendungsprogammierung: Relativ wenige, dafür leistungsfähige Ausführungseinheiten, hohe Bedeutung der Benutzerschnittstelle, relativ(!) geringe Anforderungen an Speicherbedarf, Sicherheit. Am anderen Ende des Spektrums liegen Teilbereiche wie Motorsteuerung oder Fahrdynamik- und Fahrassistenzsysteme die weitgehend die typischen Eigenschaften Eingebetteter Software aufweisen: sehr sicherheitskritisch, Funktionen häufig auf mehrere kleine, vernetzte Ausführungseinheiten von geringerer Leistungsfähigkeit verteilt, gar keine Benutzerschnittstelle oder nur eine sehr einfache (z.B. Ein-/Ausschalter des ABS). Diese unterschiedlichen Charakteristiken haben weitreichenden Einfluß auf die verwandten Entwicklungsmethoden, -tools und -prozesse. Für Studenten bietet das die Möglichkeit, von sehr unterschiedlichen Anwendungsdomänen einen ersten Eindruck zu bekommen.

Am Lehrstuhl SWT werden insbesondere die folgenden Fragestellungen zur Entwicklung von Software im Automobilbereich schwerpunktmäßig untersucht:

  1. Informationsmodellbasierte Entwicklungsunterstützung

    Generell gesehen sind Methoden planmäßig angewandte, begründete Vorgehensweisen, die über eine Notation, systematische Handlungsanweisungen und Regeln zur Überprüfung der Ergebnisse verfügen. Dies trifft im Kern auch auf die zur Softwareentwicklung eingesetzten Methoden zu, so genannte Entwicklungsmethoden. Wesentliche Kennzeichen der Entwicklungsmethoden des Fahrzeugbereiches sind ihre iterative, zumeist pragmatische und Projekt-getriebene Entwicklung, ihre zumeist fragmentarische Dokumentation sowie ihre enge Kopplung an zumindest ein Werkzeug.

    Entwicklungsprozesse unterstützen die Organisation einer Produktentwicklung durch die Bereitstellung von Handlungsabläufen, Rollen, Aktivitäten, etc. Die Entwicklungsprozesse des Automobilbereiches zeichnen sich durch Komplexität aus, die beispielsweise an dem hohen Parallelitätsgrad Prozess-interner Aktivitäten sowie dem hohen Maß an Prozess-übergreifenden Abhängigkeiten erkennbar ist.

    Vor dem Hintergrund, dass der Einsatz von Entwicklungsmethoden und -prozessen für die Entwicklung von Fahrzeugsoftware essentiell ist, stellt ein von methodischen Brüchen weitestgehend freier Entwicklungsprozess eine besondere Herausforderung dar. Die Bewä„ltigung dieser Herausforderung erfordert die Lösung eines breiten Spektrums an Aufgaben, von denen die Organisation und Integration von Entwicklungsmethoden sowie die flexible Gestaltung des Entwicklungsprozesses Beispiele sind.

  2. Produktlinienorientierte Softwareentwicklung

    Eine Produktlinie besteht aus einer Menge von Softwaresystemen, zwischen denen es einen gewissen Grad an übereinstimmung gibt, während sie andererseits aber auch wesentliche Unterschiede aufweisen. Anstatt die einzelnen Softwaresysteme nebeneinander und unabhängig voneinander zu entwickeln, wird bei der produktlinienorientierten Entwicklung zunächst ein variables Softwaresystem als gemeinsame Plattform (sog. Produktlinieninfrastruktur) entwickelt und die einzelnen Softwaresysteme dann hiervon abgeleitet. Jedes dieser einzelnen, abgeleiteten Softwaresysteme unterstützt dann genau diejenigen Funktionalitäten, die für ein spezifisches Marktsegment erforderlich sind. Diese Funktionalitäten sind Bestandteile der Plattform und werden beim Ableiten eines neuen Produkts wiederverwendet. Insbesondere im Automobilbereich bietet sich hierdurch die Chance einer effizienteren Entwicklung im Vergleich zur Einzelsystementwicklung, weil hier eine Vielzahl unterschiedlicher Baureihen parallel entwickelt und angeboten wird. Aufgrund der hohen Komplexität lässt sich dies jedoch nur durch eine methodisch ausgefeilte, auf die Eigenheiten der Automobildomäne ausgelegte Organisation der Entwicklung erreichen.

Ansprechpartner:
Mark-Oliver Reiser
Kerstin Buhr
Ramin Tavakoli Kolagari
Studien- und Diplomarbeiten: Lehrveranstaltungen: Materialien:
Version vom 14. März 2007