|
本文在Petri网的基础上,引入本体,提出了本体驱动的Petri网建模方法。通过定义工作流元模型本体,将工作流模型用本体语言表达,从而建立本体与Petri网的对应关系,将本体丰富的语义特征与Petri网强大的分析能力相结合,由于本体具有丰富的语义表示与语义推理能力,从而有效地解决了Petri网建模方法语义分析能力不足的问题。该方法增加了工作流系统的灵活性与可扩展性。
本体
本体最早是哲学上的一个概念,它作为一门学问起源于对万物本源的追问。在人工智能领域,本体论是一个逻辑理论,用来说明一个正规(formal)词汇表的预定含义,允许在本体构造过程中定义良好的语义并具有基于逻辑的推理能力。
定义1 概念是一个二元组Concept=<ConName,ConAttrSet>,其中,ConName表示概念名称,惟一指定所要描述的事物;ConAttrSet为概念的属性集,描述该概念所指事物的特征。
定义2 本体是一个三元组Ontology=<ID,ConSet,RelSet>,其中,ID 为本体的标识,ConSet为本体内部的概念集,RelSet为本体内部概念之间的关系集。
上述定义指出,概念是对所要描述的事物的一个抽象,概念可以有自己的属性。本体就是客观存在的概念以及概念之间的相互关系。
工作流元模型本体
基于WFMC提出的工作流过程定义元模型,工作流元模型本体的基本概念及其关系。
定义3 工作流元模型本体是一个本体,记作WFMO = <WfID,WfConSet,WfRelSet>。其中,WfID是工作流元模型本体的标识,惟一指定元本体。
定义4概念集WfConSet =
<Activity,Role,WorkFlowRelativeData,CalledProcedure,Transition,ControlStructure,Condition>。
其中,活动Activity =<ActiName,ActiAttr>,ActiName惟一指定活动,活动属性为ActiAttr =<PreActiCond,PostActiCond,ScheduleConstrain>,PreActiCond/PostActiCond为前/后活动条件,ScheduleConstrain为调度约束条件。
角色Role =<RoleName,RoleAttr>,Role惟一指定角色,角色属性为RoleAttr =<Responsibility, Permission, Restrains>,Responsibility, Permission ,Restrains分别为责任、权限和约束。
工作流相关数据WorkFlowRelative
Data=<DataName,DataAttr>,DataName惟一指定工作流相关数据,数据属性为DataAttr=<DataMode,DataPath,DataType>。其中,DataMode为数据模式,包括IN、OUT和INOUT三种,DataPath为数据的存储路径,DataType为数据类型。
被调过程CalledProcedure=<ProcName,ProcAttr>,ProcName惟一指定被调过程,被调过程属性为ProcAttr=<Returned_type,ExectionArgu,AccessPosition>,Returned_type为过程返回类型,ExecutionArgu为被调过程执行参数,AccessPosition为被调过程存取路径。
变迁Transition=<TranName,TranAttr>, TranName惟一指定转移,转移属性TranAttr=<PreActi,PostActi>,PreActi为前驱活动,PostActi为后继活动,表明该转移的来源与去向。
Condition=<CondName,CondAttr>,CondName惟一指定转移条件CondAttr=<CondType>,CondType为转移条件类型,包括过程条件、执行条件、通知条件等。
控制结构ControlStructure=<ConStrName,ConStrAttr>,ConStrName惟一指定了控制结构ConStrAttr=<ConStrType>,ConStrType为控制结构类型,包括顺序、与汇聚/分支、或汇聚/分支、迭代等几种结构。控制结构是用来连接工作流元模型本体的,
定义5关系集WfRelSet = <A_part_of, Refer_to, Have, Use>,其中,组成关系(A_part_of)描述整体和它的构成组件之间的关系。关联关系(Refer_to)描述概念间的一般依赖关系。拥有关系(Have)描述概念之间的包含。使用关系(Use)描述概念间的调用关系。
Petri网
Petri网最初由德国学者Carl Adam Petri在1962年提出,是一种可用图形表示的组合模型,具有直观、易懂和易用的优点,对描述和分析并发现象有它独到的优越之处。同时,Petri网又是严格定义的数学对象,借助数学开发的Petri网分析方法和技术既可以用于静态的结构分析,又可以用于动态的行为分析。
在网论中,首先定义的是有向网Net。
定义6 三元组Net=<S,T;F>为有向网的充分必要条件为:
1.S∩T= ,
2.S∪T≠ ,
3.F S×T∪T ×S,
4.dom(F)∪cod(F)= S∪T,其中,dom 和cod分别表示F的定义域和值域。
S和T分别成为Net的库所集和变迁集,F为流关系。库所和变迁又分别成为S_元素和T_元素。X= S∪T成为Net的元素集。
定义7 Petri网PNet定义为一个六元组PNet=<S,T;F,K,W,M0>,当且仅当满足条件:
1. Net=<S,T;F>构成有向网,称为PNet的基网。
2. K,W,M0依次为容量函数,权函数和标识,M0称为初始标识,其中,
K:S→N,称为Net的权函数。N为自然数集合。
M:S→N ∪{0},称为Net的标识当且仅当: ,M(s) ≤ K(s).
W:F→N,称为Net的权函数。
定义8 设x X,为PNet任一元素,
●x={y | (y, x) F}称为x的前置集(pre-set)或输入集,
●x={y | (x, y) F}称为x的后置集(pre-set)或输出集。
工作流网
在Petri网的基础上,Aalst提出了工作流网(WFnet)的概念,其定义如下:
定义9 一个Petri网PNet=<S,T;F,K,W,M0>被成为一个工作流网WFnet,当且仅当它满足下面的两个条件:
1. 该PNet有两个特殊的库所:i与o。库所i是一个起始库所,即 ●i= ;库所o是一个中止库所,即O●= 。条件1指出工作流网必须具有一个起始点和一个终结点,进入起始库所的托肯代表者一个过程实例的开始,而进入中止库所的托肯则意味着一个过程实例的结束
2. 如果在PNet中加入一个新的变迁t*,使t*连接库所o与i,即●t*={o}, t*●={i},这时所得的PNet是强连接的。条件2指出工作流网中不能存在处于孤立状态的活动和条件,(所谓孤立状态,是指经过该变迁或库所不存在由i到o的通路),所有的活动和条件都位于由起始点到中止点的通路上。
本体驱动的Petri网模型OPNet
上文给出了工作流元模型本体与工作流网的详细定义,工作流网实际上仍然是一种Petri网模型,其对工作流模型的行为分析局限于语法方面,不能够很好地完成工作流模型行为的语义分析。通过建立工作流元模型本体,将工作流模型用本体的语言表达,由于本体具有丰富的语义特征,因此可以较好的实现工作流的语义分析。
定义10 OPNet是一个二元组OPNet=<WFMOS,WFnet>。
其中,WFMOS为工作流元模型本体集合,通过工作流元模型本体可以详细定义一个完整的工作流过程;WFnet为工作流网。这样,将本体定义的工作流模型与Petri网定义的工作流模型结合,通过本体分析工作流行为的语义,通过Petri网分析工作流行为的语法。同时,由于WFMOS与WFnet描述的是一个共同的工作流模型,因此,他们之间存在着对应关系。
图2为一个OPNet实例,由WFnet创建的工作流网模型中有四个变迁x1,x2,x3,x4。以x1和x4为例,x1和x4的控制结构分别为与分解和与合并,与之相对应,在OPNet中构建两个工作流元模型本体WFMO1和WFMO2与之配对。每一个工作流元模型本体详细定义了OPNet中相应的变迁所代表工作流模型中的活动、角色、工作流相关数据、被调应用等语义概念,同时,每一个WFMO分别有一个变迁概念,变迁概念又包含条件与控制结构等概念。条件概念指出了该活动的发生条件以及完成条件,控制结构概念指出了该活动的控制规则,包括顺序、与汇聚/分支、或汇聚/分支、迭代等几种结构。因此,变迁概念完全包含了WFnet中的库所与变迁之间的流关系信息。
通过OPNet,基于工作流元模型本体与WFnet之间的对应关系,可以将工作流模型的语义信息通过工作流元模型本体形式嵌入WFnet之中,同时,如图2所示,仍然可以通过WFnet的图形界面进行建模,工作流模型的语义可以基于工作流元模型本体语言借助于WFnet的图形界面进行处理。这样,OPNet建模过程最大程度的与WFnet保持一致,语义处理可以通过本体的自动推理在后台完成,简化用户的操作负担。这样,在进行模型行为分析时,首先根据工作流元模型本体对工作流模型进行语义分析,在语义分析正确的情况下再以Petri对模型进行语法分析,从而能够实现本体驱动Petri网的行为分析。
|