Exploiting assumption-based verification for the adaptation of service-based applications