Konsistenzerhaltung von Feature-Modellen durch externe Sichten

Aus SDQ-Institutsseminar
Vortragende(r) Atilla Ateş
Vortragstyp Bachelorarbeit
Betreuer(in) Timur Sağlam
Termin Fr 4. Februar 2022
Vortragsmodus online
Kurzfassung Bei der Produktlinienentwicklung werden Software-Produktlinien(SPLs) meistens Featureorientiert strukturiert und organisiert. Um die gemeinsamen und variablen Merkmale der Produkte einer Produktlinie darzustellen, können Feature-Modelle verwendet werden. Ein Software-Werkzeug zum Erstellen und Editieren von Feature-Modellen ist FeatureIDE, welche die Zustände der Feature-Modelle als Dateien der Extensible Markup Language (XML) persistiert. Bei der Entwicklung von Software-Systemen existieren allerdings mehrere unterschiedliche Artefakte. Diese können sich Informationen mit den Feature-Modellen teilen. Um diese Artefakte und Modelle gemeinsam automatisch evolvieren zu können, werden Konsistenzerhaltungsansätze benötigt. Solche Ansätze sind jedoch nicht mit den persistierten XML-Dateien kompatibel.

In dieser Arbeit implementieren wir eine bidirektionale Modell-zu-Text-Transformation, welche die als XML-Dateien persistierten Zustände der FeatureIDE-Modelle in geeignete Modellrepräsentationen überführt, um daraus feingranulare Änderungssequenzen abzuleiten. Diese können zur deltabasierten Konsistenzerhaltung verwendet werden. Für die Modellrepräsentation verwenden wir ein bestehendes Metamodell für Variabilität. Zur Ableitung der Änderungssequenzen wird ein existierendes Konsistenzerhaltungsframework eingesetzt. Wir validieren die Korrektheit der Transformation mithilfe von Round-Trip-Tests. Dabei zeigen wir, dass die in dieser Arbeit implementierte Transformation alle geteilten Informationen zwischen FeatureIDE und dem Variabilitäts-Metamodell korrekt transformiert. Zudem können mithilfe der in dieser Arbeit implementierten Transformation und mit dem verwendeten Konsistenzerhatlungsframework zu 94,44% korrekte feingranulare Änderungssequenzen aus den als XML-Datei persistierten Zuständen der FeatureIDE-Modelle abgeleitet werden.