一种基于Agent协商的语义Web服务知识模型*翟社平1,魏娟丽2,李增智1(1西安交通大学电子与信息工程学院,710049,西安)(2西安体育学院网络信息中心,710068,西安)摘要:为了改善Web服务部署和发布的独立及自治性能,并且提高服务发现、组合过程中,服务Agent之间对于服务知识的理解和修正能力。通过将Agent技术与语义Web服务技术进行结合研究,提出了适合协商的服务参与者的Agent模型及服务知识模型并扩展了服务描述层次(抽象服务和具体服务),设计了服务Agent之间信念知识修正和更新的方法,克服了语义Web服务只能包含一些被动的、可预知的简单计算过程的缺点。关键词:Web服务,本体,语义Web,Agent协商ASemanticsWebServicesKnowledgeModelBasedonAgentNegotiationZhaiSheping1,WeiJuanli2,LiZengzhi1(1SchoolofElectronicsandInformationEngineering,Xi’anJiaotongUniversity,Xi’an710049China)(2NetworkInformationCenter,Xi’anPhysicalEducationUniversity,Xi’an710068,China)InordertoimproveindependenceandautonomycapabilityinWebservicesdeploymentandpublishment,andenhanceunderstandingorupdatingcapabilityofserviceknowledgebetweenserviceagentsinservicediscoveryandcomposition.FollowingaconjunctivestudyofagentandSemanticsWebservicestechnology,serviceknowledgemodelandextendedservicedescriptionlayersareproposedtoaccommodateagentnegotiation,anddesignmethodsforrevisingandupdatingserviceagent’sbeliefknowledge.ItfinallyovercomesthosedefectsthatSemanticsWebservicecanonlycomprisestraightforwardcomputationalprocedureswithpassiveandpredictablebehaviors.Keywords:WebServices,Ontology,SemanticWeb,AgentNegotiation语义Web服务(SemanticWebServices)的设想[1][2]是将语义Web和Web服务技术进行结合,使得软件系统之间能够进行自动和动态的交互。我们能够使用语义Web技术对作为Web服务提供的软件的接口进行语义标注,使得代表用户的服务Agent自动注册、请求、协商和发现服务。为了提高服务发现的效率并得到用户最满意的服务,必须按照不同层次对服务进行描述,此外,Agent之间必须就服务的具体属性值进行协商交互。BDI(Belief-Desire-Intention)[3]模型常用来定义和实现具有理性行为的Agent。信念(Beliefs)反映了Agent具有的领域知识,期望(Desires)是Agent对于想要达到的世界状态的知识描述,而意图(Intentions)则反映了Agent确认能够完成的期望。本文,我们在对Agent服务知识模型及知识协调的基础上,设计了适合服务Agent之间就服务属性进行协商交互的协议模型。1语义Web服务及Agent知识模型1.1语义Web服务的描述模型在对服务功能和服务需求进行形式化描述和语义匹配分析时,我们能够将基于服务本体的静态描述与Agent部署的动态性和强大的推理能力进行结合。服务参与者Agent能够使用公共本体对它们接受和提供服务轮廓进行抽象描述,并不能明确的列举所有的具体服务实例和绑定服务功能及非功能属性值。这一方面由于参与服务的Agent的知识具有动态的、异构的和局部的特点,难于使用对方能够理解的概念对服务进行清晰的描述。另一方面,服务的*收稿日期(2009-6-25),基金项目:国家自然科学基金项目(60673170)。作者简介:翟社平(1971-),男,博士生,讲师。主要研究方向语义Web及服务计算。Email:zhaisheping@163.com。发现、组合、调用也是一个动态的过程,之前并不能通过静态的结构反映其数据流和工作流,当然也不能对其负载的语义进行明确的说明。因此,服务可以看作是不同层次上的抽象,我们使用公共本体对服务的需求和提供进行抽象描述,通过协商模型的消息交互确定具体服务属性值。我们将Agent的Web服务的语义知识标注依照不同的层次描述如下:定义1:抽象服务(AbstractService)抽象服务是对一类具体服务实例具有的公共服务功能的抽象描述,它能够使服务Agent对服务需求进行描述时,不用对服务属性值进行精确描述。比如,在服务发现的开始阶段,抽象服务功能匹配的目的是过滤掉那些肯定不能满足服务请求功能的服务广告,以缩小服务协商交互的Agent范围。定义2:具体服务(ConcreteService):是服务参与方中的一方对于完成动作和服务属性值的明确的说明。一个具体服务描述与一个服务实例(ServiceInstance)相对应,服务实例看作是一个服务请求者和服务提供者之间为了完成某个任务而定义的详细的交互规范的合同(Contract)。比如,一个购票的服务请求者Agent想买一张由西安飞往北京的飞机票,价格在600元以内,日期不晚于2009-6-28,使用信用卡购票。使用DL(DescriptionLogic)[4]公式对此服务需求进行抽象描述如下:CreditCardpaymentBeijingtoAnXifromdatepriceiceTicketServrviceAbstractSeSA..'...2862009600∃∃∃≤∀≤∀≡−−IIIIII而能够提供具体机票服务的一组满足要求的服务实例描述如下:CreditCardpaymentBeiJingShippedtoAnXimShippedfrodatepriceiceTicketServrviceConcreteSeSBeiJingShippedtoAnXimShippedfrodatepriceiceTicketServrviceConcreteSeSCC..'....'...2862008330225620083601∃∃∃=∃=∃≡∃∃=∃=∃≡−−−−IIIIIIIIIII服务Agent、抽象服务和具体服务描述的关系如图1所示。图1抽象服务与具体服务的关系服务agent和服务抽象描述、具体描述关系符合如下的交互流程a服务提供者Agent注册服务的提供(offer)描述。a.1服务提供者Agent首先就服务注册的概念知识(以BDI反映)同服务发现者Agent进行协调,以了解服务发现者Agent的本体知识,协调失败,意味着提供者Agent不能在发现者Agent处进行注册。a.2服务提供者根据协调结果,在服务发现者Agent处对服务的抽象描述进行注册。b.服务请求者Agent对服务发现者Agent提出服务需求描述。b.1服务请求Agent依据服务请求概念知识同服务发现Agent进行知识协调,以便服务发现者Agent能够理解服务请求消息。b.2服务请求者Agent使用服务发现者Agent能够理解的本体概念描述自己的抽象服务需求。b.3服务发现者Agent返回包含潜在的能够满足服务请求Agent需求的一组服务提供者Agent地址信息(以URI反映)。c服务请求者agent就具体服务描述属性同服务提供者Agent进行协商交互。c.1服务请求者Agent和服务提供者Agent之间首先进行知识协调,据此修正自己的知识库,使得下面的服务协商消息概念具有明确而清晰的语义。c.2服务提供者Agent和服务请求者Agent之间就服务具体描述属性进行协商,使得服务请求能够较好的得到满足。1.2协商交互的服务Agent定义3:参与服务协商交互的由3类服务Agent组成,即服务请求者(ServiceRequester)、服务发现者(ServiceDiscovery)和服务提供者(ServiceProvider)。参与服务交互的Agent集合表示为;},,{rdpaSSSS=在实际使用中,服务Agent功能不是固定的,一个服务提供者Agent可能同时也作为服务请求者出现,本文为了简化问题,我们假定参与服务交互的Agent具有固定的角色功能,即φ=drpSSSII。定义4:建立参与协商的服务Agent交互模型|Pr||tan:|||Pr|tan|||:||:|tan:|tan:),(:},{:spropostioncompositeopostionsAtomicVaribletConspropOfBDIConsConsConsConsConsopositionsAtomictConsConsRolepropOfBDIConsRolepropOfBDIConsRolepropOfBDIRolepropOfBDIMessageBehaviororBehaviorBehaviorthenBehaviorMessageBehaviorVaribletConsnameVariabletConstypenametyperRoleBehaviorRoleMstatestatestatestatestate=∨∧¬=⇐←⇐←⇒⇒======服务Agent协商交互模型由角色和其能够完成的交互行为构成,交互角色通过角色类型(比如服务提供者、服务请求者和服务发现者)和具体Agent名称进行描述。角色的行为通过消息的传递完成,复杂的行为通过使用操作符then和or进行组合。消息可以指定某个角色Agent接收(),也可由某个角色Agent发送(Role⇒Role⇐)。消息实际上是消息发送者对于自己的BDI状态的命题描述,通常,只有满足一定的约束条件(Cons)消息才能发送,同样消息接收也能使约束条件(Cons)得到满足。1.3Agent服务知识模型Agent的信念(Belief)集合构成了Agent的知识库[5]。在文献[6]中,Agent知识有3种,(1)基本知识,反映Agent知道的事实,以一组命题的方式反映,服务的概念结构,服务信息是以基本知识的形式存储的。(2)约束关系是agent要维护的一系列关系,这些关系作用于基本知识涉及的变量之上。(3)社会知识存储着其他agent的信息,例如地址、能力以及角色等。如图2所示,我们的服务Agent协商知识模型具有5个主要元素,即Resource,Action,Agent,ContextOfNegotiation和ClassOfNegotiation。图2Agent服务知识模型Resource类表示了多服务Agent协商交互环境中的所有资源,抽象服务和Agent是资源的两个重要的子类,协商动作Action类包含创建(Create),通知(Inform),删除(Delete),查询(Query),及更新(Update)子类,协商的Agent包括服务请求者(ServiceRequester)和服务提供者(ServiceProvider),协商的类型包括对服务Agent信念的改变、意图改变,及目标改变。使用DL语言描述如下:otiationClassOfNegalchangeofgoentionchangeofliefchangeofbeAgentoviderServiceAgentquesterServicer