复杂事件关系代数与声明式语义详解
1 复杂事件关系代数(CERA)基础
1.1 CERA 表达式示例
CERA 表达式在处理复杂事件时发挥着重要作用。例如,以下是两个 CERA 表达式:
CX
[ burnt down{sensor{var S}} ](
µ[[begin,end] ←n⊔i⊔v](
σ[T > 40](
(Tempn ⋊⋉X[ i: from-end[n,12 sec] ](E)) ⋉i⊒v Tempv)))
CX
[ avg temp{sensor{var S},value{avg(all var T)}} ](
µ[[begin,end] ←m⊔i⊔w](
(Tempm ⋊⋉X[ i: from-start-backward[m,1 min] ](E)) ⋊⋉i⊒w Tempw))
第一个表达式用于检测传感器对应的烧毁事件,第二个表达式用于计算传感器在过去一分钟内的平均温度。当规则头包含分组和聚合结构时, CX 操作符会对元组进行必要的分组,并计算聚合函数的值。分组操作先通过事件引用和时间属性进行隐式分组,再根据规则头的要求进行显式分组。由于时间属性与事件引用存在函数依赖关系,它们对分组结果没有影响,但为保证时间一致性,必须包含在每个结果元组中。
1.2 XChangeEQ 规则转换为 CERA 表达式
将 XChangeEQ 规则转换为 CERA 表达式时,首先需要
超级会员免费看
订阅专栏 解锁全文

23

被折叠的 条评论
为什么被折叠?



