面向RFID的復雜事件描述語(yǔ)言研究及應用
1簡(jiǎn)介
隨著(zhù)電子商務(wù)和信息技術(shù)的發(fā)展以及無(wú)線(xiàn)射頻識別技術(shù)(RadioFrequencyIdentification,RFID)[1]應用的普及,越來(lái)越多的應用系統以事件流處理為核心,如企業(yè)資源計劃系統(EnterpriseResourcePlanning,ERP)供應鏈管理系統(SupplyChainManagement,SCM)等。RFID應用系統中,標簽卡通過(guò)特定的讀卡器,發(fā)生數據庫操作或其它如溫度,濕度狀態(tài)的改變等稱(chēng)為事件。在應用過(guò)程中會(huì )產(chǎn)生原始事件流,特定的原始事件可以觸發(fā)更高一級的復雜事件。為了準確描述事件間的關(guān)系,充分挖掘事件流背后蘊含著(zhù)真正的商業(yè)邏輯,需要一種規范的,專(zhuān)門(mén)的描述語(yǔ)言。復雜事件描述語(yǔ)言是對原始事件流中事件間邏輯關(guān)系的一種表達方式,對挖掘事件流背后的商業(yè)邏輯有重要的意義。
目前國內外學(xué)者對復雜事件處理機制的研究有很多[3][4],但對復雜事件描述語(yǔ)言的研究很少,而且成果并不多,目前復雜事件描述語(yǔ)言沒(méi)有統一的標準,文獻[5]提出的SASE事件描述語(yǔ)言(SASEEventLanguage)是一個(gè)相對成熟的復雜事件描述語(yǔ)言,本文在其基礎上進(jìn)行了優(yōu)化,提出一種復雜事件描述語(yǔ)言CDL,并給出其形式化定義。同時(shí)結合供應鏈RFID系統,詳細描述了CDL的具體應用。
2CDL描述語(yǔ)言定義
2.1CDL描述語(yǔ)言句型定義
現有成熟的復雜事件描述語(yǔ)言并不多,SASE事件描述語(yǔ)言(SASEEventLanguage)是一個(gè)相對成熟,開(kāi)放的基于事件流的復雜事件描述語(yǔ)言,本文在其基礎上提出了CDL描述語(yǔ)言(Complex-EventDescriptionLanguage),它更接于近數學(xué)表達式,并且可以對事件流進(jìn)行準確的描述,匹配,過(guò)濾與轉換,可以匹配原始事件流中基于時(shí)間和條件因素形成的各種復雜事件,并且定義匹配成功后將觸發(fā)的動(dòng)作和事件,其語(yǔ)法結構如下所示:
其語(yǔ)義為:當事件表達式exp在時(shí)間表達式t規定的時(shí)間范圍里,滿(mǎn)足條件表達式q描述的條件約束時(shí),觸發(fā)動(dòng)作表達式a描述的內容。
2.2事件表達式定義
事件表達式是復雜事件描述語(yǔ)言的重要組成部分,體現了業(yè)務(wù)邏輯的匹配,文獻[5]中定義了事件類(lèi)型和事件實(shí)例的概念,在這個(gè)基礎上我們提出了一些相關(guān)的補充:
事件類(lèi)型是一類(lèi)事件的統稱(chēng),用大寫(xiě)字母表示,如A;事件實(shí)例是一個(gè)具體的事件,用小寫(xiě)字母表示,如a。一個(gè)事件實(shí)例屬于并且只屬于一個(gè)事件類(lèi)型。
定義1事件表達式:利用事件類(lèi)型,事件實(shí)例和各種連接符表達業(yè)務(wù)系統中發(fā)生的事件的表達式稱(chēng)為事件表達式,形如(Aa)的是最簡(jiǎn)單的事件表達式。
定義2連接符(邏輯與):當連接的兩個(gè)事件都發(fā)生時(shí),表達式值為真。形式化定義如下所示:Exp1Exp2≡Exp1∧Exp2。例如(Aa)(Bb)表示事件類(lèi)型為A和B的兩個(gè)事件實(shí)例a,b均發(fā)生。
定義3連接符||(邏輯或):當||連接的兩個(gè)事件之一發(fā)生時(shí),表達式值即為真。形式化定義如下所示:Exp1||Exp2≡Exp1∨Exp2。例如(Aa)||(Bb)表示事件類(lèi)型為A和B的兩個(gè)事件實(shí)例a,b至少一個(gè)發(fā)生。
定義4連接符!(否定):起到否定的作用,加在事件類(lèi)型前表示該事件類(lèi)型不發(fā)生。帶有!
連接符的事件稱(chēng)為否定事件。形式化定義如下所示:!(Exp1)≡?Exp1,例如!(Aa)表示事件類(lèi)型為A的事件實(shí)例a不發(fā)生。
定義5運算符優(yōu)先級:按從大到小依次為!,,||。
性質(zhì)1如果Exp1是事件表達式,則!(Exp1)也是事件表達式。
性質(zhì)2如果Exp1,Exp2都是事件表達式,則(Exp1Exp2)也是事件表達式。
性質(zhì)3如果Exp1,Exp2都是事件表達式,則(Exp1||Exp2)也是事件表達式。
根據以上的定義和性質(zhì),存在邏輯關(guān)系的事件均可用事件表達式描述,而事件間除了邏輯關(guān)系,還有發(fā)生時(shí)間的先后次序,所以定義次序表達式。
定義6肯定ORDER表達式,表示多個(gè)事件按順序發(fā)生,如:
有了事件表達式的形式化定義,我們來(lái)對條件表達式進(jìn)行定義。
2.3條件表達式定義
事件表達式中出現的每一個(gè)事件實(shí)例都是有屬性的,條件表達式對事件實(shí)例的屬性間關(guān)系加以測試,對事件表達式中的事件實(shí)例加以邏輯限制。
條件表達式可以用事件實(shí)例的屬性和常量進(jìn)行比較,這種測試稱(chēng)為常量測試;也可以用事件表達式中的事件實(shí)例的屬性作為變量互相比較,這種測試稱(chēng)為變量參數測試;當兩種測試都出現時(shí),稱(chēng)為混合測試。下面三個(gè)條件表達式分別是常量測試,變量參數測試和混合測試的例子。
(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表達式中(∧)符號表示并且關(guān)系,(∨)符號表示或者關(guān)系。
2.4時(shí)間表達式定義
時(shí)間表達式用于限定事件發(fā)生的時(shí)間范圍。
當表示一個(gè)時(shí)間點(diǎn)發(fā)生的事件,用關(guān)鍵字AT,后接一個(gè)參數表示某一時(shí)刻。當表示在一個(gè)時(shí)間段內發(fā)生的事件,用關(guān)鍵字WITHIN,后接一個(gè)表示時(shí)間段大小的參數。當表示一個(gè)時(shí)間段內發(fā)生的事件,用關(guān)鍵字BETWEEN,后面接開(kāi)始時(shí)間和結束時(shí)間兩個(gè)參數。下面三個(gè)時(shí)間表達式分別是三種關(guān)鍵字的例子:
(1)AT7:30am表示事件在上午7:30分發(fā)生。
(2)WITHIN10hours表示事件在連續的10個(gè)小時(shí)內發(fā)生。
(3)BETWEEN(10:00am,8:00pm)表示事件在上午10:00和下午8:00之間發(fā)生。
2.5動(dòng)作表達式
當在原始事件流上,事件表達式,條件表達式,時(shí)間表達式的限定全部滿(mǎn)足時(shí),觸發(fā)動(dòng)作表達式規定的內容。動(dòng)作表達式由業(yè)務(wù)系統定義,如例1中的alert表示報警,業(yè)務(wù)系統中的其它動(dòng)作也可以定義相應的表達式。
3CDL描述語(yǔ)言舉例
CDL描述語(yǔ)言可以應用在ERP和SCM的RFID系統中,下面以供應鏈RFID系統為例,介紹CDL語(yǔ)言的具體應用。在供應鏈RFID系統中,廠(chǎng)房和倉庫的入口門(mén)禁讀寫(xiě)器,出口門(mén)禁讀寫(xiě)器,貨架上安裝的讀寫(xiě)器,以及一定數量的手持讀寫(xiě)器構成了一個(gè)RFID讀寫(xiě)器網(wǎng)絡(luò )。RFID標簽粘貼在托盤(pán)、包裝箱或元器件上,可以將信息傳遞給一定范圍內的讀卡器,使得配送,質(zhì)檢,入庫,盤(pán)點(diǎn),出庫實(shí)現了自動(dòng)化管理。在供應鏈日常業(yè)務(wù)過(guò)程中,各個(gè)讀寫(xiě)器產(chǎn)生的RFID數據,系統狀態(tài)改變或者是用戶(hù)產(chǎn)生的輸入與輸出形成了原始事件。
下面舉例用CDL描述語(yǔ)言來(lái)描述供應鏈RFID系統的日常業(yè)務(wù)。
例1:EVENT(SHELF-READINGx)(OVER-TEMPERATUREy)
WHEREx.id=’070301’∧x.shelf_id=y.shelf_id
WITHIN1minute
TODOalert
SHELF-READING表示貨架讀寫(xiě)器讀取到的事件,OVER-TEMPERATURE表示溫度傳感器發(fā)生的事件。例1表示了在短時(shí)間內如果編號為070301的產(chǎn)品所在貨架的溫度過(guò)高,則觸發(fā)報警事件。
例2:EVENTORDER(ENTRANCE-READINGx,!(CHECK-READINGy),EXIT-READINGz)
WHEREx.id=y.id∧x.id=z.id
WITHIN12hours
TODOreport_to_manager
例2中的ENTRANCE-READING表示倉庫入口處的讀卡器產(chǎn)生的入庫事件,CHECK-READING表示質(zhì)檢事件,EXIT-READING表示出庫事件,x,y,z分別是三個(gè)事件實(shí)例。描述的意義是監測符合以下條件的產(chǎn)品:在12個(gè)小時(shí)內完成入庫操作,但沒(méi)有經(jīng)過(guò)質(zhì)檢,就通過(guò)了倉庫出口。如檢測到結果說(shuō)明有產(chǎn)品發(fā)生了漏檢,向管理員發(fā)送報告。
通過(guò)以上舉例說(shuō)明CDL語(yǔ)言可以準確的描述供應鏈RFID系統的日常業(yè)務(wù),以及在規定的時(shí)間內滿(mǎn)足條件時(shí)觸發(fā)的動(dòng)作。CDL也可以較好的描述其它RFID系統的日常業(yè)務(wù),在此不做舉例說(shuō)明。
4結論
本文改進(jìn)并提出了一套基于RFID的復雜事件描述語(yǔ)言CDL,它比其它描述語(yǔ)言更接近數學(xué)表達式,并且可以更準確的描述事件間的邏輯關(guān)系與時(shí)間關(guān)系。目前在國內,復雜事件描述語(yǔ)言沒(méi)有得到人們的深刻認識,也沒(méi)有得到廣泛應用,但隨著(zhù)大規模通訊系統的發(fā)展,復雜事件描述語(yǔ)言很快會(huì )得到應用,并且會(huì )有更廣闊的應用空間。
隨著(zhù)電子商務(wù)和信息技術(shù)的發(fā)展以及無(wú)線(xiàn)射頻識別技術(shù)(RadioFrequencyIdentification,RFID)[1]應用的普及,越來(lái)越多的應用系統以事件流處理為核心,如企業(yè)資源計劃系統(EnterpriseResourcePlanning,ERP)供應鏈管理系統(SupplyChainManagement,SCM)等。RFID應用系統中,標簽卡通過(guò)特定的讀卡器,發(fā)生數據庫操作或其它如溫度,濕度狀態(tài)的改變等稱(chēng)為事件。在應用過(guò)程中會(huì )產(chǎn)生原始事件流,特定的原始事件可以觸發(fā)更高一級的復雜事件。為了準確描述事件間的關(guān)系,充分挖掘事件流背后蘊含著(zhù)真正的商業(yè)邏輯,需要一種規范的,專(zhuān)門(mén)的描述語(yǔ)言。復雜事件描述語(yǔ)言是對原始事件流中事件間邏輯關(guān)系的一種表達方式,對挖掘事件流背后的商業(yè)邏輯有重要的意義。
圖1:RFID的信息系統體系結構
目前國內外學(xué)者對復雜事件處理機制的研究有很多[3][4],但對復雜事件描述語(yǔ)言的研究很少,而且成果并不多,目前復雜事件描述語(yǔ)言沒(méi)有統一的標準,文獻[5]提出的SASE事件描述語(yǔ)言(SASEEventLanguage)是一個(gè)相對成熟的復雜事件描述語(yǔ)言,本文在其基礎上進(jìn)行了優(yōu)化,提出一種復雜事件描述語(yǔ)言CDL,并給出其形式化定義。同時(shí)結合供應鏈RFID系統,詳細描述了CDL的具體應用。
2CDL描述語(yǔ)言定義
2.1CDL描述語(yǔ)言句型定義
現有成熟的復雜事件描述語(yǔ)言并不多,SASE事件描述語(yǔ)言(SASEEventLanguage)是一個(gè)相對成熟,開(kāi)放的基于事件流的復雜事件描述語(yǔ)言,本文在其基礎上提出了CDL描述語(yǔ)言(Complex-EventDescriptionLanguage),它更接于近數學(xué)表達式,并且可以對事件流進(jìn)行準確的描述,匹配,過(guò)濾與轉換,可以匹配原始事件流中基于時(shí)間和條件因素形成的各種復雜事件,并且定義匹配成功后將觸發(fā)的動(dòng)作和事件,其語(yǔ)法結構如下所示:
其語(yǔ)義為:當事件表達式exp在時(shí)間表達式t規定的時(shí)間范圍里,滿(mǎn)足條件表達式q描述的條件約束時(shí),觸發(fā)動(dòng)作表達式a描述的內容。
2.2事件表達式定義
事件表達式是復雜事件描述語(yǔ)言的重要組成部分,體現了業(yè)務(wù)邏輯的匹配,文獻[5]中定義了事件類(lèi)型和事件實(shí)例的概念,在這個(gè)基礎上我們提出了一些相關(guān)的補充:
事件類(lèi)型是一類(lèi)事件的統稱(chēng),用大寫(xiě)字母表示,如A;事件實(shí)例是一個(gè)具體的事件,用小寫(xiě)字母表示,如a。一個(gè)事件實(shí)例屬于并且只屬于一個(gè)事件類(lèi)型。
定義1事件表達式:利用事件類(lèi)型,事件實(shí)例和各種連接符表達業(yè)務(wù)系統中發(fā)生的事件的表達式稱(chēng)為事件表達式,形如(Aa)的是最簡(jiǎn)單的事件表達式。
定義2連接符(邏輯與):當連接的兩個(gè)事件都發(fā)生時(shí),表達式值為真。形式化定義如下所示:Exp1Exp2≡Exp1∧Exp2。例如(Aa)(Bb)表示事件類(lèi)型為A和B的兩個(gè)事件實(shí)例a,b均發(fā)生。
定義3連接符||(邏輯或):當||連接的兩個(gè)事件之一發(fā)生時(shí),表達式值即為真。形式化定義如下所示:Exp1||Exp2≡Exp1∨Exp2。例如(Aa)||(Bb)表示事件類(lèi)型為A和B的兩個(gè)事件實(shí)例a,b至少一個(gè)發(fā)生。
定義4連接符!(否定):起到否定的作用,加在事件類(lèi)型前表示該事件類(lèi)型不發(fā)生。帶有!
連接符的事件稱(chēng)為否定事件。形式化定義如下所示:!(Exp1)≡?Exp1,例如!(Aa)表示事件類(lèi)型為A的事件實(shí)例a不發(fā)生。
定義5運算符優(yōu)先級:按從大到小依次為!,,||。
性質(zhì)1如果Exp1是事件表達式,則!(Exp1)也是事件表達式。
性質(zhì)2如果Exp1,Exp2都是事件表達式,則(Exp1Exp2)也是事件表達式。
性質(zhì)3如果Exp1,Exp2都是事件表達式,則(Exp1||Exp2)也是事件表達式。
根據以上的定義和性質(zhì),存在邏輯關(guān)系的事件均可用事件表達式描述,而事件間除了邏輯關(guān)系,還有發(fā)生時(shí)間的先后次序,所以定義次序表達式。
定義6肯定ORDER表達式,表示多個(gè)事件按順序發(fā)生,如:
有了事件表達式的形式化定義,我們來(lái)對條件表達式進(jìn)行定義。
2.3條件表達式定義
事件表達式中出現的每一個(gè)事件實(shí)例都是有屬性的,條件表達式對事件實(shí)例的屬性間關(guān)系加以測試,對事件表達式中的事件實(shí)例加以邏輯限制。
條件表達式可以用事件實(shí)例的屬性和常量進(jìn)行比較,這種測試稱(chēng)為常量測試;也可以用事件表達式中的事件實(shí)例的屬性作為變量互相比較,這種測試稱(chēng)為變量參數測試;當兩種測試都出現時(shí),稱(chēng)為混合測試。下面三個(gè)條件表達式分別是常量測試,變量參數測試和混合測試的例子。
(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表達式中(∧)符號表示并且關(guān)系,(∨)符號表示或者關(guān)系。
2.4時(shí)間表達式定義
時(shí)間表達式用于限定事件發(fā)生的時(shí)間范圍。
當表示一個(gè)時(shí)間點(diǎn)發(fā)生的事件,用關(guān)鍵字AT,后接一個(gè)參數表示某一時(shí)刻。當表示在一個(gè)時(shí)間段內發(fā)生的事件,用關(guān)鍵字WITHIN,后接一個(gè)表示時(shí)間段大小的參數。當表示一個(gè)時(shí)間段內發(fā)生的事件,用關(guān)鍵字BETWEEN,后面接開(kāi)始時(shí)間和結束時(shí)間兩個(gè)參數。下面三個(gè)時(shí)間表達式分別是三種關(guān)鍵字的例子:
(1)AT7:30am表示事件在上午7:30分發(fā)生。
(2)WITHIN10hours表示事件在連續的10個(gè)小時(shí)內發(fā)生。
(3)BETWEEN(10:00am,8:00pm)表示事件在上午10:00和下午8:00之間發(fā)生。
2.5動(dòng)作表達式
當在原始事件流上,事件表達式,條件表達式,時(shí)間表達式的限定全部滿(mǎn)足時(shí),觸發(fā)動(dòng)作表達式規定的內容。動(dòng)作表達式由業(yè)務(wù)系統定義,如例1中的alert表示報警,業(yè)務(wù)系統中的其它動(dòng)作也可以定義相應的表達式。
3CDL描述語(yǔ)言舉例
CDL描述語(yǔ)言可以應用在ERP和SCM的RFID系統中,下面以供應鏈RFID系統為例,介紹CDL語(yǔ)言的具體應用。在供應鏈RFID系統中,廠(chǎng)房和倉庫的入口門(mén)禁讀寫(xiě)器,出口門(mén)禁讀寫(xiě)器,貨架上安裝的讀寫(xiě)器,以及一定數量的手持讀寫(xiě)器構成了一個(gè)RFID讀寫(xiě)器網(wǎng)絡(luò )。RFID標簽粘貼在托盤(pán)、包裝箱或元器件上,可以將信息傳遞給一定范圍內的讀卡器,使得配送,質(zhì)檢,入庫,盤(pán)點(diǎn),出庫實(shí)現了自動(dòng)化管理。在供應鏈日常業(yè)務(wù)過(guò)程中,各個(gè)讀寫(xiě)器產(chǎn)生的RFID數據,系統狀態(tài)改變或者是用戶(hù)產(chǎn)生的輸入與輸出形成了原始事件。
下面舉例用CDL描述語(yǔ)言來(lái)描述供應鏈RFID系統的日常業(yè)務(wù)。
例1:EVENT(SHELF-READINGx)(OVER-TEMPERATUREy)
WHEREx.id=’070301’∧x.shelf_id=y.shelf_id
WITHIN1minute
TODOalert
SHELF-READING表示貨架讀寫(xiě)器讀取到的事件,OVER-TEMPERATURE表示溫度傳感器發(fā)生的事件。例1表示了在短時(shí)間內如果編號為070301的產(chǎn)品所在貨架的溫度過(guò)高,則觸發(fā)報警事件。
例2:EVENTORDER(ENTRANCE-READINGx,!(CHECK-READINGy),EXIT-READINGz)
WHEREx.id=y.id∧x.id=z.id
WITHIN12hours
TODOreport_to_manager
例2中的ENTRANCE-READING表示倉庫入口處的讀卡器產(chǎn)生的入庫事件,CHECK-READING表示質(zhì)檢事件,EXIT-READING表示出庫事件,x,y,z分別是三個(gè)事件實(shí)例。描述的意義是監測符合以下條件的產(chǎn)品:在12個(gè)小時(shí)內完成入庫操作,但沒(méi)有經(jīng)過(guò)質(zhì)檢,就通過(guò)了倉庫出口。如檢測到結果說(shuō)明有產(chǎn)品發(fā)生了漏檢,向管理員發(fā)送報告。
通過(guò)以上舉例說(shuō)明CDL語(yǔ)言可以準確的描述供應鏈RFID系統的日常業(yè)務(wù),以及在規定的時(shí)間內滿(mǎn)足條件時(shí)觸發(fā)的動(dòng)作。CDL也可以較好的描述其它RFID系統的日常業(yè)務(wù),在此不做舉例說(shuō)明。
4結論
本文改進(jìn)并提出了一套基于RFID的復雜事件描述語(yǔ)言CDL,它比其它描述語(yǔ)言更接近數學(xué)表達式,并且可以更準確的描述事件間的邏輯關(guān)系與時(shí)間關(guān)系。目前在國內,復雜事件描述語(yǔ)言沒(méi)有得到人們的深刻認識,也沒(méi)有得到廣泛應用,但隨著(zhù)大規模通訊系統的發(fā)展,復雜事件描述語(yǔ)言很快會(huì )得到應用,并且會(huì )有更廣闊的應用空間。
評論