Wie Sie Ihre Plattform zur Generierung von Produktvarianten benutzen können
September 2004
Bei der Entwicklung moderner Systeme für die Automobil-Elektronik finden mehr und mehr
plattform-basierte Ansätze Anwendung. Die Entwicklung wird schneller und sicherer, wenn eine
Modellierungssprache und ein Generator verwendet werden, die speziell auf die Anforderungen einer
Plattform und eines Applikationsframeworks zugeschnitten sind.
Aus der Nachfrage nach erweiterten Features und einer höheren Zuverlässigkeit und als Folge
zunehmender Komplexität ergeben sich neue Herausforderungen für das Software-Engineering im
Automobilbereich. Der Einsatz einer Plattform, die die gebräuchlichen Basiskomponenten und Dienste
für die Anwendung und Wiederverwendung bei der Produktentwicklung anbietet, reduziert nicht nur die
Produkteinführungszeiten und die Entwicklungskosten, sondern erhöht auch die Zuverlässigkeit. Eine
Schnittstellenschicht, die oben auf der Plattform aufsetzt, macht die Entwicklung einfacher und
flexibler. Änderungen an der zu Grunde liegenden Hardware haben weniger Auswirkungen und sind
leichter zu managen. Wenn sich Services unterhalb dieser Schnittstelle ändern, müssen Sie nicht
alle Anwendungen neu schreiben. Das alles gilt derzeit als "state-of-the-art". Aber nach wie vor
müssen Entwickler funktionale Produktvarianten erzeugen, indem sie diese zunächst in einer
code-basierten Modellierungssprache (z. B. UML) entwerfen und dann in einer Programmiersprache
von Hand codieren.
Aber warum müssen Sie eigentlich Code manuell in einer Programmiersprache schreiben, die so
konzipiert ist, dass mit ihr alle möglichen Arten von Anwendungen entwickelt werden können,
wenn Sie doch in dem eingeschränkten Bereich Ihrer Plattform arbeiten. Genau dieser eingeschränkte
Bereich vereinfacht die Dinge - warum sollten wir uns das nicht zunutze machen?
Die domänenspezifische Modellierung (DSM), eine neue Methode für die Entwicklung von Produktvarianten,
schöpft die Vorteile der Grenzen, die durch die Plattform gesetzt werden, voll aus. Sie gestattet es
den Entwicklern, Produkt-Features in visuellen Modellen zu spezifizieren, die Produktkonzepte an
Stelle von Codekonzepten verwenden. Wenn Sie beispielsweise eine Anwendung zur Ermittlung des
Treibstoffverbrauchs für eine Infotainment-Schnittstelle (HMI) entwickeln, dann sind Begriffe
wie "Display", "Schalter", "Anzeige" und "Mengenverbrauch" viel anschaulicher als C++- oder
Java-Klassen. Der Produktcode wird dann vollständig aus diesen High-Level-Modellen generiert.
Das ist deshalb möglich, weil Sie bei DSM Modellierungssprachen und Codegeneratoren benutzen,
die speziell auf die Anforderungen Ihrer Plattform zugeschnitten sind. Sie erhalten so wesentlich
bessere Unterstützung als durch eine universelle Modellierungssprache, wie z. B. die UML oder ein
UML-basiertes Modellierungswerkzeug.