Feature Modeling and Variability Modeling Syntactic Notation Comparison and Mapping
OPEN ACCESS JCC
ture, but CBFM uses black circle at the lower end of it.
4.6. Optional
The optional feature for FODA and CBFM expressed
with solid edge and white circle at the lower of it, while
OVM and CVL used dashed edge.
4.7. AND
All approaches express the AND feature with included
all solid edge. This means that the node under the parent
which uses solid edge must be selected during configura-
tion or must have in final product.
4.8. OR
OR feature expressed by CBFM, OVM and CVL, the
FODA does not express this. CBFM uses black arc join-
ing the solid edge. CBFM uses term OR-Group for this
component. The OVM can express this, by give 1.* to
group cardinality. CVL express or feature using term
Group Multiplicity that uses small triangle with multip-
licity 1.*. The FODA approach does not express OR
feature.
4.9. XOR
XOR feature with the other term alternative feature is
expressed by all approaches. FODA and CBFM use
white arc joining solid edge. OVM uses white arc joining
the dashed edge with default multiplicity 1..1. CVL uses
sma ll triangle with multiplicity 1..1.
4.10. Cardinality
The feature cardinality expressed by all approach except
FODA. CBFM have [m..n] notation for Feature Cardi-
nality and < m..n > notation for Group Cardinality. OVM
uses [min..max] in square bracket notation and using
term Multiplicity. CVL using term Multiplicity for this
component and m..n notation for this component.
4.11. Clone
Feature Clone just expressed by CBFM and CVL. CBFM
uses [m..n] in square bracket at above the feature nota-
tion. In CBFM [0..n] cardinality express Optional Clo-
neable Feature and [m..n] cardinality express Mandatory
Cloneable Feature. In CVL, feature clone expressed us-
ing Variability Classifier (VClassifier) that uses rectangle
with name followed by multiplicity notation in a square
bracket inside.
4.12. Constraint
The feature constraint have expressed by all approaches
with different form. FODA uses mutex and requires form
in rectangle with title Compositional Rule. CBFM uses
OCL and the best known are implies and excludes form
that expressed in textual model. The OVM using requires
and excludes form with dashed arrow that can be used
for V and V, V and VP, and also VP and VP. And at last
CVL uses parallelogram with basic constraint (subset of
OCL) inside, even though in addition CVL allows using
other constraint languages, including more complete
OCL.
5. Comparison and Mapping Case Study
In this section we present the case study to compare four
approaches that we have mapped and compared at sec-
tion 4. The case study is feature model of R3ST (read as
“REST”), the software that we still working on it. R3ST
stands for Requirement Recovery and Reconstruction
Software Tools. The main functionality of R3ST is to
automate the reverse engineering that capture the
End-to-End interaction of user and system until defined
some goal of the system, and recover the Use Case model,
and at the end, this tools provide SRS document of the
reversed system [9]. For this case study, we focus on the
End-to-End Interaction capture prototype, so we can
clearly understand about comparison of four approaches
to express commonality and variability.
FODA express the R3ST feature model with 4 ele-
ments as we can see at Figure 6. The name feature,
mandatory feature, optional feature, and XOR Group
feature notation. At here we still did not need the con-
straint notation. So we just ignore it.
The other approach is CBFM, express R3ST FM with
different notation from FODA, as we can see at Figure 7.
The main deference meaning is OR Group notation. With
FODA we can’t express OR Group Feature. This OR
Group means that we can use just one database engine or
two or three. This can’t be expressed in FODA.
The OVM expres ses the variability of R3ST is given
in Figure 8. It is very different from FODA and CBFM,
since this OVM is focusing on express variability not
commonality. The OVM of R3ST consists of four variant
point, the variability that OVM expressed.
The CVL model of R3ST is described in Figure 9. It
is closely like CBFM since the CVL uses tree like nota-
tion to express the variability. The difference of both
approaches is just the notation, but at the meaning level it
is closely alike.
By R3ST case study given above, we can get the
comparison of the four approaches. First, we can see that
original FODA can’t express OR feature and cardinality,
so we can just make the feature be an option for all
children feature. Second, very different notation from
others is shown by OVM because it’s focusing on ex-
pressing variability by having explicit variant and variant
point notation. And the third, the CBFM and CVL have