《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于Agent工作流系统的体系结构与分析
基于Agent工作流系统的体系结构与分析
来源:微型机与应用2011年第7期
王子琦,邹 海
(安徽大学 计算机科学与技术学院,安徽 合肥 230039)
摘要: 针对传统工作流灵活性和适应性差的问题,在WfMS参考模型的基础上,提出了一个基于Agent的、易于扩展和移植的工作流管理模型。实例分析表明,将Agent与传统工作流模型相结合,提高了工作流的学习能力,解决了工作流的资源冲突问题。
Abstract:
Key words :

摘  要: 针对传统工作流灵活性和适应性差的问题,在WfMS参考模型的基础上,提出了一个基于Agent的、易于扩展和移植的工作流管理模型。实例分析表明,将Agent与传统工作流模型相结合,提高了工作流的学习能力,解决了工作流的资源冲突问题。
关键词: 工作流;Agent;活动Agent;订单

 随着互联网的发展,企业对办公自动化的要求越来越高,传统工作流系统的资源冲突、适应性以及灵活性差等问题越来越明显。为了解决这个问题,本文将智能Agent和工作流结合起来,借用智能Agent的自主性、社会性、协作性等性能提高工作流系统的灵活性,并实现工作流系统的可迁移性。
1 基本知识
1.1 工作流的概念

 工作流的概念目前尚无统一、明确的定义。工作流管理联盟(WfMC)将之定义为:业务流程的全部或部分自动化,在此过程中,文档、信息或者任务按照一定的规则流转,实现组织成员间的协调工作,以期达到业务的整体目标[1]。在WfMC提出的工作流参考模型中,具有五个接口,分别是流程定义工具、工作流客户端应用、调用的应用、其他工作流执行服务、管理及监控工具。
1.2 智能Agent
 智能Agent作为人工智能领域发展起来的新型计算模型Agent,可以连续不断地感知外界发生的以及自身状态的变化,并自主产生相应的动作。对Agent更高的要求是让其具有人之功能,以达到高度智能化的效果,即智能Agent[2]。智能Agent具有如:自主性、主动性、持续性、交互性和适应性等特性。协作、协调与协商是智能Agent工作的基础。协作是指构成系统的个体之间通过相互配合完成共同承担的任务的方式[3-5]。协调是指为了与变化的环境保持一致性,实现预期目标或变化的目标,对原有资源、知识及内部组成个体的分布进行重新部署的过程[6-8]。协商是指在协调或协作过程中,由于系统内部或外部的变化,引起个体之间无法按预期计划实现系统目标,为了保证目标的实现而进行的相互交流达成共识的过程,这种相互交流的过程就是通信。
2 工作流系统存在的主要问题
 (1)适应性差:企业业务流程通常由大量的活动组成,且有大量的人员参与。这些活动和人员部分是可预知,部分则是不可预知的。因此在工作流的定义阶段,无法全部描述各种活动以及相应的处理措施,即使是一个定义好的工作流流程在执行时也可能发生变化。同时,由于流程模型的不完善、执行过程中发生变化等原因所导致的异常事件出现也是不可避免的。上述这些都要求工作流管理系统具有较好的自适应性:
 ①在不中断执行的情况下,把某条事先没有放入模型的执行路径加入模型,并按该路径继续执行。
 ②自动识别不同类型的例外情形,并对其做出适当处理,保证工作流继续正常运行。
 (2)缺少自学习能力:目前的工作流系统能力有限,或是适用面很窄,或是只能解决较简单的问题,其重要原因之一是不具有学习能力,系统不能从解题实践或用户提供的实例中自动获取问题求解所需的知识。
 (3)分布式网络环境的异构性,阻碍了工作流管理系统中任务进程简单的协调和互操作。
