Service-based systems are software applications built from loosely coupled services from multiple providers; used in various
application domains, including e-commerce, online banking, and health care, they operate in environments characterized by
frequent changes. as a result, their effectiveness depends increasingly on their ability to self-adapt. One way to devise self-adaptive
service-based systems is to dynamically select the services that implement their operations from sets of functionally equivalent
services associated with different levels of performance, reliability, and cost.
The figure here outlines a self-adaptive medical-assistance service-based system from Calinescu et al. 5 and epifani et al. 12 in the
upper-left corner are the system’s specification S, domain assumptions D, and requirements R at the initial time instant t1 when
the requirements are satisfied, or S, D R. however, as the failure rate of the alarm service used by the system, or s21 , is observed to
increase through Bayesian learning in the monitoring stage of the MaPe autonomic computing loop, the runtime use of quantitative
verification in the analysis stage establishes that the requirements are violated at time instant t2: S, D′ R does not hold. To remedy
this violation, the planning stage of the MaPe loop uses quantitative verification to select another service for the alarm operation.
accordingly, a new specification S’ is employed to ensure the requirements are again satisfied at time instant t3: S′, D′ R.
Self-Adaptive Service-Based Systems
Quantitative verification at runtime supports self-adaptation in service-based systems.