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 can serve as a lean alternative, where monitoring...
Main Authors: | , , |
---|---|
Format: | Article |
Language: | English |
Published: |
Open Publishing Association
2019-08-01
|
Series: | Electronic Proceedings in Theoretical Computer Science |
Online Access: | http://arxiv.org/pdf/1908.10042v1 |
id |
doaj-76ed59e17617480698a4f2f586df2e78 |
---|---|
record_format |
Article |
spelling |
doaj-76ed59e17617480698a4f2f586df2e782020-11-25T01:15:32ZengOpen Publishing AssociationElectronic Proceedings in Theoretical Computer Science2075-21802019-08-01302Proc. VORTEX 2018324610.4204/EPTCS.302.3:3Who is to Blame? Runtime Verification of Distributed Objects with Active MonitorsWolfgang Ahrendt0Ludovic Henrio1Wytse Oortwijn2 Chalmers University of Technology Univ Lyon, EnsL, UCBL, CNRS, Inria, LIP University of Twente 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 can serve as a lean alternative, where monitoring mechanisms are automatically generated from property specifications, to check compliance at runtime. This paper contributes 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. We discuss how this allows for a variety of monitoring architectures. Further, we show how property specifications, and thereby the generated monitors, provide a model that splits the blame between the local object and its environment. While Larva itself focuses on monitoring of control-oriented properties, we use the Larva front-end StaRVOOrS 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.http://arxiv.org/pdf/1908.10042v1 |
collection |
DOAJ |
language |
English |
format |
Article |
sources |
DOAJ |
author |
Wolfgang Ahrendt Ludovic Henrio Wytse Oortwijn |
spellingShingle |
Wolfgang Ahrendt Ludovic Henrio Wytse Oortwijn Who is to Blame? Runtime Verification of Distributed Objects with Active Monitors Electronic Proceedings in Theoretical Computer Science |
author_facet |
Wolfgang Ahrendt Ludovic Henrio Wytse Oortwijn |
author_sort |
Wolfgang Ahrendt |
title |
Who is to Blame? Runtime Verification of Distributed Objects with Active Monitors |
title_short |
Who is to Blame? Runtime Verification of Distributed Objects with Active Monitors |
title_full |
Who is to Blame? Runtime Verification of Distributed Objects with Active Monitors |
title_fullStr |
Who is to Blame? Runtime Verification of Distributed Objects with Active Monitors |
title_full_unstemmed |
Who is to Blame? Runtime Verification of Distributed Objects with Active Monitors |
title_sort |
who is to blame? runtime verification of distributed objects with active monitors |
publisher |
Open Publishing Association |
series |
Electronic Proceedings in Theoretical Computer Science |
issn |
2075-2180 |
publishDate |
2019-08-01 |
description |
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 can serve as a lean alternative, where monitoring mechanisms are automatically generated from property specifications, to check compliance at runtime. This paper contributes 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. We discuss how this allows for a variety of monitoring architectures. Further, we show how property specifications, and thereby the generated monitors, provide a model that splits the blame between the local object and its environment. While Larva itself focuses on monitoring of control-oriented properties, we use the Larva front-end StaRVOOrS 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. |
url |
http://arxiv.org/pdf/1908.10042v1 |
work_keys_str_mv |
AT wolfgangahrendt whoistoblameruntimeverificationofdistributedobjectswithactivemonitors AT ludovichenrio whoistoblameruntimeverificationofdistributedobjectswithactivemonitors AT wytseoortwijn whoistoblameruntimeverificationofdistributedobjectswithactivemonitors |
_version_ |
1725152683840503808 |