1 一个支持动态变化的工作流管理系统
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图 2 扩展的工作流模型 3. 1 变更操作与变更规则
为支持工作流的动态变化和灵活控制, 需要增加对工作 流过程和组织模型的变更操作和相关的操作规则, 变更操作 包括插入、删除、修改等对工作流活动和变迁的变更操作, 还 包括干预流程执行的跳转、重做、回退等操作.
插入: 需要在工作流程中临时或永久的插入一个或几个 活动.
第 26 卷 第 6 期 2005 年 6 月
小型微型计算机系统 M IN I- M ICRO SYST EM S
V o l126 N o. 6 J une 2005
一个支持动态变化的工作流管理系统
孙瑞志1, 周建涛2, 史美林2, 毛枫华3, 张 宁3
1(中国农业大学 信息与电气工程学院, 北京 100083) 2(清华大学 计算机科学与技术系, 北京 100084) 3(北京网络多媒体实验室, 北京 100029) E2m ail: sun rz@ cau. edu. cn
摘 要: 随着工作流技术得到越来越广泛的应用, 人们对工作流管理系统提出了新的要求, 要求系统能够具有动态变化和灵活 的处理能力, 以便有效地支持今天所处的具有动态的、不确定的和易于出错的协同工作环境. 文章扩展了工作流管理联盟给出 的工作流模型, 提出了动态工作流模型, 并以此模型为指导, 设计实现了具有动态灵活能力的工作流管理系统 TH - w o rkflow , 该系统将工作流的功能特性划分为三个层次, 即应用层、功能层和实现层. 在不同的层次上实现了工作流的基本服务和动态灵 活的控制功能. 关 键 词: 工作流管理系统; 动态工作流; 灵活性 中图分类号: T P311 文献标识码: A 文 章 编 号: 100021220 (2005) 0621068205
究方向为计算机支持的协同工作、Petri 网; 史美林, 男, 1938 年生, 教授, 博士生导师, 主要研究方向计算机网络与计算机支持的协同工作.
6 期
Baidu Nhomakorabea
孙瑞志 等: 一个支持动态变化的工作流管理系统
1069
和变迁的类型进行了重新分类, 通过运行时活动与 services 的动态绑定 (b inding) 来支持工作流的动态变化.
W orkf low M anagem en t System Supporting D ynam ic Change
SU N R u i2zh i1, ZHOU J ian2tao 2, SH IM ei2lin2,M ao Feng2hua3, ZHAN G N ing3
1(Colleg e of Inf orm a tion and E lectrica l E ng ineering , Ch ina A g ricu ltu ra l U n iversity , B eij ing 100083, Ch ina) 2(D ep a rtm en t of Com p u ter S cience and T echnology , T sing hua U n iversity. B eij ing 100084, Ch ina) 3(B eij ing M u ltim ed ia & N etw ork L abora tory , B eij ing 100029, Ch ina)
DO (2) N succ. = {aj Π a i∈N curr: aj= S ucc (a i) }
(3) IF N succ. = TH EN R ETU RN (TRU E ) ; (4) Fo r eve ry am IN N succ
IF {ak am = S ucc (ak) }= TH EN D ele_ instance (am ) EL SE am. sta te ← "D eactive"; (5) N curr← N succ;
图 1 W fM C 的工作流元模型 W FM C 提出的工作流模型包括了工作流系统的过程、组 织资源和应用数据, 如图 1 所示, 是设计工作流系统的主要参 考模型. 我们从工作流模型入手研究, 扩展该参考模型, 用于 指导动态灵活的工作流系统设计.
3 支持动态灵活变化的工作流模型
工作流运行过程中发生变化时, 可以有多种处理方式, 但 理想又具有挑战意义的是运行过程中实时的迁移[11], 即从原 来的流程实时迁移到变化后的流程, 而不需中止已开始运行 的流程. 工作流系统中除过程模型变化以外, 应用数据和组织 机构的元素变化同样会对过程的运行产生影响, 如活动执行 者的变化可能会影响流程的正常运行. 为保证工作流运行过 程发生变化时的连贯性, 需要一定的规则来约束. 同时, 为支 持工作流的动态灵活性, 需要灵活的活动类型来支持. 因此, 我们扩充图 1 的工作流模型, 如图 2 所示. 我们将工作流系统 化分为过程模型, 组织模型和信息模型. 过程模型指工作流的 过程组成, 组织模型指工作流执行者所在的组织单位和位置、 权限等, 信息模型指影响工作流执行的外部应用数据或活动 的属性值.
Abstract: W ith m o re and m o re app lica tion s of w o rkflow techno logy , the new dem ands occu r. W o rkflow system s m u st be flex ib le and dynam ic in o rder to effectively adap t fo r dynam ic, uncerta in and erro r2p rone co llabo ra tive w o rk environm en ts. T h is p ap er exp ands the w o rkflow m odel p ropo sed by W o rkflow M anagem en t Coa lition and then p resen ts a dynam ic w o rkflow m odel. B a sed on th is dynam ic w o rkflow m odel, a w o rkflow m anagem en t system TH 2w o rkflow is designed. TH 2w o rkflow ha s the function s of flex ib le p rocess con tro l and of suppo rting dynam ic p rocess changes. T he function s of the system a re o rgan ized in 3 levels, they a re app lica tion level, function level and im p lem en ta tion level. Every level ha s the co rresponding con tribu tion s to system services and dynam ic con tro l. Key words: w o rkflow m anagem en t system ; dynam ic w o rkflow ; flex ib ility
W H IL E TRU E 其中 a.i sta te 表示活动实例 a i 的状态. 由于要从重新执行点重新执行, 算法 1 将已执行过的、在 N path上需要修改执行状态或需要删除的实例进行状态恢复或 实例删除, 使得整个流程从重新执行点开始就像没有执行过 一样. 重做操作对应的正确性规则: 如果一个需要撤销的活动 实例已经分配给用户, 但用户还没有完成, 则需要通知用户放 弃或在用户提交时做异常处理. 规则保证了不会出现下列情况: 一个已分配给用户的活 动实例若被系统撤销而用户不知情, 用户提交工作项后, 工作 流引擎将找不到对应的实例状态, 出现异常.
收稿日期: 2003210230 基金项目: 国家自然科学基金项目 (90412009) 资助; 国家“八六三”高技术研究发展计划 (2001AA 113150) 资助 作 者简介: 孙瑞志, 男, 1964 年生, 博士, 副教授, 主要研究方向为计算机网络与计算机支持的协同工作; 周建涛, 女, 1974 年生, 博士研究生, 主要研
2 相关研究
人 们 对 工 作 流 的 动 态 灵 活 性 问 题 早 就 开 始 了 研 究, CSCW 98 国际会议专门组织了关于 A dap tive w o rkflow 的专 题 (CSCW W o rk shop tow a rds A dap tive W o rkflow system s). 其它文献, 如文献 [ 6, 7 ], 提出了通过提供用户原语或命令操 作形式来支持流程的变化, 其中文献 [ 7 ]提出了一个支持动态 变化的工作流原型系统, 这个原型系统, 支持工作流运行时任 务的插入、删除、跳跃、前向转移 ( jum p fo rw ard)、串行化和后 退操作. 文献[ 8 ]提出了反演 ( reflection ) 方法, 工作流在执行 过程中可以通过人机不断交互方式来完成一个可以动态变化 的工作流. 文献[ 9 ]提出了一个工作流的三维模型, 并分析了 流程变化的方式. 文献 [ 10 ] 在W FM C 模型的基础上对活动
删除: 将一个过程中的一个或几个活动删除掉.
修改: 修改活动语义或修改活动间执行次序. 跳转: 当执行完一个活动后, 动态地向前和向后跳过一段 执行. 重做: 从过程的某个已执行完的活动开始, 其后的流程重 新执行而不管这些活动是否被执行了. 回退: 从某个执行点开始, 退到前序的某个活动点, 重新 开始执行. 每一个操作, 对于正在运行的过程实例都会产生一定的 影响, 所以, 必须通过相应的操作规则来保证数据的完整性和 流程的连贯性. 组织模型中的变化包括了用户、组、部门等组织实体的变 化和实体关系的变化, 由于组织中的实体与关系的变化涉及 到工作流活动的执行者变化, 因此, 变化操作也要符合一定的 规则. 由于篇幅限制, 在此, 对工作流的各种变更操作和相应的 保证规则不进行展开讨论, 下面, 只以重做操作为例, 说明操 作的过程和规则. 工作流过程执行当中, 经常会出现从一个已 执行的活动重新开始的操作需求, 要求忽略某段已执行的流 程, 重新开始, 这个要求包括两步操作, 先要取消后续过程, 然 后重新开始流程执行. 例如, 在过程中插入一个新的活动之 后, 需要从新活动的前一个活动重新执行, 就需要先将已经执 行的活动取消. 重做的执行算法如下: 设 N path= {a1, a2, …, an }表示正被执行的过程实例 I 中 已执行但要忽略的一段路径, a1 是要重新执行的起始节点. 算法 1: (1) N ← curr a1; a1. sta te ← "D eact ive"; D ele_ instance (a1) ; D ele_ in stance () 表示将一个活动的实例从过程实例 中删掉
1 引 言
作流管理系统 TH 2W o rkflow.
随着电子商务、电子政务应用的不断深入, 工作流技术得 到越来越广泛的应用, 工作流管理系统已成为整个应用平台 的有机组成部分[1]. 同时, 人们对工作流管理系统的灵活性和 动态处理能力也提出了要求, 要求系统具有自适应能力, 以便 有效的支持今天所处的动态的、不确定的和易于出错的协同 工作环境[2, 3], 使得企业的流程控制可以根据市场或应用的变 化 进 行 相 应 的 调 整. 工 作 流 管 理 联 盟 W FM C (W o rkflow M anagem en t Coa lition) 给出了基本的工作流模型和过程元模 型[4, 5], 为工作流系统的功能设计提供了标准. 但该模型没有 涉及到动态变化的情况. 本文对W FM C 提出的过程元模型 进行了扩充, 在活动的类型、流程的控制等方面考虑了动态变 化的诸多因素, 并以此为基础, 设计实现了具有动态功能的工
为支持工作流的动态变化和灵活控制, 需要增加对工作 流过程和组织模型的变更操作和相关的操作规则, 变更操作 包括插入、删除、修改等对工作流活动和变迁的变更操作, 还 包括干预流程执行的跳转、重做、回退等操作.
插入: 需要在工作流程中临时或永久的插入一个或几个 活动.
第 26 卷 第 6 期 2005 年 6 月
小型微型计算机系统 M IN I- M ICRO SYST EM S
V o l126 N o. 6 J une 2005
一个支持动态变化的工作流管理系统
孙瑞志1, 周建涛2, 史美林2, 毛枫华3, 张 宁3
1(中国农业大学 信息与电气工程学院, 北京 100083) 2(清华大学 计算机科学与技术系, 北京 100084) 3(北京网络多媒体实验室, 北京 100029) E2m ail: sun rz@ cau. edu. cn
摘 要: 随着工作流技术得到越来越广泛的应用, 人们对工作流管理系统提出了新的要求, 要求系统能够具有动态变化和灵活 的处理能力, 以便有效地支持今天所处的具有动态的、不确定的和易于出错的协同工作环境. 文章扩展了工作流管理联盟给出 的工作流模型, 提出了动态工作流模型, 并以此模型为指导, 设计实现了具有动态灵活能力的工作流管理系统 TH - w o rkflow , 该系统将工作流的功能特性划分为三个层次, 即应用层、功能层和实现层. 在不同的层次上实现了工作流的基本服务和动态灵 活的控制功能. 关 键 词: 工作流管理系统; 动态工作流; 灵活性 中图分类号: T P311 文献标识码: A 文 章 编 号: 100021220 (2005) 0621068205
究方向为计算机支持的协同工作、Petri 网; 史美林, 男, 1938 年生, 教授, 博士生导师, 主要研究方向计算机网络与计算机支持的协同工作.
6 期
Baidu Nhomakorabea
孙瑞志 等: 一个支持动态变化的工作流管理系统
1069
和变迁的类型进行了重新分类, 通过运行时活动与 services 的动态绑定 (b inding) 来支持工作流的动态变化.
W orkf low M anagem en t System Supporting D ynam ic Change
SU N R u i2zh i1, ZHOU J ian2tao 2, SH IM ei2lin2,M ao Feng2hua3, ZHAN G N ing3
1(Colleg e of Inf orm a tion and E lectrica l E ng ineering , Ch ina A g ricu ltu ra l U n iversity , B eij ing 100083, Ch ina) 2(D ep a rtm en t of Com p u ter S cience and T echnology , T sing hua U n iversity. B eij ing 100084, Ch ina) 3(B eij ing M u ltim ed ia & N etw ork L abora tory , B eij ing 100029, Ch ina)
DO (2) N succ. = {aj Π a i∈N curr: aj= S ucc (a i) }
(3) IF N succ. = TH EN R ETU RN (TRU E ) ; (4) Fo r eve ry am IN N succ
IF {ak am = S ucc (ak) }= TH EN D ele_ instance (am ) EL SE am. sta te ← "D eactive"; (5) N curr← N succ;
图 1 W fM C 的工作流元模型 W FM C 提出的工作流模型包括了工作流系统的过程、组 织资源和应用数据, 如图 1 所示, 是设计工作流系统的主要参 考模型. 我们从工作流模型入手研究, 扩展该参考模型, 用于 指导动态灵活的工作流系统设计.
3 支持动态灵活变化的工作流模型
工作流运行过程中发生变化时, 可以有多种处理方式, 但 理想又具有挑战意义的是运行过程中实时的迁移[11], 即从原 来的流程实时迁移到变化后的流程, 而不需中止已开始运行 的流程. 工作流系统中除过程模型变化以外, 应用数据和组织 机构的元素变化同样会对过程的运行产生影响, 如活动执行 者的变化可能会影响流程的正常运行. 为保证工作流运行过 程发生变化时的连贯性, 需要一定的规则来约束. 同时, 为支 持工作流的动态灵活性, 需要灵活的活动类型来支持. 因此, 我们扩充图 1 的工作流模型, 如图 2 所示. 我们将工作流系统 化分为过程模型, 组织模型和信息模型. 过程模型指工作流的 过程组成, 组织模型指工作流执行者所在的组织单位和位置、 权限等, 信息模型指影响工作流执行的外部应用数据或活动 的属性值.
Abstract: W ith m o re and m o re app lica tion s of w o rkflow techno logy , the new dem ands occu r. W o rkflow system s m u st be flex ib le and dynam ic in o rder to effectively adap t fo r dynam ic, uncerta in and erro r2p rone co llabo ra tive w o rk environm en ts. T h is p ap er exp ands the w o rkflow m odel p ropo sed by W o rkflow M anagem en t Coa lition and then p resen ts a dynam ic w o rkflow m odel. B a sed on th is dynam ic w o rkflow m odel, a w o rkflow m anagem en t system TH 2w o rkflow is designed. TH 2w o rkflow ha s the function s of flex ib le p rocess con tro l and of suppo rting dynam ic p rocess changes. T he function s of the system a re o rgan ized in 3 levels, they a re app lica tion level, function level and im p lem en ta tion level. Every level ha s the co rresponding con tribu tion s to system services and dynam ic con tro l. Key words: w o rkflow m anagem en t system ; dynam ic w o rkflow ; flex ib ility
W H IL E TRU E 其中 a.i sta te 表示活动实例 a i 的状态. 由于要从重新执行点重新执行, 算法 1 将已执行过的、在 N path上需要修改执行状态或需要删除的实例进行状态恢复或 实例删除, 使得整个流程从重新执行点开始就像没有执行过 一样. 重做操作对应的正确性规则: 如果一个需要撤销的活动 实例已经分配给用户, 但用户还没有完成, 则需要通知用户放 弃或在用户提交时做异常处理. 规则保证了不会出现下列情况: 一个已分配给用户的活 动实例若被系统撤销而用户不知情, 用户提交工作项后, 工作 流引擎将找不到对应的实例状态, 出现异常.
收稿日期: 2003210230 基金项目: 国家自然科学基金项目 (90412009) 资助; 国家“八六三”高技术研究发展计划 (2001AA 113150) 资助 作 者简介: 孙瑞志, 男, 1964 年生, 博士, 副教授, 主要研究方向为计算机网络与计算机支持的协同工作; 周建涛, 女, 1974 年生, 博士研究生, 主要研
2 相关研究
人 们 对 工 作 流 的 动 态 灵 活 性 问 题 早 就 开 始 了 研 究, CSCW 98 国际会议专门组织了关于 A dap tive w o rkflow 的专 题 (CSCW W o rk shop tow a rds A dap tive W o rkflow system s). 其它文献, 如文献 [ 6, 7 ], 提出了通过提供用户原语或命令操 作形式来支持流程的变化, 其中文献 [ 7 ]提出了一个支持动态 变化的工作流原型系统, 这个原型系统, 支持工作流运行时任 务的插入、删除、跳跃、前向转移 ( jum p fo rw ard)、串行化和后 退操作. 文献[ 8 ]提出了反演 ( reflection ) 方法, 工作流在执行 过程中可以通过人机不断交互方式来完成一个可以动态变化 的工作流. 文献[ 9 ]提出了一个工作流的三维模型, 并分析了 流程变化的方式. 文献 [ 10 ] 在W FM C 模型的基础上对活动
删除: 将一个过程中的一个或几个活动删除掉.
修改: 修改活动语义或修改活动间执行次序. 跳转: 当执行完一个活动后, 动态地向前和向后跳过一段 执行. 重做: 从过程的某个已执行完的活动开始, 其后的流程重 新执行而不管这些活动是否被执行了. 回退: 从某个执行点开始, 退到前序的某个活动点, 重新 开始执行. 每一个操作, 对于正在运行的过程实例都会产生一定的 影响, 所以, 必须通过相应的操作规则来保证数据的完整性和 流程的连贯性. 组织模型中的变化包括了用户、组、部门等组织实体的变 化和实体关系的变化, 由于组织中的实体与关系的变化涉及 到工作流活动的执行者变化, 因此, 变化操作也要符合一定的 规则. 由于篇幅限制, 在此, 对工作流的各种变更操作和相应的 保证规则不进行展开讨论, 下面, 只以重做操作为例, 说明操 作的过程和规则. 工作流过程执行当中, 经常会出现从一个已 执行的活动重新开始的操作需求, 要求忽略某段已执行的流 程, 重新开始, 这个要求包括两步操作, 先要取消后续过程, 然 后重新开始流程执行. 例如, 在过程中插入一个新的活动之 后, 需要从新活动的前一个活动重新执行, 就需要先将已经执 行的活动取消. 重做的执行算法如下: 设 N path= {a1, a2, …, an }表示正被执行的过程实例 I 中 已执行但要忽略的一段路径, a1 是要重新执行的起始节点. 算法 1: (1) N ← curr a1; a1. sta te ← "D eact ive"; D ele_ instance (a1) ; D ele_ in stance () 表示将一个活动的实例从过程实例 中删掉
1 引 言
作流管理系统 TH 2W o rkflow.
随着电子商务、电子政务应用的不断深入, 工作流技术得 到越来越广泛的应用, 工作流管理系统已成为整个应用平台 的有机组成部分[1]. 同时, 人们对工作流管理系统的灵活性和 动态处理能力也提出了要求, 要求系统具有自适应能力, 以便 有效的支持今天所处的动态的、不确定的和易于出错的协同 工作环境[2, 3], 使得企业的流程控制可以根据市场或应用的变 化 进 行 相 应 的 调 整. 工 作 流 管 理 联 盟 W FM C (W o rkflow M anagem en t Coa lition) 给出了基本的工作流模型和过程元模 型[4, 5], 为工作流系统的功能设计提供了标准. 但该模型没有 涉及到动态变化的情况. 本文对W FM C 提出的过程元模型 进行了扩充, 在活动的类型、流程的控制等方面考虑了动态变 化的诸多因素, 并以此为基础, 设计实现了具有动态功能的工