Interactions are formal models describing asynchronous communications within a Distributed System (DS). They can be drawn in the fashion of sequence diagrams and executed thanks to an operational semantics akin to that of process algebras. Executions of DS can be characterized by tuples of local traces (one per subsystem) called multi-traces. For a given execution, those local traces can be collected via monitoring and the resulting multi-trace can be analysed using offline Runtime Verification (RV). To that end, interactions may serve as formal references. In practice, however, not all subsystems may be observed and, without synchronising the end of monitoring on different subsystems, some events may not be observed, e.g. the reception of a message may be observed but not the corresponding emission. So as to be able to consider all such cases of partial observation, we propose an offline RV algorithm which uses removal operations to restrict the reference interaction on-the-fly, disregarding the parts concerning no longer observed subsystems. We prove the correctness of the algorithm and assess the performance of an implementation.
翻译:互动是描述分布式系统(DS)内无同步通信的正式模型,可以序列图的方式绘制,并使用类似于过程代数的操作语义图进行。DS的执行可以用当地痕量图(每个子系统一个)的特征来描述,称为多轨。对于特定的执行,可以通过监测来收集这些本地痕量,而由此产生的多轨量可以使用离线运行时间核查(RV)来分析。为此,互动可以作为正式参考。但实际上,并非所有子系统都可被观察,而且如果不同步监测不同子系统的结束,一些事件就可能得不到观察,例如接收信息可能受到观察,而不是相应的排放。因此,为了能够考虑所有此类部分观测的情况,我们提议一个离线RV算法,使用移除操作来限制在飞行时的参考互动,而无视不再观察到的子系统的部分。我们证明算法的正确性,并评估执行的绩效。