3 基于Agent的工作流系统及其实现
 工作流管理系统作为一种群件系统与多Agent系统有着某种相似的特点,它们都是分布式的协同工作系统,因此,多Agent系统非常适合应用于工作流管理系统,尤其是设计分布式工作流控制结构。
 Agent的活动状态转换如图1所示。

 针对当前工作流中普遍存在的资源冲突、执行过程中模式僵化以及缺乏用户参与协作的主动性等问题,在参考WfMS模型基础上,结合多Agent理论,提出了一种基于Agent的工作流系统的体系结构,其主要部分的功能和关系如图2所示。

 

 

 (1)用户界面
 工作流系统的界面采用环球网浏览器,用来显示等待本岗位处理的任务、用户输入信息和系统的反馈信息等。当用户以用户名和密码通过浏览器登录工作流系统后,系统数据库服务器根据用户名查询对应的岗位号,任务队列管理器根据该信息更新界面。
 (2)Agent服务器
 作为系统的核心部件,Agent服务器保存有企业的商业规则、流程描述等信息,负责协调、控制整个系统的正常运转,同时为Agent提供信息查询、异常处理等服务。在Agent的整个生命周期中,需要许多不同的Agent服务器来提供信息支持,最主要的是系统服务器和跟踪服务器。
 ①系统服务器:存放基本的工作流信息和企业的结构信息。每一个新生成的Agent都要通过系统服务器来获得对应类型工作流流程的基本流程信息,包括流程图和初始状态等。
 ②跟踪服务器:保存并跟踪系统中所有活动的工作流Agent,当任何一个Agent服务器中的信息发生变化时,通过任务队列服务器通知相应的活动Agent到对应的Agent服务器去更新数据。
 (3)活动Agent
 活动Agent是系统的工作部件,企业中的一切活动都是通过活动Agent完成的。每个Agent都对应着一个流程,在Agent服务器和任务队列管理器的帮助下自主地完成整个流程。
 (4)任务队列管理器
 管理一个任务队列,更新系统中活动Agent处理结果信息,通知活动Agent到相应的Agent服务器更新数据,以及根据活动Agent的处理结果更新相应岗位用户界面的信息。Agent的每个岗位处理完后都要访问任务队列管理器,用Agent的当前状态更新任务队列管理器保存的信息,然后由任务队列管理器更新此Agent下一个岗位的界面。
4 实例分析
 应用上述的工作流系统的体系结构,以一个订单处理流程为例进行分析。订单流程如图3所示。其过程如下:首先接收用户订单,进行库存检查和信用卡检查,然后将订单以及检查结果交由主管进行审批。若主管决定接受订单,则进行发货、收费;否则取消订单,过程结束。

 首先,用户通过用户界面登录,登录工作流系统,进入订单工作流。活动Agent将流程类型(即订单)和工作流的开始位置送至Agent服务器。服务器返回工作流的流程图和初始状态,活动Agent在跟踪服务器上进行登记。在该工作流结束接收订单的工作之后,通知任务队列管理器。管理器更新用户界面。用户提交数据。再根据用户提交的数据,选择是进入检查库存还是检查信用卡。如果选择检查库存,则由活动Agent在跟踪服务器上进行登记,检查库存工作结束之后,通知任务队列管理器,并由之更新用户界面信息,由用户提交下一步的数据,流程进入会计主管审批。同样由活动Agent在跟踪服务器上进行登记,在审批工作结束之后,通知任务队列管理器,由它更新用户界面,并由用户选择下一步流程,并提供下一步的数据。例如选择取消流程,则由活动Agent在跟踪服务器上进行登记,并在取消工作结束之后,通知任务队列管理器,由它更新用户界面信息。由于取消是订单流程的最后一步,所以,无需用户提交数据,结束该订单流程。
 本文通过对工作流技术和Agent技术的分析,在WfMS参考模型的基础上,提出了一个基于Agent的、易于扩展和移植的的工作流管理模型。该模型中Agent服务器根据工作流服务器对于工作流程中各个活动的定义和描述,来创建相应的活动Agent并协调和管理各个活动Agent的工作,使不同的活动Agent相互协作、共同完成整个工作流程,从而解决了普通工作流管理系统存在的灵活性和适应性不足的缺点。
参考文献
[1] 吴朝晖,邓水光.工作流系统设计与关键实现[M].杭州:浙江大学出版社,2006.
[2] 贾利民,刘刚,秦勇.基于智能Agent的动态协作任务求解[M].北京:科学出版社,2007:9.
[3] HAUGENEDER H, STEINER D. Co-operation agent:concepts and applications[M]. Agent Techology-Foundatons,Applications, and Markets, Springer, 1998:175-202.
[4] Cooperative distributed problem sloving[R]. AI Handbook IV,1990.
[5] 任明,王成道.基于联邦结构的多Agent协作[J].华东理工大学学报,2004,30(3):311-314.
[6] MALONE T, CORWSTONE K. The interdisciplinaty study of coordination[J]. ACM Computings Surveys, 1994, 26(1):87-119.
[7] OMICINI A, ZAMBONELLI R, KLUSCH M, et al. Coodination of internet agents. Springer-Verlag Berlin Heidelberg, New York, 2001.
[8] OSSOWSKI S. co-ordination in Artificial Agent Societies volume 1535 of LNAI. Springer-Verlag Berlin Heidlberg New York Tokyo, 1999.

此内容为AET网站原创,未经授权禁止转载。