论文部分内容阅读
【摘要】目前国内外虽然己经有了很多工作流管理系统的产品,但是大部分只能在设计阶段对工作流进行定义,并且工作流中的动态约束关系也静态地定义在工作流过程模型当中,过程模型建立之后具有一定的稳定性,如何在工作流中处理动态变化的约束关系,目前的系统显得无力。基于此,本文提出了一种自适应工作流管理框架——WDMA框架,其在处理工作流实例运行期间,能动态调整约束规则策略,这样自适应软件结构可以根据发生变化的工作流特性,动态地调整工作流中的内部协调机制和执行部件去适应这种实际环境的改变。
【关键词】工作流 自适应 WDMA
【中图分类号】TP311.52 【文献标识码】A 【文章编号】1673-8209(2010)08-00-02
工作流管理系统WfMS(Workflow Management System)是近年来随着Internet和Intranet的普及而快速发展的软件系统之一[1]。工作流管理系统的主要目标是通过调用有关信息资源与人力资源来协调业务流程中的各个环节,使之按照一定的顺序依次进行,从而实现业务流程的自动化。目前国内外虽然己经有了很多工作流管理系统的产品,但是大部分只能在设计阶段对工作流进行定义,并且工作流中的动态约束关系也静态地定义在工作流过程模型当中,过程模型建立之后具有一定的稳定性[2-4]。如何在工作流中处理动态变化的约束关系,目前的系统显得无力。如何更好的处理工作流中动态约束关系成为研究工作的一个重要方面,基于此,本文提出一个自适应的工作流动态约束处理的管理框架从而解决工作流中的动态约束问题。
1 自适应软件
自适应软件(self-adaptive software)是在1997年12月关于自适应软件的DARPA Broad Agency Announcement中定义的,自适应软件定义如下:“自适应软件系统是能够改进系统自身的行为或者当这些改进不能完成系统的任务时或更高的系统性能要求时,改变系统的行为特性的软件”[5]。
为了完成系统预先定义的任务,自适应软件的运行代码中包括[6]:
(1)对软件意图的描述(例如:软件的目标);
(2)系統程序结构的描述(例如:设计模型);
(3)对系统运行环境的描述,这里环境指得是任何可以被软件系统观察到的东西,例如终端用户的输入,外部硬件设备或者传感器,或者程序组件等。
(4)一组可供选择的可替换的系统实现或者算法描述,有时被称为重用资源库。
基于自适应软件的原理,本文提出了WDMA系统及其框架,其是一种基于自适应软件的动态工作流管理系统。其中,处理工作流实例运行期间约束规则策略动态调整的WDMA方法是一个特定地自适应软件结构的方法,这个自适应软件结构可以根据发生变化的工作流特性,例如任务类型,特定选项和其他的一些系统约束,动态地调整工作流中的内部协调机制和执行部件去适应这种实际环境的改变。
2 WDMA原理
WDMA的主要思想是应用面向对象的知识表达方法封装协调机制(知识),并在框架中引入动态策略调整的推理机制以及动态切换协调策略的机制,从而实现系统的动态调整。这个方法包括了下面的内容:
(1)根据运行中的工作流环境的改变(这些改变包括任务类型,用户偏好,系统约束等)触发工作流协调机制的调整过程。
(2)工作流的协调机制调的范围是预先定义好的能被工作流系统识别并运行的一组协调策略。在WDMA框架中,这些协调策略被建模在一组面向对象的知识表示模型中,并被实现为一组策略对象。这种方法能够将协调策略独立出来并进行单独封装,不仅提供了重用特性还保证了策略本地化的特性,不同策略对象之间的切换实现了不同协调策略的切换。
(3)变动的推理机制由相应的部件提供,这些部件主要通过监控工作流系统的运行状态,并根据知识库中提供的推理规则,经过推理决定是否需要改变当前的协调策略,如果需要,那么目标协调策略应该是什么等。
(4)工作流实例运行中的协调策略的变动机制必须保证工作流系统的一些属性要求(例如正确性,完整性要求等)。这种保证来源于我们对工作流的分析和对系统的约束的认识,这要求我们:
(a)必须清楚地知道当前运行的工作流实例的状态信息和当前采用的协调策略。
(b)必须知道将要运行的目标协调策略及其要求,以保证在转换到新的协调策略下,协调能够正常的运作。
(c)必须定义和执行一系列的动作,这些动作的执行能够实现协调策略的安全转换。支持从一个协调策略到另外一个协调策略的一系列动作被定义为转换计划(change plan)。
3 WDMA的层次模型
根据功能分类,以及便于分析与管理的要求,WDMA采用分层次的结构模型,在这个模型中,分为6个层次:
(1)网络操作系统层:这个层位于系统模型的最低层,这个层次主要是为工作流过程控制层提供必要的服务支持,这些支持包括文件的保存,通讯的建立,系统资源的分配等。
(2)工作流过程控制层:这个层是工作流执行系统的核心层次,这个层次对工作流的过程模型进行解释和执行,在执行过程中,根据需要分配执行进程,请求要处理的数据,在不同的工作项或者工作流系统之间传递数据和控制信息。
(3)应用协作层:将工作流系统中的过程逻辑和控制逻辑分离开来,应用协作层次是控制逻辑的执行机构,在这里应用协作层既要指导、协调工作流的运行,又要接受来自变动协作层的一系列变动的指令,切换到不同的协调控制策略,应用协作层通过工作流参考模型的所定义的5类接口与工作流引擎进行交互。
(4)变动协作层:这个层是一个承上启下的层次,对推理决策层的决定进行解释,并选择适当实施计划,然后将选择的实施计划付诸实施,从而控制应用协作层次的完成策略变动。
(5)推理决策层:在这个层上,主要是应用人工智能的知识,将系统状态作为推理输入,根据保存在知识库中的用户定义的知识,可以方便的推理出结果,这个结果将传递给变动协作机制层,指示其执行指令。
(6)用户定义层:用户定义层主要是提供给用户进行定义的接口,用户通过这个接口可以与推理决策层,变动协作机制层,应用协作层,工作流过程控制层进行交互,包括与工作流过程控制层交互定义工作流过程模型,与应用协作层次交互定义策略对象模型,与变动协作机制层交互定义系统状态的表示模型和抽象模型,以及与推理决策层交互定义推理的规则。
4 WDMA框架结构
将WDMA进行分层之后,我们详细解释WDMA框架结构中的各个层次以及其中各个部件,在图2中对这个框架结构进行了描述。在这个框架结构图中,根据不同的应用层面将此框架分成四层:
(1)工作流引擎层次(Workflow Engine):对工作流过程模型进行解释和运行,即将工作流过程控制划分在这个层次,这个层次等同于一般意义的工作流引擎。
(2)应用协作层次(Application Coordination Layer):将系统具体运行时的协作环境划分在这个层次,这个层次主要反映了工作流实例系统运行时的特性,处理工作流实例的协作问题。包括应用协作代理(Application Coordination Agent),策略引擎(Policy Engine)和策略对象库(Policy Objects Gallery)
(3)变动协作层(Change Coordination Layer):根据状态信息和调整决定,决定合适实施计划并实施调整和变化。包括监控代理(Tracking Agent),变动协作代理(Change Coordination Agent)和共享数据空间(C Space)。
(4)變动推理决策层(Change Reasoning Layer):根据状态信息,通过推理机推理决定是否要进行策略的变化及其目标策略,主要包括推理机和知识库。
在WDMA框架中,应用协作层次包含那些实现具体的协调策略的应用程序部件,而变动协作层包括那些接收从变动推理决策层来的调整决定,并且能够根据调整要求决定在系统运行时候执行的具体调整动作的那些部件。
一个WDMA完整的变动过程描述如下:
a 定义工作流过程模型,过程模型将被工作流引擎执行。
b开始工作流实例的运行,实例运行的初始阶段没有采用特别的协调策略。
c随着工作流的运行,系统状态发生改变。
d系统状态的改变被写入到监控通道中,相应的系统状态监控代理读取系统状态信息,将状态信息转换为的状态向量(state vector),并将状态向量更新到共享数据空间中(C Space)
e推理机制从共享数据空间中读出系统的状态向量,基于当前的活动协调策略和系统状态向量,从策略库中选择一个目标策略,然后通过共享数据空间将推理结果产生的指令传递给变动协作代理。
f接收到变动指令后,变动协作代理开始通过共享数据空间监控系统状态向量,当出现适当的状态时,变动协作代理从实施计划集(change plan)中选择合适的实施计划并且给予执行。
g在变动计划的执行过程中,变动协作代理通过变动协作通道(Change Coordination Channel: CChan)发送相应的控制指令。
h控制指令分两部分,一部分是发送给应用协作代理的,一部分是发送给策略引擎的,应用协作代理接收指令,然后将指令解释后传递给工作流引擎执行,策略引擎接收指令,然后将策略对象切换为目标策略对象运行。
i接着返回到第三步,重新开始监控系统状态,并进行下一次的调整。
5 结束语
基于自适应软件的原理,本文提出了WDMA系统及其框架,其是一种基于自适应软件的动态工作流管理系统。其中,处理工作流实例运行期间约束规则策略动态调整的WDMA方法是一个特定地自适应软件结构的方法,这个自适应软件结构可以根据发生变化的工作流特性,动态地调整工作流中的内部协调机制和执行部件去适应这种实际环境的改变。
参考文献
[1] WfMC.Workflow Management Coalition: The Workflow Reference Model [EB/OL]. TC00-1003, 1995.1.http://www.wfmc.org.
[2] 祝永志,基于Web分布式工作流系统可扩展性的研究与实现,计算机科学,2006 Vol.33,No.1.108-110.
[3] 任志宏,李京,金蓓弘,基于Internet工作流的复合Web服务框架,计算机研究与发展,2003年7月第40卷第7期.1081-1087.
[4] 胡春华,吴敏,刘国平,徐德智,一种基于业务生成图的web服务工作流构造方法,软件学报,2007,Vol.18,No.8.1570-1552.
[5] 徐洁磐,马玉书,范明.知识库系统导论. 第一版,科学出版社,2000.pp5-6, 207-209.
[6] 汤娜,汤庸,邓智等.工资智能决策支持系统SIDSS的知识表达与处理,工业工程,2001年12月第4卷第4期.pp52-56.
【关键词】工作流 自适应 WDMA
【中图分类号】TP311.52 【文献标识码】A 【文章编号】1673-8209(2010)08-00-02
工作流管理系统WfMS(Workflow Management System)是近年来随着Internet和Intranet的普及而快速发展的软件系统之一[1]。工作流管理系统的主要目标是通过调用有关信息资源与人力资源来协调业务流程中的各个环节,使之按照一定的顺序依次进行,从而实现业务流程的自动化。目前国内外虽然己经有了很多工作流管理系统的产品,但是大部分只能在设计阶段对工作流进行定义,并且工作流中的动态约束关系也静态地定义在工作流过程模型当中,过程模型建立之后具有一定的稳定性[2-4]。如何在工作流中处理动态变化的约束关系,目前的系统显得无力。如何更好的处理工作流中动态约束关系成为研究工作的一个重要方面,基于此,本文提出一个自适应的工作流动态约束处理的管理框架从而解决工作流中的动态约束问题。
1 自适应软件
自适应软件(self-adaptive software)是在1997年12月关于自适应软件的DARPA Broad Agency Announcement中定义的,自适应软件定义如下:“自适应软件系统是能够改进系统自身的行为或者当这些改进不能完成系统的任务时或更高的系统性能要求时,改变系统的行为特性的软件”[5]。
为了完成系统预先定义的任务,自适应软件的运行代码中包括[6]:
(1)对软件意图的描述(例如:软件的目标);
(2)系統程序结构的描述(例如:设计模型);
(3)对系统运行环境的描述,这里环境指得是任何可以被软件系统观察到的东西,例如终端用户的输入,外部硬件设备或者传感器,或者程序组件等。
(4)一组可供选择的可替换的系统实现或者算法描述,有时被称为重用资源库。
基于自适应软件的原理,本文提出了WDMA系统及其框架,其是一种基于自适应软件的动态工作流管理系统。其中,处理工作流实例运行期间约束规则策略动态调整的WDMA方法是一个特定地自适应软件结构的方法,这个自适应软件结构可以根据发生变化的工作流特性,例如任务类型,特定选项和其他的一些系统约束,动态地调整工作流中的内部协调机制和执行部件去适应这种实际环境的改变。
2 WDMA原理
WDMA的主要思想是应用面向对象的知识表达方法封装协调机制(知识),并在框架中引入动态策略调整的推理机制以及动态切换协调策略的机制,从而实现系统的动态调整。这个方法包括了下面的内容:
(1)根据运行中的工作流环境的改变(这些改变包括任务类型,用户偏好,系统约束等)触发工作流协调机制的调整过程。
(2)工作流的协调机制调的范围是预先定义好的能被工作流系统识别并运行的一组协调策略。在WDMA框架中,这些协调策略被建模在一组面向对象的知识表示模型中,并被实现为一组策略对象。这种方法能够将协调策略独立出来并进行单独封装,不仅提供了重用特性还保证了策略本地化的特性,不同策略对象之间的切换实现了不同协调策略的切换。
(3)变动的推理机制由相应的部件提供,这些部件主要通过监控工作流系统的运行状态,并根据知识库中提供的推理规则,经过推理决定是否需要改变当前的协调策略,如果需要,那么目标协调策略应该是什么等。
(4)工作流实例运行中的协调策略的变动机制必须保证工作流系统的一些属性要求(例如正确性,完整性要求等)。这种保证来源于我们对工作流的分析和对系统的约束的认识,这要求我们:
(a)必须清楚地知道当前运行的工作流实例的状态信息和当前采用的协调策略。
(b)必须知道将要运行的目标协调策略及其要求,以保证在转换到新的协调策略下,协调能够正常的运作。
(c)必须定义和执行一系列的动作,这些动作的执行能够实现协调策略的安全转换。支持从一个协调策略到另外一个协调策略的一系列动作被定义为转换计划(change plan)。
3 WDMA的层次模型
根据功能分类,以及便于分析与管理的要求,WDMA采用分层次的结构模型,在这个模型中,分为6个层次:
(1)网络操作系统层:这个层位于系统模型的最低层,这个层次主要是为工作流过程控制层提供必要的服务支持,这些支持包括文件的保存,通讯的建立,系统资源的分配等。
(2)工作流过程控制层:这个层是工作流执行系统的核心层次,这个层次对工作流的过程模型进行解释和执行,在执行过程中,根据需要分配执行进程,请求要处理的数据,在不同的工作项或者工作流系统之间传递数据和控制信息。
(3)应用协作层:将工作流系统中的过程逻辑和控制逻辑分离开来,应用协作层次是控制逻辑的执行机构,在这里应用协作层既要指导、协调工作流的运行,又要接受来自变动协作层的一系列变动的指令,切换到不同的协调控制策略,应用协作层通过工作流参考模型的所定义的5类接口与工作流引擎进行交互。
(4)变动协作层:这个层是一个承上启下的层次,对推理决策层的决定进行解释,并选择适当实施计划,然后将选择的实施计划付诸实施,从而控制应用协作层次的完成策略变动。
(5)推理决策层:在这个层上,主要是应用人工智能的知识,将系统状态作为推理输入,根据保存在知识库中的用户定义的知识,可以方便的推理出结果,这个结果将传递给变动协作机制层,指示其执行指令。
(6)用户定义层:用户定义层主要是提供给用户进行定义的接口,用户通过这个接口可以与推理决策层,变动协作机制层,应用协作层,工作流过程控制层进行交互,包括与工作流过程控制层交互定义工作流过程模型,与应用协作层次交互定义策略对象模型,与变动协作机制层交互定义系统状态的表示模型和抽象模型,以及与推理决策层交互定义推理的规则。
4 WDMA框架结构
将WDMA进行分层之后,我们详细解释WDMA框架结构中的各个层次以及其中各个部件,在图2中对这个框架结构进行了描述。在这个框架结构图中,根据不同的应用层面将此框架分成四层:
(1)工作流引擎层次(Workflow Engine):对工作流过程模型进行解释和运行,即将工作流过程控制划分在这个层次,这个层次等同于一般意义的工作流引擎。
(2)应用协作层次(Application Coordination Layer):将系统具体运行时的协作环境划分在这个层次,这个层次主要反映了工作流实例系统运行时的特性,处理工作流实例的协作问题。包括应用协作代理(Application Coordination Agent),策略引擎(Policy Engine)和策略对象库(Policy Objects Gallery)
(3)变动协作层(Change Coordination Layer):根据状态信息和调整决定,决定合适实施计划并实施调整和变化。包括监控代理(Tracking Agent),变动协作代理(Change Coordination Agent)和共享数据空间(C Space)。
(4)變动推理决策层(Change Reasoning Layer):根据状态信息,通过推理机推理决定是否要进行策略的变化及其目标策略,主要包括推理机和知识库。
在WDMA框架中,应用协作层次包含那些实现具体的协调策略的应用程序部件,而变动协作层包括那些接收从变动推理决策层来的调整决定,并且能够根据调整要求决定在系统运行时候执行的具体调整动作的那些部件。
一个WDMA完整的变动过程描述如下:
a 定义工作流过程模型,过程模型将被工作流引擎执行。
b开始工作流实例的运行,实例运行的初始阶段没有采用特别的协调策略。
c随着工作流的运行,系统状态发生改变。
d系统状态的改变被写入到监控通道中,相应的系统状态监控代理读取系统状态信息,将状态信息转换为的状态向量(state vector),并将状态向量更新到共享数据空间中(C Space)
e推理机制从共享数据空间中读出系统的状态向量,基于当前的活动协调策略和系统状态向量,从策略库中选择一个目标策略,然后通过共享数据空间将推理结果产生的指令传递给变动协作代理。
f接收到变动指令后,变动协作代理开始通过共享数据空间监控系统状态向量,当出现适当的状态时,变动协作代理从实施计划集(change plan)中选择合适的实施计划并且给予执行。
g在变动计划的执行过程中,变动协作代理通过变动协作通道(Change Coordination Channel: CChan)发送相应的控制指令。
h控制指令分两部分,一部分是发送给应用协作代理的,一部分是发送给策略引擎的,应用协作代理接收指令,然后将指令解释后传递给工作流引擎执行,策略引擎接收指令,然后将策略对象切换为目标策略对象运行。
i接着返回到第三步,重新开始监控系统状态,并进行下一次的调整。
5 结束语
基于自适应软件的原理,本文提出了WDMA系统及其框架,其是一种基于自适应软件的动态工作流管理系统。其中,处理工作流实例运行期间约束规则策略动态调整的WDMA方法是一个特定地自适应软件结构的方法,这个自适应软件结构可以根据发生变化的工作流特性,动态地调整工作流中的内部协调机制和执行部件去适应这种实际环境的改变。
参考文献
[1] WfMC.Workflow Management Coalition: The Workflow Reference Model [EB/OL]. TC00-1003, 1995.1.http://www.wfmc.org.
[2] 祝永志,基于Web分布式工作流系统可扩展性的研究与实现,计算机科学,2006 Vol.33,No.1.108-110.
[3] 任志宏,李京,金蓓弘,基于Internet工作流的复合Web服务框架,计算机研究与发展,2003年7月第40卷第7期.1081-1087.
[4] 胡春华,吴敏,刘国平,徐德智,一种基于业务生成图的web服务工作流构造方法,软件学报,2007,Vol.18,No.8.1570-1552.
[5] 徐洁磐,马玉书,范明.知识库系统导论. 第一版,科学出版社,2000.pp5-6, 207-209.
[6] 汤娜,汤庸,邓智等.工资智能决策支持系统SIDSS的知识表达与处理,工业工程,2001年12月第4卷第4期.pp52-56.