Project Details
Projekt Print View

Konsistenzprüfung von Produktlinienmodellen (KOPI)

Subject Area Software Engineering and Programming Languages
Term from 2010 to 2016
Project identifier Deutsche Forschungsgemeinschaft (DFG) - Project number 191414980
 
Final Report Year 2015

Final Report Abstract

Die Software-Produktlinienentwicklung hat sich als erfolgreiches Paradigma erwiesen, um eine systematische geplante Wiederverwendung in der Software-Entwicklung zu etablieren. Das wesentliche charakteristische Merkmal der Software-Produktlinienentwicklung ist dabei die Differenzierung des Entwicklungsprozesses in die Entwicklung der variablen Domänenartefakte und die Entwicklung spezifischer Produkte durch Wiederverwendung der Domänenartefakte. Durch die in der Software-Produktlinienentwicklung im Vergleich zur Einzelsystementwicklung zusätzlich zu betrachtende Variabilität in den Domänenartefakten steigt die Komplexität der Artefaktbasis. Ansätze aus der Einzelsystementwicklung zur Konsistenzprüfung von Entwicklungsartefakten können dabei aufgrund der Variabilität nicht ohne weiteres auf variable Entwicklungsartefakte angewandt werden. Bei der Software-Produktlinienentwicklung unterscheidet sich z.B. der detaillierte Kontrollfluss der verschiedenen Produkte der Software-Produktlinie untereinander. Mit dem Ziel der Verbesserung der frühzeitigen Konsistenzsicherung von Domänenartefakten wurde im Rahmen des Vorhabens auf Grundlage eines formalen Kalküls die Syntax und Semantik einer zweckmäßigen Erweiterung von Standard UML-Aktivitätsdiagrammen definiert. Hierdurch kann nun die Variabilität im Kontrollfluss zwischen den verschiedenen Produkten einer Software-Produktlinie explizit modelliert und maschinell verarbeitet werden. Darauf aufbauend wurde im Vorhaben ein maschineller Ansatz zur Qualitätssicherung von Software-Produktlinien in der Domänenentwicklung realisiert. Bei der Wiederverwendung existierender Komponenten im Rahmen der Software-Produktlinienentwicklung muss die Konsistenz der Komposition sichergestellt werden, z.B. hinsichtlich der Deadlock-Freiheit des Verhaltens von Komponentenkompositionen. Wiederverwendbare Komponente zeichnen sich dabei typischerweise durch ein hohes Maß an Konfigurierbarkeit aus, die z.B. durch eine spezifische Parametrisierung der Komponenten erreicht wird. Bei der Nutzung von Techniken zur Prüfung der Deadlock-Freiheit hat die Berücksichtigung des Spektrums möglicher Konfigurationen von Komponenten jedoch aus Laufzeit- und Platzkomplexitätsgründen problematische Auswirkungen. In diesem Vorhaben wurde daher ein Ansatz zur Reduktion der zu prüfenden Verhaltensspezifikationen in variablen Komponentenkomposition entwickelt, welcher die Effizienz der Prüfung auf Deadlock-Freiheit solcher Komponentenkompositionen in erheblichem Maße verbessert. Eine wichtige Voraussetzung für die Prüfung der Entwicklungsartefakte einer Software-Produktlinie ist die Korrektheit des Variabilitätsmodells. Dies umfasst etwa die Fragestellung, ob ein vorliegendes Variabilitätsmodell widerspruchsfrei ist oder nicht. Wie vielfach gezeigt wurde, können Variabilitätsmodelle als logischer Ausdruck dargestellt werden, weshalb deren Widerspruchsfreiheit mit Hilfe von Solvern maschinell analysiert werden kann. Wie in der Komplexitäts-und Berechenbarkeitstheorie nachgewiesen wurde, ist der Nachweis der Widerspruchsfreiheit bzw. der Erfüllbarkeit einer aussagenlogischen Formel ein NP-schweres Problem, was bedeutet, dass der Laufzeit bzw. der Platzbedarf entsprechender Algorithmen exponentiell zum Umfang des Variabilitätsmodells anwächst. Um die Laufzeit verfügbarer Solver in Bezug auf Variabilitätsmodelle mit spezifischen Charakteristika abschätzen zu können, wurde im Rahmen des Vorhabens ein Verfahren zur Laufzeitabschätzung von Solvern auf Basis von Graphweitenmaßen entwickelt und umfassend experimentell überprüft. Zudem wurde ein Rahmenwerk ausgearbeitet, welches die systematische Ausführung von Experimenten zum Vergleich von unterschiedlichen Solver-Implementierungen ermöglicht. Mit wesentlicher Unterstützung der Projektmitarbeiter ist darüber hinaus ein Beitrag zu den Erfolgen und zukünftigen Herausforderungen in der Software-Produktlinienentwicklung entstanden, der auf dem renommierten „Future of Software Engineering“ Track der International Conference on Software Engineering vorgestellt wurde.

Publications

  • A Performance Comparison of Contemporary Algorithmic Approaches for Automated Analysis Operations on Feature Models. In: 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011), Lawrence, KS, USA, November 6-10, 2011. IEEE Computer Society 2011
    Pohl, R.; Lauenroth, K.; Pohl, K.
  • Measuring the structural complexity of feature models. In: 28th IEEE/ACM International Conference on Automated Software Engineering (ASE 2013), Silicon Valley, CA, USA, November 11-15, 2013. IEEE Computer Society 2013
    Pohl, R.; Stricker, V.; Pohl, K.
  • Software Product Line Engineering and Variability Management: Achievements and Challenges. In: Herbsleb, J.D.; Dwyer, M.B. (Hrsg.): Proceedings of Future of Software Engineering (FOSE 2014), 36th International Conference on Software Engineering (ICSE 2014), ACM, New York, S. 70-84, 2014
    Metzger, A.; Pohl, K.
    (See online at https://doi.org/10.1145/2593882.2593888)
 
 

Additional Information

Textvergrößerung und Kontrastanpassung