Detailseite
Projekt Druckansicht

Konsistenzprüfung von Produktlinienmodellen (KOPI)

Antragsteller Professor Dr. Klaus Pohl
Fachliche Zuordnung Softwaretechnik und Programmiersprachen
Förderung Förderung von 2010 bis 2016
Projektkennung Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 191414980
 
Erstellungsjahr 2015

Zusammenfassung der Projektergebnisse

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.

Projektbezogene Publikationen (Auswahl)

 
 

Zusatzinformationen

Textvergrößerung und Kontrastanpassung