Design for adaptation of distributed service-based systems