工作流模型设计.docx
- 文档编号:30655240
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:14
- 大小:77.73KB
工作流模型设计.docx
《工作流模型设计.docx》由会员分享,可在线阅读,更多相关《工作流模型设计.docx(14页珍藏版)》请在冰豆网上搜索。
工作流模型设计
工作流模型设计
2006-12-30 作者:
葛志春 网友评论0条 点击进入论坛
摘要:
工作流模型是组织机构经营过程的模型表示,但由于工作流建模理论研究的相对滞后,现行工作流管理系统中普通存在语义不够丰富、柔性不好、表示不直观等问题。
为此作者在开发UniFlow工组流管理系统时,设计了一套基于有向图理论的工作流模型,该模型有效的解决了这些问题。
本文主要从工作流模型理论出发向读者介绍了本模型的设计思想。
文章首先详细介绍了工作流模型的定义和组成关系,然后详细介绍了基于有向图理论的工作流模型的主要功能和设计思想。
关键词:
工作流工作流模型 有向图 过程
1引言
工作流模型是对组织机构业务过程的抽象表示。
工作流模型是整个工作流管理系统的基础,它的确定性保证了系统内各组成部分之间交互的一致性,也决定了一个工作流管理系统从设计开发到运行实施的诸多环节。
不同的工作流模型也就形成了不同的工作流管理系统。
相对工作流产品的实现技术和发展而言,工作流建模理论的研究相对滞后,在建模方法上还没有形成比较系统化的理论体系。
目前已有的建模方法主要有:
基于活动网络的建模方法、基于Petri网的建模方法、基于语言行为理论的建模方法、基于活动与状态图的建模方法和基于扩展事务模型的建模方法等。
但这些工作流模型普遍都存在以下问题:
(1)模型语义不够丰富,表示复杂问题的能力不足;
(2)模型的柔性不好,不容易处理在执行过程中出现的不确定性问题;(3)表示方法不够直观等。
在信息管理自动化的环境下,工作流模型必须采用简单、直观、又具有较强描述能力的面向组织用户的模型。
因此,作者设计UniFlow工作流管理系统时,在参照工作流管理联盟(WorkflowManangementCoalition简称:
WfMC)工作流理论的基础上,博采众长,建立了基于有向图理论的UniFlow工作流管理系统工作流模型,该模型有效的解决了工作流模型中普通存在的问题。
下文主要向读者详细介绍这一模型的相关理论与设计思想。
2工作流模型概要
企业、政府机关等组织机构是一个复杂的系统,用过程的观点来看待这些组织机构,组织机构的组成元素就是过程,过程的组成元素就是活动;工作流模型就是对这些业务过程的抽象表示。
过程是指为了完成组织机构的某个经营目标或任务,而按某种顺序联结在一起的一系列活动。
过程的主要属性有:
触发事件、过程结果、执行规律集。
过程的执行规律集用来描述过程内部各活动、子过程之间的控制流程。
执行规律集由顺序、并发、与、或、循环等五种连接关系组成,通过这五种连接可以完整的描述活动与活动之间的逻辑关系。
活动是指一种变换或操作,是组织机构过程的最基本单元。
一个活动的属性由功能输入、输出,资源输入、输出、控制输入、输出和活动的描述等组成。
功能输入、输出是指活动中要运作、产生的组织机构对象,它们描述了组织机构过程的物流,所以通常与上级过程的执行规律集有紧密联系。
资源输入、输出是指活动执行所占用、释放的资源,包括执行活动所必须的设备、物料、人员等,它们不仅可以在一定程度上描述不同活动之间的竞争关系,还可以用于实现对过程的分析和优化;控制输入是指对活动进行控制和限制的信息单位或对象;控制输出是活动结束状态的信息单位集合;活动描述是与活动执行有关的具体信息,如活动的编号、名称、优先级、成本核算单位、开始时间、完成期限、执行者、负责人、所需资源等。
功能输入、资源输入、控制输入统称为活动的前条件,前条件对活动的发生有制约作用,只有所有的前条件都满足了,活动实例才能进入“活动”状态;功能输出、资源输出、控制输出统称为活动的后条件,后条件影响着后继活动实例的发生。
一个完整的工作流模型主要有工作流表示方法、工作流元模型、工作流模型接口和建模工具组成。
3工作流模型的有向图表示
组织机构的一个完整的业务流程是由一系列最基本的生产活动按照一定的逻辑顺序和规则组成的,这些生产活动与他们之间的逻辑关系可以直观的映射成为一个由节点和连接弧组成的有向图。
有向图中的节点即表示一个可执行的活动单元,连接于两个节点之间的有向弧即表示活动间的先后顺序关系。
3.1有向图理论基础
对基于有向图理论的工作流模型,我们作如下定义:
1)有向图G={N,L}为一个二元组,N={n1、n2、n3….ns}为节点集合,L={l1,l2,l3….ls}为连接弧集合,其中li=(nj,nk)为从nj指向nk的连接弧,nj,nk∈N。
2)对于任意ni,nj∈N.若有连接弧l=(ni,nj)∈L,则ni为nj的一个前驱节点,nj为ni的一个后继节点,l称为nj的一个输入连接弧,或者ni的一条输出连接弧。
3)若N’包含于N,且N’={n’|(n’,n)∈L},则N’为节点n的前驱节点集,记为Pre(n);
4)若N’包含于N,且N’={n’|(n,n’)∈L},则N’为节点n的后继节点集,记为Post(n);
5)节点状态:
对于任意n∈N,有状态函数State(n)={0,1},当节点n处于非执行状态时,State(n)=0;当节点n处于执行状态时State(n)=1。
初始时刻,任意State(n)=0。
6)转移函数:
对于任意l∈L,有转移函数Trans(l)={0,1};如果Trans(l)=1,则连接弧l容许发生转移(是否发生转移,则要取决于后面的演进规则):
如果Trans
(1)=0,则连接弧不能发生转移。
7)演进规则:
有向图的演进规则是由节点状态的改变与连接弧发生转移这两个动态因素相互作用而完成的,因此,规则包含如下两个方面:
(1)对于任意n∈N
●当State(n)=0时,若存在l=(n’,n)发生转移,则State(n)=1;
●当State(n)=1时,若节点n执行完毕,则State(n)=0;
(2)对于任意l=(n,n’)∈L
●当State(n)从1变为0时,若Trans
(1)=1,则连接弧l发生转移;
●若Trans
(1)=0,则连接弧l不发生转移,直至下一次State(n)从1变为0的时候再使用此规则。
3.2节点类别
在基于有向图的工作流模型中有向图的节点代表了具有如下特征的多种实体:
1)与业务中实际存在的事件或活动有着直接的对应关系;
2)本身有着具体的或人为定义的含义;
3)能与其他节点形成一定的逻辑关系;
因此,区分不同类别的节点、对节点进行具体的类别定义不仅可以明确节点的含义,同时也增强了模型的语义。
在这里我们赋予节点有如下几种类型的定义:
活动、子过程、开始、结束、同步节点。
3.2.1活动
活动是指在一个不间断的时间间隔内为实现某一目标由人工或系统自动完成的一个原子任务,它是组成业务流程的基本单元。
一个工作流管理系统的所有活动的集合覆盖了组织中各类业务流程的全部细节。
活动按自动化程度可分为两类:
人工型活动和自动型活动。
人工型活动是通过工作表(任务表)的生成来通知相关人员,依靠人员手工或启动应用的方式来完成。
自动型活动则是在工作流的驱动下直接驱动应用或利用自动化设备来完成的活动;这种自动型活动充分体现了工作流管理系统所实现的组织内部不同应用间的过程集成。
3.2.2子过程
作为组成业务流程的最基本单元,活动是指不能被进一步分解的原子单元。
但在流程较复杂时活动结点数也必然增加,且关系复杂,因此,我们引入了子过程的概念。
子过程是一类能够分解的节点类型,它的内部可以包含所有元素类型,实质上是一个子业务流程。
子过程的引入大大增强了模型的表达能力,使模型具有了层次的概念,并支持自顶向下的建模过程。
同时,我们规定子过程可以出现在任何层次。
3.2.3开始节点与结束节点
开始节点和结束节点是两个标志性的节点,用来标识流程的开始和结束。
一个工作流程具有唯一开始点和结束点。
3.2.4同步节点
在将一个实际的业务流程映射成为工作流模型时,很重要的一点,就是要保证活动间的逻辑关系不变。
“与”和“或”是两类最基本的逻辑关系,它是表达各种复杂关系的基础,工作流模型必须具备表达“与”和“或”关系的能力。
我们在前面定义的演进规则,对于任意一个处于非执行状态的节点n,只要有一条输入连接弧发生了转移,那么该节点即可被执行,这实际上就表达了“或”的关系。
即∪{n’∈Pre(n),l=(n’,n)∈L,Trans(l)=1且l发生转移}。
对于“与”的关系增加同步节点S来表示,它对活动起协调、同步的作用。
我们规定,同步节点S的动态行为完全遵循演进规则,所不同的是,当S处于执行状态时,即State(S)=1时,将判断它的所有输入连接弧是否发生转移;若是,则S的状态就由1变为0,即S执行完毕;否则S仍处于等待状态,并继续判断,直至满足上面的条件后才执行完毕、发生转移,State(S)=10。
这意味着同步节点将使它的所有前驱节点都执行完毕后才继续推进流程,这实际上就表达了“与”的关系∩{n’∈Pre(n),l=(n’,n)∈L,Trans(l)=1且l发生转移。
3.3连接弧
连接弧作为有向图中的另一种组成元素表达了有向图中不同节点元素之间的逻辑关系。
它从前驱节点指向后继节点,体现了节点状态的转移和有向图的演进。
连接弧发生转移根据条件Trans(l)进行,如果Trans
(1)≡1则为永真型条件,否则为不定型条件。
对于不定型条件根据实际情况取值。
在工作流模型设计时我们将连接弧分为三类:
普通控制连接弧、条件连接弧和条件设定连接弧。
3.3.1 普通控制连接弧
普通控制连接弧,即永真型连接弧,它不需要任何条件的判断,只要前驱节点执行完毕,即可激活后继节点。
3.3.2 条件连接弧
条件连接弧,即不定型连接弧,它的转移函数的取值是需要在具体的工作流实例执行过程当中由工作流引擎或人工加以判断来确定的。
如果条件成立即可执行后继的节点。
3.3.3 条件设定连接弧
条件设定连接弧可以用来动态的设定活动的执行条件、完成条件和时间要求等条件。
工作流模型通过动态的设定这些执行和判断条件,可以大大提高工作流管理系统的柔性。
3.4工作流模型的设计
从以上理论,我们可以得出工作流模型中的元素可以分为节点、连接弧和状态三大类;利用面向对象的继承性,我们设计了如图1所示的工作流模型。
该工作流模型定义了三个基类:
节点类、无条件连接弧和状态类。
由节点类可以派生出7个子类:
人工型活动、自动型活动、同步节点、协调节点、开始、结束,子过程。
由无条件连接弧可以派生出条件连接弧和条件设定连接弧两个子类。
子过程由除节点类外的各个类聚合而成(包括子过程本身)。
图1、工作流模型设计
4、工作流模型定义
工作流生成是工作流建模的核心,它根据用户在建模工具界面的输入产生可被工作流引擎解释执行的工作流。
在工作流生成模块设计时,必须做两个方面的工作:
(1)定义一个元模型,所谓元模型是指描述工作流模型的模型,用于描述工作流模型内部包含的各个对象和对象之间的关系及对象的属性。
(2)定义一套可以在工作流管理系统之间、管理系统与建模工具之间的交互过程模型定义接口,即工作流管理系统接口。
4.1工作流元模型
工作流元模型包含了工作流定义、活动、转换条件、工作流相关数据、执行者、资源、需要激活的应用程序、数据窗口等基本实体,如图2。
4.1.1工组流定义
工作流定义基本反映了业务过程的目的,即这个过程要实现的目的和最终达到的目标是什么。
工作流定义一般包含诸如工作流名称、过程启动和终止条件、系统安全、监控和控制信息等一系列基本属性。
4.1.2活动
活动相应于业务过程中的任务,主要反映完成业务过程需要执行那些功能操作。
活动主要属性有活动名称、活动类型(原子级活动、子流程等)、活动的前后条件、调度约束参数(如最长处理时间、排队等待时间等)等。
4.1.3转换条件
转换条件对应于组织机构经营过程中的业务规则和操作的顺序,如在订单处理完成后,执行生成计划制定。
转换条件主要负责为过程实例的推进提供导航依据,主要参数包括工作流过程条件(flowcondition)和执行条件(executioncondition)。
工作流过程条件是过程实例向前推进的条件,它可以认为是前/后工作条件的同义词。
执行条件是指当任务到达时通知不同用户的条件。
图2、工作流元模型
4.1.4工作流相关数据
工作流相关数据是工作流引擎执行任务推进的主要依据。
工作流实例运行时工作流引擎主要根据工作流相关数据和转换条件进行推进。
工作流相关数据的属性包括数据名称、数据类型和数据值等。
如在银行贷款申请表处理后,根据申请贷款的值(如是否大于10万元)决定下一个的活动是什么,比如大于10万的申请请交业务经理,小于10万的申请交给业务人员处理。
4.1.5执行者
执行者主要描述执行活动过程中参与操作的人员和组织单位。
执行者属性主要包括角色的名称、组织实体(Organizationalentity)、角色职能等,角色或组织实体决定了参与活动的人员或组织单元。
4.1.6资源
资源主要描述执行活动过程中所需要的设备、物料等资源。
资源属性主要包括资源的名称、所需数量或工时、资源的使用成本等。
4.1.7应用程序
需要激活的应用程序主要描述执行活动过程所采用的工具或手段。
应用程序主要属性包括应用程序的类型、名称、执行路径及运行参数等。
如在活动过程中调用ERP软件或决策软件完成某个具体的企业业务功能。
4.1.8数据窗口
数据窗口(DataWindow),在每一个活动中可能包含一个或多个数据窗口,用于显示用户所需要的信息。
4.2工作流管理系统接口
工作流管理系统接口描述了工作流定义输入与输出接口;它在建模方面组要覆盖了以下几个功能:
通信建立:
建立各个参与运行的系统之间的通信连接,并且在完成协作后断开通信连接;
工作流模型操作:
对过程模型的名称进行检索,并完成对过程模型对象的读、写等;
工作流模型对象操作:
在建模工具中完成创建、检索和删除对象的操作和完成创建、设置和删除对象属性的操作。
5、工作流建模工具
工作流建模工具以工作流元模型为基础,通过分析不同类型的业务过程,采用有向图的方法对现实的业务活动进行形式化描述,建立业务过程到工作流模型的映射机制。
并在此基础上进一步扩展模型语义,增强工作流模型的表达能力,在图论和集合论的理论指导下确定方便、实用且形式上严格规范的工作流模型。
建模工具除了创建模型的功能之外,还包含模型分片、领域配置、应用维护等功能。
工组流模型由开始节点、结束节点、子过程、活动、同步节点、无条件连接弧、有条件连接弧、条件设定连接弧、注释文本等元素组成;在流程定义时还可以参考或引用组织数据、资源数据、业务过程,工作流相关数据、内部应用、数据窗口、外部应用程序等。
通过这些元素的有机组合,工作流建模工具可以完整地描述组织内部典型的工作流程
工组流建模工具一方面为用户提供了一个建立规范的业务过程的接口,另一方面,所建立的工作流过程可以存储于工作流库中作为工作流引擎的输入,投入运转、执行并接受监控。
建模工具的主要功能点如下:
(1)提供建立工作流模型所需的各类基本元素,比如活动、子过程、连接弧等;
(2)支持图形用户界面的基本操作,比如鼠标的点击与拖动;
(3)提供用户定义各模型单元属性的对话框;
(4)模型的保存与读取;
(5)支持多层次建模;
(6)与外部自动应用的接口。
6、结论
该工作流模型是UniFlow工作流管理系统的在流程定义阶段的一个重要部分,已在UniFlow中得到完整的实现。
同时UniFlow工作流管理系统目前也已在电子政务中取得了广泛的运用。
参考文献
[1] 林惠萍、范玉顺、吴澄,“支持企业经营过程重组的工作流仿真技术研究”,
[2] 范玉顺,《工作流管理技术基础》,清华大学出版社,2001.4
[3] 陶冶、范玉顺、罗海滨,“分布式工作流系统的可靠性研究”,
[4] 罗海滨、范玉顺、吴澄,“工作流技术综述”,
[5]范玉顺、吴澄,“基于工作流的CIMS应用集成支持系统研究”,
[6]刘佚名、范玉顺,“基于工作流的企业过程的建模和仿真技术研究”,
[7] 范玉顺、吴澄,“基于协调理论的工作流建模方法”,
[8] 陶冶、范玉顺、罗海滨,“提高分布式工作流管理系统的可扩展性”,
[9] 鲍震宁、范玉顺,“企业组织模型结构和建模方法研究”,
[10]罗海滨、范玉顺、吴澄,“一种面向企业用户的工作流模型”,
工作流技术介绍
工作流是针对工作中具有固定程序的常规活动而提出的一个概念。
通过将工作活动分解成定义良好的任务、角色、规则和过程来进行执行和监控,达到提高生产组织水平和工作效率的目的。
工作流技术为企业更好地实现经营目标提供了先进的手段。
1993年,国际工作流管理联盟(WorkflowManagementCoalition,WfMC)的成立标志着工作流技术开始进入相对成熟的阶段。
为了实现不同工作流产品之间的互操作,WfMC在工作流管理系统的相关术语、体系结构及应用编程接口等方面制定了一系列标准。
工作流管理联盟给出的工作流定义是:
工作流是指整个或部分经营过程在计算机支持下的全自动或半自动化。
在实际情况中可以更广泛地把凡是由计算机软件系统(工作流管理系统)控制其执行的过程都称为工作流。
一个工作流包括一组活动及它们的相互顺序关系,还包括过程及活动的启动和终止条件,以及对每个活动的描述。
工作流管理系统指运行在一个或多个工作流引擎上用于定义、实现和管理工作流运行的一套软件系统,它与工作流执行者(人、应用)交互,推进工作流实例的执行,并监控工作流的运行状态。
图1一个简单的工作流模型
工作流管理系统
“工作流管理系统是支持企业经营过程高效执行并监控其执行过程的计算机软件系统。
”
通常,工作流管理系统指运行在一个或多个称为工作流机的软件上的用于定义、实现和管理工作流运行的一套软件系统,它和工作流执行者(人、应用)交互,推进工作流实例的执行,并监控工作流的运行状态。
在这里需要强调指出的是工作流管理系统不是企业的业务系统。
在很大程度上,工作流管理系统为企业的业务系统运行提供一个软件支撑环境,非常类似于在单个计算机上的操作系统。
只不过工作流管理系统支撑的范围比较大、环境比较复杂而已,所以也有人称工作流管理系统是业务操作系统(BOS-BusinessOperatingSystem)。
在工作流管理系统的支撑下,通过集成具体的业务应用软件和操作人员的界面操作,才能够良好地完成对企业经营过程运行的支持。
所以,工作流管理系统在一个企业或部门的经营过程中的应用过程是一个业务应用软件系统的集成与实施过程。
工作流管理系统可以用来定义与执行不同覆盖范围(单个工作者、部门、全企业、企业间)、不同时间跨度(分钟、小时、天、月)的经营过程。
这完全取决于实际应用背景的需求。
按照经营过程以及组成活动的复杂程度的不同,工作流管理系统可以采取许多种实施方式,在不同的实施方式中,所应用的信息技术、通信技术和支撑系统结构会有很大的差别。
工作流管理系统的实际运行环境可以是在一个工作组内部或者在全企业的所有业务部门。
图2工作流管理系统实施的层次结构图
图3工作流管理系统结构图
工作流管理系统分类
根据所实现的业务过程,工作流管理系统可分为四类:
1)管理型工作流(administrativeworkflow):
在这类工作流中活动可以预定义并且有一套简单的任务协调规则,例如,大学里的课程选修,完成论文后的学位申请等。
2)设定型工作流(adhocworkflow):
与管理型工作流相似,但一般用来处理异常或发生机会比较小的情况,有时甚至是只出现一次的情况,这与参与的用户有关。
3)协作型工作流(collaborativeworkflow):
参与者和协作的次数较多。
在一个步骤上可能反复发生几次直到得到某种结果,甚至可能返回到前一阶段。
4)生产型工作流(productionworkflow):
实现重要的业务过程的工作流,特别是与业务组织的功能直接相关的工作流。
与管理型工作流相比,生产型工作流一般应用在大规模、复杂的和异构的环境下,整个过程会涉及许多人和不同的组织。
根据底层实现技术,可将工作流产品分为三类:
1)以通讯为中心:
以电子邮件为底层的通讯机制。
这种类型的工作流管理系统适合于协作型工作流和不确定型工作流,而不适于生产型工作流。
2)以文档为中心:
基于文档路由,它同外界应用的交互能力有限。
许多基于表的管理型工作流可以用以文档为中心的工作流实现。
3)以过程为中心:
这种工作流系统对应生产型工作流。
它们一般建立在数据库之上,有自己专用的通信机制并且提供了同外部进行交互的接口。
根据不同工作流系统所采用的任务项传递机制的不同,市场上的工作流产品又可以划分为四类:
基于文件的工作流系统棗以共享文件的方式来完成任务项传递。
这种类型产品开发得最早、发展最成熟、其产品品种较多。
代表产品有FileNet的VisualWorkFlo、IBM的FlowMark、InConcert的InConcert。
基于消息的工作流系统棗通过用户的电子邮件系统来传递文档信息。
这种类型的产品一般都提供与一种或多种电子邮件系统的集成接口。
代表产品有Novell与FileNet合作开发的Ensemble、JetForm公司的InTempo、Keyfile公司的Keyflow。
基于Web的工作流系统棗通过WWW来实现任务的协作。
这一类产品起步较晚(在95年以后),但是发展迅速,其市场前景十分看好。
许多供应商纷纷改进原有产品或开发新产品以增加对Web的支持。
代表产品有ActionTechnologies公司的ActionWorksMetro、Ultimus公司的Ultimus。
群件与套件系统棗虽然这一类产品与上面介绍的三种产品在任务传递方式上有很大程度的重叠,但是在这里却有必要把它们单独划分成一类,因为这一类产品都需要依赖于自己系统的应用基础结构,包括消息传递、目录服务、安全管理、数据库与文档管理服务等,它们本身就构成了一个完整的应用开发环境。
代表产品有IBM/Lotus公司的LotusNotes、Microsoft公司的Office与Exchange、Novell公司的GroupWise。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工作流 模型 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)