新闻中心

EEPW首页>手机与无线通信>设计应用> 面向RFID的复杂事件描述语言研究及应用

面向RFID的复杂事件描述语言研究及应用

作者: 时间:2011-04-08 来源:网络 收藏
  1简介

  随着电子商务和信息技术的发展以及无线射频识别技术(RadioFrequencyIdentification, )[1]应用的普及,越来越多的应用系统以事件流处理为核心,如企业资源计划系统(EnterpriseResourcePlanning,ERP)供应链管理系统(SupplyChainManagement,SCM)等。 应用系统中,标签卡通过特定的读卡器,发生数据库操作或其它如温度,湿度状态的改变等称为事件。在应用过程中会产生原始事件流,特定的原始事件可以触发更高一级的 。为了准确描述事件间的关系,充分挖掘事件流背后蕴含着真正的商业逻辑,需要一种规范的,专门的 是对原始事件流中事件间逻辑关系的一种表达方式,对挖掘事件流背后的商业逻辑有重要的意义。



图1:的信息系统体系结构

如图1所示,用户在应用层输入 ,经过化简模块处理后,输入到复杂事件处理模块中,系统就会按照设定好规则对事件流进行过滤与匹配处理,匹配成功则触发相应事件[2]。

  目前国内外学者对复杂事件处理机制的研究有很多[3][4],但对复杂事件描述语言的研究很少,而且成果并不多,目前复杂事件描述语言没有统一的标准,文献[5]提出的SASE事件描述语言(SASEEventLanguage)是一个相对成熟的复杂事件描述语言,本文在其基础上进行了优化,提出一种复杂事件描述语言CDL,并给出其形式化定义。同时结合供应链RFID系统,详细描述了CDL的具体应用。

  2CDL描述语言定义

  2.1CDL描述语言句型定义

  现有成熟的复杂事件描述语言并不多,SASE事件描述语言(SASEEventLanguage)是一个相对成熟,开放的基于事件流的复杂事件描述语言,本文在其基础上提出了CDL描述语言(Complex-EventDescriptionLanguage),它更接于近数学表达式,并且可以对事件流进行准确的描述,匹配,过滤与转换,可以匹配原始事件流中基于时间和条件因素形成的各种复杂事件,并且定义匹配成功后将触发的动作和事件,其语法结构如下所示:


  其语义为:当事件表达式exp在时间表达式t规定的时间范围里,满足条件表达式q描述的条件约束时,触发动作表达式a描述的内容。

  2.2事件表达式定义

  事件表达式是复杂事件描述语言的重要组成部分,体现了业务逻辑的匹配,文献[5]中定义了事件类型和事件实例的概念,在这个基础上我们提出了一些相关的补充:

  事件类型是一类事件的统称,用大写字母表示,如A;事件实例是一个具体的事件,用小写字母表示,如a。一个事件实例属于并且只属于一个事件类型。

  定义1事件表达式:利用事件类型,事件实例和各种连接符表达业务系统中发生的事件的表达式称为事件表达式,形如(Aa)的是最简单的事件表达式。

  定义2连接符(逻辑与):当连接的两个事件都发生时,表达式值为真。形式化定义如下所示:Exp1Exp2≡Exp1∧Exp2。例如(Aa)(Bb)表示事件类型为A和B的两个事件实例a,b均发生。

  定义3连接符||(逻辑或):当||连接的两个事件之一发生时,表达式值即为真。形式化定义如下所示:Exp1||Exp2≡Exp1∨Exp2。例如(Aa)||(Bb)表示事件类型为A和B的两个事件实例a,b至少一个发生。

  定义4连接符!(否定):起到否定的作用,加在事件类型前表示该事件类型不发生。带有!

  连接符的事件称为否定事件。形式化定义如下所示:!(Exp1)≡?Exp1,例如!(Aa)表示事件类型为A的事件实例a不发生。

  定义5运算符优先级:按从大到小依次为!,,||。

  性质1如果Exp1是事件表达式,则!(Exp1)也是事件表达式。

  性质2如果Exp1,Exp2都是事件表达式,则(Exp1Exp2)也是事件表达式。

  性质3如果Exp1,Exp2都是事件表达式,则(Exp1||Exp2)也是事件表达式。

  根据以上的定义和性质,存在逻辑关系的事件均可用事件表达式描述,而事件间除了逻辑关系,还有发生时间的先后次序,所以定义次序表达式。

  定义6肯定ORDER表达式,表示多个事件按顺序发生,如:


  有了事件表达式的形式化定义,我们来对条件表达式进行定义。

  2.3条件表达式定义

  事件表达式中出现的每一个事件实例都是有属性的,条件表达式对事件实例的属性间关系加以测试,对事件表达式中的事件实例加以逻辑限制。

  条件表达式可以用事件实例的属性和常量进行比较,这种测试称为常量测试;也可以用事件表达式中的事件实例的属性作为变量互相比较,这种测试称为变量参数测试;当两种测试都出现时,称为混合测试。下面三个条件表达式分别是常量测试,变量参数测试和混合测试的例子。

  (1)WHEREa.id=”021903”∨a.type_id=”039”

  (2)WHEREa.id=b.id∧c.weightd.weight

  (3)WHEREa.vendor=”021903”∧a.id=b.id

  在WHERE表达式中(∧)符号表示并且关系,(∨)符号表示或者关系。

  2.4时间表达式定义

  时间表达式用于限定事件发生的时间范围。

  当表示一个时间点发生的事件,用关键字AT,后接一个参数表示某一时刻。当表示在一个时间段内发生的事件,用关键字WITHIN,后接一个表示时间段大小的参数。当表示一个时间段内发生的事件,用关键字BETWEEN,后面接开始时间和结束时间两个参数。下面三个时间表达式分别是三种关键字的例子:

  (1)AT7:30am表示事件在上午7:30分发生。

  (2)WITHIN10hours表示事件在连续的10个小时内发生。

  (3)BETWEEN(10:00am,8:00pm)表示事件在上午10:00和下午8:00之间发生。

  2.5动作表达式

  当在原始事件流上,事件表达式,条件表达式,时间表达式的限定全部满足时,触发动作表达式规定的内容。动作表达式由业务系统定义,如例1中的alert表示报警,业务系统中的其它动作也可以定义相应的表达式。

 3CDL描述语言举例

  CDL描述语言可以应用在ERP和SCM的RFID系统中,下面以供应链RFID系统为例,介绍CDL语言的具体应用。在供应链RFID系统中,厂房和仓库的入口门禁读写器,出口门禁读写器,货架上安装的读写器,以及一定数量的手持读写器构成了一个RFID读写器网络。RFID标签粘贴在托盘、包装箱或元器件上,可以将信息传递给一定范围内的读卡器,使得配送,质检,入库,盘点,出库实现了自动化管理。在供应链日常业务过程中,各个读写器产生的RFID数据,系统状态改变或者是用户产生的输入与输出形成了原始事件。

  下面举例用CDL描述语言来描述供应链RFID系统的日常业务。

  例1:EVENT(SHELF-READINGx)(OVER-TEMPERATUREy)

  WHEREx.id=’070301’∧x.shelf_id=y.shelf_id

  WITHIN1minute

  TODOalert

  SHELF-READING表示货架读写器读取到的事件,OVER-TEMPERATURE表示温度传感器发生的事件。例1表示了在短时间内如果编号为070301的产品所在货架的温度过高,则触发报警事件。

  例2:EVENTORDER(ENTRANCE-READINGx,!(CHECK-READINGy),EXIT-READINGz)

  WHEREx.id=y.id∧x.id=z.id

  WITHIN12hours

  TODOreport_to_manager

  例2中的ENTRANCE-READING表示仓库入口处的读卡器产生的入库事件,CHECK-READING表示质检事件,EXIT-READING表示出库事件,x,y,z分别是三个事件实例。描述的意义是监测符合以下条件的产品:在12个小时内完成入库操作,但没有经过质检,就通过了仓库出口。如检测到结果说明有产品发生了漏检,向管理员发送报告。

  通过以上举例说明CDL语言可以准确的描述供应链RFID系统的日常业务,以及在规定的时间内满足条件时触发的动作。CDL也可以较好的描述其它RFID系统的日常业务,在此不做举例说明。

  4结论

  本文改进并提出了一套基于RFID的复杂事件描述语言CDL,它比其它描述语言更接近数学表达式,并且可以更准确的描述事件间的逻辑关系与时间关系。目前在国内,复杂事件描述语言没有得到人们的深刻认识,也没有得到广泛应用,但随着大规模通讯系统的发展,复杂事件描述语言很快会得到应用,并且会有更广阔的应用空间。


评论


相关推荐

技术专区

关闭