|
|
1 | (16) |
|
1.1 Software product line engineering |
|
|
2 | (1) |
|
1.2 Model-driven engineering |
|
|
3 | (2) |
|
1.3 Merging model-driven and software product line engineering |
|
|
5 | (3) |
|
|
8 | (3) |
|
|
11 | (6) |
|
Chapter 2 Software Product Line Engineering Basics |
|
|
17 | (42) |
|
2.1 Introduction to product line engineering |
|
|
17 | (4) |
|
|
21 | (3) |
|
2.3 Application example: Smart-Home systems |
|
|
24 | (6) |
|
2.3.1 Smart-Home system's domain |
|
|
24 | (2) |
|
2.3.2 Requirements of the application example |
|
|
26 | (4) |
|
2.4 Software product line engineering |
|
|
30 | (4) |
|
|
34 | (3) |
|
2.5.1 Component-based software engineering |
|
|
36 | (1) |
|
2.6 Variability management |
|
|
37 | (6) |
|
|
40 | (3) |
|
2.7 Application engineering |
|
|
43 | (5) |
|
2.7.1 Product configuration |
|
|
44 | (2) |
|
|
46 | (2) |
|
2.8 Benefits and drawbacks |
|
|
48 | (1) |
|
2.9 Issues in product line |
|
|
49 | (7) |
|
2.9.1 Variability management |
|
|
50 | (1) |
|
|
50 | (1) |
|
|
51 | (1) |
|
|
52 | (1) |
|
2.9.5 Product line evolution |
|
|
53 | (2) |
|
|
55 | (1) |
|
|
56 | (3) |
|
Chapter 3 Model-Driven Engineering |
|
|
59 | (42) |
|
|
59 | (1) |
|
3.2 Models and metamodels |
|
|
60 | (8) |
|
3.2.1 The 4-level metamodeling framework |
|
|
65 | (2) |
|
3.2.2 The nature of models |
|
|
67 | (1) |
|
3.3 UML class diagrams and OCL |
|
|
68 | (6) |
|
3.4 Model transformations |
|
|
74 | (9) |
|
3.4.1 Scheduling of transformation rules |
|
|
76 | (2) |
|
3.4.2 Model transformation patterns |
|
|
78 | (1) |
|
3.4.3 Classification of model transformations |
|
|
79 | (1) |
|
3.4.4 Vertical model transformations |
|
|
80 | (1) |
|
3.4.5 Horizontal model transformations |
|
|
81 | (1) |
|
3.4.6 Model composition or model weaving |
|
|
81 | (2) |
|
|
83 | (3) |
|
3.5.1 The eclipse modeling framework |
|
|
83 | (3) |
|
3.5.2 The topcased toolkit |
|
|
86 | (1) |
|
3.6 Model transformation languages |
|
|
86 | (10) |
|
|
87 | (2) |
|
|
89 | (1) |
|
3.6.3 The openArchitectureWare framework |
|
|
90 | (2) |
|
|
92 | (4) |
|
3.7 Benefits and challenges for SPLE |
|
|
96 | (2) |
|
|
98 | (3) |
|
Chapter 4 Model-Driven and Software Product Line Engineering |
|
|
101 | (38) |
|
|
102 | (5) |
|
|
107 | (4) |
|
4.2.1 Separating points of views |
|
|
107 | (1) |
|
4.2.2 Capturing variability and configuring products |
|
|
108 | (1) |
|
4.2.3 Relating several points of view |
|
|
109 | (1) |
|
4.2.4 Configuring products in a multi-staged process |
|
|
110 | (1) |
|
4.3 Solution space issues |
|
|
111 | (1) |
|
4.4 Developing core assets |
|
|
112 | (1) |
|
4.4.1 Developing decision models and deriving products |
|
|
112 | (1) |
|
4.5 Variability expression and product configuration |
|
|
113 | (13) |
|
|
114 | (6) |
|
|
120 | (6) |
|
4.6 Core asset development and product derivation |
|
|
126 | (12) |
|
4.6.1 Transformation rules in the Smart-Home systems SPL |
|
|
127 | (5) |
|
4.6.2 Creating and using decision models |
|
|
132 | (6) |
|
|
138 | (1) |
|
Chapter 5 The FieSta Framework: Fine-Grained Derivation and Configuration |
|
|
139 | (22) |
|
|
139 | (3) |
|
5.1.1 Coarse-grained and fine-grained variations |
|
|
140 | (2) |
|
5.2 Binding models and constraint models |
|
|
142 | (10) |
|
|
142 | (1) |
|
|
143 | (3) |
|
5.2.3 The cardinality property |
|
|
146 | (1) |
|
5.2.4 The structural dependency property |
|
|
147 | (1) |
|
5.2.5 The constraint metamodel and the binding metamodel |
|
|
148 | (2) |
|
5.2.6 Validating binding models against constraint models |
|
|
150 | (2) |
|
5.3 Deriving products based on constraint models and binding models |
|
|
152 | (5) |
|
5.3.1 The extended decision metamodel |
|
|
155 | (1) |
|
5.3.2 Creating executable model transformation workflows from decision models and constraint models |
|
|
156 | (1) |
|
5.4 Identified limitations |
|
|
157 | (3) |
|
5.4.1 Features combinatorial |
|
|
157 | (1) |
|
5.4.2 Features interaction |
|
|
158 | (1) |
|
5.4.3 Bindings interaction |
|
|
159 | (1) |
|
|
160 | (1) |
|
|
161 | (30) |
|
|
161 | (1) |
|
|
162 | (1) |
|
6.3 The SPL of Smart-Home systems |
|
|
163 | (7) |
|
6.4 Variability expression and product configuration |
|
|
170 | (14) |
|
6.4.1 MD-SPL project creation |
|
|
170 | (1) |
|
6.4.2 Metamodels and feature models creation |
|
|
170 | (3) |
|
6.4.3 Constraint models creation |
|
|
173 | (5) |
|
6.4.4 Domain models and binding models creation |
|
|
178 | (6) |
|
6.5 Completing and running the product derivation |
|
|
184 | (6) |
|
6.5.1 Transformation rules creation |
|
|
184 | (2) |
|
6.5.2 Decision models creation |
|
|
186 | (2) |
|
6.5.3 Generation and execution of model transformation workflows |
|
|
188 | (2) |
|
|
190 | (1) |
|
Chapter 7 A Second Comprehensive Application Example |
|
|
191 | (22) |
|
7.1 Domain of the collection manager system |
|
|
191 | (1) |
|
7.2 Requirements of the application example |
|
|
192 | (4) |
|
7.2.1 Kernel commonalities |
|
|
193 | (1) |
|
|
193 | (1) |
|
7.2.3 Kernel and GUI variability |
|
|
193 | (3) |
|
|
196 | (2) |
|
|
196 | (1) |
|
7.3.2 Application engineering |
|
|
197 | (1) |
|
7.4 Variability expression and product configuration |
|
|
198 | (9) |
|
|
198 | (4) |
|
|
202 | (2) |
|
7.4.3 The constraint model |
|
|
204 | (1) |
|
|
205 | (2) |
|
7.5 Core assets development and product derivation |
|
|
207 | (4) |
|
7.5.1 Rule transformations in the SPL of the collection manager systems |
|
|
207 | (2) |
|
|
209 | (2) |
|
|
211 | (2) |
|
Chapter 8 Further Reading |
|
|
213 | (30) |
|
8.1 Northop and Clements' book |
|
|
213 | (1) |
|
8.2 Pohl, Bockle and Van der Linden's book |
|
|
214 | (1) |
|
|
214 | (1) |
|
8.4 Van der Linden, Schmid, and Rommes' book |
|
|
215 | (1) |
|
8.5 Stahl, Voelter, and Czarnecki book |
|
|
216 | (1) |
|
|
216 | (2) |
|
8.7 Feature modeling notations |
|
|
218 | (1) |
|
|
218 | (2) |
|
8.9 Model-driven software product lines |
|
|
220 | (16) |
|
8.9.1 The Czarnecki and Antkiewicz's approach |
|
|
222 | (2) |
|
8.9.2 The Wagelaar's approach |
|
|
224 | (5) |
|
8.9.3 Loughran et al.'s approach |
|
|
229 | (3) |
|
8.9.4 Voelter and Groher's approach |
|
|
232 | (3) |
|
|
235 | (1) |
|
|
236 | (2) |
|
8.11 Domain specific languages |
|
|
238 | (2) |
|
8.12 Additional references |
|
|
240 | (2) |
|
|
242 | (1) |
|
|
243 | (14) |
|
|
244 | (3) |
|
|
247 | (10) |
|
9.2.1 Metamodeling and feature modeling |
|
|
248 | (1) |
|
9.2.2 Multi-staged configuration of products |
|
|
249 | (1) |
|
9.2.3 Coarse and fine-grained variations and configurations |
|
|
249 | (1) |
|
9.2.4 Core assets development and decision models |
|
|
250 | (1) |
|
|
251 | (1) |
|
|
251 | (2) |
|
|
253 | (4) |
Bibliography |
|
257 | (14) |
Index |
|
271 | |