Decentralised LTL monitoring
This report presents the underlying theory and algorithms behind DecentMon.
Users wanting to monitor distributed or component-based systems often
perceive them as monolithic systems which, seen from the outside,
exhibit a uniform behaviour as opposed to many components displaying
many local behaviours that together constitute the system's global
behaviour. This level of abstraction is often reasonable, hiding
implementation details from users who may want to specify the system's
global behaviour in terms of an LTL formula.
However, the problem that arises then is how such a specification can actually be monitored in a distributed system that has no central data collection point, where all the components' local behaviours are observable.
In this case, the LTL specification needs to be decomposed into sub-formulae which, in turn, need to be distributed amongst the components' locally attached monitors, each of which sees only a distinct part of the global behaviour.
The main contribution of this paper is an algorithm for distributing and monitoring LTL formulae, such that satisfaction or violation of specifications can be detected by local monitors alone. We present an implementation and show that our algorithm introduces only a minimum delay in detecting satisfaction/violation of a specification. Moreover, our practical results show that the communication overhead introduced by the local monitors is considerably lower than the number of messages that would need to be sent to a central data collection point.
The associated technical report is available on ArXiV: link.