语义Web服务通信协议分层模型设计
2010-02-23耿丽丽余雪丽
耿丽丽, 余雪丽
(1.山西财经大学实验教学中心, 山西 太原 030006; 2.太原理工大学计算机与软件学院, 山西 太原 030024)
0 引言
语义Web的发展是对现有Web技术的提升,其中信息具有形式化定义的语义,更有助于计算机之间以及计算机与人之间的协同工作[1].语义Web就是能理解人类语言的智能网络,可以使人与计算机之间的交流变得很轻松,通过将Web内容的语法结构和语义以知识表示形式显式地表示出来,可以实现与其它信息源共享,使得人之间、人和机器之间以及机器与机器之间能准确地相互理解,从而实现最大程度的互操作性[2].
语义Web服务是以语义Web和本体论为基础的一个重要的应用基础研究领域,主要目标是克服传统Web服务语义操作能力的局限,使服务的发现、执行以及动态组合能够智能地完成[3].本文将语义Web服务通信过程作为研究对象,设计了一个分层通信协议模型,使Web服务通信能够更加智能、快速地完成,从而增强通信效率以及准确率,同时分层协议模型采用本体技术,将实现各层之间的无缝链接,每层可以采用不同的协议设计规范,从而加大了通信协议应用的灵活性.
对于一个通信系统来说,通信协议的设计必须建立在一个通信模型之上,也就是说设计协议时建立通信模型是首要的,是整个工作的起始点,或者说先有模型,再有分析,后有实现.
要使计算机程序之间可以准确交换数据,首先就要有数据所需的传输通道以及数据传输所要遵守的规范,所以必须满足以下条件:
(1)通信设备之间必须有网络连接,并且保证可以相互传输数据.
(2)程序之间所要传输的数据必须遵循相互约定好的语法格式,并且对所传输数据有一致的语义理解度.
(3)要对传输数据有一致的处理流程.
(4)对错误机制有一致的反馈规范.
基于以上几点,建立一个完备的通信协议系统就可以使通信实现准确、快速的目标,并使通信双方具有较高的互理解能力.
目前大多数网络协议的设计都是采用层次结构,通过分层处理每一层可以分别实现一种相对独立的功能,层次之间互不影响,同时也可以把一个较难处理的复杂问题进行分解,形成若干容易处理的子问题,再分别加以解决.此外,网络协议采用层次结构设计,可以保持各层之间的相对独立性、灵活性,更加易于协议的维护和实现.由于各层只要采用统一接口就可以实现层次之间的通信,所以各层的内部结构可以独立设计,适用于不同的协议规范,这就体现了本体的优势.将各通信协议层用本体定义,进行概念抽象,高层协议层将低层问题屏蔽,各层只需负责本层通信内容的实现,不用考虑其他层次协议如何实现,可以使协议的设计更加容易、灵活,各层只需要通过接口向其它层提供服务和请求服务.
本文借鉴网络通信协议分层的划分原则,在语义Web服务通信协议的设计过程中采用分层的思想,提出建立一个分层通信协议本体,在这个通信协议模型中嵌入所需的不同协议,以增强Web服务通信过程中交互双方的语义理解,推进语义Web服务发展.
1 通信协议模型的分层设计
首先,定义分层协议:协议采用一个4元组来表示(PS,PC,PE,R),R表示关系集[4],R=PS×PC×PE,式中:PS:普通通信协议本体层;PC:概念协议本体层;PE:解释协议本体层.
图1 分层通信协议
三层协议设计除了可以实现各层之间的屏蔽之外,更重要的是为了解决本体竞争问题,所以在协议模型设计过程中主要考虑以下3个问题:本体竞争过程中应该建立什么样的本体?各层协议之间何时进行转换?本体语义聚集点在哪里?
其中,本体竞争过程中建立什么样的本体是要体现建立共享本体最小化和最有效性.最小化指的是本体结构的精简,本体中概念定义的数量要尽量少,这样才不会造成需要处理大量概念而导致速度变慢的问题,最小化本体可以使对话过程变得简短,提高交互速度.本体有效性指本体传输大量信息的能力.在整个通信过程中,所传输的数据应该是没有丢失现象的,这样就可以避免本体之间不必要的学习,这种本体之间的互相学习过程将直接导致通信过程速度减慢,同时可能会造成信息丢失,通信失败.因此,建立最小、最有效的本体是设计整个通信协议模型至关重要的一步.
协议分层之后,若上层协议达不到通信要求,即普通通信协议层无法正常传输数据,语义主体将转换协议层,进入下层协议即概念协议层进行概念抽象定义,细分传输数据,并返回上层继续传输.总之,语义主体要尽量保持在高层协议层,因为高层协议层使用的是最简单的协议进行数据传输,可以保证传输的效率.
本体语义聚集点不明主要是由本体竞争带来的语义分散性问题所引起的,每个语义主体都会建立自己的本体,这些本体建立时就面临寻找语义聚集点的共性问题.
在通信协议模型的设计过程中,考虑通信过程的特征包括传递和接收两类,对传递方以及接收方的功能进行了定义,传递方将所要传输的数据进行解析,与本地概念做匹配,若匹配一致,使用普通通信协议直接进行通信,普通通信协议层处理普通的消息通信,在这一层中解决本体共享问题;若数据进行解析之后,存在部分概念不匹配情况,但是不匹配概念之间的关系很明确,则进入概念协议层对概念进行定义,这一层的增加是为了解决本体不共享问题;若解析之后概念既不匹配也不明确概念之间的关系,则继续进入解释协议层,解释概念,最终返回最上层协议层进行通信.若接收方接收到的仍然是无法理解的数据,将会退回重新解析.因此,分层协议模型在完成通信的同时,也可以实现概念的定义、解释以及处理概念之间的关系,这样就使得所传输信息中各种无法理解的概念可以通过不同层级之间的定义及解释得到理解,防止出现一般通信过程中数据丢失的现象.
分层通信机制结构模块的设计,使得通信动作在同一协议层运作而不会影响其它协议层.例如,在最上层普通通信协议层进行通信时,只需要考虑消息接收方可以理解的概念,如果存在接收方无法理解的概念,将自动转入下一层概念协议层,在概念协议层根据协议规则进行概念定义,完成后返回普通通信协议层继续完成通信动作.两层工作互不影响,概念协议层进行概念定义时,普通通信协议层仍然进行正常通信,执行动作是同步的.同样,解释协议层的工作也是异步进行的,负责解释概念协议层所定义的概念之间的关系.
普通通信协议层处理的是通信过程中本体共享的问题,在通信过程中协议层要完成消息的复合、解释以及转换到概念协议层的时机,这是在普通通信协议层的设计研究中要解决的首要问题.
为了解决这些问题,首先假设一个简单的通信过程:消息发送方给接收方传送一个本体概念,这个动作过程中消息复合是发送方的任务,发送方将所要传输的本地概念进行复合后转换为可以发送的概念.消息的解释是指接收方接收到消息后将其解析为本地概念并进行概念存储的过程.协议层转换时机的选择是由发送方或接收方任一方认为需要共享更多概念时,决定通信转入到概念协议层.
进入概念协议层后,发送方将传输与概念相关的一系列关系集,协议层根据这些关系集定义相关概念并返回普通通信协议层.在概念协议层,概念之间的关系由发送方来标注,标注内容主要是一组概念的定义,通过概念定义使接收方能够抽取概念的完整意义,这时由接收方决定返回普通通信协议层的时机,如果所需概念与已知概念关系不明确则转入解释协议层.
解释协议层的作用是对语义主体无法理解的概念以及概念之间关系的替换.简言之,就是概念替换,解释协议层根据所传输概念的相关定义,通过概念分类器进行概念分类,前提是概念的意义通过实例可以传输给其它语义主体,接收方根据发送方所传输的关于概念的相关消息利用本体概念分类器对这些消息进行分类,通过机器学习得到所需的概念解释.
下面通过机器学习中的术语解释概念分类工作原理.
TPR:正确辨识率(True Positive Rate),有助于概念分类的消息与所有有助于概念理解的消息的比值[4].
FNR:错误辨识率(Fault Negative Rate),无助于概念分类的消息与所有无助于概念理解的消息的比值[4].
对于每一个概念,语义主体计算其TPR 和FNR,通过计算得出的值获取概念之间的关系.在理想状态下,当主体的分类是趋于完美的以及本体域中每个元素都作为分类实例来使用,则TPR与FNR的值将决定正确的概念关系.在这种理想状态下,概念δ1与δ2之间的关系定义如下:
δ1≡δ2ifTPR=1∧FNR=1;
δ1⊥δ2ifTPR=0;
δ1⊂δ2if 0≤TPR≤1∧FNR=1;
δ1⊃δ2ifTPR=0∧FNR≤1;
δ1⊕δ2if 0≤TPR≤1∧FNR≤1;
异或运算的运算符号为“⊕”.公式:A⊕B=(!A)B+(!B)A.注:!A代表A的非运算,当且仅当δ1和δ2不相同时,结果才为真;否则为假.
语义主体分类在多数情况下达不到完美状态,并且本体域也是有限的实例,这种状态可以通过减少概念之间关系的定义条件来解决.可以引入3个阈值参数θ1,θ2,θ3(阈值参数区间为0.5<θ<1,0.5<θ2<1,0<θ3<0.5),对本体中的本地概念δ1进行TPR、FNR计算,则可以获得关于相应概念δ2的解释.δ1与δ2的关系有以下几种情况:
δ1≡δ2ifTPR≥θ1∧FNR≥θ2;
δ1⊥δ2ifTPR≤θ3;
δ1⊂δ2ifTPR≤θ1∧FNR≥θ2;
δ1⊃δ2ifTPR≥θ1∧FNR≥θ2;
δ1⊕δ2if 先决条件不具备.
概念分类解释之后,解释协议层的工作结束,携带所需信息返回上层继续通信,通信过程在三层协议层之间往返最终完成整个消息的传输.
2 协议模型语义性证明
各层协议对于消息传输中概念的理解、定义和解析是对传输消息的语义理解,通信三层协议模型的设计可以弥补数据通信过程中缺少语义化的缺憾.下面通过一个4元组证明三层协议的语义性[4].
Web服务通信过程中的语义关系定义为语义桥,语义桥P是一个4元组:
P=(relation,R,W,S)
relation为规则R与权值W之间的语义关系,S(true)是指语义关系成立,S(false) 是指语义关系不成立.
在三层协议中,P1、P2、P3分别表示普通通信协议,概念协议、解释协议,其中P1较之P2一般化(⊃),P2较之P3一般化,如果R相同并且W1⊃W2、W2⊃W3,则P1⊃P2==(W1⊃W2)∩(R1⊃R2),同理,可得出P2⊃P3==(W2⊃W3)∩(R2=R3).在通信过程中,协议执行顺序为P1→P2→P3,所以W1⊃W2⊃W3成立,假设R1=R2=R3,则P1⊃P2⊃P3,得出:
relation1⊃relation2⊃relation3
从而得出三层协议之间语义关系成立.
3 结束语
在传统Web服务通信过程中,一般采用简单访问对象协议—SOAP(Simple Object Access Protocol)协议作为通信协议,它是基于XML的协议,用来交换固化的和结构化的信息,只是将消息进行简单封装后传输,传输过程中并不携带语义信息, SOAP协议本身具有缺乏传输语义信息的局限性,因此在实现语义WEB服务通信的研究中如何改进传统Web服务通信,在通信过程中增加语义信息的理解和传输成为研究的焦点.本体作为语义网的实现技术必然应用到语义Web服务通信的研究中,本文将本体应用到通信协议模型的设计中,利用本体的共享性、可实现标准化的特征并借鉴网络通信的一般规则设计了一个三层通信协议本体模型(在模型设计过程中参考了文献[5]~[11]),将具体的通信协议规则作为实例应用于其中,目的在于建立一个通用的、易于设计重用的通信协议模型,适合基于任何协议的Web服务通信,将具体协议封装进协议模型的各层之中,利用一个统一的接口实现消息的传输,这样易于实现和维护相对独立的各个协议层,同时协议分层可以使复杂问题简化,减少通信过程中的数据丢失现象.
通过对通信过程的研究,本文设计出了三层通信协议模型架构,解释了协议模型的分层工作原理,并给出了语义性证明.三层协议模型是基于请求应答模式的通用协议本体,目前研究工作主要集中在理论研究方面,后续的研究重点是如何进行通信协议系统中路由机制的设计.
总之,语义Web服务通信协议分层的研究对语义网环境中Web服务通信的发展起到了推动作用,三层通信协议模型的提出在一定程度上有效解决了Web服务通信过程中数据丢失、缺乏语义理解的问题.
[1] 刘 毅,汤怡洁,杨 锐,等.2007~2008年国外语义Web研究进展[J].图书馆建设,2009,(7):101-104.
[2] 钟福金,辜丽川,张友华.语义Web应用研究综述[J].计算机工程与设计,2009,30(17):4 130-4 132.
[3] 耿丽丽,余雪丽.基于本体的语义Web服务通信协议的研究[J].电脑开发与应用,2007,20(1):2-3.
[4] 耿丽丽,余雪丽.基于SOAP的语义WEB服务通信协议协议的研究[D].太原:太原理工大学硕士学位论文,2003.
[5] Jurriaan Van Diggelen, Robbert-Jan Beun, Frank Dignum,etal.ANEMONE: An Effective Minimal Ontology Negotiation Environment[C]. AAMAS,2006: 899-906.
[6] Yingjie Li,Xueli Yu,Lili Geng,etal.Research on Reasoning of the Dynamic Semantic Web Services Composition[C].Appear in IEEE/WIC/ACM WI2006,2006.
[7] Ronald Ashri,Grit Denker,Darren Marvin,etal.Semantic Web Service Interaction Protocols: An Ontological Approach[C]. International Semantic Web Conference,2004: 304-319.
[8] Ashok U.Mallya,Munindar P.Singh,A Semantic Approach for Designing Business Protocols[C].Proceedings of the 13th International World Wide Web Conference on Alternate Track Papers & Posters Table of Contents,New York, NY, USA,2004:308-309.
[9] Chen,W.and Mizoguchi,R. Communication Content Ontology for Learner Model Agent in Multi-Agent Architecture[C].Proceedings of AIED99 Workshop on Ontologies for Intelligent Educational Systems,1999.
[10] Tamma,V.,Wooldridge,M.,Dickinson,I.An Ontology Based Approach to Automated Negotiation[C].Proceedings of the Ⅳ Workshop on Agent Mediated Electronic Commerce(AMEC Ⅳ),Springer-Verlag,2002:219-237.
[11] Darina Dicheva1 and Lora Aroyo. A Minimalist Approach to Support Ontology-driven Educational Information Systems Communication. http://iiscs.wssu.edu[EB/OL].