You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Feature modeling was originally introduced by Kang /et al./'s work on FODA
@@ -212,15 +212,15 @@ many others.[fn:feature_orientation] As the name indicates, the concept central
212
212
to their approach is the /feature/, which Groher and Völter define in the
213
213
following manner: "[products] usually differ by the set of features they include
214
214
in order to fulfill /(sic.)/ customer requirements. A feature is defined as an
215
-
increment in functionality provided by one or more members of a product line."
216
-
[cite:@groher2009aspect] Features are thus are associated with product lines ---
215
+
increment in functionality provided by one or more members of a [[id:C1172AEA-F94B-73D4-FDAB-A105D7FEA389][product line]]."
216
+
[cite:@groher2009aspect] Features are thus are associated with [[id:C1172AEA-F94B-73D4-FDAB-A105D7FEA389][product lines]] ---
217
217
each feature a cohesive unit of functionality with distinguishable
218
218
characteristics relevant to a stakeholder[fn:stakeholder] --- and the interplay
219
219
between features then becomes /itself/ a major source of variability, as Groher
220
220
and Völter go on to explain: "Variability of features often has widespread
221
221
impact on multiple artifacts in multiple lifecycle stages, making it a
222
-
pre-dominant (/sic./) engineering challenge in software product line
223
-
engineering."
222
+
pre-dominant (/sic./) engineering challenge in [[id:C1172AEA-F94B-73D4-FDAB-A105D7FEA389][software product line
223
+
engineering]]."
224
224
225
225
[fn:feature_orientation] Feature orientation attracted interest even outside the
226
226
traditional modeling community, giving rise to approaches such as FOP
@@ -237,11 +237,6 @@ functional or non-functional characteristic at the requirements, architectural,
237
237
component, platform, or any other level."
238
238
239
239
240
-
#+caption[Symbols used in cardinality-based feature modeling.]: Symbols used in cardinality-based feature modeling. /Source:/ Author's drawing, based on Czarnecki and Helsen [cite:@czarnecki2006feature]
241
-
#+name: tab-cardinality_fm
242
-
#+attr_latex: :scale 0.3
243
-
[[../assets/images/feature_modeling_symbols.png]]
244
-
245
240
Features and their relationships are captured by /feature diagrams/ and /feature
246
241
models/, as Czarnecki /et al./ tell us [cite:@czarnecki2005formalizing]: "A
247
242
feature diagram is a tree of features with the root representing a concept
@@ -254,6 +249,13 @@ the present chapter we shall make use of cardinality-based feature models, as
254
249
described by Czarnecki /et al./ in [cite:@czarnecki2005formalizing] and whose
#+caption[Symbols used in cardinality-based feature modeling.]: Symbols used in cardinality-based feature modeling. /Source:/ Author's drawing, based on Czarnecki and Helsen [cite:@czarnecki2006feature]
253
+
#+name: tab-cardinality_fm
254
+
#+attr_latex: :scale 0.3
255
+
[[../assets/images/feature_modeling_symbols.png]]
256
+
257
+
258
+
257
259
[fn:feature_variations] An in-depth analysis of these variants would take too
258
260
far afield with regards to the scope of the present work. The interested reader
259
261
is directed to Czarnecki /et al./ [cite:@czarnecki2005staged], Section 2.2
@@ -262,10 +264,10 @@ variants is provided.
262
264
263
265
264
266
The notation is perhaps made clearer by means of an example (Figure [[tab-car_fm]]),
265
-
which builds on from the example in [[id:1405A531-73F5-E094-04A3-F08451EC02BC][Metamodelling Hierarchy]]. The top-most node
266
-
of the feature diagram (/i.e./ =Car=) is called the /root feature/. Nodes
267
-
=Body=, =Engine=, =Gear= and =Licence Plate= describe mandatory features whereas
268
-
node =Keyless Entry= describes an optional feature. =Engine= contains a set of
267
+
which builds on the example from [[id:1405A531-73F5-E094-04A3-F08451EC02BC][Metamodelling Hierarchy]]. The top-most node of
268
+
the feature diagram (/i.e./ =Car=) is called the /root feature/. Nodes =Body=,
269
+
=Engine=, =Gear= and =Licence Plate= describe mandatory features whereas node
270
+
=Keyless Entry= describes an optional feature. =Engine= contains a set of
269
271
grouped features that are part of a /xor-group/, whereas =Gear= contains a set
270
272
of features in a /or-group/. Or-groups differ from xor-groups in that they
271
273
require that at least one feature from the group needs to be selected whereas
0 commit comments