APP下载

基于Petri网的即时情报服务系统工作流建模和分析

2021-07-19刘晓晖冯菲第五念东

电脑知识与技术 2021年13期
关键词:情报服务合理性变迁

刘晓晖 冯菲 第五念东

摘要:基于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.

【通联编辑:梁书】

猜你喜欢

情报服务合理性变迁
40年变迁(三)
40年变迁(一)
40年变迁(二)
新形势下新闻采访行为的合理性探讨
高校图书馆情报服务策略
清潩河的变迁
域外证据领事认证的合理性质疑
至善主义、合理性与尊重
医院罕见病图书情报服务对策研究
河南省产业竞争情报服务协作平台建设研究