《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > 基于組合著色Petri網(wǎng)的空間復(fù)合事件檢測機制

基于組合著色Petri網(wǎng)的空間復(fù)合事件檢測機制

2008-07-30
作者:熊 偉, 廖 巍, 陳宏盛,

  摘 要: 通過建立空間事件模型,擴展定義了空間事件復(fù)合算子及其語義;采用組合著色Petri網(wǎng)構(gòu)造基于空間關(guān)系的復(fù)合事件檢測模型并提出基于該模型的檢測算法;通過應(yīng)用實例驗證該檢測模型是一個簡潔、有效的復(fù)合事件檢測機制。
  關(guān)鍵詞: 空間復(fù)合事件 組合著色Petri網(wǎng) 復(fù)合事件檢測

?

  復(fù)合事件及其檢測可以應(yīng)用到股票交易、網(wǎng)絡(luò)管理、航空交通控制、指揮決策等領(lǐng)域。隨著空間信息的廣泛應(yīng)用,在遠(yuǎn)程監(jiān)控、LBS、Location-aware計算等領(lǐng)域,也需要實現(xiàn)與空間有關(guān)的事件檢測。傳統(tǒng)空間信息應(yīng)用系統(tǒng)中與空間有關(guān)的復(fù)合事件檢測通過在應(yīng)用處理邏輯中直接編寫事件檢測的代碼實現(xiàn)。這種解決方案不利于實現(xiàn)開放的、可擴展的通用系統(tǒng)。由于很多事件是通用的,事件檢測機制應(yīng)該是多個應(yīng)用系統(tǒng)共享,否則系統(tǒng)的維護代價較大。
  對復(fù)合事件檢測的研究最初是在主動數(shù)據(jù)庫領(lǐng)域中進(jìn)行的[2]。Ode采用有窮自動機實現(xiàn)復(fù)合事件檢測。SAMOS采用著色Petri網(wǎng)對復(fù)合事件檢測,可以攜帶事件流及事件參數(shù)等復(fù)雜信息。但是SAMOS也沒有定義和說明Petri網(wǎng)的組合問題。為解決不滿足交換律的復(fù)合算子的沖突問題,文獻(xiàn)[5]引入了時序算子,提出TR-Petri網(wǎng)。文獻(xiàn)[2]引入部分檢測事件緩沖池和時間緩沖池對原子事件進(jìn)行高效的過濾。在空間事件檢測方面目前尚未展開更多的研究工作,文獻(xiàn)[1]使用三元組{OID, TS, LOC }定義空間事件模型,支持簡單的空間謂詞檢測,但是這種方法是基于空間對象而不是基于事件本身的空間屬性。文獻(xiàn)[4]討論了從空間完整性約束導(dǎo)出數(shù)據(jù)庫ECA規(guī)則的方法,由于ECA條件和動作部分可以分別在數(shù)據(jù)庫中的查詢處理和事務(wù)處理技術(shù)中找到相應(yīng)的解決方案,而事件部分研究的不是很多。本文將在此基礎(chǔ)上,研究基于空間關(guān)系的復(fù)合事件檢測機制。
1 空間事件模型
  在討論基于空間關(guān)系的復(fù)合事件檢測機制之前,首先必須形式化描述空間事件及空間事件復(fù)合算子。空間事件模型采用三元組來表示SE={EID,T,S},其中EID∈N表示事件標(biāo)識;T∈N,表示等距離離散時間信息;S∈R×R表示參照坐標(biāo)系統(tǒng)定義的坐標(biāo)。空間對象和空間謂詞SP(Spatial Predicate)定義如下:
  簡單線段L: Sbegin×Send, Sbegin, Send∈R×R, Sbegin和Send分別表示線段的起始點和結(jié)束坐標(biāo);坐標(biāo)S在線段L上時IN(S,L)為真。
  封閉區(qū)域Z:∪(L×N);坐標(biāo)S在區(qū)域Z內(nèi)時IN(S,Z)為真。
  假設(shè)方向關(guān)系是參照坐標(biāo)系統(tǒng)定義的,即North方向與y軸方向一致,East方向與x軸方向一致。令b表示對象的MBR,則b可以通過其左下角坐標(biāo)(b.xl,b.yl)和右上角坐標(biāo)(b.xu, b.yu)定義。如果以s為目標(biāo),b和s1分別是參考矩形和參考點,那么采用基于投影的方向模型,s相對于b、s1的方向關(guān)系謂詞可以由North-South方向(N,S)s,b、(N,S)s,s1和East-West方向(E,W)s,b、(E,W)s,s1的組合定義。其中,(N,S)s,b和(E,W)s,b可以通過下面的公式定義,(N,S)s,s1和(E,W)s,s1可以采用類似方式定義:
  
  如果將(N,S)s1,s2和(E,W)s1,s2的組合記作(N,S,E,W)s1,s2,那么基于四元組(N,S,E,W)s1,s2的不同取值可以定義s1相對于s2的16種方向關(guān)系,如NW(s1,s2)=(1,0,0,1)。
  空間事件的語義解釋函數(shù)Φ(SE):T×S→{True,False}定義為:Φ(SE(t,s))=True,if an event of type SE occurs at time t and location s。
  首先將傳統(tǒng)的事件復(fù)合算子語義擴展定義如下:
  · 非空間算子NSO(NonSpatial Operator)


  方向和距離算子有參考事件或者區(qū)域,因此這些算子是不滿足交換律的。從定義來看,這些算子在時間上是以參考事件的出現(xiàn)為檢測起始事件的。
