基于Petri网的高校办公自动化工作流研究
2014-12-02董淑娟
董淑娟,张 哲
(黄河水利职业技术学院,河南 开封 475004)
0 引言
近年来,工作流和工作流管理系统建模主要采用 Petri网模型[1]。 Petri网是由德国学者 Petri最先提出的一类建模工具。它作为一种图形化的数学工具,不仅能很好的描述并发、异步、同步、冲突等重要现象,还有严格的数学基础。因此,被广泛地被用于系统建模[2]。
在办公子系统中,学生、教师、领导要处理很多事务,其中有些事务需要多个审批人同意后才能进行,于是进行事务申请、审批、实施的决策和管理尤为重要。事务审批工作需要处理不同类型的审批事务,每项事务对应一个输入(被审批的事务)和一个输出(处理完的事务)。在审批流程中,每一种活动都有先驱活动和后继活动。事务审批的这种特性符合工作流的基本性质。笔者通过分析不同的工作流模型,提出使用Petri网进行分析和设计事务审批工作。
1 办公自动化子系统工作流建模
1.1 Petri工作流网简介
Petri工作流网是一个三元组,即 PN=(P,T,F)[3]。其中,P为库所(Place);T为连接库所的有向弧变迁(Transition),是指与工作流相关的活动;F为流关系。
Petri工作流网必须满足以下条件:(1)PN有两个特殊的库所I和O。I库所是一个起点库所,满足·I=Ф;O 是一个终点库所,即 O·=Ф。(2)如果在 PN 中添加一个变迁t,t连接I和O,则新网为强连接的有向图。
1.2 工作流基本结构
基本的工作流结构有顺序结构、并行结构、条件选择结构、循环结构 4 种[4]。
1.2.1 顺序结构
顺序结构类型的工作流用来描述一系列按照一定顺序指定的活动,如图1所示。图1中,活动B的可实施时刻是活动A实施结束的时刻,即A活动与B活动顺序实施。
图1 顺序结构类型的工作流Fig.1 Workflow of sequential structure type
1.2.2 并行结构
并行结构用于描述可同时进行的分支活动,如图2所示。图2中,B、C两个活动是并行的,A活动结束后,B、C活动可以开始实施,时间上没有严格要求。图中,A的执行使得p1库所中的变迁转移到p2和p3中,B、C活动并行执行。D活动的执行需要B、C活动全部执行完才能进行。
分娩后产妇的注意力全部集中到孩子的安全和喂养方面,听到孩子哭声,看到婴儿正常的生理改变,都可能引起产妇精神紧张、焦虑。有些产妇因生女孩而情绪不安、伤心,从而导致产后出血;有些产妇分娩后由于精神过度兴奋而不眠。总体来讲,孕产妇心理特征综合表现为紧张恐惧、焦虑怀疑、烦躁不安、依赖无主、诸者兼备。
图2 并行结构的工作流Fig.2 Workflow of parallel structure type
1.2.3 条件选择结构
条件选择结构是根据工作流的执行决定下一个活动的执行。执行的过程分为两类:活动具有两个库所,每个库所执行不同的活动;活动对应一个库所,之后有多个活动执行的选择。具体如图3所示。
图3 选择结构的工作流Fig.3 Workflow of selective structure type
图 3(a)中,A 活动对应一个输入库所 p2,p2库所通过或分支(OR-split)隐式选择执行B或者C活动,然后通过或连接(OR-jion)到输出库所 p3,最后D的活动开始实施。图3(b)中,描述A活动对应不同的库所,是一个显式分支,B、C活动执行后,才能开始D活动的实施。
1.2.4 循环结构
循环结构适用于描述某种活动重复执行多次以后才能进行下一个活动的工作流。模型图如图4所示。
图4 循环结构的数据流建模Fig.4 Data-flow modeling of loop structure
1.3 办公子系统工作流数据建模
建立参与事务的数据模型主要分为以下几个步骤。
(1)定义事务中的文档数据对象模板,如出差学习申请表、考察申请表、公文表、设备购买申请等。文档数据类 DOC={doc1,doc2,doc3,…,docn}。 在每一具体工作流实例中,处理的文档为对应文档的实例。
(2)定义文档操作权限,即可对文档进行的操作,如审批、修改、删除、回复信息等。操作权限定义为OP={op1,op2,op3, …,opn}。
(3)组织模型。组织模型用于描述部门信息,描述为 OR={or1,or2,or3, …,orn}。
(5)定义工作流 WFk={NAMEk,wti}。 NAMEk 为工作流的名称,wti为工作流中的一个操作。
2 办公自动化子系统的工作流设计
2.1 公文流转的Petri工作流模型
以一个院级公文为例,若某一部门起草并发布一个公文的流程图,如图5所示。
该公文发布流程包括公文起草、公文校对、部门领导审阅、公文修改、选择会签人员、提交初级审核、院领导审阅和会签、院领导审核、公文签发、公文归档,对应的操作人员包括公文撰写员、公文校对员、发起公文的部门领导、其他部门领导、院领导。公务撰写人起草公文后,公文校对员进行校对,将校对后的公文流转给公文起草部门领导,部门领导进行审阅。当公文的内容不能通过审核时,将公文流转给公文撰写人进行修改;如果公文的内容通过部门领导审核,部门领导选择部门内其他一个领导进行会签,这可以使用选择分支(OR-split)实现。然后,将会签后公文流转给指定的院领导1。对于内容不太重要的公文,院领导1可以直接签发公文;如果公文的内容比较重要,院领导1需要其他主管院领导对该公文做出批示后,再审核、签发(如果主管院领导不同意签发,院领导1将公文流转给公文撰写人)。公文签发后,文档管理员进行公文归档。使用Petri工作流模型对该公文进行描述,如图6所示。
图6中,库所P表示角色、组织或人员、公文状态组成的数据,变迁T表示公文流转过程中对公文的处理事件。各库所和变迁的具体含义如表1所示。
2.2 公文流转工作流种类及路由设计
由公文流转的Petri工作流模型可以看出,工作流的设计要点为角色、状态以及事件[5]。公文工作流包括公文发起、分发以及归档的相关信息,具体如表2所示。
在公文起草时,依据工作流的类型,选择应用库中的文档模板,生成相应的信息。
在公文流转流程中,如何控制公文流转的步骤是问题的中心点,也称为工作流的路由。工作流的路由是在每一种工作流定义时完成[6]。每种公文对应的步骤是公文流转的关键,即在该公文的流转步骤中,公文流转时的角色、状态、任务等需要确定。工作流程的步骤定义如表3所示。
图6 公文流转工作流WF的Petri模型Fig.6 Petri model of official document process workflow
表1 公文流转工作流WF的Petri模型变量说明Table 1 Variable declaration of Petri model of official document process workflow
在公文流转的步骤中,除了顺序执行各个活动,可能存在并行活动。对于并行活动,有两种解决方法,一种是采用多个步骤描述,多个步骤列表作为并行活动前的步骤的后续;一种是直接将并行的步骤合并为一个步骤,在处理时流转给多个角色,并获取每一个角色的活动返回。这种规则保存通过表单中的内容实现,具体实现要通过程序控制。
表2 公文工作流种类表Table 2 Official document workflow types
表3 工作流程的步骤定义表Table 3 Definition of workflow process
2.3 公文信息设计
发起的公文必须是已经存在的公文工作流种类中的一种,因此,可以根据提供的模板和工作流的步骤进行公文的流转。公文基本信息表如表4所示。
某些公文发布时,需要一些辅助的材料,其使用附件描述。公文附件表如表5所示。
公文的公文缓急程度表示公文处理的优先级,它分为普通、紧急、特急3类,其字段类型及长度为varchar(10)。公文密级表描述公文的保密程度,分为绝密、机密、秘密等,字段类型及长度为varchar(10)。缓急程度序号和公文密级号均为自动编号。
2.4 公文的流程处理信息设计
描述一个具体公文流转工作流不仅需要获取整个步骤,还要了解当前在第几步、时间节点以及人员等相应的信息。这里使用公文流程处理表6描述。
3 公文流转的实现流程
以图5中的工作流为例,假设该公文为信息工程系起草的“学生业余上机相关事项”的公文。描述该工作流的实现过程如下。
(1)在公文流程处理表中添加该工作流种类的信息。查看工作流对应的事项类型是否满足要求。如果不满足,要求办公自动化子系统管理员增加工作流设计,并添加相应的工作流步骤信息。如果满足,则选择该工作流种类,并依据给定的表单,起草公文。该步对应的库所为p1,对应的变迁为T1。
(2)设计公文的相关信息以及步骤的相关信息。系统将完成工作流中的下一步骤,即传递给校对员,对公文进行校对。对应的库所为P2,变迁为T2。
(3)校对员完成校对后,将公文传递给部门领导,即信息系的副主任进行审核。通过审核后,副主任将该公文进行系内领导会签,即执行T4变迁;如果审核不能通过,将执行变迁T3,即将该公文回退给起草人进行修改,或者取消该工作流。
表4 公文基本信息表Table 4 Official document basic information list
表5 公文附件表Table 5 Official document attachment
(4)部门会签后的公文传递给指定的校领导,对应的库所为P7。该用户通过审核,对公文内容进行判定,可以选择发布公文(T6变迁)和选择其他院领导审阅公文(T7变迁);如果不通过审核,则执行T3变迁,公文回退到起草人员。
(5)院领导1选择与其他院领导审阅后,根据审阅的批示对公文进行下一步处理,如果不通过,则执行T3变迁,公文回退给起草者;如果通过,则执行T11变迁,发布公文。
(6)公文发布完成后,由文档管理员将公文存档。对应的库所为P12,变迁为T12。
4 结语
在高校办公自动化子系统中,很多事务需要多个审批人后才能进行,因此,进行事务申请、审批、实施和管理尤为重要。本文通过几种工作流模型的对比,建立了适合办公自动化子系统的工作流模型。通过数据路由、数据处理流程和处理步骤的限制,实现数据流的流转,解决了办公自动化系统中的工作流自动处理和流转问题。该方法使得办公自动化子系统的设计变得流畅,满足了系统的功能,将为办公自动化的实现阶段做好了铺垫。
表6 公文流程处理表Table 6 Official document workflow process
[1]刘斌,张建东,李杜娟,杨启明.基于Petri网理论的FCAE-ASM 建模与性能分析[J].计算机应用研究,2011,28(3):1092-1094.
[2]费玲玲,唐兴艳.基于WF-net的工作流模式建模与仿真[J].计算机仿真,2011,28(4):96-99.
[3]杨波,彦坤,姜劲松,胡谷雨.面向Web服务架构的协同工作流模型[J].计算机工程与设计,2011,32(3):927-930.
[4]莫裕清,杨光辉.基于Petri网的OA系统主控模块工作流建模[J].微计算机信息,2011,27(5):120-122.
[5]范玉顺.工作流管理技术基础[M].北京:清华大学出版社,2001.
[6]王亚文,刘智平.一种基于时间权重的Petri Net工作流工程建模[J].微电子学与计算机,2011,28(3):153-156.