一种支持柔性的工作流过程元模型

2011-07-05 11:32黄红梅
自动化与信息工程 2011年6期
关键词:同步器柔性定义

黄红梅

(1.广东水利电力职业技术学院计算机信息工程系 2.广东工业大学自动化学院)

1 引言

工作流管理技术对于提高企业敏捷性,特别是提高企业内部的自我调整能力、适应变化的能力和组织结构的灵活变化能力起到了极其重要的作用。因而,如何使工作流管理系统(Workflow Management System,WfMS)具备自动适应环境变化的能力成为近几年工作流管理技术研究领域的一个热点。工作流过程模型作为整个工作流管理系统的基础,其柔性程度直接影响工作流管理系统的应用范围和对环境变化的适应能力。过程元模型是描述过程模型的模型,一套能够描述动态特性的元模型有利于过程模型对动态、灵活性问题的解决。

为了支持工作流的动态变化,文献[1]引入了活动实例、过程实例等运行期元素,重新设计了动态工作流元模型。其动态过程模型能较好的描述新增和删除活动的变化,但对活动结构的改变缺乏描述;文献[2]将活动中的结构描述及约束分离出去,引入了连接符,并对工作流过程定义语言(Workflow Process Definition Language,WPDL)进行了相应的扩展;文献[3]、[4]改进和扩展了工作流元模型,将各工作流管理联盟 WfMC过程定义元模型中的转换条件分解为活动的状态转换规则和活动间的转换规则,并将活动间的转换规则单独封装。这些封装使得WfMS对过程定义进行动态修改变得更加容易和灵活,增强了WfMS对各种变化的适应性。本文在此基础上对工作流过程元模型进行改进和扩展。

2 过程模型的动态性分析

支持动态特性的过程模型除了要描述并解决工作流中各种活动的具体语义和活动之间的依赖关系以外,还要体现动态特性的两个方面:① 在工作流定义阶段能够定义过程的动态行为,能够表达在建立阶段有语义不确定的活动以及不确定的活动与活动之间的关系、不确定的子过程;② 允许在运行阶段修改预先定义的流程。比如,能够进行动态增加或减少活动、能够动态改变执行的路径。

下面从模型建立及运行阶段来分析过程级和活动级的动态特性。

2.1 过程级动态特性

过程中可能存在的活动以及活动间连接的逻辑关系的变化如下:

(1)过程中增加或减少某个活动

过程中增加或者减少活动导致过程中活动间的逻辑关系发生变化,影响了整个过程控制的变化。可能的情况如下:

① 串行的任务增加或者删除;

② 串-并行增加:串行任务分解为并行任务;

③ 并-串行增加:增加一个任务与某个任务为并行关系;

④ 并-串减:并行任务删除其中一个或者多个任务合并为一个。

(2)过程中业务规则的变化导致活动间的逻辑关系发生变化,可能的情况包括:

① 任务间的串行关系变为并行关系;

② 任务间的并行关系变为串行关系;

③ 任务间的分叉选择关系变为分叉并行关系;

④ 任务间的分叉并行关系变为分叉选择关系。

(3)过程中业务规则的变化导致转换条件的变化,执行条件的变化将影响过程控制发生变化。

2.2 活动级动态特性

过程中业务规则的变化将导致转换条件的变化,包括活动的前置条件或者后置条件的变化以及执行条件的变化,这些变化可能会导致活动属性的变化。在传统的工作流中,一个活动出现在一个流程中意味着当流程到达该活动时,活动就要执行,活动之间分不出哪些是关键的,哪些是可以变通的。在流程执行过程中,有些活动是可以选择执行、可被替代执行、可以被取消、可以被忽略、可以被合并、可以被分解等等。而 WfMC仅对活动的一般属性进行了基本定义,无法支持工作流的动态性。为使流程定义具有灵活性,现采用以下做法:

(1)将活动分为几类:必须的、可选的、可重复的,这与文献[5]是一致的。

(2)通过规则灵活定义活动的行为,将活动的执行划分为维护原来的行为和可以改变原来的行为两类。维护行为又可以分为必须执行、可重复执行、可等待执行,这与文献[1]的划分一致。可改变行为又分为可被替代、可被忽略、可被取消、可被分解、可被合并、需要人工干预等。

3 扩展的过程元模型