2 基于組和著色Petri網(wǎng)的空間復(fù)合事件檢測模型
2.1檢測模型
  傳統(tǒng)的Petri網(wǎng)對于公共事件表達(dá)式需要構(gòu)造冗余的Petri網(wǎng),而且無法對位置信息" title="位置信息">位置信息進(jìn)行檢測,需要對之改造和擴展。本文提出基于組合著色Petri網(wǎng)的復(fù)合事件檢測模型,既能夠利用復(fù)合事件的公共表達(dá)式,也可以在存儲較少事件歷史的情況下,保持積聚算子。
  定義(1)——復(fù)合事件檢測組件Petri網(wǎng)CPN(Component Petri Net)
  CPN的靜態(tài)結(jié)構(gòu)是一個八元組,CPN=(P,PI,PO,T,A, C,E,W)相關(guān)含義如下:
  P是庫所的有限集合。將每個原子事件對應(yīng)到組件Petri網(wǎng)的一個輸入庫所,復(fù)合事件對應(yīng)到組件Petri網(wǎng)的一個輸出庫所,則定義PIP為有限輸入庫所集合,定義POP為有限輸出庫所集合。T是變遷的有限集合。AP×T∪T×P是連接變遷和庫所的弧的有限集合。C是標(biāo)記類型(即顏色)的有限集合。E為弧函數(shù)。將每條弧映射到一個表達(dá)式、空間算子或者是缺省的單位權(quán)值" title="權(quán)值">權(quán)值。Eik表示由Pi到Tk或者Ti到Pk的弧函數(shù)。其中權(quán)值函數(shù)只作用在P×T,空間算子只作用在T×P。W: T→N變遷權(quán)值函數(shù),將每個變遷映射到一個自然數(shù)表示的權(quán)值。
  定義(2)——組件Petri網(wǎng)的聯(lián)接變遷、聯(lián)接弧及標(biāo)記向量
  聯(lián)接變遷(Connection Transition)集合TOI為聯(lián)接輸出庫所和輸入庫所的變遷,聯(lián)接弧(Connection Arc)集合AOI定義為AOIPO×TOI∪TOI×PI,同時定義PTI為聯(lián)接輸入庫所集合,PTO為聯(lián)接輸出庫所集合。令Pi∈P,mark(Pi)=(t,s)表示Pi中當(dāng)前標(biāo)記的值,其分量分別標(biāo)記為mark(Pi).t和mark(Pi).s。當(dāng)mark(Pi).t=0時表示Pi中當(dāng)前無標(biāo)記。令Tk∈TOI∪T, °Tk表示Tk所有輸入庫所的集合, Tk°表示Tk所有輸出庫所的集合。
  定義(3)——組合著色Petri網(wǎng)CCPN(Compositional Colored Petri Net)
  CCPN的靜態(tài)結(jié)構(gòu)是CCPN=(CPN,TOI,AOI)。
  定義(4)——變遷的授權(quán)
  稱變遷Tk是授權(quán)的,如果對i,Pi∈°Tk, mark(Pi).t≠0。授權(quán)變遷可被觸發(fā),觸發(fā)時同時執(zhí)行如下三個步驟:(1)如果Pi 中標(biāo)記數(shù)與Ai,k權(quán)值相等,mark(Pi)=0, 對i,Pi∈°Tk,如果Pi中標(biāo)記數(shù)小于權(quán)值,則將標(biāo)記數(shù)累加并且?guī)焖槐A糇罱臉?biāo)記信息;(2)如果Ak,i上未定義空間謂詞并且Pi中標(biāo)記數(shù)與Ai,k權(quán)值相等,則mark(Pj)=Ekj(MAX{Eik(mark(Pi))|對i,Pi∈°Tk}), 對j,Pj∈Tk°, 其中MAX{(a1,b1),(a2,b2),…,(an,bn)=a,b},1≤k≤n,1≤i≤n,ai≤ak;(3)如果Ai,k上定義的SP為真,則mark(Pj)=Ekj(MAX{Eik(mark(Pi))|對i,Pi∈°Tk}), 對j,Pj∈Tk°, 其中MAX{(a1,b1),(a2,b2),…,(an,bn)=a,b},1≤k≤n,1≤i≤n, ai≤ak;如果Ak,i上定義的SP為假,則mark(Pi)=0, 對i, Pi∈°Tk
  使用組件Petri網(wǎng)組合CCPN時,用聯(lián)接弧將組件Petri網(wǎng)的輸出庫所與一個聯(lián)接變遷聯(lián)接,同時將該聯(lián)接變遷通過聯(lián)接弧與另一個組件Petri網(wǎng)的輸入庫所相聯(lián)。這樣的連接不會影響組件Petri網(wǎng)自身的觸發(fā)過程,而其觸發(fā)又可以帶動整個CCPN的觸發(fā),從而簡潔、有效地組合成了更復(fù)雜的事件檢測Petri網(wǎng)。可以有兩種方式構(gòu)成CCPN,即事件作為多個復(fù)合事件的組件事件,如圖1(a);或者復(fù)合事件作為進(jìn)一步復(fù)合事件的一個組件事件,如圖1(b)。原子事件有可能對應(yīng)到多個組件Petri網(wǎng)的輸入庫所,因此進(jìn)行全局模式的事件檢測時,CCPN在遞歸" title="遞歸">遞歸觸發(fā)時需要將事件類型及其發(fā)生時刻、發(fā)生位置在網(wǎng)上傳播。這樣,對應(yīng)于同樣的原子事件只需要一次檢測即可。對于復(fù)合事件也是一樣的策略,在每個CPN輸出庫所中都將檢測到的復(fù)合事件保存到事件鏈表" title="鏈表">鏈表中。


