研究生课程(论文类)试卷2014/2015学年第2学期课程名称:智能控制课程代码:12000448论文题目:基于专家系统的WEB服务设计学生姓名:罗华电话:15901889707专业﹑学号:142460397学院:光电信息与计算机工程学院课程(论文)成绩:课程(论文)评分依据(必填):任课教师签字:日期:年月日课程(论文)题目:基于专家系统的WEB服务设计摘要:将MAS和Web技术应用于专家系统开发中,设计了基于Webservice的MAS专家系统的构架模型,并在多Agent协商中提出了一种冲突消解策略,给出了基于webservice的MAS专家系统中多Agent间的协作过程。在安全性方面,提出了一种系统安全管理机制,包括注册/注销机制、安全通信机制、安全管理与审计机制和安全恢复机制,并利用容器砂箱模型,实现了MAS专家系统基于角色的访问控制。关键词:专家系统web服务AgentMAS安全管理AbstractWillMASandWebtechnologyappliedinexpertsystembasedonWebdesign,theexpertsystemfortheserviceoftheframemodelMAS,andinmanyAgentnegotiationsputforwardakindofconflictresolutionstrategy,webserviceisgivenbasedontheexpertsystemMASAgentcollaborationbetweenprocess.Insafety,putsforwardakindofsystemsafetymanagementmechanism,includingregistration/cancelmechanism,securitycommunicationmechanism,securitymanagementandauditingmechanismsandsaferecoverymechanism,andusingthemodelofsandboxcontainer,MASexpertsystemrole-basedaccesscontrol.Keywords:expertsystemwebserviceAgentMASsafetymanagement1、引言Agent特性模拟人类专家群处理问题的方式,将复杂问题加以分解,同时利用协作、谈判、竞争、具有自治性、社会性、反应性和能动性。基于MAS(Multi一Agentsystem)的专家系统利用Agent的这些招投标及任务调度等机制,能够较好地解决传统专家系统无法解决的复杂智能问题,充分展现了MAS在混合知识表达及大型复杂问题求解方面的潜力。本文构建了一个基于Webservice的MAS专家系统。2、系统总体架构包括外部Agent和内部Agent两部分。外部Agent主要有:用户交互Agent和系统管理Agent等;内部Agent主要由不同的专家Agent构成。(1)用户交互Agent:是系统与用户的接口,它根据用户所选择的决策模块,提供相应的交互界面并自主决定向用户提什么问题,获取哪方面的知识等。用户信息也可能是专家提供的知识(规则),知识管理Agent将对专家知识进行处理加工。(2)系统管理Agent:它是系统管理员与专家系统的接口,负责对系统整体的管理与维护,包括对数据库的管理、定义与已有的专家系统的交互方式等。对数据库的管理,主要是对数据进行管理与维护,进行输入和编辑处理,自动创建新的数据,提供输入界面。定义与已有的专家Agent交互方式,主要是为了利用已有的各领域的专家Agent,通过基于KQML的通信方式与其他专家Agent进行交互,实现协作,增强系统的扩展性和重用性。(3)专家Agent:本系统根据涉及的专业领域构造若干个专Agent,每个专家Agent是一个完整的专家系统,除了具有传统的专家系统的主要功能组成部分外,还具有Agent的特性。包括以下功能模块:本地数据库记录本地专家Agent和协作专家Agent生成的中间信息,如专家Agent的标识符、推理过程、中间结果和相关数据等。协作知识库存放专家Agent间协作的策略、知识和方法,以及交互协议;记录与本专家Agent有过协作的专家Agent的标识符、提供的服务及可信度等知识。冲突消解模块根据一定的检测规则对内部数据记录的协作求解信息进行跟踪测试;检测到冲突时,通过协商策略进行消解。学习模块通过从用户接口获取新的知识以及查阅内部数据库中的协作中间信息,及时更新原有的知识库。学习是使专家Agent具有智能性的根本途径。总控模块初始化内部数据库、知识库和协作知识库;调入领域专家定义的协作描述;应用交互协议与其他专家Agent交互,控制任务队列中任务的提交和委托。本模块是专家Agent的控制机构。通信模块使用交互协议库中的交互协议通过消息传递进行通信。交互协议是管理专家Agent交互的一组规则,如进行任务分配的合同网协议、协作请求协议和知识查询协议等。在此基础上,领域专家可以构造多种更复杂的交互协议,以适应不同应用领域协作的需要。知识库管理模块提供多种知识表示方法,如知识的规则表示、框架表示和面向对象表示等;负责知识库和协作知识库的建立以及在专家Agent的运行中通过内部数据库和学习模块更新、维护知识库和协作知识库。任务模块和任务队列系统中的问题求解和协作均以任务为单位进行,对任务的管理是专家Agent的基本而重要的功能。任务处理模块管理3个任务队列:本地任务队列、协作任务队列和委托任务队列。本地任务队列存放自身可以求解的任务;协作任务队列存放其他专家Agent请求协助而提交的任务,由总控模块通过通信模块从其他专家Agent处得到;委托任务队列存放需要其他专家Agent协作求解的任务,由总控模块通过通信模块向其他专家Ag即t委托。任务处理模块一方面对本地用户提交的问题进行分析,将超出自身知识领域的部分问题分解成一个或多个子任务并放入委托任务队列;另一方面,对协作任务队列中的任务进行处理,将其转化成推理模块可以识别的信息格式以进行推理。推理模块是专家Agent的执行机构,由任务处理模块启动。推理机体现了知识运用的方法。3、多Agent间的协作过程本系统中构造了n个专家Agent,每个专家Agent对某一具体领域的问题具有解决能力。有的问题仅靠一个专家难以解决,该专家Agent将问题中超出自身能力的部分分解成任务放在委托任务队列,然后继续对问题中自身能胜任的部分进行推理、求解,必要时它会向其他专家Agent请求帮助,下一个专家Agent又有可能向其他专家Agent请求帮助,这样层次性传递,直至最后完成任务。此协作过程是由总控模块根据委托任务队列中任务的性质来建立的。当协作问题求解过程中出现冲突时,应用协商策略进行冲突消解。(1)若该冲突可消解则继续求解;若该冲突无法消解则协作视为失败,再选择其他专家Agent与本地专家协作求解问题。合作者自信度和信任度按照如下规则进行调整:自信度的调整Agenti的自信度Conf(Agenti,t)越高,则承揽任务时越积极。当Agenti通过学习获得了完成任务t的能力时,将Conf(Agenti,t)设置为0.5。当Agenti未能按要求完成任务t(完成任务评价值小于特定值),Conf(Agenti,-6-t)值的下调△c,此时,Conf(Agenti,t)值的下调规则可表示为:IFevaluate(Agenti,t)≤VLTHENConf(Agenti,t)=max[0,Conf(Agenti,t)-△c]自信度是针对每个具体任务的,只在承揽任务时使用。信任度的调整对某个Agenti的信任度越高,则将任务委托给它的可能性就越大。当Agenti仁通过学习获得了完成任务t的能力时,将Trust(Agenti,t)设置为0.5。当Agenti未能按要求完成任务t(完成任务评价值小于特定值)时,将对该Agenti的信任度Trust(Agenti,t)下调△t。此时,Trust(Agenti,t)值下调规则可表示为:IFevaluate(Agenti,t)≤VLTHENTrust(Agenti,t)=max[0,Trust(Agenti,t)-△t](2)如果在协作中,各专家Aegnt根据内部数据库的数据变化执行相应的操作,一步一步趋向最终解。若协作求解成功,总控模块把协作结果综合成最终解和解释提供给用户。合作者自信度和信任度按照如下规则进行调整:当Agenti非常成功地完成了任务(t完成任务评价值大于特定值)时,Conf(Agenti,t)上调△c,此时,Conf(Agenti,t)值的上调规则可表示为:IFevaluate(Agenti,t)≥VLTHENConf(Agenti,t)=min[Conf(Agenti,t)-△c,1]。当Agenti非常成功地完成了任务t时(完成任务评价值大于特定值)时,将Trust(Agenti,t)上调△t。此时,Trust(Agenti,t)值上调规则可表示为:IFevaluate(Agenti,t)≥VLTHENTrust(Agenti,t)=min[Trust(Agenti,t)-△c,1]在整个协商过程中,每个专家Agent的地位是一样的,不存在谁控制准的问题,不存在中心控制系统,信息的传递只在相关的专家之间进行,避免了通信瓶颈问题。可见,对于某一个任务,其子任务具有明显的层次性。整个网中具有多个任务时,就不是简单的层次结构,子任务与结点之间根据协商过程建立联接关系,形成了关系网。4、安全管理机制为了提高本系统在开放网络环境下的安全性,结合webService和MAS技术为本系统提供如下安全管理机制。4.1注册/注销机制基于安全性考虑,本系统以“容器”为基本单位,将一个物理节点上逻辑相关的一组Agent组织到一个Agent容器中。这里,容器模拟为一个人类社区,除了为社区内Agent之间的通信、协作和竞争提供基础设施服务外,还具有独立的安全管理策略。依据管理策略,容器可以有效地管理Agent间的消息传递,阻止Agent对本地/网络资源的非法访问,实现自定义的砂箱(sandbox)模型。另外,驻留在各节点上的容器被更高层的容器管理器管理。容器管理器是一个特殊的容器,它运行在管理节点上,除了为认证机构CA及相关Agent提供安全运行环境外,容器管理器还为整个系统提供基础安全服务。注册是指一个Agent在申请加入MAS专家系统前,容器为Agent提供的一系列安全服务,包括基于数字证书的身份认证、Agent安全性检查、基于角色的访问控制等。Agent启动后,首先发送注册请求。根据自定义会话协议,容器管理器验证Agent合法身份,同时完成安全性检查。随后,Agent向本地Agent容器发布自己的‘能力列表”,说明自己能够处理的消息类型和编号。根据Agent的能力列表,容器可以实现消息的自动路由。另外,注册时Agent还可以声明自己的安全运行环境,容器可以根据Agent的声明作相应的运行环境安全检查,生成Agent的访问控制列表。最后,注册服务结束前,容器管理器为Agent分配全局惟一标示符AID。Agent正常退出系统前,需要利用“注销”机制通知MAS专家系统,得到批准后,Agent中止自己的进程,容器及容器管理器清除该Agent的相关数据,回收内存空间。注册/注销允许本系统安全加载和卸载一个Agent,实现基于任务求解的系统动态裁减。4.2安全通信机制为了确保消息内容的机密性、完整性和可用性,保证消息来源的真实性和不可抵赖性,本系统依靠安全服务引擎、安全通信Agent在应用层为消息的可靠传递提供安全服务。本系统使用了数字信封技术,其消息格式如图3所示,其中消息区加密封装了Agent之间传递的数据;长度字段定义Agent传递变长记录的长度;消息类型描述消息的性质,在多Agent专家系统中,Agent间传递的消息分为控制类、资源访问请求类和数据类消息3种;加密套