CASSANDRA: An Online Failure Prediction Strategy for Dynamically Evolving Systems
- Cite this paper as:
- De Angelis F., Di Berardini M.R., Muccini H., Polini A. (2014) CASSANDRA: An Online Failure Prediction Strategy for Dynamically Evolving Systems. In: Merz S., Pang J. (eds) Formal Methods and Software Engineering. ICFEM 2014. Lecture Notes in Computer Science, vol 8829. Springer, Cham
Dynamically evolving systems are characterized by components that can be inserted or removed while the system is being operated leading to unsafe run-time changes that may compromise a correct execution. To mitigate the effects of such a failure we propose an online analysis technique that admit an integration “a-priori” and a monitoring of the run-time behaviour to provide information about possible errors when these can happen. Our Cassandra technique proposes a novel run-time monitoring and verification algorithm with the ability to predict potential failures that can happens in future states of the systems. Cassandra combines design-time and run-time information. Both are used to identify the current execution state, and to drive the construction of predictions that look to a number k of steps ahead of the current execution state. This paper provides a detailed formalization of the technique then it introduces a formal definition of the Cassandra algorithms and reports some complexity measures. Finally the paper closes with a description of a first concrete implementation of the approach, and its evaluation.
Unable to display preview. Download preview PDF.