Mapping Feature Models onto Component Models to Build Dynamic Software Product Lines