开篇:润墨网以专业的文秘视角,为您筛选了一篇基于Agent技术工作流管理系统模型实现方案范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
[摘要] 目前大多数工作流管理系统都是独立地管理单个工作流,而忽视了工作流之间的资源约束关系,基于agent的工作流管理系统能够有效地解决这个问题。本文讨论了基于Agent的工作流管理系统,包括Agent技术、工作流参考模型、基于Agent技术工作流管理系统模型以及系统实现方案的设计思想。
[关键词] Agent 工作流管理系统 参考模型
工作流管理系统是利用计算机技术和信息技术作支持,使企业等组织机构的业务流程实现自动化。当前,大多数工作流管理系统都是独立地管理单个工作流,忽视了工作流之间的资源约束关系,而基于Agent的工作流管理系统能够有效地解决这个问题。
Agent具有某种程度的类人性,其本意就是要代替人(或协助人)完成某些工作。工作流管理系统作为一种群件系统与Agent系统有着某种相似的特点,都满足分布式的协同工作系统,因此Agent系统非常适合应用于工作流管理系统,尤其是设计分布式工作流控制结构。
一、Agent技术
关于Agent目前还没有统一的明确定义,一般来说,Agent是指可以代替用户完成简单、重复的操作,具有一定性的智能化软件。基于Agent的工作流管理系统,组织机构内的每个资源(包括人员、设备和数据库等)都有一个Agent与之相关联。按其实现的功能不同,Agent可以分为以下3类:
1.接口Agent:其主要功能是管理人员资源,在其他Agent看来,它是代表用户参与活动的主体。
2.任务Agent:其主要功能是解释过程定义、控制过程实例的执行(包括创建、激活、暂停和终止等)、活动的调度、工作流控制数据的维护,以及与执行中的管理和监控等等。当启动一个工作流时,与之相对应就创建一个任务Agent。
3.资源Agent:与除人员资源以外的其他资源相关联,如打印机、数据库。当接口Agent或任务Agent要访问数据资源或使用某个设备时,它就向与之相关的资源Agent发送请求,资源Agent负责管理该项资源,它执行请求并将操作结果返回给请求者。
利用Agent可以有效地解决工作流系统中的资源冲突、执行中的模式僵化,以及用户被动地处理工作项问题
二、工作流管理系统模型
一个工作流管理系统主要有两个组成模块:业务流程建模模块和工作流执行控制模块。在业务流程建模阶段,工作流管理人员使用过程建模工具对实际业务流程进行分析、建模,将业务流程表示为计算机可处理的形式化表示。
工作流管理系统的体系结构可以是集中式,也可以是分布式。
集中式工作流控制结构主要由一个工作流引擎和多个客户应用组成,另外还有其它部件如建模工具、管理和监控工具等,这种控制结构较为简单,适用于小规模的群体协作活动。
分布式工作流控制结构是由分布在不同站点的多个工作流引擎组成,多个工作流引擎共同解释执行一个过程定义,这种控制结构比较复杂,工作流引擎之间在执行过程中要交换应用数据和控制信息,当数据分布存储于不同地点时涉及到数据表示和数据一致性维护问题。
尽管如此,现有的工作流系统仍然存在着适用范围窄、灵活性差、扩展能力不足,以及对意外的情况不能及时处理等问题,因此,具有自组织、自学习和协同工作能力的智能工作流系统是工作流的一个发展方向。由于Agent具有自主性、交互性、主动性等智能特点。因此将Agent技术结合到工作流管理中将解决工作流的上述不足,非常适合构造结构复杂、灵活、智能的工作流管理系统。
三、基于Agent的工作流管理系统
1.在工作流管理系统中引入Agent
工作流系统的开发中可在两方面引入Agent技术:
(1)利用Agent技术开发工作流的管理者。工作流管理者要能够向每个工作站下达工作流程和进度计划,主动引导各个工作站按照工作流程和进度计划推动工作,并受理和评价个工作站进展情况的报告,以及集中管理各类数据。
(2)利用Agent开发工作流行为的执行者。工作流中,人和Agent共同完成一个行为的情况是较多的,人是在Agent辅助下完成工作,给人提供相关的重要信息。即开发一种能给各环节设计人员提供指导和帮助功能的软件Agent。
2.基于Agent的工作流管理系统模型
基于Agent 的工作流管理系统模型主要由四部分组成:工作流服务器,Agent服务器,工作表服务器和多个具体的Agent组成的Agent族。其结构如图所示。
四、系统模型实现方案的设计思想
1.Agent的表示
基于Agent 的工作流管理系统模型中,Agent可以表示为一个五元组描述的实体,即Agent=。其中:
N为Agent的名称,具有惟一性,并可描述Agent的类型。
I为Agent的界面定义,描述呈现在用户面前的人机界面和通信接口(包括通信协议和I/O接口),一般应遵循界面与Agent功能相分离的原则。
S为Agent的状态集,是描述Agent内部状态的集合,Agent的行为实际上是由一状态转移到另一状态的过程。
T为Agent的事务集,定义Agent的行为,体现Agent的职能,并包含推理机制。
K为Agent的知识源,描述Agent行为所需要的知识、数据、推理规则以及有关资源,体现为数据结构、数据库和知识库等。
2.工作流管理系统的表示
在Agent定义的基础上,可以用一个四元组描述工作流管理系统,即WfMS =< Agents,Goals,KnowledgeBase,Relations>。其中:
Agents为Agent集合,每个Agent具有一定解决问题的能力;Goals为目标集,描述所需要完成的共同任务;KnowledgeBase为知识库,描述协同工作完成任务所需要的知识;Relations为关系集,描述Agent之间的协作关系及其他关系。实际上,设计一个基于Agent的工作流管理系统核心就是定义一组Agent,建立它们之间的联系,确定它们的共同目标的过程。
3.Agent的通信机制
与传统的分布式计算中各计算实体间的通信不同,Agent通信是建立在知识级别的,而实现这种通信手段便是使用Agent通信语言,可使Agent间的通信效率大大高于传统的分布式计算中的通信。KQML(Knowledge Query and Manipulation Language)是一种用于信息和知识交换的语言和协议,KQML从形式、内容、语义、实现和可靠性等方面对Agent间通信给予保证,在Agent间交换含有语义的控制信息和知识,从而在基于知识的层次上描述访问请求,提高了对象的定址方式和能力。目前,KQML是获得最为广泛应用的Agent通信语言,被称为事实上的标准。因此可选用KQML作为Agent间的通信方式。
4.系统模型的实现环境
基于Agent的工作流管理系统模型实现的环境可以在基于J2EE体系下采用java技术作为主要的实现语言,这是因为java“一次编译,到处运行”的平台无关性特点非常适合用来进行工作流管理系统的开发。还可以选择一个支持移动Agent的执行环境,如选择IBM公司的Aglet。Aglet是由IBM日本公司用纯java开发的移动Agent平台,供人们开发或执行移动Agent系统。到目前为止,Aglet是最为成功和全面的系统,主要表现在提供了一个简单而全面的移动Agent编程模型,并为Agent间提供了动态和有效的通信机制,还提供了一套详细且易用的安全机制。
五、结束语
工作流管理系统必须是一个开放的系统,具有很强的互操作能力。Agent技术将会成为工作流管理系统的关键技术。Agent作为能够协助或替代用户或系统执行某些功能。Agent技术的应用,将会给工作流管理系统带来更好的发展前景。
参考文献:
[1]The Workflow Management Coalition:Workflow Standard-Interoperability Abstract Specification, DocumentNumber WFMC-TC-1012, 20 October 1996, Version 1.0
[2]范玉顺:工作流管理技术基础[M].清华大学出版社,施普林格出版社,2001~4
[3]史美林等:计算机支持的协同工作理论与应用[M],电子工业出版社,2000~12
[4]朱云龙薛劲松李红信等:基于Agent的工作流协调模型的研究.小型微型计算机系统,2000,21(7):737~739