feasiPLe Logo

Forschungsprojekt feasiPLe

Feature-getriebene, aspektorientierte und modellgetriebene Produktlinienentwicklung

A case study from the embedded systems domain

This example shows that creating software systems in the embedded systems domain using a feature oriented product line is quite useful. The example is taken from the automotive industry. A car consists of several control units, which are integrated via embedded system. Every unit consists of muliple layers: the application layer on top, the communication layer and the hardware abstraction layer beneath. In principle variability can occur at any of those layers both dynamically at runtime and statically at compile time.

Variability on the communication layer covers the message transport protocol's selection that is used systemwide to exchange messanges. That is an important point of variability, since different protocol standards exist and every automotive manufacturer uses other protocols. Variability on application layer covers the business logic provided by that software product.

This example considers the control unit needed to realise the car's steering. One can express that issue in a feature model. The graphic below shows such a model. As a matter of fact every car has a steering. But that steering can be assisted, for example through EPS (Electrical Power Steering). That implies that if this feature is chosen in a variant it has to realised electro mechanically, for example by chosing Belt Drive.EPS, Column Drive EPS or hydraulically via EPHS. And such realisation types can be expressed via features. Further features can cover sensors, which can provide their values to the driver via bord computer, but are mainly used to control the steering.

Feature-Modell der Steuerungseinheit Lenkung
Figure 1: A steering unit's feature model in the context of an embedded system

Back to the feasiPLe Architecture