2.2 空間復(fù)合事件檢測算法
  構(gòu)造完成CCPN模型后,本節(jié)給出全局模式下復(fù)合事件的檢測算法和CCPN中標(biāo)記觸發(fā)并遞歸尋找授權(quán)變遷的算法。
  算法(1)——設(shè)原子事件由數(shù)據(jù)庫內(nèi)核檢測,則全局模式下的復(fù)合事件檢測算法描述如下:
  輸入:原子事件
  輸出:檢測結(jié)果鏈表
  for all CPN which contains primitive event PE as input place
  insert PE to detected list;
  PE.i:= input place of PE in CPN;
  for every broadcast in FindAndFire(PE.i);
  for all output place of CPN
  insert CE to detected list
  detected list中維護當(dāng)前檢測到的事件鏈表。
  算法終止性分析:首先復(fù)合事件集是有限的,并且復(fù)合事件的組件事件也是有限的,那么
  (1)如果沒有任何變遷觸發(fā),F(xiàn)indAndFire過程將終止,具體見算法(2);
  (2)FindAndFire算法遞歸次數(shù)有限,那么廣播事件次數(shù)有限;
  (3)整個算法當(dāng)FindAndFire算法終止后終止。
  算法(2)——CCPN事件檢測算法
  FindAndFire(mplace)
  For each transition k
  For input places of transitions k
  i:=1;
  Find first input place;
  IF (m[i].t≠0) {
  Hold the latest information or compute cumulative operator due to N[i,k]}
  WHILE firing AND i <NP DO{
  i:= i+1;
  Search other input place and t:=m[i];
  IF t.t = 0 {{firing:=FALSE; }ELSE {IF t.t >m[l].t { l:=i; }}}}
  IF firing {
  t:=m[l];
  Fire the transition;
  For each output places j of transitions k{
  Broadcast for global detection or computer
  spatial operator due to N[i,k];
  FindAndFire(j);}}
  其中SpatialOperate(mplace)為空間算子計算算法,輸入為變遷位置,輸出布爾型。對于二元SO,輸入庫所只保留最近的參考事件,如果變遷所有輸入庫所中的事件滿足空間算子,則返回TRUE,否則返回FALSE。本文不詳細(xì)列出。
