基于语义web的动态服务组合模型

基于语义web的动态服务组合模型

ID:37544266

大小:377.16 KB

页数:46页

时间:2019-05-25

上传者:山楂树
基于语义web的动态服务组合模型_第1页
基于语义web的动态服务组合模型_第2页
基于语义web的动态服务组合模型_第3页
基于语义web的动态服务组合模型_第4页
基于语义web的动态服务组合模型_第5页
资源描述:

《基于语义web的动态服务组合模型》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

知识水坝论文华中科技大学硕士学位论文基于语义Web的动态服务组合模型姓名:刘昕申请学位级别:硕士专业:计算机软件与理论指导教师:刘云生20060511 知识水坝论文华中科技大学硕士学位论文摘要随着互联网技术与应用的迅速发展,基于Web服务的分布式计算模式正在成为技术发展的趋势,而相关标准的制定和业界厂商的极力支持也加速了Web服务的发展。然而,随着Web服务应用的深入,单个简单的Web服务已经无法满足实际的应用需求,人们常常需要组合多个Web服务以完成一个较复杂的任务。传统的方法是客户端根据需要人为的选择一些合适的Web服务,然后定义这些Web服务之间的交互过程,并对其进行硬编码来完成Web服务组合。但是由于Web服务的数量越来越庞大,通过人工进行服务组合是不现实的,而且服务的质量也得不到保障。所以必须对Web服务进行动态组合。Web服务动态组合是指程序或代理自动挑选和组装适当的Web服务来完成任务,而只需用户在高层次上给出一个格式正规的任务描述即可。论文首先对Web服务组合的相关技术和标准作了深入的研究,发现只有加入语义信息才能使得Web服务的动态组合变成可能;然后给出了一个基于语义的Web服务组合实现模型ARTs-WSC,该模型通过对Web服务增加语义描述和本体的推理机制,实现了服务的动态组合;接着重点分析了ARTs-WSC的层次结构,并提出了一种基于本体的描述语言OWSL;最后讨论了基于本体的逻辑推理。关键词:Web服务动态服务组合语义WebI 华中科技大学硕士学位论文AbstractWiththequickdevelopmentofinternettechnology'sapplication,thedistributedmodebasedonwebservicehasbeenthetrendofthetechnology'sdevelopment,andthewebserviceisalsopromotedbytheestablishmentofrelevantstandardandmanufacturer'ssupport.Butthesimplesinglewebserviceisshowingitsflawinpracticalneed,soweneedtocombineseveralwebservicestoachieveacomplicatedtask.Traditionally,tocombineseveralwebservicesclientmanuallychooseproperwebservicesaccordtoneed,definetheinteractiveprocess,andcodeitforcely.Butduetotheincreasingwebservices,itisnotrealistictocombinethemmanually,evendo,theperformanceisdoubt.Sowemustcombinewebservicesdynamically.Thedynamicalcombinationofwebservicesisdefinedastouseprogramoragentautomaticlychooseandcombineproperwebservices,andwhatweshoulddoisonlytogiveastandarddescriptionatahigheradministrativelevels.ThesisfirstresearchonthetechnologyandstandardofWebServicecomposition,whichpresentthatitispossibletocomposetheWebServicebyusingSemanticinformation.Then,wegiveaDynamicWebServiceCompositionModelusingSemanticWebwhichisnamedARTs-WSCandrealizedbyaddingsemanticdescriptionofWebServiceandthemechanismoftheontologyreasoning.WiththefollowingweanalyzethecompositionandtechnologyoftheSemanticWeb,andgiveadescriptionlanguagenamedOWSLwhichisbasedontheontology.Atlast,wediscussthereasoningbasedontheontology.Keywords:WebServiceDynamicWebServiceCompositionSemanticWebII 华中科技大学硕士学位论文独创性声明本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到,本声明的法律结果由本人承担。学位论文作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。保密□,在_____年解密后适用本授权书。本论文属于不保密□。(请在以上方框内打“√”)学位论文作者签名:指导教师签名:日期:年月日日期:年月I 华中科技大学硕士学位论文1绪言1.1问题的提出和研究意义随着互联网技术与应用的迅速发展,基于Web服务的分布式计算模式正在成为技术发展的趋势,而相关标准的制定和业界厂商的极力支持也加速了Web服务的发展。然而,随着Web服务应用的深入,单个简单的Web服务已经无法满足实际的应用需求,人们常常需要组合多个Web服务以完成一个较复杂的任务。由于各种Web服务可能是运行在各种异构系统中,以不同的方式创建、用不同程序语言实现、由不同供应商提供的,那么服务的请求需要根据特定的应用背景和需求进行合理的服务组合。传统的方法是客户端根据需要人为的选择一些合适的Web服务,然后定义这些Web服务之间的交互过程,并对其进行硬编码来完成Web服务组合。例如WSCI和BPEL4WS都对如何将多个基本服务组合成一个复杂服务做了描述,但是这样的做法使得Web服务组合是不灵活和难以维护的。语义Web的出现使得Web服务的动态组合变成可能。Web服务动态组合是指程序或代理自动挑选、组装和配合适当的Web服务[1]来完成任务,而只需用户在高层次上给出一个格式正规的任务描述即可。1.2国内外研究现状1.2.1Web服务相关技术及标准W3C对Web服务定义如下:Web服务是由URI标识的软件应用程序,其接口和绑定可以通过XML构件进行定义、描述和发现,Web服务支持通过基于因特网的[2]协议使用基于XML的消息与其他软件应用程序直接交互。在Web服务中存在三种角色:服务提供者(ServiceProvider)、服务请求者(Servicerequester)和服务代理(Servicebroker)。服务提供者向服务代理发布其能够提供的服务,当服务请求者发出服务请求时,服务代理负责寻找对应的服务并提供给服务请求者,其交互过程如图1.1所示。Web服务主要由3种基本结构单元组成:SOAP,WSDL,UDDI。简单对象访问协议(SOAP)简单对象访问协议(SOAP)是序列化调用位于远程系统上的服务所需信息的标准方法,这些信息可以使用一种远程系统能够读懂的格式通过网络发送到远程系统,1 华中科技大学硕士学位论文服务发布者发布绑定服务服务查找请求者代理图1.1Web服务架构而不必关心远程系统运行于何种平台或者使用何种语言编写。SOAP以XML格式提供了一个简单、轻量的用于在分散或分布环境中交换结构化和类型信息的机制。SOAP本身并没有定义任何应用程序语义,如编程模型或特定语义的实现;实际上它通过提供一个有标准组件的包模型和在模块中编码数据的机制,定义了一个简单的表示应用程序语义的机制。这使SOAP可用于联合各种现有的网络协议和格式,包[3]括HTTP、SMTP和MIME,并可被用于消息传递到RPC的各种系统。在SOAP体系结构有四个主要的部分:1.SOAP信封:用于描述消息内容和处理方法。2.SOAP编码规则:定义了一个编码机制用于交换应用程序定义的数据类型的实例。3.SOAPRPC表示:定义了一个用于表示远程过程调用和响应的约定。4.SOAP绑定:定义了一个使用底层传输协议来完成在结点间交换SOAP信封的约定。简单的说,SOAP提供了使用完全独立于平台的访问服务、对象和服务器的技术。通过SOAP,能够实现查询服务、调用服务、与服务通讯并处理服务等功能,而不用去关心远程系统的位置、所在的操作系统或平台到底是什么样的。统一描述、发现和整合(UDDI)统一描述、发现和整合建了一个平台独立、开放的框架,通过因特网来描述服务,发现业务,并且整合业务服务。它是一套基于Web的、分布式的、为Web服务提供2 华中科技大学硕士学位论文的信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web服务[4]注册以使得别的企业能够发现的访问协议的实现标准。通过使用UDDI的发现服务,企业可以单独注册那些希望被别的企业发现的自身提供的Web服务。企业可以通过UDDI商业注册中心的Web界面,或是使用实现了UDDI的API所描述的编程接口的工具,来将信息加入到UDDI的商业注册中心。UDDI商业注册中心在逻辑上是集中的,在物理上是分布式的,由多个根节点组成,相互之间按一定规则进行数据同步。当一个企业在UDDI商业注册中心的一个实例中实施注册后,其注册信息会被自动复制到其它UDDI根节点,于是就能被任何希望发现这些Web服务的人所发现。Web服务描述语言(WSDL)Web服务描述语言(WSDL)和SOAP一起构成了Web服务的核心结构单元。WSDL基于XML格式,用来描述Web服务。它描述了Web服务可以执行的操作以及Web服务可以发送或接收的消息格式。WSDL文档可以看成是客户端和服务器之间的一个协约。使用WSDL工具,你可以自动处理这个过程,几乎不用手工编写代码就能够让应用程序整合新的服务。因此WSDL是Web服务体系结构的基础,因为[5]它提供了一个通用语言,用来描述服务和整合这些服务的平台。虽然大部分WSDL文档使用RPC风格的要求/应答语句对,但是WSDL也支持单向的消息。WSDL支持四种SOAP消息操作:1.单向(One-way):端点接收消息。2.请求响应(Request-response):端点接收消息,然后发送相关消息。3.要求响应(Solicit-response):端点发送消息,然后接收相关消息。4.通知(Notification):端点发送消息。1.2.2Web服务组合技术及相关标准目前,很多组织和机构都在研究服务组合,并且提出了一些规范和相应的研究成[6]果。在Web服务组合定义方面,IBM和微软共同提出了商业流程执行语言BPEL4WS(BusinessProcessExecutionLanguageforWebService,简称BPEL)。BPEL提供了一种XML注释和语义,用于指定基于Web服务的业务流程行为,并使用合作伙伴的交互方式,定义了该BPEL流程。合作伙伴可以将服务提供给流程,也可以向流程请求服务,或者参与到流程的双向交互中。BPEL通过指定顺序来编排WEB服务,这对服务集合的调用来说意义深远。BPEL还针对每个服务分配了合作伙伴的责任。可以使3 华中科技大学硕士学位论文用它来指定合作伙伴的公共接口和可执行流程的描述。基于工作流的基本思想,BenatallahB提出实现组合Web服务的一种解决方案,并给出了保证组合Web服务正确调度的理论依据。该方法通过服务社区(servicecomm--unity)、组合服务、基本服务和异构服务提供者的层次结构,有效地描述并解决了增量式的Web服务发布及注册问题。另外,根据现实中商务应用的不同种类,将Web服务也按其行业的相关性划分成不同的类别,即服务社区的概念。它是一个虚拟的概念,是表示不同类别服务的视图。组合服务及一部分基本服务被注册到服务社区上,使得基本服务发生的变化只影响到所属服务社区的注册信息,由此可实现Web服务功能变化时注册信息的局部化更新。此外,服务的执行实际上是由基本服务的通信、协调和执行来完成的。该方法通过状态定义和检测的方式有效地解决了组合Web服务执行中存在的如下问题:组合服务的执行需要调用哪些基本服务以及相关的基本服务怎样按预期的顺序自动执行。具体而言,该方法预先定义了特定应用的服务以及执行它所需具备的系统初始状态和执行后的状态,这些状态与服务间的对应关系构成了状态路由表;通过当前状态检测查找状态路由表,以确定是否可以结束当前执行的服务,同时应该启动[7]哪些服务,基于并发策略实现了组合Web服务执行过程中的合理调度。在组合服务的执行方式方面,澳大利亚新南威尔士大学提出一种基于P2P计算环境的组合Web服务的解决方案。该方案有效利用了P2P计算平台的优点,提出组合服务的执行、基本服务的合理调度、协调通信和消息传递机制以及动态Web服务的[8]增量式注册和发布策略,并实现了原型系统SELF-SERV(compoSingwEbaccessibLeinFormation&buSinesssERVices)。1.2.3语义网的概念为了改善当代万维网信息不利于计算机自动处理的现状,万维网的创始人TimB--erners-Lee于1998年提出了有关下一代万维网的构想——语义万维网(SemanticWeb,简称语义网)。语义网是一个梦想:期望Web上的数据通过另一种不同于现在的方式描述和链接,使这些数据不仅能以各种灵活的方式展现出来,也能被不同的应用程序所自动处理、综合、重用。在语义网中,网页中所蕴含的语义信息能使计算机完成大部分的自动化处理工作,例如软件代理程序通过网页中的语义可以为用户完成复杂的旅行计划制定等任务,即从当前“机器可阅读”的万维网扩展为“机器可理解”的语义网。4 华中科技大学硕士学位论文TimBerners-Lee并没有给出语义万维网的严格数学定义,只是在和当代万维网的对比中,给出了如下的描述:语义网并不是一个从无到有、孤立发展的万维网,而是对当前万维网的延伸和扩展,语义网上的信息具有定义良好的含义,计算机能根据概念的定义声明和逻辑推理规则发现资源对象的含义,使得机-机之间以及人-机之间都能够更有效地合作处理;在语义网中定义和链接的数据能被各种不同的应用以更为有效的方式查询、重用和集成。从语义万维网的发展起源来看,语义万维网是人工智能领域和互联网技术相互结合的产物。人工智能领域中的知识工程研究从孤立的知识库系统逐渐发展到基于intranet、extranet的信息系统集成,最后扩展到整个Internet,在这个研究过程中,逐渐加深了对知识表示和推理的认识,并总结出了一些新的描述和推理方法。另一方面,万维网经过十几年的发展,积累的海量数据需要一种新的、机器可以自动完成的方式来处理和管理。因此,当两个领域的积累都比较成熟,而且有了需求,就必然会走向结合。语义万维网建立的基础,是知识的概念化和形式化以及相应的逻辑推理,它和人工智能有着深厚的渊源关系。因此,许多分析都需要从人工智能领域的角度来考察。但是由于两者的应用环境不同,还存在着一些差异。例如:从人工智能的逻辑学派和认知学派的观点来看,知识与概念化是人工智能的核心。传统的人工智能系统,要求共同遵守一些公共概念的完全一致的定义,并且一般都有它们各自狭义的、特有的用于信息推理的规则集合。尽管数据能够从一个系统转换到另一系统,但由于系统间的推理规则通常以完全不同的形式存在,而致使一个系统的规则不能为其他系统所重用。从这一点上来看,传统的人工智能系统是一种集中、孤立(专有)的系统。同样,语义万维网也是以知识的概念化表示为基础展开的。语义万维网中的知识,就是一系列有关资源对象的建模描述,资源是一个非常广泛的概念,它可以是网站、网页、甚至网页的某一个部分的内容,通过采用某种形式化的符号表达式对资源之间的关系进行刻画。万维网的本质特性便是其广泛性和全球性。超文本链接的威力在于“任何事物之间都可以相链接”。因此,语义万维网和传统的人工智能系统存在本质的不同,它本身要符合万维网的分散性和通用性。知识的表示本身可能是由众多的独立团体或个人,以各种各样的方式来提供,而这些知识却又要求能够被各种各样的应用实现共同理解,并且在一定的逻辑规则的指导下进行推理。所以语义万维网上的知识具有创建上的分散性,同时又具有应用上的通用性。这是5 华中科技大学硕士学位论文语义万维网和传统的人工智能系统的一个非常重要的区别。1.3论文主要内容与组织本文通过研究Web服务组合的相关技术,给出了一个基于语义的Web服务动态组合模型ARTs-WSC。论文组织结构如下:第一章介绍Web服务组合相关研究背景;第二章提出了ARTs-WSC的实现模型;第三章具体分析了ARTs-WSC的体系结构;第四章主要对本体进行了分析,并给出了一个基于本体的Web服务描述语言OWSL(OntologyWebServiceLanguage);第五章给出了基于本体的逻辑推理算法-前提匹配法;第六章对所做工作进行总结,并对未来进行展望。6 华中科技大学硕士学位论文2基于语义Web的动态服务组合模型2.1动态Web服务组合的形式化定义Web服务组合是将已有服务按照一定的逻辑顺序组织起来构成新的服务的能力。组合服务的模型由过程模型、接口模型以及交互模型构成:1.过程模型:按一定的逻辑顺序将多个活动组织在一起实现某项业务目标就构成了过程模型。2.接口模型:建立业务过程的对外接口视图。经过组合的Web服务仍将其对外接口封装为Web服务,使其可方便的用于进一步的组合。3.交互模型:组合Web服务的适用领域为跨企业的业务过程集成,参与组合的Web服务由多家企业提供,在过程模型建立之后,还需要找到每个活动的服务提供者,即合作伙伴。寻找合作伙伴的过程需要与UDDI等服务注册机构进行交互,在UDDI上查找服务的提供者,选定合作伙伴之后,需要进一步建立合作伙伴间的交互关系。下面给出了一个基于BNF语法格式的组合服务定义:S::||=⊕εXSSSSSSSSc:6||⊗|µ||||(|)SSSSSpqSpq|[(,):(,)]|Re(,,)pSaS各符号定义如下:ε表示一个空服务,X表示一个原子服务。SS12:表示一个由S1和S2组合的服务,其中S2在S1后执行。:是一个顺序操作符。SS12⊕表示一个由S1或S2构成的服务。⊕是一个选择操作符。SS12⊗表示一个由S1和S2组合的服务,其中S1S2的执行顺序不固定。⊗是一个无序操作符。µS表示服务S执行µ次。µ是一个重复操作符。Sc12||S表示一个由S1和S2组合的服务,其中S1S2并行执行,c是一个并行操作符。(|)SS126S3表示一个组合服务,其中S1S2并行执行且S1S2之间没有数据交互,当S1S2中一个执行完后,S3才被激活。6是一个区别操作符。[(,):(,)]SpqSpq111nnn表示一个组合服务,该服务动态的从n个服务提供者中选择一个服务执行。:是一个选择操作符。Re(,,pSaS12)表示一个组合服务,该服务将S1中标识为a的操作替换成另一个非空7 华中科技大学硕士学位论文服务S2。Rep是一个替换操作符。Web服务组合的过程是十分复杂的。首先,可用的Web服务数量过于庞大,导致无法通过人工对他们进行分析和处理;其次,由于Web服务可以在任何时间创建和更新,进行服务组合时必须获取最新的服务,通过人工去分析是不现实的;第三,Web服务通常由不同组织提供的不同模型来描述,这就要用到语义信息进行匹配和组合Web服务。Web服务组合一般分为静态组合和动态组合两种。静态组合是在组合服务定义过程中将组合Web服务与完成活动功能的服务提供者静态绑定,将服务提供者的地址、接口等信息直接记录在组合服务定义中,这种情形适合于固定合作伙伴间的交互,合作双方事先已建立一定的协议,可进行长期稳定的合作,服务提供者保证服务时刻可用,且服务接口不发生变化。但在Internet环境中,这种合作方式通常是不够的,企业总是希望寻找更好的合作伙伴,得到更好、更经济的服务。因此,动态组合是组合Web服务的必备功能。动态组合是指组合服务定义过程中不为活动指定固定的服务提供者,将具体的绑定延迟到组合服务执行时动态完成。实现动态组合的活动在组合服务设计时,只说明活动需实现的功能、所属的服务类别、需要查找的UDDI地址以及多个查找结果的选择策略等内容,而具体的服务提供者延迟到组合服务的执行过程中来绑定,以保证组合Web服务适应于Internet这种动态性要求高的应用环境。2.2动态Web服务组合的层次结构动态服务组合的层次结构由五层组成:传输层,XML消息层,服务描述层,实[9]现层和服务发布、查找、组合层,如图2.1所示。服务组合:服务查找发布:OWL-SServiceModelOWL-SServiceProfile实现层:OWL-SGrouding服务描述层:WSDLXML消息层:SOAP传输层:HTTP,SMTP,FTP图2.1服务组合的层次结构在Web服务组合的层次结构中,传输层、XML消息层、服务描述层与传统的Web服务协议栈一致;而服务发布、查找、组合层则采用OWL-S框架。8 华中科技大学硕士学位论文实现层指定了如何访问服务的细节。这些细节主要包括了协议和消息的格式,序列化,传输和定位等。所以一个Grounding可以看作是从服务的描述元素的抽象定义到具体实现的一个映射,最主要的就是一个原子过程的输入和输出。在OWL-S中,ServiceProfile和ServiceModel都被认为是抽象表达,只有ServiceGrounding是具体的实现层次的规范。ServiceProfile提供了一个方式来描述服务提供者提供的服务和服务请求者所需的服务。ServiceProfile没有限定服务的表达形式,相反它可以通过OWL的子类来描述特定的服务。OWL-S提供了服务的一个可能的表达Profile类。Profile将服务描述为一个具有三种类型信息的功能:哪个组织提供了该服务,该服务提供什么功能,一组描述服务特征的属性。ServiceModel描述了服务在执行时将会发生什么。对于那些非普通的服务(一些组合服务),该描述可能被一个Agent依照以下4种不同的方式使用:1.对于该服务是否符合要求进行更深层次的分析。2.由多个服务给出组合服务的描述用于完成一个任务。3.在服务制定阶段,完成多个参与者之间的协同。4.监控一个服务的执行。2.3动态Web服务组合的实现模型根据以上分析,本文提出了一个基于语义的动态服务组合模型ARTs-WSC。该模型由3部分组成:服务定义模块、推理引擎和服务组合引擎,其结构图2.2所示。服务定义模块负责定义对Web服务的语义信息;推理引擎存储服务语义描述信息并提供匹配服务的能力;服务组合引擎处理组合服务的解析、执行和管理。2.3.1服务定义模块现有的Web服务,主要是利用WSDL进行描述。WSDL是用于描述Web服务的一种XML语言,它将Web服务描述为一组对消息进行操作的网络端点。一个WSDL服务描述包含对一组操作和消息的一个抽象定义,绑定到这些操作和消息的一个具体协议,和这个绑定的一个网络端点规范。OWL-S扩展了WSDL,OWL-S由三部分组成:ServiceProfile,ServiceModel和ServiceGrounding,其中前两部分用于智能代理完成服务的语义注册、查询和组合。9 华中科技大学硕士学位论文Web服务组合应用接口OWSL匹配引擎服务组合引擎安全管理模块Web服务OWSL描述库ontology库服务解析模块OWSL匹配模块推理机服务执行模块系统监控模块OWSL/UDDI翻译器UDDI服务注册库图2.2ARTs-WSC结构图[10]第三部分用于服务的实际调用执行。本系统采用扩展的OWL-S语言OWSL(Ontolo--gyWebServiceLanguage)对服务进行描述。为了实现完整的Grounding,OWSL和WSDL是互补的,因为两者实际上覆盖了不同的概念空间,如图2.3所示。OWSL过程模型基于DL的类型原子过程输入/输出操作消息绑定到SOAP,HTTPWSDL图2.3OWSL和WSDL之间的映射关系WSDL用XMLSchema表达,而OWSL用OWSL类表达。但是WSDL/XSD表达不了10 华中科技大学硕士学位论文OWSL类的语义,而OWSL表达不了WSDL的绑定信息。因而采用OWSL类表达WSDL中抽象类型的声明,而使用WSDL的绑定结构表达消息的格式。对于UDDI,我们可以通过OWSLServiceProfile来提供语义搜索,而不是传统的关键字搜索。这可以通过利用UDDI中的TModel编码OWSL的Capability描述而实现。实现OWSL和WSDL之间需要进行三方面的映射:1.OWSL的原子过程映射到WSDL中的操作。2.OWSL中原子过程的输入和输出映射到WSDL中的消息。3.OWSL中输入和输出的类型(OWSL类定义)映射到WSDL中的抽象类型(XMLSchema定义)。2.3.2服务匹配引擎[11]服务匹配引擎由OWSL/UDDI的转换器和OWSL匹配引擎组成。当Web服务请求者发出请求(包括服务功能描述和可以提供的输入以及期望的输出),则Web服务组合应用接口将该请求转换成ServiceProfile形式,再将其交给匹配引擎。然后匹配引擎利用OWSL推理机对功能描述进行基于OWSL本体库和Web服务描述库的灵活匹配,得到一组满足条件的Web服务。这种匹配不是简单的基于[12]关键字方式,而是基于语义约束的模糊匹配。比如一个卖宠物食品的服务,现在有一个买狗食的请求。如果只能进行关键词的查找,显然这个服务和请求无法匹配。如果有了关于宠物食品的本体,其中有一个知识狗是一种宠物,那么我们就可以通过推理匹配这个服务和请求,而这是传统的UDDI无法做到的。接着再使用匹配引擎逐个检查找到的Web服务的输入是否是请求者所提供的输入的子集和其输出是否包含请求者所期望的输出,这样匹配率最高的服务就是Web服务发现的目标。服务匹配引擎还可以根据服务的输入输出的类型和语义引导用户动态的组装不[13]同的服务完成一个任务,并且执行这个组装的任务。例如,用户想查看武汉的天气情况,选择天气预报服务,但是这个服务是以邮编为参数,用户并不知道武汉的邮编。这时服务匹配引擎为用户找到一个可以查询邮编的服务来得到武汉的邮编(服务匹配引擎在知识库中根据天气预报服务的输入和其他服务的输出在类型和语义上的匹配筛选出有效的服务放在天气预报服务的输入菜单中),用户可以选择这个服务的输出作为天气预报的输入。11 华中科技大学硕士学位论文2.3.3合成服务执行引擎组合Web服务执行引擎负责组合Web服务执行中的运行控制,为组合Web服务实例提供运行环境,包括对组合Web服务定义进行解释,创建组合服务实例,并控制实例的激活、挂起、恢复、终止等状态,对实例中的活动进行引导,并负责激活外部服务等。为了实现组合Web服务的动态组合机制,引擎还提供动态访问服务注册库的功能。该引擎主要包括以下4个模块:z服务解析模块该模块负责对匹配引擎生成的组合服务进行解析,生成服务执行模块可以识别的[14]组合服务。当用户调用一个服务的时候,该模块首先判断该服务是基本服务还是组合服务。如果是基本服务,则直接执行;如果是组合服务,则根据组合服务的描述将该服务分解成一个有基本服务组成的序列,该序列中的的每个服务的输出都是下一个服务的输入。z服务执行模块该模块负责创建组合服务实例,并控制实例的激活、挂起、恢复、终止等状态,对[15]实例中的活动进行引导,并负责激活外部服务等。由于Web服务本身是无状态的,不为单独两次调用维护相关信息。Web服务的两个操作之间也是独立的,可以以任意的顺序被调用。但对于组合服务来说会同时有多个服务实例运行,因此,合成服务的执行模块要能够保证当一个消息到来时,能够被传递到组合服务的正确实例。组合服务应该能够维护该实例的数据和执行状态。这里用如下一个数据结构来解决这个问题:每一个操作都保存有下一个操作的入口信息。组合服务执行引擎会根据服务解析模块提供的Web服务序列,确定服务的执行顺序并做出状态记录。当信息到来时,启动相应操作,并记录相关操作信息。执行完成的操作结果将作为下一操作的输入被传递。同时,更新执行引擎记录的当前数据和执行状态,直到最后。执行中可能会出现等待异步消息到来,此时服务会等待,直到消息到来相应的操作才能被激活。如果服务在等待过程中被终止,则判断结果是否可用,如果可用提交并永久存储入数据库。z系统监控模块[16]系统提供了一个监控模块,可以查看各个合成服务实例的运行状态,并可以手动撤销过期的服务运行实例,如一个等待异步消息已超期的运行实例。系统监控模块还对每一个实例建立相应的日志机制,为系统级的故障提供恢复。12 华中科技大学硕士学位论文z安全管理模块该模块通过Web服务,调用SOAP报头消息签名来验证调用者的身份,并对消息中的关键信息执行加密操。2.4本章小结本章首先给出了一个基于BNF语法格式的定义,然后给出了动态Web服务组合的层次结构,最后提出了基于语义Web的动态服务组合模型ARTs-WSC。13 华中科技大学硕士学位论文3ARTs-WSC的层次结构信息资源根据其所处层次的不同,可以被划分成不同的阶或者势,其中现实世界中未经加工处理的信息属于零阶,在整个信息层次结构中处于最底层;网页资源信息处在第一阶;在对HTML页面经过初次加工之后,所获取的网页标引或索引信息处在第二阶;有关信息资源对象的元数据或模式信息则是属于第三阶的信息;而逻辑推理、真值证明等信息理应拥有更高的阶值,在信息层次结构中,阶值越低的信息越具体详实,较适合于人为处理;阶值越高的信息其抽象程度越高,则更适合于机器的自动化处理。当代万维网上的信息是杂乱的、无序的(或者说是非矢量的),将数据内容和表现形式混在一起,其中不同“阶”的信息没有被区别对待,这就导致了人们在信息使用上的困难。因此,语义万维网首要解决的问题就是建立起合理的信息层次结构,使其上面的信息是结构良好且有序的。TimBerners-Lee在XML2000大会上描述了语义网体系结构,本文根据TimBerners-Lee提出的语义网层次结构,给出了ARTs-WSC的层次结构,如图3.1所示。推理(OIL)本体(OWSL)数字签名资源描述(RDF)Web服务描述(WSDL)统一字符编码(Unicode)统一资源标识符(URI)图3.1ARTs-WSC的层次结构在其层次结构中,第一层是编码层,由统一字符编码(Unicode)和统一资源标识符(URI)组成,它是整个ARTs-WSC的基础;第二层是Web服务描述层,用于表示Web服务的内容和结构;第三层是资源描述层,由资源描述框架框架(ResourceDescriptionFramework,简称RDF)和RDF模式组成,用于描述资源及其类型;第四层是本体词汇层(Ontologyvocabulary),用于描述各种资源之间的联系;第五层是推理(OIL)层,在下面四层的基础上进行逻辑推理、验证和建立信任等操作。第三、四、五层是ARTs-WSC的关键层,用于表示Web服务的语义信息。可扩展标记语言XML让每个人都能创建自己的标签,来对网页或页面的部分文字进行注释。14 华中科技大学硕士学位论文脚本,或者说是程序,可以将这些标签运用到复杂的应用中,不过程序编写者必须知道网页作者是如何使用每一个标签的。简而言之,XML允许用户在文档中加入任意的结构。RDF的基本结构是对象-属性-值三元组,也就相当于句子中的主语、动词和宾语。这些三元组可以用XML语法来表示。用这种结构描述由机器处理的大量数据,是非常自然的方法。RDF模式是一个描述RDF资源的属性和类的词汇表,提供了关于这些属性和类的层次结构的语义。下面将对ARTs-WSC的层次结构做一个详尽的介绍和描述。3.1编码层Web环境下的各应用之间不可避免地需要相互通信,直接或间接地以机器可读的格式传递信息。这些信息中很大一部分是对Web上资源的描述,因此,首先应该以明确的方式来标识这些资源对象。ARTs-WSC采用统一资源标识符URI(Uniform[17]ResourceIdentifier)来标识Web服务及其属性,URI是一个Internet标准,记载RFC2396中。它和万维网常用的统一资源定位符URL(UniformResourceLocator)以及统一资源名称URN(UniformResourceName)的区别在于URI能表示所有可以字符串作为标识符的资源信息,它既能表示网络可达的资源,又能描述网络不可达的资源,URL和URN都是URI的子集。另外,由于ARTs-WSC的最终目的是要构建一个基于全球的Web服务网,在这个网络上应能涵盖各种语言和文字的信息资源,所以它采用Unicode作为字符的编码解决方案。这一层位于ARTs-WSC层次结构中中的最底层,是整个ARTs-WSC的基石,它成功地解决了ARTs-WSC上Web服务资源的定位和跨地区字符编码格式的问题。3.2Web服务描述层现有的Web的服务描述,主要是利用WSDL进行描述。WSDL文档将Web服务定义为服务访问点或端口(PORT)的集合。在WSDL中,服务访问点和消息的抽象定义从具体的服务部署或数据格式绑定中分离出来。消息指对交换数据的抽象描述;而端口类型指操作的抽象集合。用于特定端口类型的具体协议和数据格式规范构成了可以再次使用的绑定。将Web访问地址与可再次使用的绑定相关联,可以定义一个端口,而端口的集合则定义为服务。但是,由于WSDL集中描述与服务调用有关的具体细节,例如网络协议、消息格式、参数的类型等,也就是集中在Web服务的物理信息的描述上,而没有充分地描述服务的语义信息和性能信息。对于基于Web服15 华中科技大学硕士学位论文务的动态组合来说,它需要服务组件能够相互协同,并且要求根据业务流程的变化能够动态地绑定和调整服务组件,仅仅依靠WSDL描述的物理信息,还不能完全达到这些目标。这就要求在WSDL之外提供服务的语义描述信息和性能信息使得Web服务成为计算机可理解的实体,从而便于实现以下任务:服务的发现、调用、互操作、组合、验证、执行监控等。3.3资源描述层ARTs-WSC的目标是计算机能理解语义描述Web服务,因此需要一种统一的,形式化的元数据表示语言,用以描述Web服务,但XML只能定义语法格式,没有形式化的语义,不足用来描述Web服务,因此,W3C提出了一种新的标准,描述框架RDF(ResourceDescriptionFramework)。RDF采用三元组这种简单的数据模型,表示[18][19]Web上的资源的属性值。在RDF资源描述框架中主要涉及到以下三个概念:z资源(Resource):资源泛指可通过URI标识的任何事物,包括:网络可达资源(比如一篇新闻、一张图片、一个Web服务等),和网络不可达资源,如具体的物理对象(比如人、公司、在图书馆装订成册的书籍等)和抽象概念实体(比如作者)等。z特性(Property):特性是描述某个资源的性质、特征、属性或关系。z陈述(Statement):陈述是有关具体资源对象特性的具体描述,通常可用形如的三元组来描述,其中S表示一个待描述的资源对象、P表示该资源的特定方面或刻面,O则表示该资源S在特性P上的取值,O可以是其它的资源对象也可以是平凡文字,如字符串等。任何复杂的系统都可以通过合理的分解操作,简化成一组三元组(或陈述)集合。RDF是基于这一思想的:被描述的事物(resource)具有一些属性(properties),而这些属性各有其值(values),资源可以通过枚举该资源的相关属性及属性取值来描述。RDF通过特定的术语来区分陈述中的各个组成部分,确切地说,在资源陈述中用于识别资源对象的部分则称之为陈述的主体,而用于区分所陈述中资源对象不同特性(譬如:作者,创建日期,语种等等)的那部分称为谓词,用于表示各个属性取值的那部分叫做陈述的客体。基于RDF的资源描述是由若干条资源陈述(Statement)组成,并把这些陈述用特定的语法(如XML,N3等)表示出来。为了数据描述和程序处理的规范性,RDF通常采用一种名为RDF/XML的XML语法来书写和交换RDF陈述,与RDF的简略记法——三元组(triples)所不同的是,16 华中科技大学硕士学位论文RDF/XML是书写RDF的规范性语法(normativesyntax),要求严格符合XML书写规范。和XML类似,RDF描述模型只是提供了一种与领域无关的通用数据描述方式,有关特定域元数据的定义和它们的语义信息描述还需要制定额外的标准或规范。这个额外的措施就是RDFSchema,实际上在RDF中只定义了少量常用的建模原语,如RDF:Resource、RDF:Property、RDF:Statement、RDF:Subject等,其并没有给出与具体应用领域领域相关的建模原语,而RDFSchema规范则进一步定义了与具体应用领域相关的建模原语,能为特定目标的应用提供一个共同的基础。在RDFSchema中,最基本的建模原语包括:Class,Subclass-of,Property,Subproperty-of,domain,range和type等。有了这些原语之后,你就可以构建与具体领域相关的RDF数据描述模型了。此外,RDFSchema还可以对RDF数据给出一定程度的解释和合理性验证。XML和RDF是不同的形式化方法,在ARTs-WSC实现中,它们的作用和所处的地位也是各不相同。XML是为网络数据提供一种编码时所需的语法,并可以通过XMLSchema来规定交互数据的数据结构。XML的特点就决定了其在Web服务中所起的重要作用,从某种意义上看,XML是整个Web服务体系的基石,现在许多技术都采用XML作为他们的底层编码语法。由于XML并不能对所使用的标签提供语义解释,因此,它对机器语义理解方面并没太大的帮助,而构建在XML之上的RDF则提供了一种能有效描述网络资源的标准化模型,在这种模型中,它以三元组的方式给出了关于资源对象的具体解释。RDFSchema从某种程度上进一步拓展了这种资源描述的能力,然而,和其它的完备的知识表示语言相比,RDFSchema显得过于简单,它的语义表达能力还不够,因此,还需要ARTs-WSC层次结构的上层对其语义解释能力作进一步的扩展。3.4本体层RDFSchema可以定义类、子类、超类,并且可以定义特性和子特性,以及它们的约束,包括特性所适用的领域(domain)和特性的取值范围(range)等,因此,在某种[20][21]意义上说,RDFSchema本身就是一种简单的本体(Ontology)语言。但是RDFSchema对特定应用领域的概念关系的描述能力还比较弱,有必要进一步的扩展。因此,ARTs-WSC层次结构的第三层就是对RDFSchema层的扩展——本体(Ontology)层。简单的说,本体RDF的扩张,提供我们更广泛的由定义RDFSchema词汇。所谓更广泛就是指可以定义词汇之间的关系,类与类的关系,属性与属性之间的关系等等。本体提供了语义交换的桥梁,能够在不同的智能体之间达成有关术语概念的共17 华中科技大学硕士学位论文识,而对概念共享和理解恰恰是构建语义Web服务的关键,因此,本体层在ARTs-WSC层次结构中,处于核心支配地位,为其它各层提供基础服务,我们将在下一章对本体进行详细的研究。3.5推理层目前有关语义Web服务的研究主要集中于前三层的研究,对证明和信任这两部分内容在概念上目前还没有一个成熟的说法。但是语义Web服务的研究者普遍认为证明和信任将是下一代Web服务的重要概念。推理层由逻辑层、证明层和信任层组[22][23]成。逻辑层(LogicLayer):逻辑层在本体所描述的知识之上提供逻辑推理能力(基于规则)。例如,定义这样一个规则,任何月销售额超过100万元的销售人员将被评为明星销售员,Mike上月销售额为120万元。于是逻辑系统能够推理得出:Mike是明星销售员工。证明层(ProofLayer):有了对事实的逻辑描述,就能够提供对事实的复杂的“证明”。例如,销售记录Mike上月一共卖出63万元的机床设备和58万元的测量设备,而产品管理系统表明,机床设备和测量设备是互斥的(即交集为空),接着,计算系统给出63+58=121,并且121>100,就能得出这样一个证明:Mike是明星销售员工。在SemanticWeb的开放环境中进行推理是一个困难的任务,因为任何一个推论都可能涉及到大量信息的处理。信任层(TrustLayer):在之前所有层次的基础之上,会形成很多对于某一事实的陈述,这些陈述合理与否依赖于它们所处的上下文环境。因此当人或计算机访问这些陈述时,需要根据上下文和自己的需求自行判定该陈述是否可信(Trust)。采用加密技术和数字签名技术(渗透到每个层次的规范中去)是实现判定可性的一个重要手段,并可以由此形成一个信任的Web。例如,甲声明:所有一级代理商有权委托二级代理商,而乙是我公司的一级代理商之一。乙的声明是:所有与我公司有三年以上合作关系的,将获得二级代理商资格,丙是我公司一个有4年合作关系老伙伴。同时,所有这些声明都有数字签名保证了是可信的,于是,可以得出结论:丙将获得甲的二级代理资格。总的说来:语义Web服务的应用是在某种事实的基础上,通过应用逻辑推理得出某种结论,推理的每一步对用户都应该是可见的,或者说是可查询的。推理过程就18 华中科技大学硕士学位论文[24]是对结论命题的证明,在推理中,首先应该确保所见的数据是可信的,并且其推理过程也是可信的和可重现的,只有在这个基础上才能最终信任所得到的结论。然而,就人们所见的数据而言,前面介绍的RDF模型允许任何人对任何资源进行任何描述,不同观点的人对同样的资源可能会做出完全相反的描述。正是因为RDF模型这种强大的描述能力,才有必要对这种描述进行身份认证并确保声明没有被恶意篡改。因此在ARTs-WSC的层次结构中,自RDF层以上,所有有关资源的描述、推理和证明都贯穿了数字签名技术。数字签名技术就是对资源描述者的身份进行认证的关键性技术,是建立可信任语义Web服务的基石。3.6本章小结本章主要对ARTs-WSC的层次结构进行了详细的分析,从中不难看出,资源描述层、本体层和推理层在ARTs-WSC中有着举足轻重的作用,本文将在下面的章节详细讨论这三层的实现方法。19 华中科技大学硕士学位论文4基于本体的Web服务描述语言目前,随着Web服务的发展,基于本体的服务描述语言越来越多,其中使用得最多的是W3C推荐的OWL-S(OntologyWebLanguageforServices)。本章在OWL-S的基础上扩展,提出了一种新的基于本体的Web服务描述语言OWSL。4.1本体本体(ontology)这一概念最初起源于哲学领域,古希腊哲学家亚里士多德从哲学的角度对本体做了如下的定义:“本体是对世界上客观存在物的系统地描述,即存在论,是客观存在的一个系统的解释或说明,关心的是客观现实的抽象本质”。在近一、二十年来,本体论已逐渐被引用于知识表示、共享和重用以及其它相关领域。在人工智能界,最早给出Ontology定义的是Neches等人,他们将Ontology定义为“给出构成相关领域词汇的基本术语和关系,以及利用这些术语和关系构成的规定这些词汇外延和规则的定义”。Neches认为:“本体定义了组成主题领域的词汇表的基本术语及其关系,以及结合这些术语和关系来定义词汇表外延的规则。”后来在信息系统、知识系统等领域,越来越多的人在研究本体时,给出了许多不同的定义。其中最著名并引用最广的定义是由Gruber提出的:“本体是概念模型的明确的规范化说明”,这个[25]定义主要包含以下四层含义:1.概念化(conceptualization):客观世界中现象的抽象模型。2.明确(explicit):概念及它们之间联系都被精确定义。3.形式化(formal):精确的数学描述,便于计算机的自动处理。4.共享(share):本体中所反映的知识是大部分使用者所共同认可的。虽然不同研究者对本体有不同的描述,但是从内涵上看,他们对本体的认识是一致的,都是把本体当作某个领域内(可以是特定领域的,也可以是更广的范围)不同主体(人、代理、机器等)之间进行交流(对话、互操作、共享等)的一种基础设施,即通过本体所提供定义良好的领域概念结构,来描述概念以及领域中的各种关系,以便在不同应用之间达成资源共享。目前,本体理论已被广泛应用于知识工程、自然语言处理、数字图书馆、信息检索和Web异构信息的处理、软件复用、面向对象技术和语义Web等领域。具体的建立一个本体,一般分为以下几步:20 华中科技大学硕士学位论文1.定义本体中的类,类指的就是概念。2.把这些类组织成一个层次化的结构。3.填充属性在相应的类上的值。4.定义属性和描述这些属性对相应的类的限制。4.2基于本体的Web服务描述语言[26]基于本体的Web服务语言(OntologyWebLanguageforServices,OWL-S)是一种定义和实例化“Web本体”的语言。它也是一种具有显式语义的无歧义的机器可理解的标记语言(markuplanguage),用来描述Web服务的属性和功能。Web服务的OWL-S标记用以方便Web服务任务的自治操作,包括自动化Web服务发现、执行、互操作、合成以及执行监控。OWL-S主要有以下几个特点:z自动服务发现自动服务发现实现服务的自动定位。通过OWL-S的服务标识,用于Web服务发现的信息能够以计算机可解释的语义标签的形式给出,一个服务注册处或者基于Ontology的搜索引擎能够被用于自动定位服务。所以,OWL-S必须提供发布服务属性和能力的广告来自动完成服务发现。z自动服务调用自动服务调用需要通过一个计算机程序或者实体自动执行一个经过标志的Web服务。对Web服务的执行可以看作是一系列函数调用的集合。OWL-S提供了计算机可解释的API来调用这些函数。一个软件实体应该能够解释这些标签,从而理解对于一个调用来说,什么输入是必须的,什么信息必须被返回,服务调用如何自动完成。z自动服务组装和互操作自动服务组装和互操作主要是指给出了一个高层的目标描述后,对于某个任务而言,对所需的Web服务进行自动选择、组装和互操作。通过OWL-S,用于选择和组合服务的信息将在Web站点被编码。OWL-S必须提供单个服务的进行选择的先决条件和组合的顺序。针对不同的应用范围(不同的表示能力和计算能力)做了扩充和限制,形成了三[27]个子语言:OWLFull,OWLDL和OWLLite;三个子语言的限制由少到多,其表达能力依次下降,但可计算性(结论可由计算机通过计算自动得出)依次增强。1.OWLFull:提供最丰富的表达能力和最大的RDF语法自由度,支持OWL的全21 华中科技大学硕士学位论文部语法结构,但没有可计算性保证。OWL允许本体扩大预定义词汇的含义,但OWLFull基本上不可能完全支持计算机自动推理。2.OWLLite:OWLLite提供最小的表达能力和最强的语义约束,适用于只需要层次式分类结构和少量约束的本体,例如词典。因为其语义较为简单,OWLLite比较容易被工具支持。3.OWLDL:OWLDL得名于它的逻辑基础——描述逻辑。OWLDL处于OWLFull和OWLLite之间,兼顾表达能力和可计算性。OWLDL支持所有的OWL语法结构,但在OWLFull之上加强了语义约束,使得能够提供计算完备性(computationalcompleteness,即任何结论都能确保通过计算得到)和可判定性(decidability,所有结论都保证在有限时间内得到)。4.3OWSL4.3.1OWSL语言的结构我们在当前的语义Web服务描述模型OWLDL的基础上增加了用户偏好的表示,扩展后的语言称为OWSL(OntologyWebServiceLanguage,Web服务本体语言),这样它不仅包括了服务功能、特性、访问方式的语义表示,还包括了用户选择服务时所表现出来的偏好的表示。[28]OWSL语言由类、属性和个体组成。z类(Classes)类提供了组织具有相似特征的资源的一种抽象方式。每一个OWSL类联系到一个个体(individual)的集合,这个集合叫做它的外延,集合中的个体叫做它的实例(instance)。可以通过指定一个类名字或说明一个匿名的类的外延来描述一个类。另外,可以使用rdfs:subClassOf将类组成一个层次化的结构OWSL类的表示方法。图4.1描述了OWSL表示方法。...图4.1owsl类的表示方法在第一个例子中,通过指定名字定义了一个Grape类,在第二个例子中通过rdfs:subClassOf将WineGrape类定义为Grape的子类。z属性(Property)22 华中科技大学硕士学位论文属性提供描述类间关系的抽象机制,它可看作类之上的二元关系。而属性之间可以通过SubPropertyOf形成层次化的关系。OWSL对象属性(objectproperty)的值域是类的个体,数据类型属性(datatypeproperty)的值域是数值类型的值(整数、字符串,日期等,由xmlschema定义)。在OWSL里,对象属性和数据类型属性不互斥,因为数值类型的值也可以看作是一个个体。图4.2给出了OWSL属性的描述方法。图4.2owsl属性的表示方法第一个例子定义了一个数据类型属性,它的值域是正整数。第二个例子定义了一个对象属性,它的值域是WineGrape。z个体(Individual)个体是组成类的元素,个体通过使用rdf:Type来将自己绑定到某个类上。图4.3描述了一个个体绑定到类的例子。在第一个例子中定义了一个名字为CentralCoastRegion的个体,而在第二个例子中通过rdf:about对它添加了描述,而没有重新定义它。另外,在第二个例子中通过rdf:type指明CentralCoastRegion的类是Region。图4.3个体绑定到类的例子4.3.2OWSL的知识类型[29][30]OWSL的结构主要面向一个服务的三个重要类型的知识:ServiceProfile、ServiceModel和ServiceGrounding。ServiceProfileServiceProfile描述一个服务主要包含三方面信息。首先,服务提供者的白页和23 华中科技大学硕士学位论文黄页信息。比如服务提供者的联系方式。其次,服务的功能信息。主要是指服务的IOPE:Input,Output,Precondition,Effect。IOPE是OWSL中的主要内容之一,在ServiceModel中还会详细描述。最后,ServiceProfile可以提供服务的所属的分类,服务QoS信息。ServiceProfile也提供了一种机制来描述各种服务的特性,服务提供者可以自己定义。ServiceProfile最大的特点就是双向的,服务提供者可以用Profile描述服务的功能,服务请求者可以用Profile描述所需服务的需求。这样服务发现时,匹配引擎可以利用这种双向的信息进行匹配。另一方面,ServiceProfile支持各种各样的注册模型,最常用的注册模型是比如UDDI的基于服务注册中心的集中式解决方案。而在特殊情况下,比如某个服务供不应求,那么可以建立服务请求的注册中心,对每个服务请求进行注册,当服务响应完一个请求后,从注册中心中取出下一个进行响应。这与UDDI是完全相反的一个过程。由于ServiceProfile是双向的,它完全支持这种方式的注册模型。对于P2P方式的注册模型,没有统一的注册中心,ServiceProfile也能够支持。ServiceModelServiceModel主要是服务提供者用来描述服务的内部流程。一个服务通常被称之为一个过程(Process)。首先定义过程的本体,如图4.4所示。Themostgeneralclassofprocesses图4.4过程的本体过程分为三类:原子过程(AtomicProcess),复合过程(CompositeProcess),简单过程(SimpleProcess)。原子过程是不可再分的过程,可以直接被调用。每一个原子过程。从服务请求者看来,就是传递一个输入消息,服务执行完毕后返回一个输出消息。服务请求者对过程的内部执行是不可见的。对于每个原子过程,都必须与提供一个grounding信息,用于描述如何去访问这个过程。24 华中科技大学硕士学位论文复合过程是由若干个原子和复合过程构成的过程。每个过程由一个控制结构(ControlConstruct)定义。控制结构定义了复合过程中每个子过程的执行顺序。OWSL中定义的控制流有:z顺序(Sequence)顺序执行的一组过程。z分开(Split)一组需要并行执行的过程。对等待和同步的进一步描述目前的规范中还没有涉及。z分开+合并(Split+Join)用于表达对于一些过程分支的并行执行,通过Split+Join可以部分表达同步。z无序(Unordered)允许一些过程按任意的、不指定的顺序或者并行执行。但所有的过程组件都被执行。虽然在Unordered下的组件之间对于执行顺序没有约束,但是组件内部可能对执行顺序有约束。例如:如果a、b是基本服务,那么Unordereda,b可以按照a-b的顺序执行,也可以按照b-a的顺序执行;如果a,b,c,d是基本服务,X=(Sequencea,b);Y=(Sequencec,d);Z=(UnorderedX,Y),那么Z可以表达为{(a;b),(c;d)};表达执行的先后顺序,那么可能的执行顺序有:(a;b;c;d),(a;c;b;d),(a;c;d;b)等等。z选择(Choice)该控制结构通过chosen和chosenFrom属性关联到过程组件。z条件(If-Then-Else)该类通过ifCondition、then、else属性关联到控制结构的不同方面。它的语义解释同传统的语言完全一致。z指定循环(Iterate)它的nextProcessComponent指向被循环执行的过程组件。它和循环类是同义类。该结构并没有假定循环执行的次数。有关执行的初始、结束和维持条件可通过whileCondition、untilCondition来指定。z循环(Repeat-Until)和Repeat-While类类似的循环结构,只不过循环条件的语义略有不同。图4.5是复合过程“航班预定服务”的描述:25 华中科技大学硕士学位论文ThisisthetoplevelprocessforBravoAir图4.5航班预定服务该过程由三个子过程组成:GetDesiredFlightDetails,SelectAvailableFlight,BookFlight。它们按照顺序执行。简单过程是一个抽象概念,它不能被直接调用,也不能与grounding绑定。观察一个服务通常可以有不同的粒度,当我们需要关心一个服务的内部细节时,可以将这个服务定义成简单过程。一个原子过程可以组成简单过程,一个复合过程可以实现一个简单过程。IOPE是OWSL中一个非常重要的概念,类似于程序设计语言中的相应概念。输入和输出是指服务的输入和输出,可以理解为数据的变换;前提和效果是指服务的前提条件和效果,即服务执行前应该满足的条件和服务执行后实际产生的效果,可以理解为状态的改变。OWSL中可以定义条件式输出和效果,即只有在某种条件满足的情况下,输出和效果才能产生。图4.6是一个出售服务的IOPE定义的例子。出售服务输入:信用卡号前提:有效的信用卡号输出:收据,发票效果:信用卡支出条件:连接到银行图4.6出售服务的IOPE图是4.7用OWSL描述一个“航班预定确认服务”。航班预定确认服务是一个原子过程,所以它必须定义该服务的IOPEs,以及每个26 华中科技大学硕士学位论文图4.7航班预定确认服务参数的类型。比如一个输入参数ReservationID_In,它的类型是ReservationNumber,这个类型是在服务提供者定义的Ontology:Concepts中定义。ServiceProfile和ServiceModel中都用到了IOPE,两者并不需要完全一致,通常Profile中的IOPEs是ServiceModel中的IOPEs的子集,这根据服务提供者需要发布那些功能而给定。ServiceGroundingServiceProfile和ServiceModel都是关于服务的抽象的描述,而ServiceGrounding是涉及到服务的具体的规范。简单来说,它描述服务是如何被访问的。具体的,它需要指定服务访问的协议,消息格式,端口等等。但是OWL-S规范中并没有定义语法成分来描述具体的消息,而是利用WSDL规范。选择WSDL,一方面是因为WSDL是对具体消息进行描述的重要规范,另一方面因为它具有强大的工业支持。4.4本章小结本章首先分析了本体的相关概念和构建一个本体的方法,然后介绍了当前流行的本体语言OWL-S,最后给出了一个基于OWL-S扩展的语言OWSL。27 华中科技大学硕士学位论文5基于本体的逻辑推理本章通过上一章定义的本体语言OWSL,给出了一种基于OWSL的推理机制。5.1描述逻辑描述逻辑(DescriptionLogic,简称DL)是一种基于对象的知识表示的形式化,也叫概念表示语言或术语逻辑。它是一阶逻辑的一个可判定的子集,具有合适定义的语义,并且具有很强的表达能力。一个描述逻辑系统包含四个基本组成部分:表示概念和[31]关系的构造集、ABOX包含断言、TBOX实例断言、ABOX和TBOX上的推理机制。一个描述逻辑的表示能力和推理能力取决于对以上几个要素的选择以及不同的假设前提。[32]在描述逻辑中,基本的推理问题包括以下几类:包含检测:在TBoxT中,检测CD⊆,就是要检查对于T的所有模型I,是否都满足CD′′⊆;通俗地讲,这一过程实际是检测知识是否正确的过程。一致性检测:对于TBoxT而言,检测C与T的一致性即是要检测是否存在T的模型I满足C′≠Φ;对ABoxA,一致性检测意味着检测是否存在A的模型;对KB(T,A)而言,意味着检测是否存在T和A的模型。通俗地讲,一致性检测即是要检查知识是否是有意义的。等价性检测:对于TBoxT而言,检测C与D是否是等价的(即C≡D),就是要检查在T的所有模型中是否都有CI=DI;这一过程是为了保证知识的最小冗余度。实例检测:对KB(T,A)的实例i与概念C而言,实例检测指的是对于知识库的所有模型检查是否都满足iCi∈;实际就是检测i是否是C的实例,该检测是对知识正确性的又一保证手段。由于OWSL是基于OWL-DL的,也就是基于描述逻辑的,为什么选择DL而不是FOL(FirstOrderLogic)或命题逻辑的因在于:1)FOL是不可判定的;2)命题逻辑虽然是可判定的,但表达能力却不强;3)DL的表达能力很强且是可判定的。根据OWSL和DL的特点,本文给出了OWSL中的类构造子与DL的关系,如表5.1所示。OWSL是一种基于DL的语言,所以OWSL中的类构造子及公理都有相应的DL表示,表5.2对两者的对应关系进行了总结。表5.2的左半部分给出了表5.1中的若干DL的构造算子与OWSL构造子的对应关系,右半部分给出了OWSL中的公理对应的DL28 华中科技大学硕士学位论文表5.1OWSL中的类构造子与DL的关系构造子DL语法intersectionOf*CC1∩∩...nUnionOf*CC1∪∪...ncomplementOf*¬ConeOf*{X1,,...Xn}allValuesFrom∀PC.sameValuesFrom∃PC.maxCardinality*≤nPminCardinality*≥nP的语法表示。结合ARTs-WSC的层次结构、描述逻辑的体系结构,及表1、表2的内[33]容,我们不难想象语义Web服务是实现语义的方法:由领域专家根据相应的本体模型参与建立KB(T,A),并利用OWSL对其中本体进行表示;为了理解用于表示资源的术语的语义,代理需要查询KB(T,A);而KB(T,A)中知识的一致性则由描述逻辑的推理机提供。由于OWSL是由OWL扩展而来,所以支持OWL的工具都能很好的支持[34]OWSL,比如Racer。Racer除了支持OWSL表示本体外,还提供较强的推理功能。表5.2OWSL中的公理与DL的关系公理DL语法subClassOf*CC1⊆2equivalentClass*CC12=disjoitWith*CC12⊆¬sameIndividualAs{}{}x12=xdifferentFrom{}x12⊆¬{}xsubPropertyOfPP12⊆equivalentPropertyPP12=inverseOfPP12≠transtivePropertyPP+⊆functionalPropertyTP⊆≤129 华中科技大学硕士学位论文图5.1演示了如何将描述逻辑的约束信息加入到用户请求的表达中:Flight是一个旅游领域本体中已有的本体概念,表示一次航班信息。但是现在有01图5.1基于OWSL的描述逻辑约束一个需求是表达此次航班最多中途停留1次。Flight概念有一个hasStopover属性,此属性表达一次航班中中途停留的地点。从直观讲,一个具体的Flight实例如果有多个hasStopover属性,说明此实例中途停留多个地点,如果要表达最多停留一次的信息,就必须在hasStopover属性的出现的个数上进行约束,即约束hasStopover属性最多只能出现一次。这可以在描述逻辑中用maxCardinality描述,其具体对应的OWSL格式如上所示。但由于这种约束只能在概念层进行,因此需要对Flight概念进行继承。例子中,myFlight就是从Flight继承来的子类,当然也拥有继承的属性hasStopover,因此可30 华中科技大学硕士学位论文在hasStopover属性上加入基数约束。进而用新定义的myFlight概念定义本体实例myflight_instance,这个本体实例对应一次具体的航班,并且隶属于myFlight概念,因此也具有对hasStopover属性的约束。实际应用中,描述逻辑会检验满足约束的实例,从而达到推理匹配的效果。5.2语义推理算法推理是指根据已有事实集和推理规则来产生新结论的过程,它常和问题解决以及机器学习联系在一起,属于人工智能领域的核心课题。根据所采用推理算法的不同,可以将推理分为两种基本的类型:后向链推理和前向链推理。后向链推理是一种目标驱动的推理过程,从一个待证明的目标命题出发,遍历整个规则集空间,以查找后件和目标命题相匹配的可用规则,进而循环迭代去求证该规则的前件,直至规则的前件为已知条件或无规则可用时,结束整个推理过程,若推理过程中的所涉及到的规则前件均为已知条件或可通过推理得到,则证明目标命题是可满足的,否则,则还需要补充额外的证据。前向链推理则属于数据驱动,整个推理过程从已知的数据事实出发,根据相关规则进行反复迭代,以求得已知数据所能涵盖的全部解空间,在完成前向链推理之后,后续的命题证明过程就变的非常简单了,只需要查询解空间,看是否包含待证明命题就可以了。在后向链推理过程中,若某一目标命题同时存在有多个可用规则时,则容易导致较深层次的递归调用,影响整个推理算法的性能,而且后向链推理离不开与用户的实时交互。需由用户事先确定目标命题,这会在一定程度上影响信息检索服务器的响应性能。基于上述分析,在本文所提出的ARTs-WSC模型中,采用了前向链推理算法,整个语义推理过程是在离线部分完成,无需用户的参与。5.2.1前向链推理方法前向链推理方法允许在大量规则集上实行推理和演绎操作,并可在推理所得的结果集上进行搜索。在最简单的情况下,整个语义推理过程就像平常的搜索操作一样,由机器不断的去查找新的可用规则,并运用这些规则得出原本隐含的信息,它们唯一的区别就是在语义推理过程中所有的规则都必须以条件/结论对的形式显式的列出。前向链语义推理算法描述如下:(1)初始化推理规则和事实集。(2)根据当前的事实集,决定哪些推理规则可用。31 华中科技大学硕士学位论文(3)如果无规则可用,则退出。(4)如果同时有多条可用规则,则通过冲突消解策略选择其中的一条规则。(5)应用选定的规则进行推理,将规则的后件或结论添加至事实集中。(6)重复第2步。前向链语义推理中存在的一个问题就是,在实际的上下文环境中,由于事实和可应用规则的数目众多,使得完成一次推理的时间耗费可能会很大。但近年来,随着机器性价比的迅速提高,使得这一问题得到了一定的缓解,而且前向链语义推理过程只需要在检索服务器初始化时运行一次,即可为以后的信息检索提供智能化服务,具有一劳永逸的特点。5.3.2前提匹配算法所谓前提就是指调用一个Web服务前所需要满足的前提条件,它与服务输入的含义不同。服务输入指的是调用Web服务所需要输入的信息。如果服务前提不能被满足,那么请求者可以完全不知道服务输入,因为这个服务本身已经不能被调用。可能的服务前提包括:是否是某某机构的会员,是否持有某种信用卡,是否是有特殊身份的人(教师、军人、残疾人、老年人等),是否满足一些约束,例如年龄范围、性别信息等等。一句话概括,就是服务前提可以包括与请求者相关的任何信息。这种与请求者相关的信息可以被称为用户概要(UserProfile)。一个理想的情况就是一个系统提供的服务在与用户交互之前首先让新用户注册自己的详细信息。这样,系统可以自动地通过调出用户概要自动地筛选出符合服务前提的服务集合。同时,服务效果也通过逻辑表达,在服务匹配时体现其作用。下面给出一个前提匹配算法WSPM(WebServicePreconditionMatch)。algorithmWSPM(Serv,cusProfile)/*输入:一个服务实例Serv,用户概要cusProfile*//*输出:trueorfalse*/1)isMatched←false2)SPre←accessServicePre(Serv)3)If(SPre.size==0)isMacthed←true,goto14)4)tempPre←5)Foreachprecondition[i]inSPre6)flogicFact←cusProfile7)flogicRule←precondition[i]8)If(flogic_engine(flogicFact+flogicRule)==true)tempPre.append(precondition[i])9)IfisEqual(tempPre,SPre)isMatched←true,goto14)10)SOper←accessSerivceOper(Serv)32 华中科技大学硕士学位论文11)Foreachserviceitem[i]inSOper12)OPre←accessOperPrecondition(serviceitem[i])13)If(tempPre.contains(OPre))isMatched←true,goto14)14)ReturnisMatched这个算法用来匹配用户概要和服务前提。前提匹配算法需要在输入、输出接口匹配算法前调用。这样可以在实际操作Web服务前缩小Web服务候选集,优化系统效[36][37][38]率。此算法采用F-Logic推理引擎,将用户概要作为“事实”,服务前提作为“规则”,推理得到它们之间的匹配关系。显而易见的是,如果一个服务的所有前提都被满足,此算法会判断匹配成功。但同时,如果不是所有的前提都满足,那么应该寻找一个前提都被满足的操作,如果这样的操作存在,此算法仍然会匹配成功。其他情况下,算法匹配失败。accessServicePre()方法用来得到一个服务的所有前提;accessServiceOper()方法用来得到一个服务的所有操作;accessOperPrecondition()方法用来得到一个操作的所有前提。下面将给出一个完整的应用前提匹配算法的实例,此应用实例基于旅游领域的服务库,库中服务来自不同国家和机构,提供机票预订服务。比如,中国国际航空公司机票预订的Web服务。中国国际航空公司是一家国内航空公司,其服务质量优异,服务作用的地域范围为中国和美国。对AirChinaService中的各个服务操作的IOPE定义如下。查询机票操作(QueryFlightTicket)的输入(Input)为:起飞地点、到达地点以及起飞时间,输出(Output)为机票信息;预定机票操作(BookFlightTicket)的输入除了前面提到的三个输入外,还包括信用卡信息,输出仍为机票信息,前提(Precondition)为:信用卡持卡人、信用卡类型为ZhiYin、Master或Visa,效果(Effect)为:信用卡使用记录和送票到客户指定地址;查询打折机票操作(QueryDiscount)的前提为:是AirChina成员,信用卡类型为AirChinaZhiYin;里程卡积分(MileCollected)的前提为:是里程卡持卡人、类行为AirChinaMile,效果为:里程累计到里程卡上。本实例用到的领域相关规则有:规则1,年龄大于60的人为老年人,老年人只坐大飞机:FORALLX,old(X)<-greaterorequal(X->age,60).FORALLY,largeplane(Y)<-equal(Y->type,A340)ORequal(Y->type,B777).FORALLX,Y,Z<-((old(X)ANDlargeplane(Y))ORNOTold(X))ANDequal(Z->planeType,Y->type).规则2,服务消费者对价格关注程度为高时,要求选择最低折扣的机票:33 华中科技大学硕士学位论文FORALLX,Y,Z<-((equal(X->priceconcern,High)ANDmin(Z->discount))ORNOTequal(X->priceconcern,High))ANDequal(Z->planeType,Y->type).规则3,有国内和国外航空公司的服务可以选择时,优先选择国内的:isDomestic(Hainan).FORALLS<-((EXISTSS1isDomestic(S1))ANDisDomestic(S))OR(NOT(EXISTSS1isDomestic(S1))ANDNOTisDomestic(S)).规则4,单位是Hust或是Whu的服务消费者只坐型号为A340的飞机:FORALLX,special(X)<-equal(X->company,Hust)ORequal(X->company,Whu).FORALLX,Y,Z<-((special(X)ANDequal(Y->type,A340))ORNOTspecial(X))ANDequal(Z->planeType,Y->type).规则5,单位是中国国际航空公司的服务消费者只能选择自己公司提供的服务:isAirChina(AirChina).FORALLX,S<-(equal(X->memberof,AirChina)ANDisAirChina(S))ORNOTequal(X->memberof,AirChina).如上所示,规则全部采用F-Logic的表达方式。其中,X代表人,这里利用了人的一些属性,例如age、priceconcern、company、memberof等属性,用于与用户输入的属性作比较;Y代表飞机,这里用到了飞机的type等属性,用于飞机类型的匹配;Z代表机票,这里用到了机票的planeType、discount等属性,用于查询机票所对应的飞机类型以及获得机票的打折信息;S代表服务,这里定义了两个谓词,即isDomestic和isAirChina,分别用于判断一个服务是否是国内航班服务,以及是否是AirChina的航班服务。本系统中,将各个服务所能提供的飞机类型,以及对应的机票信息作为基本的事实库,通过顺序检验上述各个规则,把能够通过所有规则的服务作为服务的查询结果返回给用户。个人基本信息如下:姓名:dolly;性别:女;年龄:23;国籍:中国;公司:hust;俱乐部成员(memberof):AirChina、POP、CSSS;拥有信用卡(hasCreditCard):ZhiYin、Master、Visa、Zhaoshang、BlueSky;拥有里程卡(hasMileCard):AirChinaMile;价格关注程度(priceconcern):High;舒适关注程度(convienceconcern):Normal;优先考虑(priority):中国国际航空公司的服务。[39][40]推理过程如下。首先检查规则1,由于X->age为22,不符合greaterorequal(X->age,60),所以推出NOTold(X),此时由(old(X)ANDlargeplane(Y))ORNOTold(X)可知所有服务都可以通过规则1;顺序检查规则2,由于X->priceconcern为High,符合34 华中科技大学硕士学位论文equal(X->priceconcern,High),此时由equal(X->priceconcern,High)ANDmin(Z->discount)可知,只有打折为最低的机票才能通过规则2,即过滤掉了票价高的服务;顺序检查规则3,在规则2的基础上,再过滤掉不提供国内航班的服务;顺序检查规则4,由于X->company为hust,符合equal(X->company,hust),所以推出special(X),即X隶属于某个特别的公司。此时由special(X)ANDequal(Y->type,A340)可知只有类型为A340的飞机才符合规则4,因此再滤掉不能提供A340型号飞机的服务;最后检查规则5,由于X->memberof中包含AirChina,符合equal(X->memberof,AirChina),此时由equal(X->memberof,AirChina)ANDisAirChina(S)可知只有AirChina服务可以符合用户需求,最终滤掉不是AirChina的其他服务。5.3本章小结本章首先给出了描述逻辑和OWSL语言的关系,然后提出了前提匹配算法进行逻辑推理,最后给出了一个基于前提匹配算法的完整实例。35 华中科技大学硕士学位论文6结论与展望Web服务组合是Web服务的一个重要研究方向,也是当前研究的热点。本文对语义Web的结构进行了分析,在此基础上提出了一个基于语义WEB的动态服务组合模型。本章对对论文所做的工作进行了总结,并对将来的工作进行了展望。6.1论文总结在Web服务大量出现的环境下,为了能够依据业务需求,快速、灵活地集成各种已有的Web服务,论文首先提出了基于语义Web的动态组合服务模型,对组合服务的定义、合成、部署等关键技术进行了研究,并提出了一个基于语义的Web服务组合模型ARTs-WSC。全文所作的工作总结如下:1.本文首先对Web服务组合的相关技术和标准作了深入的研究,通过对传统的静态服务组合技术进行分析发现:由于Web服务的数量越来越庞大,通过人工进行服务组合是不现实的,而且服务的质量也得不到保障,而只有加入语义信息才能使得Web服务的动态组合变成可能。2.本文在第二章给出了基于语义Web的动态服务组合模型ARTs-WSC,并对该模型进行了一定的分析。3.本文然后重点分析了ARTs-WSC的体系结构,并给出了一个基于语义的Web服务描述语言OWSL,最后本文详细分析的ARTs-WSC匹配引擎,并给出了语义推理算法。6.2未来工作展望为更好地进行应用,有很多工作还有待进一步的开展,归结起来主要有以下几点:1.本文给出的OWSL是基于OWL-DL上的,同OWL-Full相比缺乏广泛的表达能力,能否提出一个基于OWL-Full上的描述语言是一个很重要的研究方向。2.由于服务组合是由各个自治服务组成,因此服务组合的事务处理对数据的可靠性有着举足轻重的作用,如何进行服务组合的事务处理将是一个很有挑战性的工作。3.本文提出的服务组合实现模型对服务的性能如响应时间、负载能力等没有进行深入的研究,同时也需要完善组合服务的安全机制和执行中的异常处理。36 华中科技大学硕士学位论文致谢衷心的感谢我的导师刘云生教授,本文从最初选题到最后完成,都得到了悉心指导和热心鼓励,刘老师深厚扎实的理论功底和活跃的学术思想使我受益非浅。感谢华中科技大学现代数据库实验室的全体同学,与他们的讨论不仅受益而且愉快,他们对本文的成搞提出了很多有益的意见。最后,我要感谢我的父母,朴素的人用他们朴素而至伟的爱伴随我的成长历程,在他们力所能及的范围内给了我最大的帮助,感谢他们的养育之恩,谨以此论文表达我万分之一的谢意。37 华中科技大学硕士学位论文参考文献[1]岳昆,王晓玲,周傲英.Web服务核心支撑技术.软件学报,2005,5:433~434.[2]DavidBooth,HugoHaas,FrancisMcCabeetal.WebServicesArchitectureW3CWorkingGroupNote.http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/.[3]MartinGudgin,MarcHadley,NoahMendelsohnetal.SOAPVersion1.2Part1:MessagingFramework.http://www.w3.org/TR/2003/REC-soap12-part1-20030624/.[4]DavidBooth,CanyangKevinLiu.WebServicesDescriptionLanguage(WSDL)Version2.0.http://www.w3.org/TR/2006/CR-wsdl20-primer-20060327/.[5]T.Bellwood.UniversalDescription,DiscoveryandIntegrationspecification(UDDI)3.0.http://uddi.org/pubs/uddi-v3.00-published-20020719.htm.[6]TonyAndrews,FranciscoCurbera,HiteshDholakia,etal.BusinessProcessExecutionLanguageforWebServicesVersion1.1.http://dev2dev.bea.com/technologies/webservice.vices/BPEL4WS.jsp.[7]TosicV,PagurekB,EsfandiariB,PatelK.OnthemanagementofcompositionsofWebservices.In:Proc.oftheOOPSLA2001WorkshoponObject-OrientedWebServices,2001.[8]B.Benatallah,M.Dumas,ShengQZ,etal.Declarativecompositionandpeer-to-peerprovisioningofdynamicservices.Procofthe18thInt’lConfonDataEngineering.SanJose:IEEEComputerSociety,2002,297~308.[9]Chandrasekaran,MaddenS,.andIonescu.AnArchitectureforComposingServicesoverWideAreaNetworks.CS262classprojectwriteup,UCBerkeley,2000.[10]D.Martin,M.Burstein,O.Lassilaetal.DescribingWebServicesusingOWL-SandWSDL.http://www.daml.org/services/owl-s/1.0/owl-s-wsdl.html,October2003.[11]HorrocksI,PeterF,Patel-Schneider.ReducingOWLentailmenttodescription38 华中科技大学硕士学位论文logicsatisfiability.InProcofthe2003InternationalSemanticWebConference(ISWC2003),Berlin:Springer,2003.17~29.[12]PatrickLincoln.Decidingprovabilityoflinearlogicformulas.InLondonMathematicalSocietyLectureNoteSeries,volume222.CambridgeUniversityPress,1995.[13]D.Berardi,D.Calvanese,G.DeGiacomoetall.AutomaticCompositionofTransition-basedSemanticWebServiceswithMessaging.Technicalreport,DipartimentodiInformaticaeSistemistica,Universit`adiRoma“LaSapienza”,Roma,Italy,April,2005.[14]KeitaFujii,TatsuyaSudaDynamicServiceCompositionUsingSemanticInformationICSOC'04,November15–19,2004,NewYork,NewYork,USA.[15]P.TraversoandM.Pistore.AutomatedCompositionofSemanticWebServicesintoExecutableProcesses.InProceedingsoftheThirdInternationalSemanticWebConference,pages380–394,2004.[16]M.Pistore,P.Bertoli,F.Barbon,D.Shaparau,andP.Traverso.PlanningandMonitoringWebServiceComposition.InICAPS’04WorkshoponPlanningandSchedulingforWebandGridServices,2004.[17]Berners-Lee,T.,UniversalResourceIdentifiersinWWW:AUnifyingSyntaxfortheExpressionofNamesandAddressesofObjectsontheNetworkasusedintheWorld-WideWeb,RFC1630,CERN,June1994.[18]FrankManola,EricMiller.RDFprimer.W3CWorkingDraft[S],http://www.w3.org/TR/rdf-primer/,2002.[19]OraLassila,RalphRWeick.ResourceDescriptionFramework(RDF)ModelandSyntaxSpecification[S].W3CRecommendation,http://www.w3.org/TR/REC-rdf-syntax,1999.[20]TRGruber.Atranslationapproachtoportableontologyspecifications[R].StandfordUniversityKnowledgesystemlaboratory,TechRep:logic-92-1,ftp://ftp.ksl.standford.edu/pub/KSL-92-71.ps,1992.[21]D.Fensel,F.vanHarmelen,I.Horrocksetal.Oil:Anontologyinfrastructureforthe39 华中科技大学硕士学位论文semanticweb.IEEEIntelligentSystems,16(2):38-45,2001.[22]J.-Y.Girard.LinearLogic.TheoreticalComputerScience,50:1.102,1987.[23]ArtaleA,FranconiE.Atemporaldescriptionlogicforreasoningaboutactionsandplans.JournalofArtificialIntelligenceResearch,JAIR,1998,9:463~506.[24]I.Horrocks.DAML+OIL:Adescriptionlogicforthesemanticweb.BulloftheIEEEComputerSocietyTechnicalCommitteeonDataEngineering,2002,25(1):4~9.[25]I.Horrocks.TheOntologyInferenceLayer.OIL.http://www.ontoknowledge.org/oil/papers.shtml.[26]D.Martin,M.Paolucci,S.McIlraithetal.BringingSemanticstoWebServices.TheOWL-SApproach.In1stInternationalWorkshoponSemanticWebServicesandWebProcessComposition(SWSWPC2004),2004.[27]DavidMartin,MarkBurstein,JerryHobbs.OWL-S:SemanticMarkupforWebServices(W3CMemberSubmission22November2004).http://www.w3.org/Submission/OWL-S/.[28]MikeDean,GuusSchreiber.OWLwebotonlogylanguagereference[EB/OL].W3CWorkingDraft,http://www.w3.org/TR/2003/WD-owl-ref-220030331/,2003.[29]D.L.McGuiness,F.vanHarmelen.OWLWebOntologyLanguageOverview.http://www.w3.org/TR/owl-features/.August2003.W3CCandidateRecomm-endation.[30]DeborahL,RichardFikes,JamesHendleretal.DAML+OIL:Anontologylanguageforthesemanticweb[J].IEEEIntelligentSystems,2002,17(5):722.[31]CarmanM.,SerafiniL.,andTraversoP.WebServiceCompositionasPlanning.ICAPS'03WorkshoponPlanningforWebServices,Trento,Italy,June2003.[32]S.Thakkar,C.Knoblock,andJ.L.Ambite.AViewIntegrationApproachtoDynamicCompositionofWebServices.InProceedingsofICAPS’03WorkshoponPlanningforWebServices,Trento,Italy,June2003.[33]BaaderF,DeborahL,McGuinness,etal.TheDescriptionLogicHandbook:40 华中科技大学硕士学位论文Theory,ImplementationandApplications.CambridgeUniversityPress,2002.[34]HAARSLEVV,MÊLLERR.RacerSystemDownloadPage[EB/OL].http://www.cs.concordia.ca/~haarslev/racer/download.html,2004-04-24.[35]Kifer,M.,Lausen,G.,Wu,J.Logicalfoundationsofobjectorientedandframe-basedlanguages.JournaloftheACM,42(4):741-843,1995.[36]JianjunXu,QianZhu,Juan-ZiLi,etall.ModelingandImplementationofUnifiedSemanticWebPlatform.WebIntelligence,2004:603-606[37]FranzBaader,DeborahL,McGuinnessetal.Descriptionlogicprograms:Combininglogicprogramswithdescriptionlogic.InThe12thInternationalConferenceontheWorldWideWeb(WWW-2003),Budapest,Hungary,2003.[38]http://www.ontoprise.de/customercenter/software_downloads/OntoEdit_Free/[39]T.Berners-Lee,J.Hendler,andO.Lassila.TheSemanticWeb.ScientificAmerican,May2001.[40]KEETCM.AspectsofOntologyIntegration[D].SchoolofComputing,NapierUniversity,2004.41

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