software product lines - es.tu-darmstadt.de · bcs: features und constraints domain analysis...
TRANSCRIPT
-
© author(s) of these slides 2008 including research results of the research network ES and TU Darmstadt otherwise as specified at the respective slide
19.05.2014
ES Real-Time Systems Lab
Prof. Dr. rer. nat. Andy Schürr
Dept. of Electrical Engineering and Information Technology
Dept. of Computer Science (adjunct Professor)
www.es.tu-darmstadt.de
Software Product Lines Concepts, Analysis and Implementation
Dr. rer. nat. Malte Lochau
Feature-Modelle und Produktkonfiguration
-
ES – Real-Time Systems Lab 2 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
I. Einführung
Motivation und Grundlagen
Feature-orientierte Produktlinien
II. Produktlinien-Engineering
Feature-Modelle und Produktkonfiguration
Variabilitätsmodellierung im Lösungsraum
Programmierparadigmen für Produktlinien
III. Produktlinien-Analyse
Feature-Interaktion
Testen von Produktlinien
Verifikation von Produktlinien
IV. Fallbeispiele und aktuelle Forschungsthemen
Inhalt
Feature Diagramme
Feature Model Semantik
und Analyse
Konfigurationsprozesse
-
ES – Real-Time Systems Lab 3 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Software-Product-Line Engineering D
om
ain
En
g.
Ap
pli
ca
tio
n E
ng
.
Feature-Auswahl
Feature-Modell Wiederverwendbare
Implementierungs-
artefakte
Generator Fertiges Program
-
ES – Real-Time Systems Lab 4 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Feature-Modelle im Alltag
-
ES – Real-Time Systems Lab 5 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Feature-Modelle: Einführung
Feature-Modelle spezifizieren den Konfigurationsraum einer Produktlinie:
Menge der konfigurierbaren Produktparameter: relevante Domain Features im Problemraum der Produktlinie
Einschränkung der Kombinierbarkeit von Features in validen Produktkonfigurationen durch Abhängigkeiten zwischen Features
Darstellungsformen:
Explizite Auflistung aller validen Konfigurationen: Konfigurationstabellen
Graphisch: Entscheidungsbäume, FODA Feature-Diagramme, Orthogonal Variability Model (OVM), …
Mathematisch: Aussagenlogische Terme (SAT), Constraint Satisfiability Problems (CSP), Binary Decision Diagrams (BDD), …
-
ES – Real-Time Systems Lab 6 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Feature-Liste • HMI • LED • Fensterheber • Einklemmschutz • Alarmanlage • Innenraumüberwachung • Zentralverriegelung • Remote Key • ….
BCS: Features und Constraints
Domain
Analysis
Feature-Abhängigkeiten und Constraints • „das optional wählbare Status-LED-
Panel des HMI besteht aus mindestens einer LED-Anzeige“
• „der Fensterheber ist entweder manuell oder automatisch“
• „Der Außenspiegel kann als beheizbar konfiguriert werden“
• „Alle Sicherheitsfunktionen sind optional“
• „Der manuelle Fensterheber eignet sich nicht zur Fernsteuerung mit dem Remote Key“
-
ES – Real-Time Systems Lab 7 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Beispiel: BCS Konfigurationstabelle
Spalten: valide
Produktkonfigurationen
Zeilen: Features
… P11.767!!!
Produktkonfiguration P6
enthält Feature CLS
…
-
ES – Real-Time Systems Lab 8 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
FODA Feasibility Study (1990)
-
ES – Real-Time Systems Lab 9 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Feature Diagramme
Baumartige Anordnung der Domain Features (Knoten)
Abhängigkeiten zwischen Feature-Knoten (Kanten, Gruppierung, …)
Graphische Notation nach Kang et al. [Kang et al., 1990]
-
ES – Real-Time Systems Lab 10 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Feature-Hierarchie
Syntax
Semantik
Zerlegen komplexer Features in Unter-Features
Die Auswahl des Kind-Features ist nur möglich, wenn das Eltern-Feature ausgewählt ist
Beispiel
Valide Konfigurationen
{ EM } { EM, E } { EM, H } { EM, E, H } { E, H } { E } { H }
Eltern
Feature
Kind
Feature
Exterior
Mirror
(EM)
Electric
(E)
Heatable
(H)
-
ES – Real-Time Systems Lab 11 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Feature-Modalitäten (1/2): Mandatory Features
Syntax
Semantik
Komposition komplexer Features aus festen Bestandteilen
Die Auswahl des Eltern-Features erzwingt die Auswahl des Kind-Features
Beispiel
Valide Konfigurationen
{ EM } { EM, E } { EM, H } { EM, E, H } { E, H } { E } { H }
Eltern
Feature
Kind
Feature
Exterior
Mirror
(EM)
Electric
(E)
Heatable
(H)
-
ES – Real-Time Systems Lab 12 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Feature-Modalitäten (2/2): Optionale Features
Syntax
Semantik
Aggregation komplexer Features aus optionalen Bestandteilen
Die Auswahl des Eltern-Features ermöglicht die Auswahl des Kind-Features
Beispiel
Valide Konfigurationen
{ EM } { EM, E } { EM, H } { EM, E, H } { E, H } { E } { H }
Eltern
Feature
Kind
Feature
Exterior
Mirror
(EM)
Electric
(E)
Heatable
(H)
-
ES – Real-Time Systems Lab 13 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Zusammenfassung: Feature-Hierarchie
Die Feature-Hierarchie bildet einen Wurzelbaum auf der Menge der Features
Das Wurzel-Feature ist per Konvention mandatory und bezeichnet den Namen der Produktlinie (Konzept-Feature)
Jedes einzelne Kind-Feature ist entweder mandatory oder optional
=> Abhängigkeiten zwischen Nachbar-Features durch Feature-Gruppen
-
ES – Real-Time Systems Lab 14 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Feature-Gruppen (1/2): Alternativ-Gruppen
Syntax
Semantik
Zerlegen von Features in k sich gegenseitig ausschließende Alternativen
Die Auswahl des Eltern-Features erzwingt die Auswahl von genau einem Kind-Feature
Beispiel
Valide Konfigurationen
{ PW } { PW, ManPW } { PW, AutPw } { PW, ManPW, AutPW } { ManPW, AutPW } { ManPW } { AutPW }
Eltern
Feature
Kind
Feature
1
Kind
Feature
k
Power
Window
ManPW AutPW …
-
ES – Real-Time Systems Lab 15 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Feature-Gruppen (2/2): Or-Gruppen
Syntax
Semantik
Zerlegen von Features in k beliebig kombinierbare Bestandteile
Die Auswahl des Eltern-Features erzwingt die Auswahl von mindestens einem Kind-Feature
Beispiel
Valide Konfigurationen
{ LED }
{ LED, LED-CLS }
{ LED, LEP-FP }
{ LED, LED-CLS, LED-FP }
{ LED-CLS, LED-FP }
{ LED-CLS }
{ LED-FP }
Eltern
Feature
Kind
Feature
1
Kind
Feature
k
…
LED
LED-
CLS
LED-
FP
-
ES – Real-Time Systems Lab 16 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Zusammenfassung: Feature-Gruppen
Unter einem Eltern-Feature können mehrere Gruppen und Einzel-Features hängen
Einzel-Features und Feature-Gruppen dürfen sich nicht überlappen
Häufig auch: Mandatory-Gruppen und Optional-Gruppen
Abhängigkeiten zwischen hierarchisch unkorrelierten Features durch Cross-Tree-Constraints
-
ES – Real-Time Systems Lab 17 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Cross-Tree-Constraints (1/2): Require-Kanten
Syntax
Semantik
Abhängigkeiten zwischen hierarchisch unkorrelierten Features
Die Auswahl von Feature 1 erzwingt die Auswahl von Feature 2
Beispiel
Valide Konfigurationen
{ LED-Heatable }
{ LED-Heatable, Heatable }
{ Heatable }
Feature 1 Feature 2
… Heatable
LED
Heatable
-
ES – Real-Time Systems Lab 18 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Cross-Tree-Constraints (2/2): Exclude-Kanten
Syntax
Semantik
Konflikt zwischen hierarchisch unkorrelierten Features
Die Features 1 und 2 schließen sich aus
Beispiel
Valide Konfigurationen
{ ManPW }
{ ManPW, RCK-PW-COntrol }
{ RCK-PW-Control }
Feature 1 Feature 2
… RCK PW Control
ManPW
-
ES – Real-Time Systems Lab 19 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Zusammenfassung: Cross-Tree Constraints
Cross-Tree-Kanten können beliebig „quer“ zur Feature-Hierarchy verlaufen
Verallgemeinerung auf beliebige Cross-Tree-Constraints in Form von aussagenlogischen Termen über Features
-
ES – Real-Time Systems Lab 20 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Feature-Modelle: Erweiterungen Gruppenkardinalitäten
Nicht-Boole‘sche Features
Abstrakte Features (nicht in Konfig. sichtbar und ohne Mapping)
Feature-Kardinalitäten (Mehrfachinstanziierung)
Eltern
Feature
Feature 1 Feature n …
[k..l]
Feature
a : int
b : { low, med, high }
Feature
Feature
[3..*]
=> Übung
-
ES – Real-Time Systems Lab 21 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Example: Body Comfort System
Feature-Abhängigkeiten und Constraints • „das optional wählbare Status-LED-Panel des
HMI besteht aus mindestens einer LED-Anzeige“
• „der Fensterheber ist entweder manuell oder automatisch“
• „Der Außenspiegel kann als beheizbar konfiguriert werden“
• „Alle Sicherheitsfunktionen sind optional“ • „Der manuelle Fensterheber eignet sich nicht
zur Fernsteuerung mit dem Remote Key“
-
ES – Real-Time Systems Lab 22 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Document Management System (DMS)
-
ES – Real-Time Systems Lab 23 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
FAME DBMS (Core)
-
ES – Real-Time Systems Lab 24 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Berkley DB
-
ES – Real-Time Systems Lab 25 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
PicoDBMS (für Smartcards)
-
ES – Real-Time Systems Lab 26 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Coment DB (für Sensornetzwerke)
-
ES – Real-Time Systems Lab 27 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Storage Manager
-
ES – Real-Time Systems Lab 28 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Feature-Modell-Editor: FeatureIDE [Leich et al., 2005]
Erstellung von Feature-Diagrammen in FODA Notation
Semantische Analysen: Anzahl Produktkonfiguration, Anomalien, …
Mapping in den Lösungsraum (CPP, FOP, AOP, …)
=> Übung
-
ES – Real-Time Systems Lab 29 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Feature-Modell Semantik
Configuration Space Enumeration
and Analysis
Product Configuration Derivation
and Validation
Automated Feature-Model Configuration and
Analysis requires Precise Configuration Semantics
-
ES – Real-Time Systems Lab 30 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Feature-Model Analysis Survey (Benavides et al.)
-
ES – Real-Time Systems Lab 31 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
f1, f2, f3
Mengendarstellung der Feature-Modell-Semantik
f1, f2
f1
f1, f2, f3
F =
f2
f1
f3 FM = = [FM]
Konfigurationsraum
Valider Konfigurationsraum Feature-Modell über
Feature-Menge
Feature-Menge
Konfiguration
Valide Konfiguration
f1,f3
f3 f2
f1, f2
f1, f2, f3
f2,f3
-
ES – Real-Time Systems Lab 32 | 19.05.2014 | SPL VL
Analyse von Feature-Modellen (1/3) [Schobbens et al., 2005, Benavides et al., 2010]
f1
f0
f2
f1
f0
f2
f1
f0
f2
-
ES – Real-Time Systems Lab 33 | 19.05.2014 | SPL VL
f2
Mandatory Features vs. Core Features
Ein mandatory Feature ist nicht zwangsläufig ein core Feature:
Ein core Feature ist nicht zwangsläufig ein mandatory Feature:
=> f3 ist ein false optional feature (entsprechendes gilt für dead features)
f1
f0
f3
f0
f2
-
ES – Real-Time Systems Lab 34 | 19.05.2014 | SPL VL
Beispiel: „Versteckte“ Anomalien
f0
f4 f5 f1
f3 f2
dead
core
dead
core
core
dead
-
ES – Real-Time Systems Lab 35 | 19.05.2014 | SPL VL
Analyse von Feature-Modellen (2/3)
f2
f1
f3 FM = k = ?
-
ES – Real-Time Systems Lab 36 | 19.05.2014 | SPL VL
Analyse von Feature-Modellen (3/3) [Thüm et al., 2008]
f1
f0
f2 f1
f0
f2 ?
-
ES – Real-Time Systems Lab 37 | 19.05.2014 | SPL VL
Vergleich von Feature-Modellen
No Configs. added Configs. added
No Configs.
deleted
Refactoring Generalization
Configs.
deleted
Specialization Arbitrary Edit
-
ES – Real-Time Systems Lab 38 | 19.05.2014 | SPL VL
Aussagenlogische Feature-Modell-Semantik [Batory, 2005]
-
ES – Real-Time Systems Lab 39 | 19.05.2014 | SPL VL
Übersetzung von Feature-Diagrammen
FODA Notation Aussagenlogischer Term
Wurzel-Feature
Optionales Feature
Mandatory Feature
Alternativ-Gruppe
Or-Gruppe
Require-Kante
Exclude-Kante
root
f0
f1
f0
f1
f0
f1 fk …
f0
f1 fk …
f0 f1
f0 f1
-
ES – Real-Time Systems Lab 40 | 19.05.2014 | SPL VL
f4
Beispiel
f0
f1 f2 f3
FM
𝑓0 → 𝑓3 ∧
-
ES – Real-Time Systems Lab 41 | 19.05.2014 | SPL VL
Feature-Modell-Analyse durch SAT-Solver
Das SAT Problem ist NP-complete
-
ES – Real-Time Systems Lab 42 | 19.05.2014 | SPL VL
Ausdrucksmächtigkeit von Feature-Diagrammen
Für jeden möglichen validen Konfigurationsraum über einer
Menge F von Features gibt es mindestens ein Feature-
Diagramm, das genau diese Konfigurationsmenge
spezifiziert.
-
ES – Real-Time Systems Lab 43 | 19.05.2014 | SPL VL
Aktuelle Forschungsthemen
Feature-Model Mining: Automatisierte Generierung eines Feature-
Modells für eine Konfigurationsmenge
extraktives SPLE
Feature-Modell Komposition: Kombination von Feature-Modellen in
größere Feature-Modelle
Multi-SPL
Feature-Modell Slicing und Dekomposition: Reduktion / Zerlegung in
Teilmodelle mit explizit definierten Abhängigkeiten
skalierbare Analysen
-
ES – Real-Time Systems Lab 44 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Software-Product-Line Engineering D
om
ain
En
g.
Ap
pli
ca
tio
n E
ng
.
Feature-Auswahl
Feature-Modell Wiederverwendbare
Implementierungs-
artefakte
Generator Fertiges Program
-
ES – Real-Time Systems Lab 45 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
GUIDSL FeatureIDE
Produktkonfiguration
-
ES – Real-Time Systems Lab 46 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Produktkonfiguration durch Feature-Selektion
BCS
Aut Pw
ManPw
CLS
RCK
CtrlPw
BCS
Aut Pw
ManPw
CLS
RCK
CtrlPw
BCS
Aut Pw
ManPw
CLS
RCK
CtrlPw
….
select
deselect
p = { BCS, ManPw, RCK }
p‘ = { BCS, AutPw, CLS, RCK, CtrlPw }
-
ES – Real-Time Systems Lab 47 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Konfigurationsprozess
Produkte werden schrittweise in einem Konfigurationsprozess konfiguriert
In jedem Konfigurationsschritt wird durch eine Konfigurationsoperation ein Feature an- oder abgewählt
BCS
Aut Pw
ManPw
CLS
RCK
CtrlPw
{ } { BCS } { BCS } +BCS -AutPw
{ BCS, ManPw } +ManPw
{ BCS, ManPw } -CLS
{ BCS, ManPw, RCK } +RCK
{ BCS, ManPw, RCK } -CtrlPw
-
ES – Real-Time Systems Lab 48 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Eigenschaften von Konfigurationsprozessen
-
ES – Real-Time Systems Lab 49 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Konfigurationsschritte
1. Explizite Konfigurationsentscheidungen
2. Invalide Konfigurationsentscheidungen
BCS
Aut Pw
ManPw
CLS
RCK
CtrlPw
BCS
Aut Pw
ManPw
CLS
RCK
CtrlPw
BCS
Aut Pw
ManPw
CLS
RCK
CtrlPw
-
ES – Real-Time Systems Lab 50 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Konfigurationsschritte
3. Implizite Konfigurationsentscheidungen
Core Features können immer automatisch angewählt werden
Analog: Dead Features können immer automatisch abgewählt werden
BCS
Aut Pw
ManPw
CLS
RCK
CtrlPw
-
ES – Real-Time Systems Lab 51 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Konfigurationsschritte
Bereits getroffene Konfigurationsentscheidungen implizieren weitere Konfigurationsentscheidungen (Multi-Steps)
BCS
Aut Pw
ManPw
CLS
RCK
CtrlPw
Systematisierung: Algorithmus zur Ableitung valider Konfigurationssequenzen
{ BCS, CLS, RCK } { BCS, CLS, RCK, ManPw } +ManPw -AutPw -CtrlPw
-
ES – Real-Time Systems Lab 52 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Berechnung von Multi-Steps (1/5)
f ?
-
ES – Real-Time Systems Lab 53 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Berechnung von Multi-Steps (2/5)
3. Entscheidung über Feature-Hierarchie propagieren:
Bei Feature-Anwahl +f: (rekursiv) alle Eltern-Features von f bis
zum Wurzel-Feature anwählen
Bei Feature-Abwahl –f: (rekursiv) alle Kind-Features von f bis zu
den Blättern abwählen
f
f
root
f‘
-
ES – Real-Time Systems Lab 54 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Berechnung von Multi-Steps (3/5)
4. Behandlung von Mandatory Features:
Angewähltes Feature +f hat ein mandatory Kind-Feature f‘: Kind-
Feature ebenfalls anwählen
Abgewähltes Feature –f ist ein mandatory Kind-Feature von
Eltern-Feature f‘: Eltern-Feature ebenfalls abwählen
f‘
f
f
f‘
-
ES – Real-Time Systems Lab 55 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Berechnung von Multi-Steps (4/5)
5. Behandlung von Feature-Gruppen:
Angewähltes Feature +f ist Teil einer Alternativ-Gruppe
Ein anderes Feature f‘ ist bereits gewählt: error
Sonst: Alle anderen Features der Gruppe werden
abgewählt
Abgewähltes Feature –f ist Teil einer Alternativ/Or-Gruppe
Der Elternknoten ist nicht abgewählt und alle anderen
Features der Gruppe sind abgewählt: error
f‘‘
f f‘
f‘‘
f f‘
f‘‘
f f‘
-
ES – Real-Time Systems Lab 56 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Berechnung von Multi-Steps (5/5)
6. Behandlung von Cross-Tree-Constraints:
Angewähltes Feature +f benötigt ein Feature f‘: Feature f‘
ebenfalls anwählen
Abgewähltes Feature –f wird von einem Feature f‘ benötigt:
Feature f‘ ebenfalls abwählen
Angewähltes Feature +f steht in Konflikt mit einem anderen
Feature f‘: Feature f‘ abwählen
f‘
f
f‘
f
f
f‘
-
ES – Real-Time Systems Lab 57 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Eigenschaften von Konfigurationsprozessen
Soundness und Liveness: Konfigurationsprozesse, deren Schritte mit dem Multi-Step-Algorithmus ohne Fehler-Schritt erzeugt werden, enden immer einer validen Produktkonfiguration.
Completeness: Zu jeder validen Produktkonfiguration gibt es mindestens einen Konfigurationsprozess, dessen Schritte mit dem Multi-Step-Algorithmus ohne Fehler-Schritt produziert werden können.
[Lochau, 2013]
Zur einer validen Konfiguration gibt es in der Regel mehrere mögliche Konfigurationsprozesse, die sich in der Reihenfolge der Konfigurationsschritte unterscheiden.
-
ES – Real-Time Systems Lab 58 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Staged Configuration [Czarnecki et al., 2005]
Konfigurationsentscheidungen werden Stakeholdern zugeordnet
Konfigurations-Stages (Views) werden in einer bestimmten Reihenfolge durchlaufen
Implizite Priorisierung von Stakeholder-Entscheidungen
Erweiterung um Multi-Steps und Workflow-Modelle [Hubaux et al., Mendonca et al.]
-
ES – Real-Time Systems Lab 59 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Referenzen (1/2) Kyo C. Kang, Sholom G. Cohen, James A. Hess, William E. Novak, and A. Spencer
Peterson. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical report, Carnegie-Mellon University Software Engineering Institute, November 1990.
Thomas Thüm, Don Batory, and Christian Kästner. Reasoning about Edits to Feature Models. In Proceedings of the IEEE 31st International Conference on Software Engineering, pages 254–264, Washington, DC, USA, 2009. IEEE Computer Society.
Thomas Leich, Sven Apel, Laura Marnitz, and Gunter Saake. Tool Support for Feature-oriented Software Development: FeatureIDE: an Eclipse-based Approach. In Proceedings of the OOPSLA workshop on Eclipse technology eXchange, eclipse ’05, pages 55–59, New York, NY, USA, 2005. ACM.
Pierre-Yves Schobbens, Patrick Heymans, and Jean-Christophe Trigaux. Feature Diagrams: A Survey and a Formal Semantics. In Requirements Engineering, 14th IEEE International Conference, pages 139 –148, sept. 2006.
Don Batory. Feature Models, Grammars, and Propositional Formulas. In SPLC, pages 7–20. Springer, 2005.
David Benavides, Sergio Segura, and Antonio Ruiz-Cortés. Automated Analysis of Feature Models 20 Years Later: A Literature Review. Advanced Information Systems Engineering, 35:615–636, September 2010.
-
ES – Real-Time Systems Lab 60 | 19.05.2014 | Software Product Lines - Concepts, Analysis and Implementation
Referenzen (2/2) Krzysztof Czarnecki, Simon Helsen, and Ulrich Eisenecker: Staged Configuration
through Specialization and Multi-Level Configuration of Feature Models. In Software Process Improvement and Practice, 2005.
Arnaud Hubaux, Andreas Classen, and Patrick Heymans: Formal Modelling of Feature Configuration Workflows. In Proceedings of the 13th International Software Product Line Conference, 2009.
Arnaud Hubaux: Feature-based Configuration: Collaborative, Dependable, and Controlled. PhD thesis, University of Namur, Belgium, 2012.
Marcilio Mendonca, Andrzej Wasowski, and Krzysztof Czarnecki: SAT-based Analysis of Feature Models is easy. In Proceedings of SPLC, pages 231–240, 2009.
Jules White, Brian Dougherty, Douglas C. Schmidt, and David Benavides: Automated Reasoning for Multi-step Feature Model Configuration Problems. In Proceedings of SPLC, pages 11–20. ACM Press, 2009.