任怀庆,王巧玲
(通化师范学院 计算机学院,吉林 通化 134001)
计算机支持的协同工作CSCW(Computer Supported Cooperative Work)是一种全新的办公模式,其本质是在计算机和网络等现代通讯技术及设备的支持下,分布式的个体共同协作以完成一项工作[1],在当今发达的网络背景下,CSCW突破了传统的计算机应用概念,为时空上相互隔离的个体提供了“面对面”和“你所见即我见”的分布式协同工作环境[2].但是,正是由于CSCW任务的对象是分布的,资源是分布的,主体是分布的,给协同办公系统平台的设计带来了巨大的挑战,一个通用的CSCW系统是相当复杂的,必须满足基本的分布式协同特征,一般应具备以下几点:①协作性.CSCW系统的目的就是要支持分布式的个体以通过协作方式更好地完成任务.②整合性.由于CSCW系统的对象是分布的,包括各种硬件资源、信息资源、数据库资源等,在分布式网络服务的支持下,所有的资源对于分布在不同地理位置的个体来讲应该是透明的,CSCW系统能够透明地整合这些资源,这也是现代网络系统、分布式计算的目标之一.③时效性与时序性.CSCW系统协作的任务都是有时效的,并且对于协作的个体的操作顺序是有要求的,通常要在有效的时间内完成,并且要遵循一定的时序规则.④定制性.包括对操作人等主体的定制,也包括对业务流程、任务功能、时效、监督机制等的定制.⑤易修改性.CSCW系统始终以人为主体,而人员是易变动的,且环境、时效等都是易变的因素,因此CSCW系统必须能够满足这种特性,具有易于修改、易于维护的特征,以满足对业务变动、人员变动、时间进度变动等的修改.由此可知,CSCW系统是相当复杂的,设计一个通用的CSCW系统模型更具有一定的挑战性.
Petri网是一种图形化的建模工具,与其它建模方法相比,Petri网具有更严格的数学理论基础和直观易懂的图形表示[3],并且具有严格的系统分析技术,其优势是能更充分地描述系统的分布式并发性、异步性、不确定性等特点,适于建模分布式离散事件系统,而分布式协同办公正是这样一种分布式离散工作流.本文旨在利用Petri网技术及面向对象技术对通用CSCW系统进行建模,为设计一个结构良好、业务无关的集通讯、信息整合、应用整合和定制开发为一体的CSCW系统平台提供可靠的理论依据.
Petri网是一种抽象的信息流模型,可以形式化地表示信息流、工作流系统的模型.经典的Petri网由库所、变迁、有向弧、令牌等元素组成,可以用来模拟系统的事件、条件以及它们之间的关系[4,5].库所在Petri网的图形表示中用圆形节点表示,变迁用方形节点表示,库所和变迁之间的有向弧表示库所和变迁之间的转化关系,通常称有向弧前端的库所或变迁为输入,后端的库所或变迁为输出,为了表示动态的信息转化特性,引入了令牌标志,如果一个变迁的所有输入都有令牌标志,则该变迁满足激发条件,结果是变迁可以发生,并且该输出会获得令牌标志.图1为处理机作业处理的Petri网描述模型[4],从中可以看出Petri网可以描述动态的分布式工作流处理过程,图中的圆点表示令牌.
图1 处理机作业处理的Petri网描述模型
根据WfMC(工作流管理联盟)的定义,工作流可以分为四种流程结构,分别为顺序结构、并行结构、选择结构、并行结构以及循环结构[6],图2为Petri网表示的四种流程结构
图2 工作流四种流程的Petri网描述
根据以上四种流程结构,以及综合考虑协同办公工作流的分布式特点,给出以下适合于描述协同办公工作流的Petri网定义.
定义1 一个Petri网N是一个三元组[7],N=(P,T,F),其中,P是库所的非空有限集,T是变迁的非空有限集,并且满足:P∩T=ø,F是N的有向弧集,F⊆(P×T)∪(T×P).
定义2 变迁集T是一个二元组T=(N,M),可以表示工作流中的活动或任务,其中N为子Petri网,M为当前变迁的状态,M可以有三种取值,分别表示未执行、正在执行、执行完毕,如此定义的好处是满足面向对象程序设计以及模块化程序设计的需要,易于将Petri网直接映射至面向对象语言的类、结构中.
由定义2可以看出,Petri网的定义满足循环、嵌套关系,即Petri网中可以包含Petri网,对应至工作流系统中即代表工作流中可以包含工作流,满足了程序设计中模块化以及分层的概念,大任务可以化简为多个小任务完成,更符合现代面向对象程序设计技术.
基于上述定义以及对工作流特征的分析给出了文档审批工作流的简化模型,如图3,模型中没有考虑审批权限验证、角色处理等问题,也没有考虑审批人无法在规定时间内审批等问题,这些问题都可以通过在Petri网模型中添加库所条件、变迁(任务)循环等完成.本文中只给出简化模型以供参考.
图3 文档审批工作流的Petri网模型
由图3可知,文档审批工作流由Petri网模型描述非常适合,从文档制定开始至文档审批结束,每一步都可以用Petri网的元素准确地描述,其中变迁T2、T3为选择结构的任务变迁,表示审批人1和审批人2是可选的,即只要有一个人审阅通过,任务即为完成;变迁T2、T3、T4是有次序的,只有T2或T3完成后才能进入下一任务T4,T5与T2、T3、T4是并行的,即审批人4与审批人1、2、3可以对文档进行并行性审批.
本文主要介绍了Petri网的基本理论,并结合基于网络服务的分布式协同办公工作流的特点,提出了用Petri网理论进行协同办公的建模方法,使用Petri网建模具有明确的语义、清晰的图形表达方式,使得对工作流的处理更加明确,便于修改,能够更有效地对协同办公工作流逻辑进行验证,对应用程序的开发具有一定的指导意义.