在 WfMC提供的过程定义元模型中,工作流定义的主要对象是活动和转换。WfMC通过工作流过程定义语言(WPDL)描述和解释工作流。在WPDL中,活动间的结构(汇聚(join)、分支(Split))和约束关系(AND、OR、XOR)在活动中加以说明。由于这些结构和约束是活动说明的一部分,因此当业务过程发生动态变化导致结构和约束变化时必然引起活动定义随之变化。把汇聚、分支结构以及它们的约束说明从活动中提取出来,引入一种新的元模型元素“同步器(synchr-onizer)”。引入同步器将所有的控制信息说明从活动说明中独立出来,分别封装,可以使变化的影响局部化,有利于工作流模型的动态修改。

业务过程的动态变化体现在过程中活动的增减、活动间逻辑关系的变化以及转换规则的变化。在过程模型动态性的分析基础上,对 WfMC提供的工作流过程定义模型进行抽象和扩展,得到扩展的工作流过程定义元模型如图1所示。

图1 扩展的过程定义元模型

图1 中引入了新的元素:柔性工作流过程定义、同步器、变换器、活动执行类型、同步器类型。

(1)柔性工作流过程定义:柔性工作流过程定义类似于黑盒,其结构和语义是在流程执行阶段才能确定。在工作流执行中需等待一些结果明朗后才能确定其具体的意义。在这个阶段,黑盒可以变为白盒,它可能是一个空节点、原子活动、子过程。子过程由活动、同步器以及转换组成,它还可以包括黑盒。

(2)同步器:把汇聚、分支结构以及约束(AND、OR、XOR)等分离出来产生新的元模型元素“同步器”。可通过改变同步器或者重定义对工作流流转类型进行变更。当增加和删除一个活动时,只需要增加和删除同步器以及修改转换条件。

(3)变换器:对于柔性的工作过程,只有在工作流执行过程中,根据实际的执行结果来明确流程的结构和语义。另外,根据对活动的灵活性分析,活动可以被替代、可被组合、可被分解、可被忽略、可被取消。活动间的逻辑关系也可能随之改变,通过变换器,可以知道在什么规则下哪些活动和逻辑关系被转换,如何转换。引入转换和转换规则,还可以自动对活动、同步器、转换条件按照一定的变换推理规则[6]提供可供选择的流程模型进行人工选择,提供系统的柔性和智能性。

(4)活动执行类型:把活动分为维护执行、可改变执行两大类,在此基础上再细分为必须执行、可等待执行、可重复执行、可取消、可替代、可忽略、可分解、可组合等类型。

(5)同步器类型:把同步器分为顺序型、并行分叉-汇聚、选择分叉-汇聚、多并行选择分叉-汇聚、异或分叉-汇聚等类型。对同步器的灵活性描述增加了对复杂工作流模式的描述能力,同时为同步器在流程执行时发生动态变化提供了具体的指导。

图1中其它的元素的语义与WfMC提供的过程定义元模型相同。改进的工作流过程定义元模型具有更大的柔性和可重构性。

4 过程元模型的WPDL扩展

工作流过程定义语言WPDL是基于WfMC提出的过程定义元模型而定义的文本描述语言。由于本文对工作流过程定义元模型进行了改进和扩展,相应的必须对工作流过程定义语言进行修改和扩展。在此给出引入的新元素的定义。

4.1 工作流柔性过程定义

工作流过程定义构成了工作流模型的主题部分,它包含了组成模型的所有活动和转换信息。针对改进和扩展后的过程元模型,工作流过程定义主要包含了两个主要的部分:常规过程定义和柔性过程定义。其中柔性过程定义的格式如下:

柔性过程定义中加入了变换器列表。规约了柔性过程定义中所包含的所有可能的变换集合,包括活动的变换、同步器的变换以及转换信息的变换。

4.2 工作流活动

在常规过程以及柔性过程定义中,有部分内容是描述过程中所包含的全部活动的信息,它构成了活动列表。其中活动分为普通活动、开始活动和结束活动等。

普通活动的定义格式如下:

执行类型说明了活动在流程执行过程中具有的一些执行特征,根据其属性动态选择执行活动。

4.3 同步器

同步器是活动之间的连接机制,例如:顺序、与汇聚/分支、或汇聚/分支、异或汇聚/分支等。同步器的定义格式如下:

4.4 转换信息

转换(transition)信息规约的是活动与同步器之间的流转。转换以同步器为中心,分为两种形式:活动到同步器的转换、同步器到节点的转换,其中节点可以是同步器,也可以是活动。条件(condition)是附着在活动到同步器的转换以及连接符到节点的转换上,用来决定工作流执行的路径。条件是由运算符与状态组成的逻辑表达式。因此把过程或者活动转换所涉及到的状态、同步器、条件三个要素之间的关系定义为转换信息[4]。

