基于活动网络的工作流过程模型FlowMark

在FlowMark中,一个完整的经营过程(工作流过程)由一个无自环的有向图构成。有向图中的节点元素表示可执行的步骤或任务,节点间的连接弧代表了过程中的控制流与数据流。组成模型的元素包括过程(Process)、活动(Activity)、模块(Block)、控制连接弧(Control Connector)、数据连接弧(Data Connector)和条件(Conditions)。

1)  过程:由一系列具体的步骤组成,为完成某一预定目标而定义。在这里,一个过程就是用一个有向图来表示的一个工作流,比如,向银行申请贷款就是一个过程。

2)  活动:过程中的每一个步骤是一个活动,在图中由一个节点元素来表示。它可以是程序活动(Program Activity),也可以是过程活动(Process Activity)。程序活动是指为活动绑定了一段程序代码,当活动开始时,相应的程序就执行:过程活动则是在活动的基础上嵌入了一个过程,当活动开始时,也就是开始了相应的过程,过程活动主要用于予过程的嵌套描述与模型的层次化分解。图6.1给出了活动的内部结构,主要包括输入数据箱、输出数据箱、开始与结束条件、状态以及绑定的相应程序或过程,它们的具体特点以及相应的应用场合将在下文中结合模型的其它元素进行描述。

3)  模块:有些类似于“过程”,但二者的区别在于,一个过程有一个唯一固定的标识,它可以在不同的工作流过程中使用:而模块则没有这一项,它只能被一个工作流过程所使用。模块也具有输入数据箱与输出数据箱。如果用编程语言来作比喻,模块就好比是介于"Begin"与"End"之间的内部代码,而过程则是外部的连接库代码。

4)  控制连接弧:用来定义两个活动之间的执行顺序,在有向图中以节点问的连接弧表示。当连接弧的起始节点执行完毕,工作流机将会根据控制连接弧的定义进行过程导航,使连接弧的终止节点能够被执行。控制连接弧与它们所连接的活动节点构成了整个工作流过程的控制逻辑。

5)  数据连接弧:定义两个活动问的信息流,在有向图中也是以节点间的连接弧来表示,由前一个活动的输出数据箱指向后一个活动的输入数据箱,意味着前一个活动的输出信息将被后一个活动所使用。数据箱中包含了工作流相关数据以及与该活动执行有关的具体应用数据,如图6.1所示。

6)  条件:用于定义过程执行中的约束。主要分为三种基本类型,属于活动外部的有一种,即转移条件:属于活动内部的有两种,即开始条件与结束条件。(1)  转移条件是定义在控制连接弧上的条件,根据对转移条件的判断结果"True"与"False”来决定是否执行下一个活动。 (2)  开始条件定义了活动在什么情况下才能开始执行,如对于用"AND"连接符连接几个前活动的开始条件是要求所有指向该活动的控制连接弧必须全部发生转移后,该活动才能够开始:对于用"0R"连接符连接几个前活动的开始条件是仅要求指向该活动的控制连接弧中有一条发生转移,该活动就可以开始。开始条件的设置提醒我们区分这样两个概念:活动被使能与活动被执行。当满足转移条件,控制连接弧发生转移时,我们称控制连接弧所指向的活动被使能,即该活动有可能被执行:但活动是否真的开始执行,则需要通过活动内部开始条件的判断来决定,只有开始条件得到满足,活动才真正开始执行。(3)  结束条件定义了活动在什么情况下才能够结束,当活动执行完毕后,活动的结束条件就被检验,如果为"True",活动则结束:如果为"False",则活动被重新执行,直到满足结束条件为止。通过结束条件的设置,可以定义需要多次循环执行的活动。

在运行时阶段,与活动相联系的一个重要属性是状态,因为状态是监控过程执行情况的基础。当活动可以开始执行时,状态为"就绪(Readv)",而且只有处于"就绪"状态的活动才能被执行,执行方式包括自动与人工两种类型:当活动开始执行后,状态由“就绪”转变为"运行(Running)":当活动执行完毕而且满足了活动的终止条件,状态则由"运行"转变为"终止(Terminated)"。当然,还有其他的状态与活动相联,比如异常挂起等。在正常的执行情况下,即不发生异常与例外的情况下,过程的推进主要是在以上提到的三个状态之间转换。

当一个过程开始以后,没有输入控制连接弧的活动(它们是初始活动)的状态将被首先置为“就绪”,因为它们将最先被执行,而且它们的执行表示了一个业务过程或者一个工作流实例执行过程的开始。任何一个活动执行完毕后,需要判断其终止条件是否满足,若条件不满足,则该活动由“运行”状态被重新置为“就绪”状态,以便继续执行:人工终止条件满足,则活动被置为“终止”状态,继而工作流机对由该活动发出的所有控制连接弧上的转移条件进行判断,以决定控制连接弧是否能够发生转移。对于转移条件判定为"False"的控制连接弧,它所指向的后继活动的状态被置为“终止”(这些活动并未经历“就绪”与“运行”状态,而是直接被标定为“终止”,原因是在这样的条件下它们不可能被执行),然后由这些被置为“终止”的活动所发出的控制连接弧也被置为"False",接下去重复同样的操作,把相应的后继活动置为“终止”,把“终止”的活动所发出的控制连接弧置为"False",这样的一个递归过程被称为“无效路径削减”。对于能够发生转移的控制连接弧,则继续判断该弧所指向的活动的开始条件是否满足,若满足,活动的状态则被置为“就绪”,以等待执行:若不满足开始条件,且活动不可能被执行,则该活动的状态被置为“终止”,然后进行前面提到的“无效路径削减”过程。当一个过程结束时,它其中的所有活动都应该处于“终止”状态。不难想到,其中的一些活动是真正被执行过而终止的,而有一些则是在“无效路径削减”的过程中被置为“终止”的,实际上这一部分活动并未真正运行。比如在上图给出的示例中,如果1—6是过程的执行顺序,那么“提出修改建议”与“发出回信”就是两个被“无效路径削减”过程所削减的活动。

上述的推进过程可以表示为图6.3所示的状态转移图。

FlowMark的工作流模型是一种典型的基于活动的IPO(输入一处理一输出)模型,以活动作为构成过程的基本单元,以连接弧体现过程逻辑,活动的输入数据箱与输出数据箱成为活动输入输出的接口,再辅以条件的设置,就能够比较简便、灵活地实现企业经营过程的建模。

除了IBM的FlowrMai4k所提出的这种基于活动网络的工作流模型以外,还有其他的工作流产品(如In(:oncert)或原型系统(如METEOR2)也推出了类似的模型。这些模型在宏观含义上是一致的,都明确地反映出基于活动网络的过程模型所应该具有的特点,而仅仅在细微之处有所不同,比如模型元素的类型、模型元素的语义等等。总的来说,这一类模型所共有的特点是简单、直观、便于理解,适合于流程较为固定、异常情况较少的生产型工作流的建立,有利于企业规范自身的内部流程:但这类模型往往缺乏柔性,对紧急情况的应变能力不足,显得比较死板。

内容摘自范玉顺的《工作流管理技术极其应用》。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值