feasiPLe Logo

Forschungsprojekt feasiPLe

Feature-getriebene, aspektorientierte und modellgetriebene Produktlinienentwicklung

Beispielszenario eines eingebetteten Systems

An einem Beispiel aus dem Bereich der Eingebetteten Systeme (engl. Embedded Systems) kann gezeigt werden, dass die Erstellung der System-Software durch eine feature-orientierte Produkt-Linie sinnvoll ist. Das Beispiel stammt aus dem Bereich der Automobilindustrie. Ein Auto besteht aus mehreren Steuerungseinheiten, die mittels eingebetteter Systemen integriert sind. Jede Steuereinheit besteht aus mehreren Schichten: der Applikations-, der Kommunikations und der Hardware-Abstraktions-Schicht. Im Prinzip kann auf all diesen Schichten Variabilität auftreten, sowohl dynamisch zur Laufzeit, als auch statisch zur Compile-Zeit der Anwendung.

Die Variabilität auf Kommunikations-Ebene betrifft vor allem die Wahl der Protokolle zum Übermitteln von Nachrichten innerhalb des Systems. Dies ist ein wichtiger Punkt, da es verschiedene Protokoll-Standards gibt, und jeder Automobilherstellern bestimmte Protokolle nutzt. Die Variabilität auf Anwendungsebene betrifft die zur Verfügung stehenden Funktionen des Software-Produkts.

In diesem Beispiel wird die zur Realisierung der Lenkung benötigte Steuerungseinheit eines Autos betrachtet. In einem Feature-Modell kann man diesen Sachverhalt ausdrücken. So ist in einem Auto in jedem Fall eine Lenkung vorhanden. Dabei kann die Lenkung durch EPS (Elecrical Power Steering ) unterstützt werden. Ist also dieses Feature vorhanden, muss es elektro-mechanisch realsiert werden. Dies kann mittels Belt Drive EPS, Column Drive EPS oder hydraulisch mittels EPHS geschehen. Die eben genannten Realisierungsformen können wiederum als Features dargestellt werden.

Als weitere Features können verschiedene Sensoren vorhanden sein, die ihre Werte z.B. dem Autofahrer via Bordcomputer anzeigen aber vor allem intern zur Steuerung der Lenkung verwendet werden.

Feature-Modell der Steuerungseinheit Lenkung
Abb. 1.: Feature-Modell einer Steuerungseinheit "Lenkung" in einem Eingebetten System


Zurück zur feasiPLe Architektur