标题 | 基于Petri网的即时情报服务系统工作流建模和分析 |
范文 | 刘晓晖 冯菲 第五念东 摘要:基于Petri网络建立工作流,既可以将Petri网络作为图形化的建模工具,同时又可以利用它坚实的数学定义,对模型做出精确的分析,可以降低建模难度、简化过程,同时又能保证所建模型的正确性。本文通过对即时情报服务系统的业务流程分析,提出了一个基于Petri网络的即时情报服务系统工作流模型,并对该工作流模型进行正确性分析。该模型成功应用于即时情报服务系统建设中。 关键词:Petri;工作流 中图分类号:TP393? ? ? 文献标识码:A 文章编号:1009-3044(2021)13-0235-02 Abstract: Real-time intelligence service system is a typical workflow system, this paper applies Petri for modeling real-time intelligence service, and analyses the workflow modeling. Key words: Petri; Workflow 1 前言 按照国际工作流管理联盟(WfMC) 对工作流的定义:工作流是能够完全或者部分自动执行的过程。工作流建模是完成对目标系统业务过程的抽象表示,主要解决工作流流程的描述,在工作流合理性验证上缺乏相应的数学模型。应用Petri网络建立工作流,既可以将Petri网络作为图形化的建模工具,同时又可以利用它坚实的数学定义, 对模型做出精确的分析。本文基于Petri网络对即时情报服务系统工作流进行建模,同时给出即时情报服务系统工作流合理性分析。 2 基本概念介绍 2.1 Petri网 德国科学家Carl Adam Petri提出的Petri網,是以双边有向图来描述业务过程, 该方法利于分析和正确性验证, 并具有精确的数学定义和数学基础, 是工作流建模和分析的有力工具。 Petri网是一个三元组(P,T,F), P:库所的有限集,T:变迁的有限集;F :一个P元素和一个T元素组成的有序偶的集合,其充分必要条件是: ⑴? P ∩ T=? ; ⑵? P ∪ T≠? ; ⑶? F[?](P×T)∪(T×P) ( ×为笛卡尔积); ⑷? dom (F) ∪ cod(F ) = P ∪ T ; 其中 dom(F) = { x∣[?]y : (x,y) ∈ F } cod(F) = { y∣[?]x : (y,x) ∈ F } 分别为F 的定义域和值域。 2.2 工作流网络 工作流网是在Petri 网的基础上用来对工作流的合法性、有效性进行验证,包括顺序、并行、选择和循环四种路由结构,工作流所有执行结构都可由这四种路由结构组合而成。 2.3 工作流网络合理性验证 工作流模型的合理性、有效性是模型分析的主要部分,需要从工作流模型出发,保证模型不存在结构上和行为上的死锁状态[5]。国内外很多学者采用文献[6]中对工作流合理性的定义,即工作流网是合理的,只有它的每一个变迁都属于一条从开始状态M0到终止状态M的执行序列上;当终止库所拥有,其他库所没有令牌时;模型中不存在执行不到的节点,即没有死锁。 3 即时情报服务系统模型 即时情报服务系统是利用单位网络平台,通过网上流转,提高情报服务的快捷和方便性,对科研生产提供支持和保障作用。如图1所示,即时情报服务系统流程图如下: 使用工作流网络对图1所示即时情报服务系统流程建模,可以得到图2所示的Petri网络模型。 4 即时情报服务系统Petri 网络合理性验证 利用文献[6]中提出的合理性定义,验证如下: 初始状态:[M0=1,0,0,0,0,0,0,0],now = [M0];History = [M0]; Transitions = ?;Places = {1,0,0,0,0,0,0,0}。 步骤1:只有变迁T1触发,得到状态 M1 = {0,1,0,0,0,0,0,0},其中M1是新状态: Now = [M1] History = [M0,M1] Transitions = [T1] Places = {1,1,0,0,0,0,0,0} 步骤2:只有变迁T2触发,得到状态 M2={0,0,1,0,0,0,0,0},其中M2是新状态: Now = [M2] History = [M0,M1,M2] Transitions = [T1,T2] Places = {1,1,1,0,0,0,0,0} 步骤3:变迁T1,T3触发,得到状态M1和M3={0,0,0,1,0,0,0,0},其中M3是新状态: Now = [M3] History = [M0,M1,M2,M3] Transitions = [T1,T2,T3] Places = {1,1,1,1,0,0,0,0} 步骤4:变迁T2,T4触发,得到状态M2和M4={0,0,0,0,1,0,0,0},其中M4是新状态: Now = [M4] History = [M0,M1,M2,M3,M4] Transitions = [T1,T2,T3,T4] Places = {1,1,1,1,1,0,0,0} 步骤5:变迁T1,T3,T5触发,得到状态M1、M3和M5={0,0,0,0,0,1,0,0},其中M5是新状态: Now = [M5] History = [M0,M1,M2,M3,M4,M5] Transitions = [T1,T2,T3,T4,T5] Places = {1,1,1,1,1,1,0,0} 步驟6:变迁T2,T4,T6触发,得到状态M2、M4和M6={0,0,0,0,0,0,1,0},其中M6是新状态: Now = [M6] History = [M0,M1,M2,M3,M4,M5,M6] Transitions = [T1,T2,T3,T4,T5,T6] Places = {1,1,1,1,1,1,1,0} 步骤7:变迁T1,T4,T5,T7触发,得到状态M1、M4、M5和M7={0,0,0,0,0,0,0,1},其中M7是新状态: Now = [M7] History = [M0,M1,M2,M3,M4,M5,M6,M7] Transitions = [T1,T2,T3,T4,T5,T6,T7] Places = {1,1,1,1,1,1,1,1} 步骤8:没有新的状态可以产生,结束验证。 由以上验证步骤可以得出,向量Places={1,1,…,1},并且集合Transitions = T,表明该Petri网络表示的工作流是正确的。 5 总结 即时情报服务系统是一种典型的工作流系统,本文应用Petri网技术对即时情报服务系统进行工作流建模,并对工作流模型进行了合理性分析。Petri网在即时情报服务系统中的应用,为系统的开发提供了坚实的基础。 参考文献: [1] HOLLINGSWORIH D.The workflow reference model,TCOO-1003[R].[S.l.]: Workflow Management Colition,1995. [2] Van der AALST W M P.The application of Petri nets to workflow management[J].Journal of Circuits,Systems and Computers,1998,8(1):21-66. [3] 袁崇义.Petri网原理与应用[M].北京:电子工业出版社,2005. [4] 吴哲辉.Petri网导论[M].北京:机械工业出版社,2006. [5] 黄瑜岳,李克清.基于Petri网的工作流合法性验证综述[J].计算机应用研究,2013,30(1):26-29. [6] 周福明,吴斌,顾庆,等.基于Petri网的工作流建模与正确性分析[J].计算机科学,2005,32(2):121-124. [7] 高捷,吴华瑞.基于矩阵模型的工作流合理性验证算法研究[J].计算机工程与设计,2010,31(11):2621-2624,2628. 【通联编辑:梁书】 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。