feasiPLe Logo

Forschungsprojekt feasiPLe

Feature-getriebene, aspektorientierte und modellgetriebene Produktlinienentwicklung

Viewer und Editor für Variantenmodelle

Variantenmodelle beschreiben eine konkrete Produktkonfiguration. Sie bilden zusammen mit der Abbildung von Features auf Lösungsraumartefakte die benötigten Eingabeinformationen zur automatisierten Instanziierung eines Produktes aus einer Softwareproduktlinie. Die Validität eines Variantenmodells wird hinsichtlich der Varibilitätsconstraints des zugehörigen Featuremodells überprüft.

Deshalb umfassen Werkzeuge zur Featuremodellierung normalerweise auch Editoren zum Erstellen von Produktkonfigurationen.

Variantenkonfiguration mit pure::variants

Pure::variants erlaubt die Erstellung von Variantenmodellen mittels eines Baumeditors. Die An- und Abwahl eines bestimmten Features für ein konkretes Produkt erfolgt über Checkboxen. Dabei erfolgt eine dynamische Auswertung der momentanen Konfiguration hinsichtlich der im zugehörigen Featuremodell beschriebenen Variabilitätsconstraints. Ergeben sich durch Featureabhängigkeiten (Implikation, gegenseitiger Ausschluss, etc.) Auswirkungen auf die nachfolgenden Konfigurationsschritte, so wird das Variantenmodell angepasst. Dies verhindert die Erzeugung von Produktkonfigurationen, die den Variabilitätsconstraints des Featuremodells widersprechen.

Webseite pure-systems GmbH
pure::variants

Erweiterungen der Variantenkonfiguration

Eine Erweiterung der Konzepte in Featuremodellen macht auch eine Erweiterung der Werkzeuge zur Variantenbildung notwendig. Werden beispielweise Featurekardinalitäten eingeführt, muss ein Varianteneditor die Mehrfachinstanziierung von Features zulassen. Auch Featurereferenzen, Featuretemplates oder OCL-basierte Featureconstraints müssen bei der Erstellung und Validierung von Variantenmodellen besonders berücksichtigt werden.

Unser Prototyp zur Variantenkonfiguration generiert zu einem gegebenen Featuremodell ein äquivalentes Variantenmetamodel, welches eine Art DSL zur Variantenbeschreibung spezifiziert. Dieser Schritt erlaubt eine anschließende Produktkonfiguration durch Instanziierung des Variantenmetamodells. Existierende Werkzeuge, die Wohlgeformtheit von Modellen bezüglich ihrer Metamodelle und zusätzlicher Wellformedness Rules (OCL-Constraints im Metamodel) überprüfen, sind dadurch zur Validierung von Variantenmodellen einsetzbar.

Der nachfolgende Screencast demonstriert dieses Vorgehen.

Screenshot Feature Modeller
Screencast ansehen

Zurück zur feasiPLe Architektur