阐述工作流基于工作流与Agent技术选课系统 大纲

更新时间:2024-04-04 作者:用户投稿原创标记本站原创
摘要: 将工作流技术与Agent技术相结合用于选课系统的研究,充分利用工作流灵活性、软件重用和异构软件的集成特点,发挥Agent技术自组织、自学习和协同分配任务的能力。将多Agent工作流管理系统进行实例应用,设计了一个智能选课系统模型,协调系统中不同角色人员的不同活动,尽量避免冲突,使选课系统更加科学化、高效化、智能化和安全化。
关键词: Agent; 选课系统; 工作流; 产生式规则; 推理
1006-8228(2012)10-34-04
引言
随着计算机应用能力的提高,人们对软件的功能提出了越来越高的需求,这些需动了软件工程的发展。在软件开发的早期,人们利用功能分解的方法开发程序,后来又出现了结构化和面向对象的方法,这些方法都提高了软件的生产效率。但是,随着软件的复杂程度、并行程度的提高,传统的面向对象的方法显现出一定的局限性,人们开始将Agent思想运用到软件工程中。Yo Shoham早在1993年就提出了Agent-oriented programming(AOP)。Agent是一种特殊的对象,因此,面向Agent技术是面向对象的软件工程的一个特例,它并不是完全不同于面向对象技术的一套新方法,而是对面向对象技术的发展,它被誉为“软件开发的又一重要突破”。
本文利用面向Agent的软件开发方法,结合软件工程的基本思想、原理和原则设计系统模型;同时将工作流技术与Agent技术相结合,设计多Agent工作流管理系统模型;对选课系统进行实例化,有效地协调系统中不同角色人员的不同活动,尽量避免冲突,使选课系统更加科学化、高效化、智能化、安全化。
1 Agent和工作流基本概念
Agent技术源于分布式人工智能,是人工智能和计算机科学新的综合,可用来解决复杂分布的现实问题。Agent按其应用,又分为单Agent和多Agent系统两种。面向Agent的软件开发方法是对基于Agent技术的软件系统的设计和开发。Agent是具有自主性、自动性和智能化的对象,它强调封装的概念,使用消息传递的通讯方式,并且可以使用继承和聚集定义结构,其结构模型如图1所示。面向Agent的方法继承了面向对象和面向模块方法的优点,具有模块性、重用性、扩张性、移植性的特点。
工作流是一类能够完全或者部分自动执行的业务流程,它根据一系列过程规则,使文档、信息或任务能够在不同的执行者之间进行传递与执行,图2为工作流管理的系统图。工作流技术被业界广泛应用并迅速发展,它的主要特点是使业务的处理流程自动化,使人与应用工具之间相互协调工作,以完成某项工作。工作流管理的目的是为了让合适的人或软件在恰当的时间执行正确的工作。
目前的工作流系统缺乏健壮性和可重用性,没有备份机制和有效的恢复手段,容错问题基本上也没有考虑,系统对于出错的恢复弹性是极小的。传统的工作流系统在定义流程时隐含假设了所有的任务的实现和它们之间的协作均能被事先准确、完善地定义,事实上并非如此,大量业务流程对环境变化很敏感。同时,由于许多工作流运行周期长,在运行过程中难免发生变化,因此,工作流管理系统必须考虑异常情况和例外的处理。
鉴于上述原因,Agent技术与工作流技术的结合成为了如今研究的重点。目前,大多数工作流管理系统都是独立地管理单个工作流,忽略了其间的资源约束关系,而基于Agent的工作流管理系统能够有效地解决这个问题。基于Agent的工作流技术对解决传统的软件工程方法中的问题有着很重要的作用,它是软件工程方法发展的一个必然趋势。
在工作流管理系统中,利用Agent可以有效地解决下列问题:
⑴ 工作流系统中的资源冲突问题;
⑵ 执行中的模式僵化问题;
⑶ 用户被动地处理工作项问题。
本文提出一个多Agent工作流管理系统。该系统的结构是一个递阶、不确定的动态结构。其模型结构如图3所示。
图3中的模型结构,横向将工作流源于:论文格式模板下载www.808so.com
管理分为工作流开发环境和工作流运行环境。纵向将工作流管理与业务流程过程分为定义层、控制管理层和流程建模层。
⑴ 对话定义层
由用户接口Agent和工作流定义接口Agent组成,是用户与计算机进行人机对话的接口,也是系统获取外部信息的接口。
⑵ 控制管理层
由工作流服务器和Agent服务器组成。
工作流服务器借助于一个或多个工作流引擎,解释过程定义,控制实例的执行,控制工作流中各种活动的执行顺序等。在工作流的创建和执行过程中,工作流服务器同Agent服务器交互,Agent服务器根据工作流服务器中的流程控制信息,完成相应的Agent的生成,调度和执行。例如:在工作流实例的创建过程中,根据工作流服务器中的相应活动的定义和描述,系统服务器生成相应的任务Agent,并在跟踪服务器中注册。
Agent服务器实际上是为任务Agent提供服务功能的(Agent),它和工作流服务器交互,保存了重要的过程定义和结构信息。它根据过程定义在工作流实例化的过程中生成相应的任务Agent,每个任务Agent对应于一个工作流过程实例。Agent服务器中包含管理和控制两个Agent部分。控制Agent是整个系统中最关键的核心部件,是工作流运行的“引擎”。负责对活动和问题的分解,子活动和子问题的分配和协商,以及提供工作流运行控制服务;控制Agent记录了各种供给其他Agent共享的全局信息,同时监督和控制选择相应的Agent。管理Agent 则是对工作流开发环境中工作流过程实例的定义和状态进行监控与管理。
⑶ 流程建模层
流程建模层在工作流开发环境中是由工作流模型定义Agent、过程定义Agent和Agent活动定义等多个Agent 组成的;当业务流程新增或发生变化时,对以往不存在的,系统中未包含的业务流进行定义,并定义该业务流过程Agent,以提供系统使用。工作流运行环境中是由任务Agent、活动Agent等多个Agent组成的;主要是针对流程重组或工作流建模的各子问题及目标,由各任务Agent根据其内部知识选择相应的资源Agent或多个用户Agent合作,构成相应的子业务流程或工作流模型。各任务Agent在构建工作流模型过程中,既可单独也可相互合作,并能通过工作流模型的不断构建进行自我演化、删除和修改过程的某些成分和无用或过时的活动实例。
⑷ 工作表服务器
工作表服务器维护工作流参与人员的任务信息,而且负责通知任务Agent有关动态修改的信息。它是任务Agent生成任务项的惟一场所(生成任务项的过程为任务Agent向工作表服务器查询用户Agent信息,并在相应的用户Agent中生成新工作项),故在系统中不可缺少。
2 应用实例:基于Agent技术和工作流技术的选课系统
目前,高校选课系统的运用,使得学校管理自动化逐步提高。它不仅实现了学生跨学院、跨年级、跨专业进行选课,还支持学生自主“选教师、选方向、选教材”的行为,体现了以学生为本的教育教学理念。
高校选课系统仍然存在很多问题。如:学生虽可以自由选课,但系统往往不加审核,导致违反教学拓扑规律现象的产生;学生选课只是一种形式上的确认选课,表明选课信息已进入计算机管理,其实学生只拥有少部分自主选课的权利;如果管理策略、方法、对象等发生变化,开发人员就得修改甚至重新开发系统,现行的系统基本不具备适应变化的能力。
针对高校管理的需要,本文将多Agent工作流管理系统实例化,设计一套具有自动化、适应性和灵活性的智能选课系统模型。利用Agent概念及思想解决传统选课系统所不能解决的问题。同时,在选课系统中,尽量减少手工确认审核的麻烦等,利用Agent自动完成这些工作,让选课系统真正发挥它的作用。
⑴ 在选课的过程中,根据学生的专业以及该专业的教学计划为每个学生生成一个选课列表。在学生选中自己喜欢的课程之后,给出多个这门课的开设时间、任课教师等信息,学生可以根据给出的信息进行选择。
⑵ 在选课的过程中,如果学生选择了课程B,但系统发现其课程B的先行课A没有修或没有通过,则系统会给出提示,学生必须先修A。
⑶ 如果学生当前的选课学分总数超过规定学分,则不允许选课,并给出超出的学分数。而且当学生的专业课有两门及以上没有通过,则给出提示等。
利用Agent软件管理学生的选课信息,就能动态跟踪学习者的选课行为,根据学习者先前的选课情况自动组织选课内容,从而克服了现阶段内容松散的超文本结构。Agent的社会属性能够满足建构主义协同选课的需要,可将每个学生和老师都看作独立的Agent。
根据源于:www.808so.com
选课系统使用者的不同身份,我们提出一种如图4所示的选课系统模型。该模型将系统划分为教师Agent、学生Agent、课程Agent、课程计划Agent、管理Agent。
图4描述了选课系统的体系结构。一般高校中的选课系统,大多数需要学生输入课程序号进行选课,而且专业必修课和专业选修课区分不是很明确,学生在选课的过程中会感觉很麻烦。而基于Agent的选课系统在学生进入选课的时候,就可以根据学生的专业和所学的先修课程及教学计划为他们列出一个本学期的可选课列表,并且给出课程的详细信息,学生可以很清楚地根据自己的兴趣爱好和要求进行选课。
2.1 Agent的形式化定义
⑵ 相关数据库和推理机制描述
学生基本信息库:记录学生的学号、姓名、性别、系所、年龄等基本信息。
成绩记录库:记录学生所选课程及分数。
个性分析推理机:根据课程计划Agent提供的相关选课规则与学生模型库的相关信息,以此作为选课的依据。在选课的过程中,推理机将不断地产生、修改学生模型库,准确反映学生的选课能力。
课程Agent、课程计划Agent、教师Agent、管理Agent的构建与设计与上述类似。
2.2 知识库的创建
知识库的概念是将传统的数据库技术和人工智能相结合的产物。现在用基于规则的知识表示方法来设计Agent。
在SQL Server中,创建规则可以使系统对输入的消息流自动做出反应,并能用预定义操作来响应特定的错误情况,或将这些消息整理成一个更明确的异议事件。这些规则使系统能够智能地响应预测到的事件模式,触发操作。这些规则也可以将某个事件序列与SQL知识库中的信息链接起来,即时向操作人员提供有关问题发生的原因、对特定问题的有效响应以及其他相关信息的连接。
2.2.1 产生式规则
2.2.2 推理系统的设计
采用关系模型表示系统中产生式的规则知识,使得推理系统的设计更简单而且有效。实际上利用现有RDBMS的优化查询能很容易实现。
2.3 用Agent技术和WFMS实现选课系统
工作流管理系统与传统的信息系统相比具有很多优势。但是由于目前传统的工作流管理系统仍然存在着适用范围窄、对异常情况处理不及时等问题,尤其是在工作流执行过程中,不能有效地进行工作流程所涉及的各种业务活动的合理调度和优化运行,使得其应用受到很大限制。由于Agent具有自主性、交互性、主动性等智能特点,将Agent技术结合到工作流管理中,能够解决工作流的上述不足,非常适合构造结构复杂、灵活、智能的工作流管理系统。Agent技术和工作流方法结合起来非常适合选课系统的建设,可以有效地协调系统中不同角色人员的不同活动,尽量避免冲突,使选课系统更加科学化、高效化、智能化、安全化。
在选课系统中,我们可以把每个Agent都看成是工作流的节点。当学生要求选课时,工作流引擎为每个学生提供一个选课流程,首先进入选课界面,系统根据学生的学号以及选课计划,列出该学生的选课项。如:信息学院的计算机科学与技术专业的学生,进入选课界面,如图5所示。
接下来学生根据自己的情况和教学计划进行选课,点击“选课”后出现界面如图6所示。
选课的人数在选课过程中随时都会变化(当学生选中这门课的时候,人数就会下降),而选课Agent,教学计划Agent,仲裁Agent,课程Agent,学生Agent就会互相协调,避免发生错误(如选课违反了选课规则,不符合教学计划等)。而管理Agent在整个工作流过程与其他Agent的协调提高了整个系统的效率和灵活性,使系统发挥最大的效能。
2.4 选课系统实现模型
当学生要求选课的时候,系统收到选课请求,并对其进行审核(看其是否符合选课规则),当满足选课规则时,就可以进行选课并修改课程清单,最终完成选课。
图7描述了选课系统功能模块结构,包括用户登录、选课、退课、查询选课、修改等。
3 结束语
选课系统在很多学校都有使用,它减少了很多手工选课的麻烦,节省了时间,而基于Agent的选课系统更加自主并智能,可以随着外部环境做出相应的变化,而不需要对其进行重开发。工作流的利用使整个选课过程显得更有条理。本文从产生式规则的角度出发,设计Agent的推理机制,并将工作流技术与Agent技术相结合,充分发挥其优势,具有一定的理论和现实意义。

点赞:17386 浏览:72903