Das Ziel dieser Aktivität ist die Erstellung einer Konfiguration anhand der Spezifikation bzw. des Produkteigenschaftsmodells, so dass das Produkt von der Prozessfamilieninfrastruktur instantiiert werden kann. Als Input dienen das Produkteigenschaftsmodell (Featuremodell), das Konfigurationsmodell, der variantenreiche Prozess und u.U. das Entscheidungsmodell. Das Konfigurationsmodell ermöglicht die Auflösung der Variationspunkte im variantenreichen Prozess basierend auf den spezifizierten Produkteigenschaften. Das Resultat ist die Dokumentation der Auflösung, das so genannte Auflösungsmodell (engl. resolution model).
Im Folgenden werden drei Techniken zur Konfiguration eines Produktes vorgestellt.
1. UML / BPMN-basierte Produktkonfiguration Bei der Konfiguration eines variantenreichen Prozessmodells werden entsprechend den Informationen aus dem Configuration Model die Varianten aus dem Prozessmodell entfernt, die für die Implementierung der Applikation nicht relevant sind.
2. Matlab-basierte Produktkonfiguration Im Rahmen der Instanziierung variantenreicher Simulink-Modelle wird über das Featuremodell eine Auswahl der Features für eine Produktvariante durchgeführt . Auf Basis des Konfigurationswissens kann anschliessend ein Modell-Konfigurator automatisiert die Featureauswahl validieren und das Resolution Model erzeugen. In unserem Fall ist dies ein sogenanntes Matlab-Skript. Dieses Matlab-Skript umfasst eine Folge parametrierter Funktionsaufrufe, entsprechend der ausgewählten Merkmale
(siehe Abbildung)
Das Matlab-Skript kann anschliessend nach Matlab importiert und ausgeführt werden. Gemäss der spezifizierten Funktionsaufrufe wird die Variabilität im variantenreichen Simulink-Modell aufgelöst. Das Ergebnis ist ein konkretes Simulink-Modell, aus dem über einen Software-Generator – beispielsweise den Real-Time Workshop – C-Code generiert werden kann. Dieser kann anschliessend übersetzt, gebunden und auf ein Target aufgespielt werden.
Die Auflösung der Variabilität im variantenreichen Simulink-Modell auf Basis des Matlab-Skripts und das anschliessende Erzeugen von Sourcecode in Matlab entspricht hierbei den PESOA Prozesschritten im Domain und Application Implementation.
3. Produktkonfiguration mit Entscheidungsmodellen Für die Auflösung der Variationspunkte mittels Entscheidungsmodell gibt es zwei Vorgehensweisen, bottom-up und top-down. Die bottom-up Methode durchläuft den variantenreichen Prozess und löst jeden einzelnen Variationspunkt mit Hilfe des Entscheidungsmodells auf. Die zweite Methode löst den variantenreichen Prozess für jede einzelne identifizierte Eigenschaft auf, dabei werden Entscheidungen im Entscheidungsmodell top-down ausgeführt. Bei beiden Vorgehensweisen werden die Schritte und die entsprechenden Auflösungen im Auflösungsmodell dokumentiert.
Gibt es Eigenschaften, die zwar für das Produkt gefordert sind, die aber nicht von der Prozessfamilieninfrastruktur abgedeckt sind, müssen diese produktspezifisch zur aufgelösten Prozessfamilieninfrastruktur hinzugefügt werden. Input dafür ist eine Liste von Eigenschaften, die nicht in der Prozessfamilie vorzufinden sind. Das Ergebnis der produktspezifischen Entwicklung ist dann das Produkt mit allen spezifizierten Eigenschaften.