Dynamic software adaptation for service-oriented product lines