=Paper= {{Paper |id=Vol-1129/paper36 |storemode=property |title=Konzepte zur Absicherung der Variantenkonfiguration von eingebetteter Fahrzeugsoftware |pdfUrl=https://ceur-ws.org/Vol-1129/paper36.pdf |volume=Vol-1129 |dblpUrl=https://dblp.org/rec/conf/se/Holdschick14 }} ==Konzepte zur Absicherung der Variantenkonfiguration von eingebetteter Fahrzeugsoftware== https://ceur-ws.org/Vol-1129/paper36.pdf
Konzepte zur Absicherung der Variantenkonfiguration von
             eingebetteter Fahrzeugsoftware∗

                                       Hannes Holdschick †
                                          Daimler AG
                                 hannes.holdschick@daimler.com


       Abstract: Eine breite Fahrzeugpalette, spezifische Produktanforderungen aus globa-
       len Märkten und eine Vielzahl softwarebasierter Ausstattungsvarianten führen in der
       Automobilindustrie zu einer immer größeren Produktvielfalt. Um die entstehende Kom-
       plexität beherrschen zu können, wird die Methode des merkmalbasierten Variantenma-
       nagements eingesetzt.
           Der bei der Daimler AG verfolgte Ansatz sieht vor, dass variable Komponenten in
       Entwicklungsartefakten, wie beispielsweise einem Matlab / Simulink-Modell, mithil-
       fe von aussagenlogischen Formeln über Merkmalen konfiguriert werden. Fehler inner-
       halb dieser Konfigurationsformeln bzw. des Merkmalmodells können bei der Konfigu-
       ration zu inkonsistenten Systemvarianten führen. Wir präsentieren daher Konsistenz-
       bedingungen, um die Konfiguration abzusichern. Diese basieren auf SAT-Analysen
       des Merkmalmodells und der Konfigurationsformeln. Erste Implementierungen zei-
       gen, dass die Performanz solcher Analysen auf industriellen Variantenmodellen praxi-
       stauglich ist.



1    Einleitung

In der Automobilindustrie wird das Konzept der Software-Produktlinien [CN01] einge-
setzt, um der steigenden Variantenkomplexität in softwarebasierten Systemen zu begeg-
nen. Erreicht dabei die Variabilität in Entwicklungsartefakten, wie z.B. einem Simulink-
Modell oder einem Anforderungsdokument, eine hinreichende Komplexität, so wird sie
in einem merkmalbasierten Variantenmodell dokumentiert. Darin werden die gemeinsa-
men und unterschiedlichen funktionalen Eigenschaften der System-Varianten in einem
Merkmalmodell [KCH+ 90] festgehalten. Um auch die Konfiguration des Artefaktes zu
ermöglichen, muss zusätzlich das Mapping zwischen Merkmalen und den variablen Be-
standteilen des Artefaktes erstellt werden, welches im sogenannten Konfigurationsmodell
abgebildet wird.
Ist ein Variantenmodell im Einsatz, entwickelt es sich stetig weiter. Dadurch entsteht die
Herausforderung, dessen Konsistenz im Evolutionsprozess zu gewährleisten, welche auch
schon in anderen Arbeiten thematisiert wurde [LSB+ , Hol12]. Als einen Lösungsansatz
   ∗ Copyright c 2014 for the individual papers by the papers’ authors. Copying permitted for private and

academic purposes. This volume is published and copyrighted by its editors.
   † Dieser Beitrag wurde durch das BMBF im Projekt SPES 2020 XT (Förderkennz: 01IS12005) gefördert.




                                                   87
dafür präsentieren wir Analysen des Variantenmodells, um nach einer Änderung prüfen
zu können, ob Inkonsistenzen bzw. Fehlmodellierungen aufgetreten sind. Durch die aus-
sagenlogische Fundierung des Merkmalmodells können diese Konsistenzbedingungen auf
die Frage der Erfüllbarkeit einer aussagenlogischen Formel (SAT) zurückgeführt werden.



2     Beschreibung des Variantenmodells

In diesem Abschnitt wird näher auf die beiden Teilmodelle des Variantenmodells und den
Konfigurationsprozess eingegangen.



2.1    Das Merkmalmodell

Im Merkmalmodell sind die funktionalen Eigenschaften des Systems hierarchisch als Baum
strukturiert [KCH+ 90].
Definition: Sei zunächst M = (M, H ∪ C, r) ein 3-Tupel bestehend aus:

      • einer endlichen Menge M ,
      • der Menge H der hierarchischen Beziehungen:
             H := opt ∪˙ obl ∪˙ alt ∪˙ dis ⊂ M × M ,
      • der Menge C der Cross-Tree-Constraints:
             C := req ∪˙ con ⊂ M × M
      • und einem ausgezeichnetem Wurzelelement r ∈ M

Wir nennen M ein Merkmalmodell, falls gilt:

(M1) Für jedes m ∈ M \ {r} existiert genau ein x ∈ M mit (x, m) ∈ H
(M2) Es existiert kein x ∈ M mit (x, r) ∈ H
(M3) Für jedes x ∈ M existieren x1 , . . . , xn ∈ M mit (r, x1 ), . . . , (xn , x) ∈ H

Mit anderen Worten: Interpretiert man M als Knotenmenge und H als Kantenmenge, so
ist (M, H) ein Baum. Die Relationen in H beschreiben dabei die Variationstypen der
Merkmale. Wir unterscheiden in Anlehnung an bestehende Ansätze [Bat05, CE00] die
folgenden Typen: optional (opt), obligatorisch (obl), alternativ (alt) und disjunktiv (dis).
Ist ein Paar von Merkmalen in einer der Relationen enthalten, so stehen diese in einer
Vater-Kind-Beziehung und das Kindmerkmal hat den entsprechenden Variationstyp. Zum
Beispiel bedeutet (x, y) ∈ opt, dass x das Vatermerkmal des optionalen Merkmals y ist.
Dadurch definiert H eine Hierarchie auf der Menge M der Merkmale.




                                               88
                           Abbildung 1: Beispiel für ein Merkmalmodell



Mithilfe der Cross-Tree-Constraints lassen sich weitere Beziehungen zwischen Merkma-
len definieren. Wir beschränken uns hier auf die beiden Typen requires (req) und conflicts
(con), da sie in der Praxis am häufigsten verwendet werden. In Abb. 1 sieht man ein stark
vereinfachtes Beispiel für ein Merkmalmodell der Fahrerassistenzsysteme (FAS). Entspre-
chend der obigen Definition hat dieses Modell die folgende Struktur:

   • opt = {(FAS, Tempomat), (FAS, Bremsassistent) (Radarsysteme, Nahbereichsra-
     dar), (Radarsysteme, Fernbereichsradar)}
   • obl = {(FAS, Limiter), (FAS, Radarsysteme)}
   • alt = {(Tempomat, einstufiger Tempomathebel),
     (Tempomat, zweistufiger Tempomathebel)}
   • req = {(Bremsassistent, Nahbereichsradar)} bzw. dis = con = ∅

Ausgehend von der obigen Beschreibung des Merkmalmodells lässt sich nun dessen aus-
sagenlogische Repräsentation definieren. Mit F (M ) bezeichnen wir dabei hier und auch
im Weiteren die Menge aller aussagenlogischen Formeln über der Merkmalmenge M .
Definition: Sei M = (M, H ∪ C, r) ein Merkmalmodell mit H = {opt, obl, alt, dis} und
C = {req, con}. Dann bezeichnen wir mit φ(M) ∈ F (M ) die Formel des Merkmalm-
odells M. Sie ist definiert durch:


              def
      φ(M) =        r                                                                         (1)
                           ^
                    ∧               (y → x)                                                   (2)
                        (x,y)∈opt
                           ^
                    ∧               (x ↔ y)                                                   (3)
                        (x,y)∈obl

                                 ^                        k
                                                          _              ^
                    ∧                             ((x ↔         yi ) ∧         ¬(yi ∧ yj ))   (4)
                                 x∈M                      i=1            i