Based on this objective, we state the hypothesis we need to evaluate:
H0: there is no difference in PLA
evolution with respect to the design
and implementation technique.
H1: the aspect-component approach
supports PLA evolution better than
the pure-component technique.
In order to evaluate these hypotheses, we have collected five measures: (i) scattering of variation points, (ii) scattering of features, (iii) tangling of features, (iv) change impact on components, and (v) efferent coupling between components. Metrics of scattering and tangling (measures i-iii) measure the separation of concerns and were based on Riebisch and Brcina [3] metrics. Change impact metric measures the number of components affected (i.e. changed, added, or removed)[4]. Coupling metric measures the number of components each component knows [1]. According to Brcina et al.[2], separation of concerns, change impact on components, and coupling between components are measurable attributes of evolution.
The original OO and AO implementations of the MobileMedia, the target SPL, were
the input
for our study. Figure 1 shows that pure-component MobileMedia
implementation was refactored from the MobileMedia OO implementation,
and that aspect-component MobileMedia implementation was refactored
from MobileMedia AO implementation. We refer to the hybrid approach
that uses components, aspects, and aspect-connectors (COSMOS*-VP) as
aspect-component for short, and we refer to component-based approach
that does not use aspects as pure-component. We have adopted COSMOS*
model to implement the pure-component MobileMedia and COSMOS*-VP model
to implement aspect-component MobileMedia.
![]() |
| Fig.1 - Steps of MobileMedia study |
After refactoring the original implementations, the following steps were executed:
| Metrics | File | File description |
|---|---|---|
| Separation of concerns, which encompasses Scattering of variation points, Feature scattering, and Feature tangling | pages 1-8 describe separation of concerns metrics for aspect-component releases (R1-R8) and pages 11-17 describe separation of concerns metrics for pure-component releases (R2-R8). R1 of pure-component is equal to R1 of aspect-component, because in R1 there is no variability. | |
| Change impact on modules | ||
| Eferent coupling between modules - pure-components | Pages 1-8 describe the coupling between modules in R1-R8, respectively. | |
| Eferent coupling between modules - aspect-components | On the top of each page it is described to which release the data is related to (e.g. vp_v1 is related to COSMOS*-VP, release 1) |