Information Technology Reference
In-Depth Information
with specialization, which extends and includes relationships.
But the most common is feature modeling ; however, many
approaches are now based on the use of one or several
metamodels addressing specific variability concerns. The next
subsectionexplainswhatfeaturemodelingis;Chapter3-MDE
will describe the metamodel approach and Chapter 4 will show
how to use both ways consistently. At the architecture level,
UML construction such as inheritance, the merge operator,
and metamodels are of great importance for variability. Due
to the deficiency or the non-suitability of existing languages,
there are some specific proposals such as the VML4Arch
of the AMPLE project [RAS 11] 1 . At implementation, there
are various ways to express variability in code, ranging from
macros (like #define),inheritance,parameterization (template,
generic), aspects, feature-oriented programming, and patterns
or frameworks. During testing, composition, configuration,
and parameterization are classical means to build new test
sets. The reader should note that these are rapidly evolving
and there will be a variability language in the near future.
There is currently an attempt to propose an OMG standard,
which is called Common Variability Language (CVL) 2 .
2.6.1. Feature modeling
The features describe the common and variable
functionality of a system under development. The feature
modeling notation facilitates the construction of a hierarchical
decomposition of features into a tree structure, which
represents variation points and variants. As said before, a
variation point is a relevant characteristic of a system; for
example, the operating system under which a system can
run. A variation point can have different values or variants
according to the variability of a product line. The features are
1 In fact, this topic proposes a variability modeling family called VML*.
2 See http://www.omgwiki.org/variability/doku.php for more information.
Search WWH ::




Custom Search