Information Technology Reference
In-Depth Information
of the other features, the Rule B must be intercepted
and the Rule B' must be executed instead. We can also
capture more complex conditions. For instance, in row three,
we express that if the Feature One appears Unselected
and the Feature Three appears Selected in a feature
configuration, regardless of the other features, the Rule A
must be intercepted and the Rule C must be executed instead.
Condition
Join point Advice
Feature One Selected
Rule A
Rule A'
Feature Two Unselected
Rule B
Rule B'
Feature One Unselected
and
Feature Three Selected
Rule A
Rule C
Table 4.1. Examples of conditions on feature configurations that imply
an adaptation of a baseline (transformation rules') ordering
For example, in the context of our smart home application,
during the derivation of a Smart-Home system, if the
feature Automatic Windows is selected in a feature
configuration, the base sequence to transform domain models
into facilities models must be modified. This modification
is done in a defined point to include an alternative
step where the transformation rule in charge of creating
automatic windows is called. Figure 4.17 presents a
small part of our decision model to transform domain
models into facilities models. Firstly, we define a baseline
ordering including the execution of the transformation
rules domainFloorsToFacilitiesFloors and domain
WindowsToFacilitiesWindows . Secondly, we create an
aspect indicating that if the feature Automatic Windows is
selected in a feature configuration, the execution of the base
transformation rule domainWindowsToFacilitiesWindows
must be intercepted and the specific transformation rule
windowsToAutomaticWindows must then be executed.
Search WWH ::




Custom Search