The document describes an approach called SPADE for preventive adaptation of service-based applications using runtime verification. SPADE uses monitoring data from service executions, assumptions about service response times, and formalized requirements to predict if the application will violate requirements. If a violation is predicted, SPADE identifies the need for adaptation to prevent an actual failure. SPADE was designed as part of the S-Cube project to enable service-based applications to adapt preventively based on runtime monitoring and verification.
S-CUBE LP: Run-time Verification for Preventive Adaptation
1. S-Cube Learning Package
Run-time Verification for Preventive
Adaptation
University of Duisburg-Essen (UniDue), Center for
Scientific and Technological Research (FBK), Politecnico
di Milano (POLIMI)
Eric Schmieders, UniDue
www.s-cube-network.eu
9. Types of Adaptation
Reactive Adaptation
Failure!
– Repair/compensate for external failure visible
to the end-user
Preventive Adaptation
– An internal failure/deviation occurs
Will it lead to an external failure?
Failure! Failure?
– If “yes”: Repair/compensate internal
failure/deviation to prevent external failure
Proactive Adaptation
Is internal failure /deviation imminent
(but did not occur)?
– If “yes”: Modify system before internal Failure?
failure/deviation actually occurs
28. Identify Adaptation Needs
Response Times
5900 ms
5735 ms Action 1 :FastWeather
Action 3
4320 ms
Action 2 :Google
4000 ms
15083 ms 8400 ms
Action 4 :WSAmazonBox
6400 ms
Action 5 :HyperlinkExtractor
2700 ms
Action 6 :GetJoke
14000 ms
Action 7 :CurrencyConverter
29. Identify Adaptation Needs
Response Times
5900 ms
5735 ms Action 1 :FastWeather
Action 3
4320 ms
Action 2 :Google
4000 ms
FAILURE
15083 ms 8400 ms
Action 4 :WSAmazonBox
Assumptions
6400 ms
6400 ms Action 5 :HyperlinkExtractor
2700 ms e2e 6is predicted
Action
2700 ms
:GetJoke
to be violated!
14000ms Adaptation
Action 7
14000 ms
:CurrencyConverter
necessary!
∑ > e2e_requirement(55 ms)