Reflective Component-based Technologies to Support Dynamic Variability