[论文解读] Reactive Reasoning with the Event Calculus
本文提出RTEC,一种事件演算的新方言,专为复杂事件处理中的高效、实时反应式推理而设计。通过利用窗口机制、区间操作和优化索引,RTEC即使在事件流延迟或修订的情况下,也能支持可扩展的、声明式的复合事件识别,实现在大规模监控工作负载中对复杂事件模式的实时性能。
Systems for symbolic event recognition accept as input a stream of time-stamped events from sensors and other computational devices, and seek to identify high-level composite events, collections of events that satisfy some pattern. RTEC is an Event Calculus dialect with novel implementation and 'windowing' techniques that allow for efficient event recognition, scalable to large data streams. RTEC can deal with applications where event data arrive with a (variable) delay from, and are revised by, the underlying sources. RTEC can update already recognised events and recognise new events when data arrive with a delay or following data revision. Our evaluation shows that RTEC can support real-time event recognition and is capable of meeting the performance requirements identified in a recent survey of event processing use cases.
研究动机与目标
- 通过设计一种高效、声明式的事件识别系统,弥合基于逻辑与非基于逻辑的复杂事件处理系统之间的性能差距。
- 支持对以可变延迟到达或被修订的事件流进行稳健推理,支持对先前识别的复合事件进行动态更新。
- 在无需对简单派生事件(SDEs)进行预过滤的情况下,支持实时应用中复杂复合事件的可扩展识别。
- 在保持高性能的同时,为复合事件定义提供形式化、声明式的语义,通过新颖的实现技术实现。
- 利用逻辑编程在流式处理上下文中的全部能力,实现对背景知识和非时间性约束的高效推理。
提出的方法
- 引入一种窗口机制,将推理限制在最近的时间窗口(WM)内,丢弃过时的区间,从而提高可扩展性。
- 使用区间操作谓词(如 holdsFor、relative_)表示并推理随时间变化的连续流畅状态,避免基于区间的系统中常见的逻辑不一致问题。
- 利用YAP Prolog内置的谓词函数符索引,高效管理事件和流畅状态的断言,无需依赖外部过滤模块。
- 采用查询时重新计算策略:在每个查询时间点,仅基于当前窗口内的SDEs从头开始重新计算所有相关复合事件区间,避免昂贵的更新传播。
- 通过 happensAt(E, T) 表示事件发生,通过 holdsAt(F=V, T) 表示流畅状态,通过 holdsFor(F=V, I) 表示连续区间,实现精确的时间推理。
- 通过在每个查询时间点重新处理当前窗口,支持乱序事件流,确保即使SDEs延迟到达或被修订,也能保持正确性。
实验结果
研究问题
- RQ1基于逻辑的事件识别系统能否在保留形式化语义的同时,实现与非基于逻辑系统相当的实时性能?
- RQ2当延迟或修订的简单派生事件(SDEs)到达时,如何高效地更新复合事件识别?
- RQ3在高吞吐量、实时流中,事件演算中的基于区间的推理能在多大程度上实现可扩展性优化?
- RQ4能否在不预过滤SDEs的情况下实现高效推理,而依赖智能索引和窗口机制?
- RQ5在复杂、真实的负载下,基于声明式逻辑编程的系统与工业标准事件处理系统相比,性能表现如何?
主要发现
- RTEC在涉及复杂多活动模式(如无人看管物体和群体互动)的公共空间监控工作负载中,实现了实时复合事件识别。
- 当延迟或修订的SDEs到达时,系统能够对先前识别的复合事件进行动态更新,无需预处理或过滤即可保持正确性。
- 性能评估表明,RTEC可在每个窗口内处理高达192,000个SDEs(窗口大小为110秒),平均识别时间保持在实时约束范围内。
- 在多处理器上并行执行RTEC可显著提升性能,证明了其具备强大的水平可扩展性。
- 查询时的窗口化与重新计算策略在依赖复杂度较高时,优于基于传播的更新机制(如缓存事件演算中的机制)。
- RTEC的设计通过高效的索引和选择性计算,消除了对SDE过滤模块的需求,降低了系统复杂性并提升了鲁棒性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。