Combined Modeling of Software and Hardware with Versions and Variants

Abstract

Produktlinien ermöglichen die Entwicklung variabler, konfigurierbarer Produkte auf Basis von Konfigurationen. Eine valide Konfiguration wird im Problemraum einer Produktlinie abgeleitet, während ihre Realisierbarkeit zu einem Produkt im Lösungsraum entschieden wird. Eine valide, aber nicht realisierbare Konfiguration führt zu einer Inkonsistenz zwischen Problem- und Lösungsraum, da die Menge der tatsächlich baubaren Produkte im Lösungsraum nicht mit der definierten Variabilität im Problemraum übereinstimmt. Für große Produktlinien ist es händisch schwierig zu entscheiden, ob Inkonsistenzen existieren, da die Anzahl der Konfigurationen in Produktlinien exponentiell wächst. In dieser Arbeit wird die Konsistenz von Problem- und Lösungsraum adressiert und zwei formale Methoden auf Basis von Bedingungserfüllungsproblemen vorgeschlagen, um die Menge der Konfigurationen zu berechnen, die sowohl valide als auch realisierbar sind. Die Sampling-Methode entscheidet die Realisierbarkeit für jede Konfiguration aus einer Menge von validen Konfigurationen einzeln. Damit kann im Voraus überprüft werden, welche bestehenden Konfigurationen auch nach einer Softwareaktualisierung noch funktionsfähig sind. Die kombinierte Methode berechnet direkt Konfigurationen, die sowohl valide als auch realisierbar sind, für weitere Produkttests. Beide Methoden werden anhand zweier Fallstudien mit exemplarischen Produktlinien evaluiert. In den Ergebnissen wird gezeigt, dass beide Methoden alle Inkonsistenzen zwischen Problem- und Lösungsraum in den Produktlinienbeispielen identifizieren können

    Similar works