2.3 應(yīng)用實例
  本實驗過程包括:用戶使用事件規(guī)范語言定義復(fù)合事件,經(jīng)過復(fù)合事件編譯器編譯成功后存入數(shù)據(jù)庫,并由CCPN構(gòu)造器構(gòu)造檢測復(fù)合事件的組合著色Petri網(wǎng)存入數(shù)據(jù)庫。當(dāng)數(shù)據(jù)庫內(nèi)核中的原子事件檢測器檢測到原子事件發(fā)生后,通知CCPN檢測器進(jìn)行復(fù)合事件檢測,檢測結(jié)果通知應(yīng)用程序,應(yīng)用程序根據(jù)復(fù)合事件的發(fā)生調(diào)用ECA規(guī)則執(zhí)行器執(zhí)行下一步操作,用戶也可以在應(yīng)用程序中對數(shù)據(jù)庫中的復(fù)合事件進(jìn)行查詢、更新等維護操作。圖2為復(fù)合事件E4=OR(E1, NE(E2, E3))的全局模式檢測實例。首先將該復(fù)合事件編譯,然后構(gòu)造CCPN,如圖2(a)所示。最后進(jìn)行復(fù)合事件檢測。使用原子事件生成器按時間順序產(chǎn)生事件類型為0~10的隨機事件,事件的位置信息也是隨機的,為了演示方便,將位置范圍控制在地圖可見區(qū)域。原子事件中構(gòu)成復(fù)合事件的組件事件插入到組件事件列表中,每次插入則調(diào)用基于CCPN的復(fù)合事件檢測器檢測。由于采用Recent事件消耗策略,對于檢測到的組件事件E2,如果多次出現(xiàn),則只保留最近的,用于復(fù)合事件E4的檢測。檢測到NE(E2,E3)后,也消耗掉E2,E3,為了更清楚地演示,只在刪除E2時置Eid為“D”標(biāo)識。對于檢測到的組件事件和復(fù)合事件的空間位置信息,在地圖上進(jìn)行了顯示,圖2(b)是針對實驗數(shù)據(jù)的運行界面。


  需要指出的是,實驗假定時間軸等距離。實際情況中事件的發(fā)生并非按照等距離時間間隔" title="時間間隔">時間間隔,因此可以設(shè)定一個時間間隔閾值,根據(jù)事件發(fā)生的最小間隔來調(diào)整該閥值,這樣就可以轉(zhuǎn)換成等距離時間間隔的情況。另外實驗中也沒有考慮事件檢測本身所要消耗的計算時間延遲。同時聯(lián)接變遷和聯(lián)接弧也可能在事件檢測時間中造成一定的延遲。
  針對現(xiàn)有的主動數(shù)據(jù)庫事件檢測機制難以滿足空間事件檢測的需求,本文建立了空間事件模型,在該模型基礎(chǔ)上定義了基于空間關(guān)系的事件復(fù)合算子及其語義,并證明該定義對于復(fù)合運算是封閉的;為了簡化構(gòu)造復(fù)合事件檢測Petri網(wǎng),本文采用組合著色Petri網(wǎng)構(gòu)造了復(fù)合事件檢測模型,充分利用復(fù)合事件公共表達(dá)式,簡化Petri網(wǎng)的構(gòu)造;提出基于CCPN的檢測算法;通過應(yīng)用實例驗證該檢測模型是一個簡潔、有效的復(fù)合事件檢測機制。
  本文沒有考慮分布式環(huán)境下的空間事件檢測機制,分布式環(huán)境下要考慮原子事件的并發(fā)性。全局模式下的事件采用鏈表簡單結(jié)構(gòu)管理,下一步將引入更好的數(shù)據(jù)結(jié)構(gòu)以提高檢測效率。同時空間算子的描述能力還不夠強,不能滿足更多用戶的需求。將CCPN檢測系統(tǒng)與空間數(shù)據(jù)庫相結(jié)合,充分利用空間數(shù)據(jù)庫的查詢處理機制還需要做大量的工作。
參考文獻(xiàn)
1 Xiaoyan Chen, Ying Chen,Fangyan Rao.An Efficient Spatial Publish/Subscribe System for Intelligent Location Based Services. San Diego USA: DEBS′03 2003
2 A. Hinze. Efficient filtering of composite events. In Proceed-ings of the BNCOD British National Conference on Datbases,London, UK, 2003
3 Jorn W. Janneck, Robert Esser, Higher-order Petri net modeling - techniques and applications Workshop on Software Engineering and Formal Methods, Adelaide, Australia:Petri Nets 2002
4 熊 偉,張 巨,景 寧.從空間完整性約束導(dǎo)出觸發(fā)器ECA規(guī)則. 計算機科學(xué),2003;30(10):207~209
5 左萬利.復(fù)合時序事件及其基于Petri網(wǎng)的檢測.系統(tǒng)工程學(xué)報,2003;18(3):262~267

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。