Who is to Blame? Runtime Verification of Distributed Objects with Active Monitors

  title={Who is to Blame? Runtime Verification of Distributed Objects with Active Monitors},
  author={Wolfgang Ahrendt and Ludovic Henrio and Wytse Oortwijn},
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… Expand
1 Citations


Distributed system contract monitoring
Runtime verification of distributed systems poses various challenges. A pivotal challenge is the choice of how to distribute the monitors themselves across the system. On one hand, centralisedExpand
Verifying data- and control-oriented properties combining static and runtime verification: theory and tools
This article presents a novel approach in which data-oriented and control-oriented properties may be stated in a single formalism amenable to both static and dynamic verification techniques, and presents the applicability of this approach on two case studies. Expand
On Implementing a Monitor-Oriented Programming Framework for Actor Systems
This work examines the challenges of implementing a framework for automating Monitor-Oriented Programming in the context of actor-based systems, and discusses a prototype implementation that tackles these challenges for the case of Erlang OTP, an industry-strength platform for building actor- based concurrent systems. Expand
History-Based Specification and Verification of Scalable Concurrent and Distributed Systems
This paper provides evidence that ABS gives formal specifications of safety properties in terms of histories of observable communication for ABS models as well as formal proofs of those properties, and provides an executable formal model in ABS of a generic mesh chip with an unbounded number of packets. Expand
LARVA --- Safer Monitoring of Real-Time Java Programs (Tool Paper)
The tool LARVA is presented, for the runtime verification of properties of Java programs, including real-time properties, and assesses the impact of slowing down the system through monitoring, on the satisfaction of the properties. Expand
Behavioural semantics for asynchronous components
This article expresses the semantics of hierarchical distributed components communicating asynchronously by requests, futures, and replies using the pNet intermediate language and formally specifies the complete process of the generation of a behavioural model for a distributed component system. Expand
Organising LTL monitors over distributed systems with a global clock
A third way of organising submonitors is proposed: choreography, where monitors are organised as a tree across the distributed system, and each child feeds intermediate results to its parent. Expand
Multiactive objects and their applications
This paper presents a complete framework around the multi-active object programming model through ProActive, the Java library that offers multi- active objects, and through MultiASP, the programming language that allows the formalisation of developments. Expand
Modeling and Verification of Reactive Systems using Rebeca
This paper develops an actor-based model for describing such systems, uses temporal logic to specify properties of the model, and applies different abstraction and verification methods for verifying that the model meets its specification. Expand
SACO: Static Analyzer for Concurrent Objects
SACO is able to infer both liveness and resource boundedness and safety properties of programs based on concurrent objects and integrates auxiliary analyses such as points-to and may-happen-in-parallel, which are essential for increasing the accuracy of the aforementioned more complex properties. Expand