Who is to Blame? - Runtime Verification of Distributed Objects with Active Monitors
Since distributed software systems are ubiquitous, their correct functioning is crucially important. Static verification is possible in principle, but requires high expertise and effort which is not feasible in many eco-systems. Runtime verification offers a lean alternative, but practical solutions are much more developed for stand alone systems than for distributed scenarios. This talk presents a practical solution for powerful and flexible runtime verification of distributed, object-oriented applications, via a combination of the runtime verification tool Larva and the active object framework ProActive. Even if Larva supports in itself only the generation of local, sequential monitors, we empower Larva for distributed monitoring by connecting monitors with active objects, turning them into active, communicating monitors, allowing for a variety of monitoring architectures. Further, we show how property specifications, and thereby the generated monitors, can model the blame assignment to either the a local node or its remote environment. While Larva itself focuses on monitoring of control-oriented properties, we use the StaRVOOrS front-end to Larva to also capture data-oriented (pre/post) properties in the distributed monitoring. We demonstrate this approach to distributed runtime verification with a case study, a distributed key/value store. This is joint work with Wytse Oortwijn and Ludovic Henrio.
Tue 17 Jul
|11:00 - 11:45|
Martin LeuckerUniversity of Lübeck
|11:45 - 12:30|
Wolfgang AhrendtChalmers University of Technology