转换信息的定义格式分为两种:一个是活动到同步器的定义格式:

另一个是同步器到节点的定义格式:

状态是过程实例或活动实例变迁触发的一个条件,可作为转换路由的一个输入参数,部分决定了过程实例或者活动实例的转换路径。状态的具体内容由具体业务流程决定,如:运行、终止、等待、已提交、已处理、未处理等。状态的定义格式如下:

4.5 变换器

变换器规约了活动、同步器和转换条件的变换信息。包括变换前后的类型、ID、变换的详细内容。变换的对象可以是活动、同步器和转换条件。变换器的定义格式如下:

5 案例分析

本节应用实例说明改进的过程定义元模型所具备的动态支持能力并使用扩展后的 WPDL描述变更后的流程。

某网络运营部门故障工单处理简化的工作流程为:客服中心接受申请派单,一种情况是客服中心处理派单然后结单;另一种情况是将单派送到运维部门。运维部门对故障申请单做处理后有两种可能:一是处理完成结单;二是故障单派送到宽带部,运维部门结单,之后宽带部处理故障单完成后结单。为了提高服务质量和效率,对原有的流程进行了调整和优化。客服中心根据故障单的情况派送给故障处理部门,根据流程动态执行情况来决定由哪个部门或者部门间合作处理故障。

故障处理流程使用活动、同步器和有向弧表示流程模型如图2 所示。

图2 (b)中黑盒是流程变换部分。黑盒中的具体流程按照实例执行时动态的选择活动和活动的因果关系(由业务规则决定)执行。如图2 (c)、图2 (d)、图2 (e)、图2 (f)所示,一旦黑盒变成白盒就确定了相应的流程。从图2 中可知,图(a)和图(c)是一样的,也就是柔性过程与原来相比没有变化。比较图(a)和图(d),图(d)的柔性过程仅包含任务t6、t7和同步器p4。与原流程相比只需要对同步器p1做修改变换,采用的变换为表1中的CV1。由于改进后的元模型将活动、同步器分离封装,流程的调整和组合只需要使用变换器对同步器或转换信息进行修改和变换,无需修改活动本身的具体事务处理,从而使得元模型具备了柔性和可复用性。变换器还可以在变换引擎、规则库的支持下,利用变换推理规则变换出多个柔性过程,提供给用户选择适当的流程,使元模型具备智能性。

图2 故障处理流程

表1 柔性流程的WPDL描述

6 小结

本文分析了过程模型和过程元模型对动态适应性的支持能力。讨论了过程模型的动态特性以及WfMC的过程元模型,对该模型进行了改进和扩展。将柔性工作流定义、同步器、变换器等新的元素引入到过程定义元模型。改进和扩展后的过程元模型具有更大的柔性和重构性,由于引入了变换器,还为提高过程元模型的智能性做了基础工作。另外,对描述过程元模型的定义语言 WPDL也做了改进和扩展。最后通过一个实例分析表明改进的过程定义元模型具备柔性和可复用性,证明了模型的动态支持能力。

[1]孙瑞志,史美林.支持动态变化的工作流过程元模型[J].软件学报.2003,14(1):62-67.

[2]赵文,胡文蕙,张世琨,等.工作流元模型的研究与应用[J].软件学报,2003,14(6):1052-1059.

[3]余阳,汤庸.柔性工作流元模型及应用[J].中山大学学报(自然科学版),2004,43(2):21-24.

[4]徐劲松,等.一种改进的柔性工作流过程定义元模型研究[J].计算机工程与应用,2008,44(4):77-79.

[5]Chiu DKW,Li Q,Karlapalem K. A mata modeling approach to workflow management system supporting exception handling[J].Information System,1999,24(2):159-184.

[6]黄红梅,章云.可拓推理的Petri网表示[J].哈尔滨工业大学学报,2006.38(7):1115-1119.

猜你喜欢
同步器柔性定义
一种柔性抛光打磨头设计
灌注式半柔性路面研究进展(1)——半柔性混合料组成设计
高校学生管理工作中柔性管理模式应用探索
汽车同步器齿环锻压工艺的神经网络优化研究
成功的定义
考考你
多锥锁环式同步器的应用
修辞学的重大定义
新型多锥锁销同步器
山的定义