D01:10.13374.isml00103x.2007.10.22 第29卷第10期 北京科技大学学报 Vol.29 No.10 2007年10月 Journal of University of Science and Technology Beijing 0et.2007 基于Petri网的ECA规则建模 宋丽)艾迪明) 1)军械工程学院管理工程系.石家庄0500032)军械工程学院军械技术研究所.石家庄050003 摘要在Petri网理论基础上.对ECA规则进行了建模研究,建立了基本Petri网模型.对如何用Petri网表示具有复合事件 ECA规则进行了专门分析.提出了扩展的Peti网系统.并综合考虑ECA规则自身特性,建立了ECA规则系统Petri网模型. 比较全面地反映了ECA规则系统特性.通过构建可达树和变迁序列,可以较为清楚地了解ECA规则系统及其行为特性,便 于对规则系统进行合理性验证,以帮助系统管理员对其进行分析和管理. 关键词Peti网:ECA规则;复合事件 分类号TP18 主动数据库系统通常采用主动规则系统来实现 Peti理论对模型进行分析,能够比较全面、深入地 主动功能,而主动规则系统一般采用ECA规则模 了解ECA规则系统及其行为特性.虽然己有类似 型F习.ECA规则系统是一个复杂的规则系统,规 文献利用Peti网技术对ECA规则系统建模分析. 则设计人员很难预测他们设计的规则会给数据库状 如文献[4]提出了约束库所/变迁网(constraint 态带来什么样的影响.因此,只有对ECA规则系统 place/transit net,.简称CP/T网),并利用该网对主 进行全面、深入的了解,才能进行有效的规则验证, 动规则进行建模分析,但其在建模过程中并未考虑 以保证规则系统的合理性、数据库主动功能的实现 事件-条件-动作间的耦合关系. 及数据库状态的正确性. 本文在Petri网的基础上,对ECA规则进行了 ECA规则系统之所以复杂,是由于它的行为十 建模研究:提出了一种扩展Peti网系统并以此建 分复杂.首先ECA规则由事件触发,这里的事件或 立了ECA规则模型,它能够充分反映ECA规则自 许是外部或用户行为引发的,或者为前一规则造成 身特性 的.而且规则的触发事件可以是原子事件,也可以 是复合事件.另外,当规则被触发后,并未处于激活 1ECA规则的基本Petri网模型 状态,只有系统状态满足判断条件才算激活,进而执 1.1 Petri网基本原理 行相应的动作.而何时激活规则和执行动作,则由 Petri网是Peti于1962年在他的博士论文中 规则的调度、耦合方式决定.因此如果没有很好的 首次提出的,用于描述计算机事件之间的关系,描述 分析工具和方法,难免造成规则间的矛盾和冲突. 离散事件系统中复杂的事件之间的先后、并行、异步 目前对于ECA规则系统的分析,主要采用规则 等关系,并能方便地描述制造系统中资源冲突、死锁 执行图分析方法,如触发图、活化图等,但其只能 及缓冲区容量问题. 刻画出规则间的触发、激活关系,而无法体现每条规 定义1Peti网为一个三元组N=(S,T: 则的触发、激活过程.因此这种方法并不能全面反 F),其中,S和T分别称为N的库所(place)集和变 映出ECA规则自身特性也不能真正体现出规则系 迁(transition)集F为流关系(flow relation),其充分 统行为的复杂性.Peti网具有良好的形式化基础, 必要条件为可: 能够方便地描述系统状态的变化,并有较为成熟的 (1)S∩T=0: 分析理论,在系统建模、行为分析等方面是强有力的 (2)SUT≠0: 描述分析工具.因此利用Petri网技术对ECA规 (3)FCSX TU TX S; 则系统建模,充分考虑ECA规则自身特性并利用 (4)dom(F)U cod(F)=SUF. 收稿日期:200606-19修回日期:2007-03-07 其中dom(F)={x|3y(x,y)∈F},cod(F)= 基金项目:国家自然科学基金资助项目(N0.60375038) {yl3xx,y)∈F}分别为F的定义域和值域. 作者简介:宋丽(1980一),女博士研究生:艾迪明(1973一),男, 高级工程师 库所和变迁又分别称为S-元素和T-元素,或
基于 Petri 网的 ECA 规则建模 宋 丽1) 艾迪明2) 1) 军械工程学院管理工程系, 石家庄 050003 2) 军械工程学院军械技术研究所, 石家庄 050003 摘 要 在 Petri 网理论基础上, 对 ECA 规则进行了建模研究, 建立了基本 Petri 网模型.对如何用 Petri 网表示具有复合事件 ECA 规则进行了专门分析.提出了扩展的 Petri 网系统, 并综合考虑 ECA 规则自身特性, 建立了 ECA 规则系统 Petri 网模型, 比较全面地反映了 ECA 规则系统特性.通过构建可达树和变迁序列, 可以较为清楚地了解 ECA 规则系统及其行为特性, 便 于对规则系统进行合理性验证, 以帮助系统管理员对其进行分析和管理. 关键词 Petri 网;ECA 规则;复合事件 分类号 TP18 收稿日期:2006-06-19 修回日期:2007-03-07 基金项目:国家自然科学基金资助项目( No .60375038) 作者简介:宋 丽( 1980—) , 女, 博士研究生;艾迪明( 1973—) , 男, 高级工程师 主动数据库系统通常采用主动规则系统来实现 主动功能, 而主动规则系统一般采用 ECA 规则模 型 [ 1-2] .ECA 规则系统是一个复杂的规则系统, 规 则设计人员很难预测他们设计的规则会给数据库状 态带来什么样的影响 .因此, 只有对 ECA 规则系统 进行全面、深入的了解, 才能进行有效的规则验证, 以保证规则系统的合理性、数据库主动功能的实现 及数据库状态的正确性. ECA 规则系统之所以复杂, 是由于它的行为十 分复杂.首先, ECA 规则由事件触发, 这里的事件或 许是外部或用户行为引发的, 或者为前一规则造成 的.而且规则的触发事件可以是原子事件, 也可以 是复合事件 .另外, 当规则被触发后, 并未处于激活 状态, 只有系统状态满足判断条件才算激活, 进而执 行相应的动作.而何时激活规则和执行动作, 则由 规则的调度 、耦合方式决定 .因此, 如果没有很好的 分析工具和方法, 难免造成规则间的矛盾和冲突. 目前对于 ECA 规则系统的分析, 主要采用规则 执行图分析方法, 如触发图 、活化图等[ 3] , 但其只能 刻画出规则间的触发 、激活关系, 而无法体现每条规 则的触发 、激活过程 .因此, 这种方法并不能全面反 映出 ECA 规则自身特性, 也不能真正体现出规则系 统行为的复杂性 .Petri 网具有良好的形式化基础, 能够方便地描述系统状态的变化, 并有较为成熟的 分析理论, 在系统建模、行为分析等方面是强有力的 描述分析工具.因此, 利用 Petri 网技术对 ECA 规 则系统建模, 充分考虑 ECA 规则自身特性, 并利用 Petri 理论对模型进行分析, 能够比较全面、深入地 了解 ECA 规则系统及其行为特性 .虽然已有类似 文献利用 Petri 网技术对 ECA 规则系统建模分析, 如文献[ 4] 提出 了约束 库所/变迁网 ( constraint place/ transit net, 简称 CP/ T 网) , 并利用该网对主 动规则进行建模分析, 但其在建模过程中并未考虑 事件-条件-动作间的耦合关系 . 本文在 Petri 网的基础上, 对 ECA 规则进行了 建模研究 ;提出了一种扩展 Petri 网系统, 并以此建 立了 ECA 规则模型, 它能够充分反映 ECA 规则自 身特性 . 1 ECA 规则的基本 Petri 网模型 1.1 Petri 网基本原理 Petri 网是 Petri 于 1962 年在他的博士论文中 首次提出的, 用于描述计算机事件之间的关系, 描述 离散事件系统中复杂的事件之间的先后、并行、异步 等关系, 并能方便地描述制造系统中资源冲突、死锁 及缓冲区容量问题 . 定义 1 Petri 网为一个三元组 N =( S , T ; F) , 其中, S 和 T 分别称为 N 的库所( place) 集和变 迁( transition) 集, F 为流关系( flow relation) , 其充分 必要条件为[ 5] : ( 1) S ∩ T = ; ( 2) S ∪ T ≠ ; ( 3) F S ×T ∪ T ×S ; ( 4) dom( F ) ∪ cod( F) =S ∪ F . 其中 dom( F ) ={x y ∶( x , y ) ∈ F}, cod( F ) = {y x∶( x , y ) ∈ F}分别为 F 的定义域和值域 . 库所和变迁又分别称为 S -元素和 T -元素, 或 第 29 卷 第 10 期 2007 年 10 月 北 京 科 技 大 学 学 报 Journal of University of Science and Technology Beijing Vol.29 No.10 Oct.2007 DOI :10.13374/j .issn1001 -053x.2007.10.022
第10期 宋丽等:基于Ptri网的ECA规则建模 。1065· S-元和T-元.X=SUT称为N的元素集. 基本Peti网的变迁可实施规则为:给定t,若 对于所有p∈t,M(p)≥I(M是库所中Token的 o-K 分布函数),则称1是可实施的,记作M>·即: 若变迁t的所有输入位置都具有至少一个Token,, 则该变迁可实施.变迁的实施意味着:在当前的系 图1基本ECA规则Peri网模型 统状态下,变迁所代表的事件发生的前提条件得到 Fig 1 Petri net model based on ECA 满足. 图1所示的模型对于简单ECA规则来说显得 网系统中变迁的固有特征是:它的作用范围(外 较为复杂,但如果考虑到E、C、A之间的耦合关系, 延)是固定的.变迁能否发生只依赖于它的外延与 则显得比较合理. 全局状态无关,这叫局部确定性.网系统中没有任 何形式的全局控制,既能描述事件之间的依赖性(即 2复合事件Petri网表示 顺序关系),又能描述事件之间的不依赖性(并发关 ECA规则的事件可以分为两种:原始事件和复 系).网系统的安全性和进展性具有普适性, 合事件.对于复合事件的Peti网表示,本文进行了 12ECA规则基本概念 专门研究. 定义2主动规则是一个三元组〈E,C,A),E 2.1复合事件定义 为事件,C为规则条件,A为规则动作,它不仅具有 定义3复合事件:系统用规定的事件操作符 结构特征,而且具有行为特征,当触发事件产生时, 把若干成分事件(原子的或复合的)联结起来,作为 根据条件的真假执行动附9,ECA规则基本表示 单个事件处理称为复合事件 设e和e是两个成分事件,则有以下几种复合 形式为: RULE(规则名)[(〈参数),力 事件定义: WHEN事件) (1)eAe,表示事件e和e'同时发生的复合事 IF〈条件1)THEN(动作1): 件: (2)ele,表示在其发生期中事件e和e'有一 IF〈条件n)THEN(动作N):(n≥l) 个且仅有一个发生的复合事件,即选一个发生的事 件; END-RULE规则名】. (3)eVe,表示事件e和e'只要有一个发生就 1.3基本Petri网模型 发生的复合事件: 本文在利用Peti网对ECA规则建模时,库所 (4)e°e',表示事件e结束后马上发生事件e, 集主要由三部分组成即S=SEU SCUS4U其他, 使e和e连在一起的复合事件: 其中SE表示规则触发事件集合,Sc表示规则的条 (5)e,表示当e终止时就开始发生的一个事 的触发过程,通过对事件进行评估,如成功则触发规 件: 则,T4表示对规则条件的评价过程,如条件满足则 (7)一e,表示事件e不发生的那个事件. 表示规则被激活,进而执行相应动作.由于事件、条 复合事件的发生与原子事件一样,也具有“原子 件和动作都具有原子性,其在某一时刻要么发生,要 性”,即在某一时刻,或者完全发生,或者根本不发 么不发生.因此Peti网中库所的容量可定义为l. 生,没有第三种状态 如一ECA规则为: 2.2 Petri网表示 on e1 利用Peti网来表示由上述复合事件所触发的 if ci then a1; ECA规则.为便于描述,所建立的Peti网都是针对 if c2 then a2. 下述主动规则形式: 在此规则中,没有设定事件-条件、条件-动作之 R:on E if c then a. 间的耦合方式,可认为都是立即方式,用Petri网表 其中E为复合事件,分别由上述复合事件组成. 示时可省略,其Peti模型可表示为图l: 定义4设x∈SUT,则°x={yl(y,x)∈F}
S -元和 T -元.X =S ∪ T 称为N 的元素集. 基本 Petri 网的变迁可实施规则为 :给定 t, 若 对于所有 p ∈ t, M( p) ≥1( M 是库所中 Token 的 分布函数), 则称 t 是可实施的, 记作 M[ t >.即 : 若变迁 t 的所有输入位置都具有至少一个 Token, 则该变迁可实施.变迁的实施意味着:在当前的系 统状态下, 变迁所代表的事件发生的前提条件得到 满足 . 网系统中变迁的固有特征是:它的作用范围( 外 延)是固定的.变迁能否发生只依赖于它的外延, 与 全局状态无关, 这叫局部确定性 .网系统中没有任 何形式的全局控制, 既能描述事件之间的依赖性( 即 顺序关系), 又能描述事件之间的不依赖性( 并发关 系) .网系统的安全性和进展性具有普适性 . 1.2 ECA 规则基本概念 定义 2 主动规则是一个三元组〈E, C, A〉, E 为事件, C 为规则条件, A 为规则动作, 它不仅具有 结构特征, 而且具有行为特征, 当触发事件产生时, 根据条件的真假执行动作[ 6] .ECA 规则基本表示 形式为: RULE〈规则名〉[ (〈参数〉, …)] WHEN〈事件〉 IF〈条件 1〉THEN〈动作 1〉; … … IF〈条件 n〉THEN〈动作 N〉;( n ≥1) END-RULE[ 〈规则名〉] . 1.3 基本 Petri 网模型 本文在利用 Petri 网对 ECA 规则建模时, 库所 集主要由三部分组成, 即 S =S E ∪ SC ∪ S A ∪ 其他, 其中 SE 表示规则触发事件集合, SC 表示规则的条 件集, S A 表示规则的动作集;变迁集主要由两部分 组成, 即 T =TEC ∪ TCA ∪ 其他, 其中 T EC表示规则 的触发过程, 通过对事件进行评估, 如成功则触发规 则, T CA 表示对规则条件的评价过程, 如条件满足则 表示规则被激活, 进而执行相应动作 .由于事件、条 件和动作都具有原子性, 其在某一时刻要么发生, 要 么不发生, 因此 Petri 网中库所的容量可定义为 1 . 如一 ECA 规则为 : on e1 if c1 then a1 ; if c2 then a2 . 在此规则中, 没有设定事件-条件、条件-动作之 间的耦合方式, 可认为都是立即方式, 用 Petri 网表 示时可省略, 其 Petri 模型可表示为图 1 : 图 1 基本 ECA 规则 Petri 网模型 Fig.1 Petri net model based on ECA 图 1 所示的模型对于简单 ECA 规则来说显得 较为复杂, 但如果考虑到 E 、C 、A 之间的耦合关系, 则显得比较合理. 2 复合事件 Petri 网表示 ECA 规则的事件可以分为两种 :原始事件和复 合事件 .对于复合事件的 Petri 网表示, 本文进行了 专门研究. 2.1 复合事件定义 定义 3 复合事件 :系统用规定的事件操作符 把若干成分事件( 原子的或复合的) 联结起来, 作为 单个事件处理, 称为复合事件. 设 e 和e′是两个成分事件, 则有以下几种复合 事件定义: ( 1) e ∧ e′, 表示事件 e 和e′同时发生的复合事 件 ; ( 2) e e′, 表示在其发生期中事件 e 和 e′有一 个且仅有一个发生的复合事件, 即选一个发生的事 件 ; ( 3) e ∨ e′, 表示事件 e 和e′只要有一个发生就 发生的复合事件; ( 4) e·e′, 表示事件 e 结束后马上发生事件e′, 使 e 和e′连在一起的复合事件; ( 5) e, 表示当 e 终止时就开始发生的一个事 件 ; ( 7) e, 表示事件 e 不发生的那个事件. 复合事件的发生与原子事件一样, 也具有“原子 性”, 即在某一时刻, 或者完全发生, 或者根本不发 生, 没有第三种状态. 2.2 Petri 网表示 利用 Petri 网来表示由上述复合事件所触发的 ECA 规则.为便于描述, 所建立的 Petri 网都是针对 下述主动规则形式 : R :on E if c then a . 其中 E 为复合事件, 分别由上述复合事件组成 . 定义 4 设 x ∈ S ∪ T, 则· x ={y ( y, x ) ∈ F} 第 10 期 宋 丽等:基于 Petri 网的 ECA 规则建模 · 1065 ·
。1066 北京科技大学学报 第29卷 称为x的前集或输入集,x={z|(x,z)∈F}称为 定义8为表达事件发生时刻的相对次序关 x的后集或输出集. 系,引入一元时序算子pev、at、post.令E是任意一 下面说明如何用Peti网来描述上述复合事件, 个事件表达式(pevE)表示相对E发生时刻之前 定义5与发生结构:设e,e∈Se,tr∈TEc, 的偏移:(atE)表示与E相同的发生时刻;(post E) 如果eUe"≠,且e=e"=tec则e,e'与tae构成 表示相对E发生时刻之后的偏移.当事件E发生 与发生结构. 时,(pevE)、(atE)、(postE)均为发生事件,但具 定义6选择发生结构:设e,e∈Se,tec,te2 有不同的发生时刻).利用一元时序算子可以表示 ∈TEc,如果tel=e,te2=e,且3ta∩t2=c, 之前发生结构和之后发生结构. 则e、e与tac1、tec2构成选择发生结构,当e、e同时发 定义9在Petri网中,为表示条件的非运算的 生时,在c会发生冲撞,因此规定两者仅有一个存在 逻辑“真”,即条件本身是“假”,定义一种流关系 时,此结构才能继续进行. F-二SXT,表示为©. 定义7或发生结构:设e,e∈Se,tal lec2∈ 定义10相继发生结构:设e,e∈Se,如果 Tc,如果el=e,l2=e且3te∩t2=c同时3s e='e',则表示e、e'是相继发生的. ∈S,且s=c则e、e与tl、tec2构成或发生结构. 复合事件Pti网表示如图2所示 与发生结构模型 选择发生结构模型 或发生结构模型 67016 o-1o--6 o-0+16 之前发生结构模型 不发生结构模型 之后发生结构模型 6 16tofo 相继发生结构模型 图2复合事件Petri网表示 Fig.2 Composite events Petri net expression 3.2ECA规则系统Peri网模型 3 ECA规则扩展Petri网模型及行为 由于复合事件表示的复杂性以及ECA规则复 分析 杂的耦合关系,在对ECA规则系统建模时,本文 Peti网原理的基础上,提出了一种扩展的Petri网 3.1ECA规则耦合方式 系统 ECA规则的执行与耦合方式有关,规则的耦合 定义11扩展Peti网系统=(S,T,F,U, 方式有两类:一类是事件与条件间的耦合(E一C耦 ',ApU,HFr,Mo,其中: 合):一类是条件与动作间耦合(C一A耦合).大多 (1)(S,T:F)为基本网: 数主动数据库系统支持的耦合方式有以下三种9. (2)U为耦合关系集合,U={immediate,de 立即(im mediate)方式:当触发事件发生(条件 ferred,detached); 满足)时立即执行条件判断(执行动作). (3)V为一元时序算子集合,V={at,pew, 延迟(deferred)方式:当触发事件发生(条件满 post; 足)时不进行条件判断(执行动作),直至该事件所在 (4)AFu是F→U的映射,其中F'三TECX Sc 事务中止时方执行条件判断(执行动作). UTCAX S4,.Hf∈F,AFU(f)对应一种耦合关系: 分离(deatched)方式:条件判断(动作执行)与 (5)HFv是F'→V的映射,其中F'三SEX 触发事件(条件判断)不在同一事务中进行而是在另 TEC,Vf∈F,HFv(f)∈V; 一分离的事务中进行. (6)Mo为Σ的初始标识
称为 x 的前集或输入集, x ·={z ( x , z) ∈ F}称为 x 的后集或输出集. 下面说明如何用 Petri 网来描述上述复合事件 . 定义 5 与发生结构 :设 e, e′∈ Se , t ec ∈ TEC, 如果 e · ∪ e′ · ≠ , 且 e · =e′ · =tec则 e, e′与 tec构成 与发生结构. 定义 6 选择发生结构:设 e, e′∈ Se , tec1, tec2 ∈ TEC, 如果· tec1 =e, · tec 2 =e′, 且 t · ec1 ∩ t · ec2 =c, 则 e 、e′与 tec 1 、tec2构成选择发生结构, 当 e 、e′同时发 生时, 在 c 会发生冲撞, 因此规定两者仅有一个存在 时, 此结构才能继续进行 . 定义 7 或发生结构:设 e, e′∈ Se , tec 1, tec2 ∈ TEC,如果· tec1 =e, · tec2 =e′且 t · ec1∩ t · ec2 =c, 同时 s ∈ S, 且 s =c, 则 e 、e′与 tec1 、tec2构成或发生结构. 定义 8 为表达事件发生时刻的相对次序关 系, 引入一元时序算子 prev 、at 、post .令 E 是任意一 个事件表达式, ( prev E )表示相对 E 发生时刻之前 的偏移 ;( at E )表示与 E 相同的发生时刻 ;( post E) 表示相对 E 发生时刻之后的偏移 .当事件 E 发生 时, ( prev E) 、( at E) 、( post E )均为发生事件, 但具 有不同的发生时刻[ 7] .利用一元时序算子可以表示 之前发生结构和之后发生结构. 定义 9 在 Petri 网中, 为表示条件的非运算的 逻辑“ 真”, 即条件本身是“假”, 定义一种流关系 F - S ×T , 表示为※★ . 定义 10 相继发生结构:设 e, e′∈ Se , 如果 e · =· e′, 则表示 e 、e′是相继发生的. 复合事件 Petri 网表示如图 2 所示 . 图 2 复合事件Petri 网表示 Fig.2 Composite events Petri net expression 3 ECA 规则扩展 Petri 网模型及行为 分析 3.1 ECA 规则耦合方式 ECA 规则的执行与耦合方式有关, 规则的耦合 方式有两类 :一类是事件与条件间的耦合( E -C 耦 合) ;一类是条件与动作间耦合( C-A 耦合) .大多 数主动数据库系统支持的耦合方式有以下三种[ 9] . 立即( immediate) 方式:当触发事件发生( 条件 满足)时立即执行条件判断(执行动作) . 延迟( deferred) 方式 :当触发事件发生( 条件满 足)时不进行条件判断(执行动作) , 直至该事件所在 事务中止时方执行条件判断( 执行动作) . 分离( deatched) 方式 :条件判断( 动作执行) 与 触发事件(条件判断)不在同一事务中进行而是在另 一分离的事务中进行 . 3.2 ECA规则系统 Petri 网模型 由于复合事件表示的复杂性以及 ECA 规则复 杂的耦合关系, 在对 ECA 规则系统建模时, 本文 Petri 网原理的基础上, 提出了一种扩展的 Petri 网 系统. 定义 11 扩展 Petri 网系统 =( S , T, F , U, V , AFU, HFV , M0), 其中: ( 1) ( S , T ;F )为基本网; ( 2) U 为耦合关系集合, U ={immediate, deferred, detached}; ( 3) V 为一元时序算子集合, V ={at, prev, post}; ( 4) AFU是F′※U 的映射, 其中 F′ T EC ×SC ∪ T CA ×S A , f ∈ F′, AFU( f )对应一种耦合关系 ; ( 5) HFV 是 F′※V 的映射, 其中 F′ SE × TEC, f ∈ F , HFV ( f ) ∈ V ; ( 6) M0 为 的初始标识 . · 1066 · 北 京 科 技 大 学 学 报 第 29 卷
第10期 宋丽等:基于Ptri网的ECA规则建模 。1067。 定义12ECA规则集R={r1,r2,,rm}, 迁发生可以到达的所有标识集合),使得r·ta在M 其中ER={e,e2,,em}为规则集R的事件集 有发生权,则说明当标识为M时,规则r被触发. 合,AR={a1,a2,,am}为规则集R所执行的动 定义14对于ri,方∈R,规则ri能够触发规 作集合.设规则r,方∈R,其中r,r∈ERU 则,是指规则r:的〈动作〉部分能够产生可以触发 OE,OE为由ER中的事件所组成的复合事件,ria, 规则方的事件.对于ia∈SA,r)·tec∈TEC,如果 a∈AR,当ra=re时,可用re代替 ria∈乃tec(rtec为r°tec的输入集),则说明规则 当ra=re时,在建立Peti网模型过程中,可用 r,的动作执行可能触发规则:如果rle={ra, 同一库所标识. 则说明规则:的动作执行触发规则)· 设r1,r2,r3,r4,r5∈R,且这些规则的表示 定义15规则激活:对于一已经被触发的规则 形式为: r,如果r的一个或多个条件部分为真,则r被激 r1:on e1A e2,immediate,if ri'c then e3,imme- 活. diate 和规则触发类似,假设r为已被触发的规则, r2:on e4 V es,deferred,if r2'c then e6,immedi- 在Petri网中,对于r·tea∈Tc4,如果M∈[Mo),使 ate 得r·ta在M有发生权,则说明当标识为M时,规 r3:one3,immediate,ifr3°c then r3°a,imme 则r被激活. diate 定义16规则r:能够激活规则r,当规则r: r4:one6,det ached,ifr4°c then r4°a,immedi- 的〈动作)部分执行后,使规则;的条件部分从不成 ate 立状态转变为成立状态. rs:one3e6,deferred,ifrs°c then rs°a,im- 下面对图3所示的Peti网模型建立可达树,以 mediate 分析规则系统的可能执行情况以及规则间的触发 以此为例,所对应的ECA规则Peti网模型如 关系.首先,在本文中做如下假定: 图3所示: (1)所有规则的条件在进行评价过程中,都可 0分6f0676 得到满足; (2)当事件库中所定义的事件对规则系统的规 (rs-ta) 5t6 则进行触发、激活,且己有相应动作执行时,则不再 “85666 对这些事件进行评价,除非这些事件重新发生. ra-te 8p 对于图3所示模型中,库所集S={e1,e2,e3, (rste) e4,e5,e6r3°a,r4°a,r5°a,s0,r1°C,r2°C, r3℃,r4°c,r5c},因此它的标识集M可用15维 图3ECA规呗侧系统Peti网模型 Fig 3 ECA rule system Petri net 向量表示,其中M0=(1,1,0,L,0,0,0,0,0,L,0,0 0,0,0).根据文献8]中所提供的可达树构造算法 由图3所示,可以比较直观地了解ECA规则的 可得到如图4所示的可达树. 事件触发及运行过程并能了解到规则间的触发关 系.同时,可以利用Pti网相关理论分析ECA规 4结论 则系统的动态行为 本文在Petri网理论基础上,对ECA规则进行 3.3ECA规则系统行为分析 了建模研究,建立了基本Petri网模型.对如何用 ECA规则系统中规则的触发、激活等行为的发 Peti网表示具有复合事件ECA规则进行了专门研 生顺序一方面取决于事件发生的先后顺序,另一方 究.提出了扩展的Peti网系统并综合考虑ECA 面还受事件一条件、条件一动作间的耦合方式影响, 规则自身特性,建立了ECA规则系统Petri网模型, 耦合方式不同,规则执行情况也就相应的有所不同. 比较全面地反映了ECA规则系统特性.通过构建 定义13规则触发:设r∈R,当事件的发生使 可达树和变迁序列,可以较为清楚地了解ECA规则 得r的事件部分为真,则r被触发. 系统及其行为特性,便于对规则系统进行合理性验 在ECA规则扩展Peti网模型中,对于r·tec∈ 证,以帮助系统管理员对其进行分析和管理.当然 TC,如果3MMo>(LMo>为从Mo出发经变 本文只是对ECA规则的简单系统行为进行了分析
定义 12 ECA 规则集 R ={r 1, r 2, …, r n}, 其中 ER ={e1, e2, …, em}为规则集 R 的事件集 合, AR ={a1, a2, …, am}为规则集 R 所执行的动 作集合.设规则 ri , rj ∈ R , 其中 rie , rje ∈ ER ∪ OE, OE 为由 ER 中的事件所组成的复合事件, ria, rja ∈ AR, 当 ria =rje时, 可用 rje代替. 当 ria =rje时, 在建立 Petri 网模型过程中, 可用 同一库所标识. 设 r 1, r 2, r 3, r 4, r 5 ∈ R , 且这些规则的表示 形式为: r 1 :on e1 ∧ e2, immediate, if r 1·c then e3, immediate r 2 :on e4 ∨ e5, deferred, if r 2·c then e6, immediate r 3 :on e3, immediate, if r 3·c then r 3·a, immediate r 4 :on e6, detached, if r 4·c then r 4·a , immediate r 5 :on e3 e6, deferred, if r 5·c then r 5·a, immediate 以此为例, 所对应的 ECA 规则 Petri 网模型如 图 3 所示 : 图3 ECA 规则系统 Petri 网模型 Fig.3 ECA rule system Petri net 由图 3 所示, 可以比较直观地了解 ECA 规则的 事件触发及运行过程, 并能了解到规则间的触发关 系.同时, 可以利用 Petri 网相关理论分析 ECA 规 则系统的动态行为. 3.3 ECA 规则系统行为分析 ECA 规则系统中规则的触发、激活等行为的发 生顺序一方面取决于事件发生的先后顺序, 另一方 面还受事件-条件 、条件-动作间的耦合方式影响, 耦合方式不同, 规则执行情况也就相应的有所不同 . 定义 13 规则触发:设 r ∈ R , 当事件的发生使 得 r 的事件部分为真, 则 r 被触发 . 在 ECA 规则扩展 Petri 网模型中, 对于 r·tec ∈ T EC , 如果 M ∈[ M0 >([ M0 >为从 M0 出发经变 迁发生可以到达的所有标识集合), 使得 r·tec 在 M 有发生权, 则说明当标识为 M 时, 规则 r 被触发 . 定义 14 对于 ri , rj ∈ R , 规则 ri 能够触发规 则rj , 是指规则 ri 的〈动作〉部分能够产生可以触发 规则 rj 的事件 .对于 ria ∈ S A, rj·tec ∈ TEC, 如果 ria ∈ · rj·tec ( · rj·tec为rj·tec的输入集), 则说明规则 ri 的动作执行可能触发规则 rj ;如果· rj·tec ={ria}, 则说明规则 ri 的动作执行触发规则 rj . 定义 15 规则激活 :对于一已经被触发的规则 r, 如果 r 的一个或多个条件部分为真, 则 r 被激 活 . 和规则触发类似, 假设 r 为已被触发的规则, 在 Petri 网中, 对于 r·tca ∈ TCA, 如果 M ∈[ M0〉, 使 得 r·t ca在 M 有发生权, 则说明当标识为 M 时, 规 则 r 被激活 . 定义 16 规则 ri 能够激活规则 rj , 当规则 ri 的〈动作〉部分执行后, 使规则 rj 的条件部分从不成 立状态转变为成立状态 . 下面对图 3 所示的 Petri 网模型建立可达树, 以 分析规则系统的可能执行情况, 以及规则间的触发 关系.首先, 在本文中做如下假定: ( 1) 所有规则的条件在进行评价过程中, 都可 得到满足; ( 2) 当事件库中所定义的事件对规则系统的规 则进行触发 、激活, 且已有相应动作执行时, 则不再 对这些事件进行评价, 除非这些事件重新发生. 对于图 3 所示模型中, 库所集 S ={e1, e2, e3, e4, e5, e6, r 3·a, r 4·a, r 5·a, s0, r 1·c, r 2·c, r 3·c, r 4·c, r 5·c}, 因此它的标识集 M 可用 15 维 向量表示, 其中 M0 =( 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0) .根据文献[ 8] 中所提供的可达树构造算法, 可得到如图 4 所示的可达树 . 4 结论 本文在 Petri 网理论基础上, 对 ECA 规则进行 了建模研究, 建立了基本 Petri 网模型.对如何用 Petri 网表示具有复合事件 ECA 规则进行了专门研 究 .提出了扩展的 Petri 网系统, 并综合考虑 ECA 规则自身特性, 建立了 ECA 规则系统 Petri 网模型, 比较全面地反映了 ECA 规则系统特性 .通过构建 可达树和变迁序列, 可以较为清楚地了解 ECA 规则 系统及其行为特性, 便于对规则系统进行合理性验 证, 以帮助系统管理员对其进行分析和管理.当然, 本文只是对 ECA 规则的简单系统行为进行了分析, 第 10 期 宋 丽等:基于 Petri 网的 ECA 规则建模 · 1067 ·
。1068。 北京科技大学学报 第29卷 (1.1.01,0.0.0.0.0.1.0.0.0.0.0) (0.0.0.1.0.0.0.0.0.1.1.0.0.0.0) (1.1.0.0.0.0.0.0.0.0.0.1.0.0.0) ri-torl ↓ (0.0.1,1.0.0.0.0.0,1.0.0.0.0.0) (1,1,0.0.0,1,0.00.0,0.0.0.0.0) r↓rm ra-tars-te (0.0.0.1.0.0.0.0.0.10.0.0.1) (1.1,0.0.0.0.0.0.0.1.0.0.0.1.1) ra-lo rs-lou rs-to (0.0.0.1.0.0.1.0.0.1.0.0.0.0.1) 1,1,0.0.00.0.1.0.0.0.0.0.0,1) (0.0.0.10.0.0.0.1.1.0.1.0.0.0) (1,1.0.0.0.0.0.0,1.0.0.0.0.1.0) 图4可达标识树 Fig 4 Reachability tree 而如何利用Pti网技术对规则系统的可终止性、并 [5 Zimmer D.M eckenstock A.Unland R.Using petri nets for mule 行性等系统行为进行分析,还需深入研究. termination analy sis //Proceedings of the Workshop on Databases: Active and Real-Time.New York:ACM Press,1996:29 参考文献 【(金光灿.分布式数据库管理系统中主动机制的设计与实现 华中理工大学学报1996.5:7 [刂周志逵,江薄.数据库理论与新技术.北京:北京理工大学出 【左万利.复合时序事件及其基于Pe网的检测.系统工程学 版社,2001:86 报.2003.6:262 [2]Widm J.The starburst active database rule system.Knowl Data [习袁崇义.Ptri网原理.北京:电子工业出版社,1998:83 Eng.1996.4:583 【身林闯。随机Ptn网和系统性能评价.北京:清华大学出版社, 【3习左万利.关联图与主动规则集终止性分析.软件学报,2001, 2005:146 12:276 【10林闯,陆维明.Pd五网用于知识表示.计算机学报1992, 【4印桂生。主动数据库系统的关键技术及其应用研究.哈尔滨: 16(1):32 哈尔滨工程大学出版社,2000:164 ECA rule system model based on Petri nets SONG Li,AI Diming? 1)Department of Management Engineering.Ordnance Engineering College,Shijiazhuang 050003,China 2)Ordnance Technology Institute,Ordnance Engineering College,Shijiazhuang 050003,China ABSTRACT Based on the Petri net theory,ECA rules was researched and a basic Petri net model was estab- lished.Special research was made on how to use a Petri net to ex press compound event ECA rules,and an ex- tended Petri net system was put forw ard.Considering the feature of ECA rules in general,the Petri net model based on an ECA rule sy stem reflects the sy stem feature of ECA rules in all aspects.Through forming the reach- ability tree and transition sequence,the ECA rule system and its action feature can be understood clearly,and rationality verification on the rule system is convenient to make and to help a system administrator to analyze and manage it. KEY WORDS Petri net;ECA rule;compound event
图 4 可达标识树 Fig.4 Reachability tree 而如何利用 Petri 网技术对规则系统的可终止性、并 行性等系统行为进行分析, 还需深入研究. 参 考 文 献 [ 1] 周志逵, 江涛.数据库理论与新技术.北京:北京理工大学出 版社, 2001:86 [ 2] Widom J.The st arburst active database rule syst em .Knowl Data Eng, 1996, 4:583 [ 3] 左万利.关联图与主动规则集终止性分析.软件学报, 2001, 12:276 [ 4] 印桂生.主动数据库系统的关键技术及其应用研究.哈尔滨: 哈尔滨工程大学出版社, 2000:164 [ 5] Zimmer D, M eckenstock A, Unland R.Using petri nets f or rule termination analysis∥Proceedings of the Workshop on Dat abases: Active and Real-Time.New York:ACM Press, 1996:29 [ 6] 金光灿.分布式数据库管理系统中主动机制的设计与实现. 华中理工大学学报, 1996, 5:7 [ 7] 左万利.复合时序事件及其基于 Petri 网的检测.系统工程学 报, 2003, 6:262 [ 8] 袁崇义.Petri 网原理.北京:电子工业出版社, 1998:83 [ 9] 林闯.随机 Petri 网和系统性能评价.北京:清华大学出版社, 2005:146 [ 10] 林闯, 陆维明.Petri 网用于知识表示.计算机学报, 1992, 16( 1) :32 ECA rule system model based on Petri nets SONG Li 1) , AI Diming 2) 1) Department of Management Engineering, Ordnance Engineering College, Shijiaz huang 050003, C hina 2) Ordnance Technology Institute, Ordnance Engineering College, Shijiazhuang 050003, C hina ABSTRACT Based on the Petri net theory , ECA rules w as researched and a basic Petri net model w as established .Special research was made on how to use a Petri net to ex press compound event ECA rules, and an extended Petri net system was put forw ard .Considering the feature of ECA rules in general, the Petri net model based o n an ECA rule sy stem reflects the sy stem feature of ECA rules in all aspects.Through forming the reachability tree and transition sequence, the ECA rule system and its action feature can be understood clearly, and rationality verification on the rule system is convenient to make and to help a system administrator to analyze and manage it . KEY WORDS Petri net ;ECA rule ;compound event · 1068 · 北 京 科 技 大 学 学 报 第 29 卷