1、 计算机学报2009 年 12 期,2009,32(12) 1Web 服务流程相容性和相似性分析 1李喜彤 范玉顺(清华大学自动化系 北京 100084)摘 要 服务组合和服务替换是面向服务计算的研究热点,服务流程的相容性和相似性分析是其中的两个密切相关的问题,具有较大实用价值。基于着色 Petri 网建模 Web 服务流程,定义服务流程的正确性和相容性。提出服务良构性的概念,证明良构性能够保证组合服务可达终止状态的正确性。在相容性分析的基础上,提出服务流程相似性的定义,证明若新服务与要被替换的服务流程相似,则所进行的替换是上下文无关的,替换后无须再做组合正确性验证,给出相似性的判定算法。结论
2、和算法改进了现有服务组合验证和服务替换方法的不足。关键词 Web 服务;服务组合;服务替换;相容性;相似性中图法分类号 TP311Analyzing Compatibility and Similarity of Web Service ProcessesLI Xi-Tong FAN Yu-Shun(Department of Automation, Tsinghua University, Beijing 100084)Abstract Service composition and substitution are key research issues in Service-Orient
3、ed Computing (SOC). Among them, analyzing compatibility and similarity of Web service processes are two closely-related issues and of great importance. This paper models Web service processes using Colored Petri nets (CPN) and presents the definitions of correctness and compatibility of Web service
4、processes. Then, the notion of well-structuredness of Web services is developed. The paper proves that all reachable final markings of a composite service composed by well-structured services are correct. Based on the compatibility analysis, the paper develops the definition of similarity of Web ser
5、vice processes in order to investigate service substitution. It is concluded that substituting a service in a composition can be performed independent of the context as long as the new service is similar to the substituted one. There is thus no need to verify the substituted service composition agai
6、n. The paper develops an algorithm for verifying similarity between two services. The results and algorithm are used to improve the existing methods of service composition 收稿日期: 修改稿收到日期: 本课题得到国家自然科学基金(60674080, 60704027)、国家“八六三 ”高技术研究发展计划项目基金(2007AA04Z150)资助。李喜彤, 男, 1982 年生, 博士研究生, 研究方向为 Web 服务、面向服务
7、计算、Petri 网原理及应用。E-mail:。联系地址:北京清华大学紫荆公寓 141218B (邮编:100084) 。范玉顺, 男, 1962 年生, 博士, 教授, 博士生导师, 研究领域包括企业建模、工作流管理、面向服务体系架构。计算机学报2009 年 12 期,2009,32(12) 2verification and service substitution.Key words Web service; service composition; service substitution; compatibility; similarity1 引 言Web 服务是目前面向服务体系架构
8、最流行的一种实现形式。单个 Web 服务通常无法满足用户需求,而需要将若干个 Web 服务组合起来协同工作。服务组合是指将若干个已存在的 Web 服务按照一定规则动态发现,并组装成一个增值的、更粗粒度的服务或系统以满足用户的复杂需求。服务组合已成为构建面向服务、松散耦合、高适应性的应用系统的主要途径 1,2。组合服务的流程能否正确执行直接影响到用户需求是否能够得到满足,因此需要分析和验证组合服务流程的正确性,这方面的研究是当前面向服务计算领域的一个热点。服务组合的正确性可以通过分析参与组合的各成员服务流程的相容性来进行验证 3,4。另一方面,服务替换是与服务组合密切相关的一个问题 5。如果某个
9、成员服务由于自身的软硬件故障或者外部环境改变(如网络阻塞、病毒威胁)等原因不能继续提供服务,那么将导致整个组合服务无法正确执行,用户需求也就无法得到满足。此时需要发现并选取一个与失效服务的流程相似的服务来替换,以确保替换后的组合服务仍然能够正确执行,也即需要保证替换服务与服务组合系统中的其他成员服务的流程相容。由此可见,服务流程的相容性和相似性分析是两个密切相关的问题,对于研究服务组合和服务替换具有较大的应用价值。由于验证服务流程之间的相容性通常需要对整个组合服务的流程进行分析。在服务替换频繁发生的情况下,不断重复的服务组合验证将耗费大量时间和资源,严重影响系统运行效率 5。因此服务相似性定义
10、需要与上下文无关,即在不需要验证组合服务全局流程的情况下就能判断选取的替换服务如果与被替换服务相似,那么就能够与服务组合系统中的其他成员服务相容,从而保证替换后的组合服务的流程仍然是正确的。分析 Web 服务的流程通常需要借助某种形式化方法,主要有基于有限状态机的方法 3、基于进程代数(或 PI-演算)的方法 4和基于 Petri 网的方法 2,6,7等。由于 Petri 网适合于对 Web 服务这种松散耦合的分布式系统进行建模,因此本文采用 Petri 网作为服务流程分析的理论基础。文献2提出了基于着色 Petri 网的 Web 服务模型,给出了四种主要的组合运算。文献 6以着色 Petri
11、 网为基础提出了面向消息的 Web 服务模型,该模型侧重于对 Web 服务元消息的描述及其对服务协同通信的影响。文献8 借助工作流理论对 Web 服务流程进行建模,研究了基于信任关系的 Web 服务工作计算机学报2009 年 12 期,2009,32(12) 3流服务质量调度方法。虽然 Petri 网能够对组合服务进行分析和验证,但是上述研究成果都没有对此进行深入讨论,没有指出具有哪些性质的两个或多个服务的流程是相容的。进一步地,这些研究工作也都没有涉及到服务流程的相似性和等价性分析。本文将组合服务看作是全局模型,而把各个参与组合的成员服务看作是局部模型。现有研究工作大多是对组合服务的全局模型
12、直接进行建模,较少考虑单个服务流程的正确性,因此无法揭示组合服务流程与单个服务流程之间的内在关系。本文从组合服务的局部模型出发,基于着色 Petri 网建立单个服务流程模型,给出服务流程正确性的形式化定义。该定义不仅适用于单个 Web 服务,同时也适用于刻画组合服务的流程正确性。本文提出 Web 服务良构性的概念,并指出成员服务的良构性能够保证组合服务可达终止状态是正确的,从而简化了服务流程相容性分析的验证条件。为了研究具有哪些性质的两个服务可以进行替换,本文提出服务流程相似性和等价性的定义,并证明两个流程相似的良构的服务可以进行与上下文无关的替换,替换后的组合服务的流程仍然是正确的。本文讨论
13、了相似性与相容性之间的关系,并给出服务流程相似性判定算法。本文第 2 节给出有关的基本定义;第 3 节分别讨论服务流程的相容性和相似性;第 4 节介绍相关工作并进行对比讨论;第 5 节给出结论和未来的工作。2 基本定义Petri 网具有直观的图形符号表示和坚实的理论分析技术,适合对 Web 服务这种异步并发系统进行建模。然而基本 Petri 网在实际建模过程中存在一些固有不足 9,因此本文采用着色 Petri 网建模 Web 服务的流程。有关着色 Petri 网的详细内容可参见文献 9。定义 1(Web 服务). Web 服务是一个带标记的着色 Petri 网 ,其中 为一着(,)SNAL色
14、Petri 网,且满足:(1) 是有限库所集, ,其中: 是服务流程内部控制逻辑库所集,PICIMEPPIC是内部通信库所集, 是服务与外界通信库所集, 、 和 两两互不相交;IME MPE(2) 中有两个特殊的库所,即:起始库所 和终止库所 ,满足 , ;io:io(3) 如果去除库所集 以及所有与 关联的弧,由此得到的 Petri 网称为服务 对应的工EMEM S作流网 ,记为 。若在 上添加一个连接库所 到库所 的变迁 (即: ,N()SNi*t*:t*t) ,则 是强连通的;i计算机学报2009 年 12 期,2009,32(12) 4(4) , ,满足 且 ,其中 是初始标识;pPi
15、()iM()ipiM(5) 是标记的非空有限集, 为一字符串型的标识,其中 为一空标记;AaAA(6) 是标记函数,满足 。L:LT在定义 1 中, 中的每个库所都对应一个与外界通信的消息缓存区,每个与 连接的变EM EMP迁称为通信变迁,对应一个与外界环境通信的操作(如发送或接收消息) ;服务流程内部库所包括和 两部分,其中 表示内部控制逻辑的状态,而 表示内部的消息缓存区;标记集ICPI ICPIMP表示该服务所有可能的操作语义, 中的每一非空标记字符串对应该服务的一个操作命名;标AA记函数 将服务模型中的每一个变迁映射到一个服务操作命名。而映射到空标记 上的变迁所代表L 的操作行为是服务
16、的内部行为,即不被外界观察到的行为。目前工业界已存在一些支持 Web 服务的业务流程建模语言,其中应用最多的是业务流程执行语言(Business Process Execution Language, BPEL) ,该语言已被 OASIS 组织宣布为描述 Web 服务流程的标准。需要指出的是,基于 BPEL 标准描述的 Web 服务流程可以方便地转换为本文定义 1中的形式化模型。文献10和11提出了基于 BPEL 的服务流程向 Petri 网服务模型转换的具体方法,在此不再复述。本文主要研究如何利用定义 1 中的服务模型来形式化的分析 Web 服务流程的相容性和相似性。一个变迁 在标识 下使能
17、,记作: 。若服务在标识 下通过实施变迁 后到达标识tMtMt,记作: 。若服务在标识 下经过实施一个变迁序列 到达标识 ,记作: *T。所有从标识 可达的标识集记为: 。若标识 ()|,R满足 ,则称 为终止标识,所有终止标识的集合记为 。f ()()fifRof F定义 2(正确的终止标识). 服务 的终止标识 若满足 ,SfM,:()ICfpPoMp则称 为正确的终止标识,记为 。所有可达的正确终止标识的集合记为 。fMcf F由定义 2 可知,正确的终止标识要求终止库所 中存在托肯,且其他的内部控制逻辑库所内不o能含有托肯。反之,如果终止库所 与某个内部控制逻辑库所同时含有托肯,则表明
18、该服务流程并o没有正确结束。定义 2 中的正确终止状态并不要求所有非终止库所都不能含有托肯,而可以在外部或内部通信库所中留有未被消耗的托肯。这样的要求符合 Web 服务基于消息通信且彼此松散耦合的本质特性。计算机学报2009 年 12 期,2009,32(12) 5定义 3(可达变迁序列). 若变迁序列 满足 ,则称*12,.nttT:iM为服务 的一个可达变迁序列。所有可达变迁序列的集合记为 。S ()S定义 4(流程正确性). 服务 的流程是正确的,当且仅当在外界环境总是能够满足服务S对外部消息的需求的情况下,下列两个条件同时满足:(1) ,如果 ,则 ,使得 ;()iMRFM()fFM(
19、2) 。CF定义 4 要求外界环境总是能够满足服务 对外部消息的需求,也即:当服务需要接收(或发送)S消息时,外界环境总是能够适时的发送(或接收)该消息。在这种情况下,排除了因外界环境导致服务流程出现死锁的情况。这样的前提是合理且可行的 13。在实际分析过程中,只需要将服务的外部通信库所 以及所有与 关联的弧去除即可,即只需要考察服务 对应的工作流网EMPEM S。根据定义 4,服务流程正确需要满足两个条件。第一个条件要求服务流程总是能够到()NS达终止标识,不会发生死锁;第二个条件则要求服务流程到达的终止标识都必须是正确的终止标识。3 相容性和相似性分析3.1 相容性分析如果参与组合的若干成
20、员服务中某个成员服务的流程不正确,那么该服务必将导致整个组合服务的流程无法正确执行。因此,本文在后续讨论中均默认所有参与组合的成员服务的流程是正确的。此时组合服务的流程能否正确执行取决于各成员服务的流程是否相容。本组已有工作提出了 Web服务组合的形式化定义 11,12,本文在此基础上给出 Web 服务流程相容性的定义。定义 5(服务流程相容). 设两个服务 和 能够组合,其组合服务 。服务1S2 12S和 的流程是相容的,记为: ,当且仅当组合服务 的流程是正确的。1S2 12:S不难看出上述服务流程的相容性定义满足对称性,即: 。121:S计算机学报2009 年 12 期,2009,32(
21、12) 6为了简化相容性的验证条件,本文考察一类具有良好结构的 Web 服务,即“良构”的 Web 服务。工作流理论通常要求所研究的工作流网是良构的,即要求网结构中由 And-Split 发出的两个并行分支必须由 And-Join 汇合,由 Or-Split 发出的两个选择分支必须由 Or-Join 汇合。在工作流网“良构性”定义的基础上 14,本文提出 Web 服务良构性的定义。定义 6(服务良构性). 服务 是良构的,当且仅当 对应的工作流网 是良构的。SS()NS根据上述定义,易知图 1 所示的服务 是良构的,而图 2 所示的服务 则是非良构的。1 2图 1 一个良构的服务 图 2 一个
22、非良构的服务1S 2S下面给出一个关于良构的 Web 服务及其组合的重要结论。定理 1. 设两个服务 和 能够组合,其组合服务 。如果服务 、 是良构的,12 12S12那么服务 从初始标识可达的任一终止标识都是正确的,即: 。S CFM证明. (反证法)由于 ,若 ,则 ,但 。由CFMCFfFfCFM可知, 且 。由于 ,根据定义 2 可知,fFM(,)fiRS()fofCF, 且 。根据服务组合的定义可知 11, ,若ICpPofp 1,IIICPio,则 ,使得 且 。因此不妨假设 。由 可ifF1()fi2()fi IpfF知,服务 存在某个可达的终止标识 使得 且 。因为服务 对应
23、的1SfM1fo1()fM1S计算机学报2009 年 12 期,2009,32(12) 7工作流网 是强连通的,那么网 中存在一条从 到 的基本路径 使得 ,并1()NS1N1io1C1p且存在一条从 到 的基本路径 使得 , 。进而可知,存在变迁 ,而io2C2pC2t库所 。这就与服务 是良构的前提产生矛盾。因此原命题得证。 12C1证毕.根据定义 4 和定义 5,判定两个服务的流程是否相容需要验证两个条件,即:组合服务的流程总是能够到达终止标识,并且所有可达的终止标识都是正确的。而定理 1 的结论实际上指出,由良构的服务组合构成的服务,如果从初始标识能够到达某个终止标识,那么该终止标识一
24、定是正确的。由此可见,成员服务的良构性有效的保证了组合服务可达终止标识的正确性。因此,不难得到下面的结论。定理 2. 设两个良构的服务 和 能够组合,其组合服务 。服务 和 的流程1S2 12S1S2是相容的,即: ,当且仅当在外界环境总是能够满足服务 对外部消息的需求的情况下, 12:S,如果 ,则 ,使得 。()iMRFM()fFM证明. 由定义 4 和定理 1 可直接得证。 证毕.利用定理 2 的结论,在判定两个良构的服务是否流程相容时,只需要验证其组合服务从初始标识是否总是能够到达终止标识,而不会在某个标识下发生死锁的现象。需要指出的是,定理 1 和定理 2 的结论可以直接推广到三个或
25、三个以上服务组合的情况。据我们观察,现实中独立开发的大多数服务(如基于 BPEL 的服务流程)都能够遵循良构性,因此利用定理 2 的结论可以大大简化服务流程相容性的分析过程。3.2 相似性分析分析服务流程的相似性对于研究服务发现和服务替换技术具有重要意义 15。当参与组合的某个成员服务由于某些原因不能继续提供服务时,将导致组合服务无法正确执行。此时需要发现并选取一个与失效服务的流程相似的服务来替换。在服务组合研究中,替换服务与被替换服务的流程相似就必须要保证替换之后的组合服务仍然是正确的,也即需要保证替换服务的流程与服务组合系统中其他成员服务的流程相容。可见,服务流程的相似性分析与相容性分析密
26、切相关。计算机学报2009 年 12 期,2009,32(12) 8由于相容性分析通常需要验证组合服务全局流程的正确性。若替换频繁发生,不断重复的服务组合验证将耗费大量系统时间和资源 5。因此,服务相似性定义需要与上下文无关,即在不需要验证组合服务全局流程的情况下就能判断选取的替换服务如果与被替换服务相似,那么就能够与服务组合系统中的其他成员服务相容,从而保证替换后的组合服务的流程仍然是正确的。两个服务相似并不一定要求两者的内部流程完全一致,而只需要两者在与外界环境交互通信的过程中表现出一定的相似性。因此,服务相似性的定义和分析主要关注服务表现出来的外部行为特性。下面给出几个关于服务外部行为特
27、性的定义。定义 7(通信变迁序列). 对于某个可达变迁序列 ,若忽略 中可能存在的内部变()S迁,则得到相应的通信变迁序列 ,其中 , 1, 。记得到相应的通12,.kttlLtlk信变迁序列的操作算子为 。 定义 8(相似变迁序列). 两个可达变迁序列 ,其对应的通信变迁为12,()S, 。 相似,记为: ,当且仅112(),.ktt2221(),.ltt 12当: , , , 且 。klj1jjLt()jj12()G定义 9(对偶变迁序列). 两个可达变迁序列 ,其对应的通信变迁为,S, 。 互为对偶变迁序列,记为:112(),.ktt2221(),.ltt12,当且仅当: , , , 且
28、 。2l,.jk()jjL2()()jjtt12()G在定义 8 和定义 9 中,变迁的极性函数 定义为:若变迁 向外界发送消息,:,0T则 ;若变迁 从外界接收消息,则 ;若变迁 不是通信变迁,则 。另外,()1tt ()1tt()0t本文将着色 Petri 网定义中的警卫(Guard)函数的定义域从单个变迁集扩展到可达变迁序列集。可达变迁序列的警卫函数 ,即 , ::()GSBolExpresin()S1,.nt。在此基础上,本文给出两个服务流程相似和等价的定义。1()nGtt计算机学报2009 年 12 期,2009,32(12) 9定义 10(服务流程相似). 给定两个服务 、 ,服务
29、 的流程与服务 的流程相似,记1S22S1S为: ,当且仅当 , ,则 ,21S2()S2iM1(), ,并且满足:1iM(1) 如果 或 ,那么 或 ;1F*11fF2F*22fFM(2) 如果 , ,使得 , ,那么 , ,tTt*11ttTt, ,使得 , 。21()L21()t*22F2定义 11(服务流程等价). 两个服务 和 的流程等价,记为: ,当且仅当:1S12S且 。12S1S如定义 10 所述,服务 的流程与服务 的流程相似并不能得出服务 的流程与服务 的流21 12程相似。可见两个服务流程的相似关系并不满足对称性。而定义 11 所述的服务流程等价关系则满足对称性,即: 。
30、需要指出的是,根据定义 10 和定义 11 不难证明服务流程的121SS相似关系和等价关系均满足传递性,即:; 。12313,S12313,S如前所述,服务流程的相似性定义需要与上下文无关。下面将证明给出的定义 10 对于良构的服务是上下文无关的。引理. 设两个良构的服务 和 能够组合,服务 和 的流程是相容的,即: ,1S21S2 12:S当且仅当:对于 , , , ,如果从 ( )1()()1iM2iM中去除那些与 ( )无关的通信变迁之后,分别得到变迁序列 和 , 和 互为对偶变2 11迁序列,那么下列两个条件必有一个满足:(1) 或 ,且 或 ;1FM*11fF2F*22fF(2) ,
31、 , , , , ,使得tTt2tT2t1()Lt1()tt, , , 。*11F1*2FM2计算机学报2009 年 12 期,2009,32(12) 10证明. 记服务 和 的组合服务为 。一方面,如果已知服务 和 的流程相容, 和1S2S1S21互为对偶变迁序列,那么此时组合服务 到达某个可达标识 。如果 是终止标识,则2 M且 。反之,根据定理 2 可知,服务 和 均没有到达终止标识,并且在标1FM2F 12识 下存在某个变迁可以使能触发。因此命题的必要性得证。另一方面,如果 和 互为对偶变迁序列,不妨设组合服务 到达某个可达标识 。如果12 SM不是一个终止标识,那么或者 且 ,或者
32、,*11fFM*22fF1tT, , , , ,使得 , ,1t2tT2t2()Lt()tt*11, 。无论哪种情况,都可知 ,使得 。根*FM ()SfF据定理 2 可知,命题的充分性得证。 证毕.定理 3. 设服务 , 和 是良构的,如果 , ,那么 。1S221S1:2证明. 对于 , , , ,从 ( )中去除()2()iM2iM那些与 ( )无关的通信变迁之后,分别得到变迁序列 和 , 和 互为对偶变迁序列。2 2因为 ,根据定义 10 可知, , , 。因此,当 中去除那1S1()S11i 1些与 无关的通信变迁之后得到的变迁序列 ,可知 和 互为对偶变迁序列。又因为 , 1:S根
33、据引理结论知, 或 ,且 或 ;或者FM*fFM1F*11fFM, , , , , ,使得 ,tTt1tT1t1()Lt()tt, , 。因为 ,根据定义 10 可知,若 或*F12S1F,则 或 。反之,若 , 使得*11f 2*2fFtTt, ,则 , 使得 , ,且FM1t2tT2t*2FM2, 。根据引理结论可知, 和 的流程是相容的,即: 。 证21()Ltt2()S2 :S毕.计算机学报2009 年 12 期,2009,32(12) 11定理 3 的结论表明,在服务都是良构的前提下,如果某个服务 与另一个服务 相似,那么2S1S对于所有与服务 流程相容的服务 ,服务 与服务 的流程
34、必然也是相容的。这一点在进行服1SS2务替换的过程中非常有用。如果服务 是某个组合服务系统中的一个成员服务,当 由于某些原1 1因无法继续提供服务或者无法保证服务质量要求而需要被替换时,只需要找到一个与 相似的服S务 进行替换即可,而不需要再对替换后的组合服务进行正确性验证。这是因为定理 3 的结论保2S证了用 替换 之后的服务组合仍然是正确的。由此可见,本文给出的服务相似性的定义是与上1下文无关的。一些分析服务相容性的方法用到了“反(opposite) ”服务的概念 16。对于一个服务 ,改变其S中所有与外部通信库所关联的弧的方向即可得到服务 的反服务,记为 。可见得到反服务的操作SS非常简
35、单,并且易知一个服务与其反服务总是流程相容的,即: 。下面给出与反服务有关的:两个结论。这两个结论对已有的基于反服务概念来分析服务相容性的方法具有一定应用价值。推论 1. 设服务 和 是良构的,服务 的反服务为 。如果 ,那么 。S1S1S1:S证明. 因为 , ,由定理 3 可知: 。 证:1:毕.推论 2. 设服务 , 和 是良构的,服务 的反服务为 。如果 , ,那么1S2S1S2S。12:S证明. 因为 ,由推论 1 可知: 。又因为 ,由定理 3 可知: 。证11:2 12:毕.下面给出一个算法用于判断两个 Web 服务流程之间是否存在相似关系,即判断服务 的流程2S是否与服务 的流
36、程相似。该算法本质上需要分别遍历服务 和 的通信可达树 11,并根据定义1S 1S210 来判断是否存在相似性。由于通信可达树的节点个数有限,且通信变迁个数也有限,因此该算法是可以终止的。服务流程相似性判定算法如下:计算机学报2009 年 12 期,2009,32(12) 12Set ; / for all transitions of service S that are enabled in the marking M(,)TSMSet ; / the set of markings of service S2 that has been checked2USet , ;1i2iIsSim
37、ilar ( , )S11. if 2Fif or 1M*11fFMthen return TRUE;else return FALSE;2. for each and 22(,)tTS2Uif , then add to , , return IsSimilar ( , );2M22S1else tif , , , , 1T*111Mtand , 2()Ltt2()then if or 1F*11fFif or 222fthen return TRUE;else return FALSE;else , , , 1tT*(3)11M()(4)1tMif , , , ,22t2232and ,
38、1()L1()ttthen add to , , ,2U(4)(3)2return IsSimilar ( , );2S1else return FALSE;else return FALSE;计算机学报2009 年 12 期,2009,32(12) 13根据上述判定算法可以判断得到,图 3 所示的服务 与图 1 所示的服务 相似。实际上可以3S1S进一步得到,服务 和 是等价的。图 4 给出了服务 的反服务 ,不难发现服务 与服务1S3 41是相容的,服务 与服务 也是相容的,从而验证了前面得到的结论。4S4图 3 与服务 等价的服务 图 4 服务 的反服务1S3S1S44 相关工作及讨论组
39、合服务流程的正确性验证是当前面向服务计算领域的一个研究热点。文献14以工作流网为基础,给出了工作流网正确性的定义,即要求同时满足可终止条件、正确终止条件以及无死变迁条件。文献13指出 Web 服务流程正确可以允许流程内部存在死变迁,由此提出“弱合理性(weak soundness) ”概念。文献17讨论了服务流程相容的三种不同的定义,并指出“完成(completing )相容”能够正确验证出所有异步服务流程死锁的问题。然而,这些定义并不能完全反映 Web 服务基于消息通信以及松散耦合的本质特性。由于 Petri 网适合于对分布式异步系统进行建模,因此许多研究工作均采用 Petri 网作为服务流
40、程建模和分析的理论基础。文献18给出了一个基于 Petri 网的 Web 服务模型,提出了 10 种不同的服务组合方式,并指出可以借助 Petri 网的分析技术对组合服务进行验证。文献2提出了基于着色Petri 网的 Web 服务模型,给出了四种主要的组合运算,并讨论了这四种组合运算以及组合模型的某些性质。文献6以着色 Petri 网为基础提出了面向消息的 Web 服务模型,该模型侧重于对 Web服务元消息的描述及其对服务协同通信的影响。文献7提出了一种基于 Petri 网的语义 Web 服务自计算机学报2009 年 12 期,2009,32(12) 14动组合方法,该方法能够同时考虑服务的输
41、入/输出以及服务的行为约束。虽然 Petri 网能够对组合服务进行分析和验证,但是上述研究成果都没有对此做深入讨论,没有指出具有哪些性质的两个或多个服务的流程是相容的。文献19借助“虹(siphons) ”理论研究了基于 Petri 网模型的 Web 服务流程相容性。然而,上述研究工作大都没有涉及到服务流程的相似性和等价性分析。服务流程相似性分析是与相容性分析密切相关的一个问题。文献15提到了研究服务流程相似和等价的必要性,区分了服务发现和服务替换两种不同应用背景下的相似性定义,但是作者没有讨论相似性与相容性之间的关系,也没有分析所给出的相似性定义在进行服务替换时是否与上下文无关。执行路径(t
42、race )相似和互模拟( bisimulation)相似是异步并发系统行为相似性研究中两个最常用的概念 20。但是这两个概念并不能完全反映 Web 服务流程相容的特性和需求。执行路径相似的要求过于宽松,而互模拟相似的要求则过于苛刻 21。文献 16主要研究两个服务流程的相容性和可替换性(substitutability ) 。作者借助标记变迁系统( LTS)对 Web 服务的行为进行建模,提出了三个不同概念意义下的相容性定义,并相应的给出了三种不同的可替换性定义,同时指出可替换性定义分为与上下文相关和与上下文无关两种。但是作者并没有深入讨论与上下文无关的可替换性需要满足的充分条件。文献5采用
43、进程代数建模 Web 服务流程,给出了与上下文无关的服务流程一致性的定义及其验证算法。作者指出 Web 服务需要为每种接收到的消息类型设置缓存区,然而基于进程代数的方法无法显式的建模这些消息缓存区。文献22使用 Martin 类型论(Martin Type Theory, MTT)建模 Web 服务行为,研究了 Web 服务行为一致性与相容性的判定方法。然而,但是基于进程代数或 MTT 的方法并不能对服务的内部选择操作进行精细的刻画,也无法建模和分析Web 服务的结构性质(如:良构性等) 。上述相关工作为本文展开服务流程相容性和相似性研究提供了很好的启示和基础。与之相比,本文研究工作的特色在于
44、:1)采用着色 Petri 网建模 Web 服务流程,该模型能够对服务流程的消息缓存区和内部选择操作进行精细的刻画,较其他建模方法更为直观。在此基础上给出了服务流程正确性的定义,该定义允许服务流程正确结束时其内部或外部消息缓存区(也即通信库所)中留有未被消耗的消息。与现有正确性定义相比,该定义的要求更为宽松,更符合 Web 服务基于消息通信、松散耦合的本质特性;2)分析了 Web 服务的结构性质,提出了 Web 服务良构性的概念,并指出成员服务的良构性有效的保证了组合服务可达终止标识的正确性,从而简化了服务流程相容性分析的条件;3)基于着色 Petri 网模型提出了服务流程相似性的定义,该定义
45、考虑了服务流程的内计算机学报2009 年 12 期,2009,32(12) 15部选择操作。证明了该定义在进行服务替换时是与上下文无关的,并且讨论了服务流程相似性与相容性之间的关系。5 结束语在服务组合验证研究中,服务流程的相容性和相似性分析是两个密切相关的问题,具有较大的实用价值。本文采用着色 Petri 网建模 Web 服务的流程,给出了服务流程正确性的定义,并在此基础上定义了服务流程的相容性。提出了服务良构性的概念,并指出成员服务的良构性能够保证组合服务可达终止状态是正确的,从而简化了相容性分析的条件。在服务流程相似性分析方面,本文给出了相似性的定义,证明了满足相似关系的两个服务在进行替
46、换时是上下文无关的,并给出了相似性判定算法。本文工作对于研究服务发现、服务组合和服务替换具有重要参考价值。未来工作主要在三个方面展开:1)本文中相似性判定算法的复杂度随通信可达树节点个数呈指数增长,未来将考虑采用稳固集(stubborn sets)的方法提高算法在产生状态空间方面的性能;2)将研究当两个 Web 服务的流程不完全相容时,是否可以通过产生中介器( mediator)来帮助两者实现流程相容。目前学术界针对该问题已经有了一些研究成果,但是还没有一个系统化的解决办法;3)本研究组正在开发和完善一套 Web 服务组合工具,以便自动化或半自动化的实现服务流程的建模、组合以及相容性和相似性分
47、析。参 考 文 献1 Han Yan-Bo, Wang Hong-Cui, Wang Jian-Wu, et al An end-user-oriented approach to exploratory service composition. Journal of Computer Research and Development, 2006, 43(11): 18951903 (in Chinese)(韩燕波, 王洪翠, 王建武等. 一种支持最终用户探索式组合服务的方法. 计算机研究与发展, 2006, 43(11): 18951903)2 Guo Yu-Bin, Du Yu-Yue, Xi Jian-Qing. A CP-net model and operation properties for We