Users wanting to monitor distributed systems often prefer to abstract
away the architecture of the system, allowing them to directly specify correctness properties on the global system behaviour. To support this abstraction, a
compilation of the properties would not only involve the typical choice of monitoring algorithm, but also the organisation of submonitors across the component
network. Existing approaches, considered in the context of LTL properties over
distributed systems with a global clock, include the so-called orchestration and
migration approaches. In the orchestration approach, a central monitor receives
the events from all subsystems. In the migration approach, LTL formulae transfer
themselves across subsystems to gather local information.
We propose a third way of organising submonitors: choreography — where monitors are orgnized as a tree across the distributed system, and each child feeds
intermediate results to its parent. We formalise this approach, proving its correctness and worst case performance, and report on an empirical investigation
comparing the three approaches on several concerns of decentralised monitoring.peer-reviewe