语义Web服务组合的自动验证方法及其系统技术方案

技术编号:10121871 阅读:351 留言:0更新日期:2014-06-12 11:14
本发明专利技术提供一种语义Web服务组合的自动验证方法及其系统,将OWL-S描述的Web服务转化为一台原子过程自动机,将原子过程自动机组合为组合过程自动机;消除组合过程自动机的冗余并发和同步迁移,获得优化模型;依据用户限定的相容性要求,确定组合过程自动机的可接受位置集合;依据用户限定的有效性要求,确定逻辑公式CSV;将优化模型转换为UPPAAL的建模语言;将可接受位置集合和逻辑公式CSV表示为CTL公式;将建模语言描述的组合服务模型与CTL公式输入UPPAAL进行验证;对OWL-S中的原子过程与组合过程的描述更具体完整,可以无差异地参加组合运算,支持逻辑公式和表达式,描述能力更强,提高了验证的效率。

【技术实现步骤摘要】
语义Web服务组合的自动验证方法及其系统
本专利技术涉及一种语义Web服务组合的自动验证方法及其系统。
技术介绍
随着Web服务标准的持续完善和支持Web服务的企业级软件平台的不断成熟,越来越多的企业和商业组织参与到软件服务化(SoftwareasaService)的行列中来,纷纷将其业务功能和组件包装成标准的Web服务发布出去,实现快速便捷的寻求合作伙伴、挖掘潜在客户和达到业务增值的目的。然而由于用户需求呈现复杂化趋势,单个Web服务已经难以提供用户所需的功能。但如果将分布于Web上的多个功能有限的简单Web服务按照共享上下文策略进行通信与协作,形成更大粒度、功能更强的复杂服务,就可能满足更多更复杂的用户需求。Web服务组合问题就是在这样的背景下被提出来的,它是指通过服务查找和服务之间的接口集成,将多个自治的Web服务根据用户需求进行连接,从而形成提供新的或增值功能的Web服务。虽然通过服务组合,能够获得功能更强的组合服务,但也会使得服务之间的交互流程变得频繁和复杂,这导致组合服务难免会存在一些错误。因此对于Web服务组合的验证是必不可少的,主要原因有以下两点:(1)Web服务组合是把功能不同的自治的Web服务连接起来,这需要通过定义和设计控制流及数据流来进行组织。通过控制流和数据流,就定义了Web服务之间的交互协议。交互协议是否是具有良定义性(Well-Formed)、活性(Live)和安全性(Safety),取决于组合服务设计人员的水平或者组合服务设计工具的能力。然而面对越来越复杂的Web服务组合,组合服务设计人员的水平和组合服务设计工具的能力显得愈加不足,很难保证服务的组合不会出错。(2)用户只能对所需服务行远程调用,并不能控制其执行过程。所以存在错误的组合服务流程一旦投入运行,就可能产生无法弥补的损失,这是用户所不能接受的。因此对组合服务进行正确性验证,能够尽早地发现和解决问题,减少经济和时间成本的不必要消耗。由于组合服务日趋复杂,采用人工分析的方式效率低下。同时其本身所具有的动态性特征,也大大增加了验证分析的工作量。而建立自动化的分析技术与工具,则必须要以形式化模型为基础,也是势在必行的工作。目前,国内外针对Web服务组合验证这一问题展开了广泛的研究,且均是以形式化方法为基础,如Petri网、自动机理论或进程代数,基本上可以分为两类:1,直接验证直接验证方法是指对组合服务进行形式化建模后,可以直接对模型进行分析和验证,例如Pi演算、通信系统演算CCS和Petri网。Pi演算适用于验证Web服务间的兼容性,能够对服务的行为和服务间的交互进行建模,通过Pi演算的操作、自动推演等理论判断服务间交互的兼容性。但它只能对两个服务间的兼容性进行验证,而无法验证一个服务与多个服务间的兼容性。通信系统演算CCS可以与Web服务编排协议WSCI进行直接的映射和转换,从而建立起Web服务组合的形式化模型,通过CCS的推理功能可验证两个或多个Web服务之间的兼容性,同时还可以验证服务之间的可替换性。Petri网是一种重要的分布式系统的建模和分析工具,适合于验证Web服务组合的流程正确性、操作兼容性和语义正确性。Petri网有多种形式的扩展与变种,可以表达Web服务的丰富语义,例如时间Petri网、有色Petri网、模糊Petri网等。同时Petri网还带有自动化验证工具,对模型的分析与验证提供了很大的便利。2,间接验证间接验证方法是指在建立起Web服务组合的形式化模型后,由于该种形式化模型没有直接的验证工具,必须将其转换成其它的形式化描述形式,才能进行验证。这类方法主要是一些专门的组合服务或流程的描述工具,设计的初衷就是为了对单一对象进行描述,通用描述能力往往不强,因此也就缺乏对它的分析和验证方面的研究。例如XLANG、WSFL、BPEL4WS等。XLANG是由Microsoft提出的一种Web服务组合描述语言,它将工作流描述成有状态的长周期交互行为,用WSDL语言描述业务流程中各参与者的Web服务接口,并通过消息交换产生服务间的交互。它实际上是WSDL的一种扩展。WSFL即Web服务流语言,是由IBM提出的一种基于XML的Web服务组合描述语言,由流模型和全局模型组成,前者用于描述如何使用组件Web服务提供的功能实现一个组合Web服务,并通过定义控制流和数据流的方向指定组件服务的执行顺序;后者用于描述各组件Web服务之间的交互情况。目前已有将WSFL描述的组合流程转换成Promela规范语言的算法,从而可以用对应的模型检测工具SPIN进行自动验证。BPEL4WS是由IBM、Microsoft和BEA公司联合推出的,汲取了XLANG和WSFL的优点,结合了图形化和块结构的特点,是一个用于描述基于Web服务的可执行业务流程描述语言,已得到多种开源和商业引擎的支持。BPEL4WS将Web服务组合描述成一个有向图,顶点代表Web服务,边表示服务之间的依赖关系。依赖关系的运行语义可以在BPEL4WS的文档中指定。通过相应的进程代数编译器,可对Web服务组合进行验证。与本专利技术最相似的技术方案是将OWL-S描述的语义Web服务转换为有色Petri网,然后通过对有色Petri网的性质分析(关联矩阵、活性、可达性等),完成对组合服务的验证。OWL-S与语义Web服务:OWL-S是以OWL语言描述的Web服务本体,它是机器可理解并且显式而无歧义的标记语言(MarkupLanguage),可以完整地描述服务的功能和属性。它是一种成熟且被广泛应用的技术规范,具有坚实的理论基础和强大的工业应用支持。OWL-S的顶层本体视图,如图1所示。OWL-S通过三个部分来对一个Web服务进行描述:ServiceProfile、ServiceGrounding和ServiceModel。并且有如下规定:一个Web服务最多只能关联一个ServiceModel,但可以缺少;一个ServiceGrounding必须且只能与一个Web服务关联,而一个Web服务可以关联多个ServiceGrounding;一个Web服务可以关联零个或多个ServiceProfile。1.ServiceProfileServiceProfile的作用是描述服务的概貌,包括三个部分的信息:服务提供者:包括提供者的名称、文本描述和联系信息。服务功能:提供服务的IOPEs(Input、Output、Precondition、Effect),分别从信息和状态两个角度来描述服务的功能。ServiceProfile并不单独描述IOPE,而是链接到ServiceModel中的IOPEs实例。服务分类与质量:服务所属的类别,以及成本、响应时间、可靠度等用于衡量服务质量的信息。服务提供者可以通过ServiceProfile来描述要发布的服务,而用户也可以通过它来描述对服务的需求,主要用于支持Web服务发现。此外,ServiceProfile是独立的技术,因此支持各种服务注册方式。2.ServiceModelServiceModel包含服务的内部数据及控制流程,从而描述服务的具体执行过程。这种描述是基于过程(Process)的概念来实现的,如图2所示。过程分为三类:原子过程(Ato本文档来自技高网...
语义Web服务组合的自动验证方法及其系统

【技术保护点】
一种语义Web服务组合的自动验证方法,其特征在于:包括如下步骤:步骤10、将OWL‑S描述的Web服务即原子过程转化为一台原子过程自动机,然后根据不同的控制结构,将原子过程自动机组合为组合过程自动机;步骤20、消除组合过程自动机的冗余并发和同步迁移,获得优化模型;步骤30、依据用户限定的相容性要求,确定组合过程自动机的可接受位置集合;步骤40、依据用户限定的有效性要求,确定有效的逻辑公式CSV;步骤50、将所述获得优化模型转换为UPPAAL的建模语言;步骤60、将可接受位置集合和逻辑公式CSV表示为CTL公式;步骤70、将建模语言描述的组合服务模型与CTL公式输入UPPAAL进行验证;若验证结果为完全相容且有效,则该组合服务满足用户需求;若验证结果为部分相容且有效,则可根据验证结果生成信息交互引擎,引导组合服务的运行轨迹,达到用户要求;若验证结果是不满足相容且有效,则该组合服务无法满足用户需求。

【技术特征摘要】
1.一种语义Web服务组合的自动验证方法,其特征在于:包括如下步骤:步骤10、将OWL-S描述的Web服务即原子过程转化为一台原子过程自动机,然后根据不同的控制结构,将原子过程自动机组合为组合过程自动机;步骤20、消除组合过程自动机的冗余并发和同步迁移,获得优化模型;步骤30、依据用户限定的相容性要求,确定组合过程自动机的可接受位置集合;步骤40、依据用户限定的有效性要求,确定有效的逻辑公式CSV,所述有效的逻辑公式CSV=(INFOS,EFFECTS),其中:INFOS为一组要求组合服务产生的语义信息集合;EFFECTS为一组逻辑公式,该逻辑公式描述要求组合服务必须达到的限定效果;步骤50、将所述获得优化模型转换为UPPAAL的建模语言;步骤60、将可接受位置集合和逻辑公式CSV表示为CTL公式:相容性变量cptyVari∈{unconcerned,incompatible,weak,ordinary,strong},表示UTAi当前的相容性:unconcerned表示该UTAi所描述的并行分支还未被激活或已经结束,incompatible表示不相容,weak表示弱相容,ordinary表示普通/自定义相容,strong表示强相容,可以用取值范围为[0,4]的整型变量来表示相容性变量,数值0~4依次代表incompatible、weak、ordinary、strong、unconcerned,三种相容性在UPPAAL中可描述为:满足强相容性;满足普通/自定义相容性;满足弱相容性;当组合服务完成一次完整运行后没有迁移再发生,组合服务进入死锁状态,在UPPAAL中以deadlock关键字表示,故可将完全/部分相容性表示为CTL公式F1,如下:其中cptyVari为相容性变量;对于有效性CSV=(INFOS,EFFECTS),完全/部分有效且强/普通/弱相容,表示为CTL公式F2,如下:所述A的语义是“所有运行”,E的语义是“存在至少一个运行”;所述UTAi表示第i台时间自动机;f(c)表示c的映射;步骤70、将建模语言描述的组合服务模型与CTL公式输入UPPAAL进行验证;若验证结果为完全相容且有效,则该组合服务满足用户需求;若验证结果为部分相容且有效,则可根据验证结果生成信息交互引擎,引导组合服务的运行轨迹,达到用户要求;若验证结果是不满足相容且有效,则该组合服务无法满足用户需求。2.根据权利要求1所述的一种语义Web服务组合的自动验证方法,其特征在于:所述步骤10进一步具体为:步骤11,若控制结构为Sequence控制结构,则进行Sequence组合运算,即将所有的所述原子过程自动机按照排列的先后顺序依次将前一个原子过程自动机的终止位置连接后一个原子过程自动机的起始位置转化为组合过程自动机;步骤12,若控制结构为AnyOrder控制结构,则进行AnyOrder组合运算,即构造一组逻辑公式初始时的值为true,其中表示将第1到第n个逻辑公式合取,与不含相同命题变元,之后将所有原子过程自动机的起始位置合并为一个新的起始位置ls,从原起始位置出发的迁移都改为从新起始位置出发,并且迁移标号的Pre部分并入一个从所有原终止位置引出一条到达ls的迁移,该迁移使得假,从而保证该组合过程不会被重复执行;增加一个新的位置le并作为终止位置,同时增加一个从ls到le的单步迁移e,其执行前提是公式为真,只有当所有的组合过程都被执行完后,才能到达le;步骤13,若控制结构为Choice控制结构,则进行Choice组合运算,即将所有组合过程的起始位置合并为一个新的起始位置ls1,之后将所有组合过程的终止位置合并为一个新的终止位置le1;步骤14,若控制结构为If-then-Else控制结构,则进行If-then-Else组合运算,即将选择条件表示成逻辑公式而后将所有组合过程的起始位置合并为一个新的起始位置ls2,从原起始位置出发的迁移改为从新起始位置出发,并用和修改迁移标号的Pre部分,最后将所有组合过程的终止位置合并为一个新的终止位置le2;步骤15,若控制结构为Repeat-Until控制结构,则进行Repeat-Until组合运算,即将终止条件用逻辑公式表示,之后修改从起始位置出发的迁移,将并入迁移标号的Pre部分,使该组合过程只有在终止条件为假时可进行,增加一个新的位置le3作为终止位置,并从起始位置引出一个新的单步迁移e3到达le3,其执行前提是表示终止条件的逻辑公式为真;步骤16,若控制结构为Repeat-while控制结构,则进行Repeat-while组合运算,即将终止条件用逻辑公式表示,修改从起始位置出发的迁移,将并入迁移标号的Pre部分,使该组合过程只有在终止条件为假时可进行,增加一个新的位置le4作为终止位置,并从起始位置引出一个新的单步迁移e4到达le4,其执行前提是表示终止条件的逻辑公式为真;步骤17,若控制结构为Split-Join控制结构,则进行Split-Join组合运算,即将并发条件和汇合条件分别表示为逻辑公式和增加一个新的位置ls5并作为起始位置,从它引出一个并发迁移到达所有组合过程的起始位置,其执行前提为并发条件增加一个新的位置le5并作为终止位置,从所有组合过程的终止位置引出一个到达le5的同步迁移,其执行前提为同步条件3.根据权利要求2所述的一种语义Web服务组合的自动验证方法,其特征在于:所述Sequence组合运算、所述AnyOrder组合运算、所述Choice组合运算及所述If-then-Else组合运算为因果约束,所述Repeat-Unti组合运算及所述Repeat-while组合运算为重复约束,所述Split-Join组合运算为分支约束,所述因果约束、所述重复约束及所述分支约束为组合约束。4.根据权利要求3所述的一种语义Web服务组合的自动验证方法,其特征在于:所述步骤30进一步具体为:步骤31,第一可接受位置集合WFL:其中原子服务的WFL为其起始位置和终止位置为该原子服务的第一可接受位置,对n台组合过程自动机CPAi,进行组合运算后得到的新组合过程自动机CPA,其第一可接受位置集合WFL为各CPAi的第一可接受位置集合WFLi的并集,并且从WFL中移除组合过程中被剔除的位置,若组合过程中增加了新的位置,且该位置为起始位置或终止位置,则应添加到WFL中;步骤32,组合过程自动机CPAi的第一可接受位置为WFLi,当在组合过程中出现组合约束时,获得的可接受位置组成第二可接受位置集合:对n台组合过程自动机CPAi进行Sequence组合运算得到新的组合过程自动机CPASeq,若出现组合约束语义:若CPAi执行则CPAj也必须执行,其中i<j,则普通可接受位置集合OFLSeq为CPA1~CPAi-1,及CPAj+1~CPAn的第一可接受位置的并集,再加上CPAi的起始位置sLoci和CPAj的终止位置eLocj;或者对n台组合过程自动机CPAi进行AnyOrder组合运算得到新的组合过程自动机CPAAO,若出现组合约束语义:组合服务的运行不能停止在CPAj,则普通可接受位置集合OFLAO是在其第一可接受位置集合WFLAO的基础上,去除CPAj的第一可接受位置集合WFLj,即OFLAO=WFLAO-WFLj;或者对于n台组合过程自动机CPAi进行Choice组合运算得到新的组合过程自动机CPACho,若出现组合约束语义:若CPAj被选中执行则必须执行完成,则普通可接受位置集合OFLCho是在其第一可接受位置集合WFLCho基础上,去除CPAj的第一可接受位置集合WFLj,即OFLCho=WFLCho-WFLj;或者对于两台组合过程自动机CPA1和CPA2进行If-then-Else组合运算得到新的组合过程CPAItE,若出现组合约束语义:若CPAj被选中执行则必须执行完成,则普通可接受位置集合OFLItE是在其第一可接受位置集合WFLItE中去除CPAj的第一可接受位置集合WFLj,即OFLItE=WFLAO-WFLj;或者对于组合过程自动机CPA进行Repeat-Until组合运算得到新组合过程自动机CPARU,若出现组合约束语义:CPA必须重复执行直到终止条件成立,则普通可接受位置集合OFLRU={le},即只有终止位置可接受;或者对于组合过程自动机CPA进行Repeat-while组合运算得到新组合过程自动机CPARW,若出现组合约束语义:CPA必须重复执行直到循环条件不成立,则普通可接受位置集合OFLRW={le},即只有终止位置可接受;或者对于n台组合过程自动机CPAi进行Split-Join组合运算得到新的组合过程自动机CPASJ,若出现组合约束语义:分支组件CPAj必须执行完成,则普通可接受位置集合OFLSJ是在其第一可接受位置集合WFLSJ的基础上,去除CPAj的第一可接受位置集合WFLj,即OFLSJ=WFLSJ-WFLj;当组合过程中不存在组合约束语义时,第二可接受位置集合即等于第一可接受位置集合;步骤33,组合过程自动机的第三可接受位置集合SFL,其为组合过程自动机的起始位置和终止位置,或者是组合过程自动机的终止位置。5.根据权利要求4所述的一种语义Web服务组合的自动验证方法,其特征在于:所述相容性为:若组合服务由n台组合过程自动机组成,si为第i台组合过程自动机的位置集合,则组合服务的全局状态向量gsv=(s1,s2,...,sn),若有全局状态向量gsv=(s1,s2,...,sn)和gsv′=(s1′,s2′,...,sn′),其中一台组合过程自动机发生迁移,使得gsv中的某个si变化为gsv′中的si′,而其它的sj保持即则称gsv发生迁移到达gsv′,记为gsv→gsv′;对于全局状态向量gsv:若满足则称gsv为起始全局状态向量,记为gsv0;若不存在gsv′,使得gsv→gsv′成立,则称gsv为终止全局状态向量,记为gsve;将组合服务从起始全局状态向量开始的一系列迁移称为组合服务的一次运行:gsv0→gsv1→gsv2→...→gsv,简记为gsv0[→]trgsv,对于组合服务的一次运行gsv0[→]trgsv:若则称该次运行满足弱相容性,记为WC(gsv0[→]trgsv);若则称该次运行满足普通/自定义相容性,记为OC(gsv0[→]trgsv);若则称该次运行满足强相容性,记为SC(gsv0[→]trgsv);将gsv0[→]trgsve称为组合服务的一次完整运行;一个组合服务CS是完全强/普通/弱相容的,当且仅当任意gsv0[→]trgsve都是强/普通/弱相容的;一个组合服务CS是部分强/普通/弱相容的,当且仅当至少存在一个gsv0[→]trgsve是强/普通/弱相容的。6.根据权利要求1所述的一种语义Web服务组合的自动验证方法,其特征在于:所述步骤20进一步具体为:步骤21,若对于一个并发迁移e(l,slt)=tL={l1,...,ln},其源位置l属于另一个并发迁移e′(l′,slt′)=tL′={l1′,...,ln′}的目标位置集合,且两个并发迁移的并发条件相同,同时不存在以l为源位置或目标位置的单步迁移,则l是冗余位置,econ(l,slt)=tL={l1,...,ln}为冗余并发迁移,此时将冗余并发迁移e(l,slt)的目标位置集合tL并入另一并发迁移e′(l′,slt′)的目标位置集合tL′,同时移除冗余位置l和冗余并发迁移e(l,slt);否则位置l不是冗余位置,并发迁移e(l,slt)不是冗余并发迁移;步骤22,若对于一个同步迁移e(sL={l1,...,ln},jn)=l,其目标位置l属于另一个同步迁移e′(sL′={l1′,...,ln′},jn′)=l′的源位置集合,且两个同步迁移的同步条件相同,同时不存在以l为源位置或目标位置的单步迁移,则l是冗余位置,e(sL={l1,...,ln},jn)=l为冗余并发迁;此时将冗余同步迁移e(sL={l1,...,ln},jn)的源位置集合sL并入另一同步迁移e′(sL′={l1′,...,ln′},jn)的源位置集合sL′,同时移除冗余位置l和冗余同步迁移e(sL={l1,...,ln},jn);否则位置l不是冗余位置,并发迁移e(l,slt)不是冗余并发迁移。7.根据权利要求1所述的一种语义Web服务组合的自动验证方法,其特征在于:所述步骤50进一步具体为:步骤51,组合过程自动机CPA中的单步迁移esin(l,a)=l'直接转换为一台符合UPPAAL语法的时间自动机UTA的迁移离散迁移迁移标号a=(In,Out,Pre,Eft)转换为a',其中g是由时钟变量表示的约束条件,r是需要被重置为0的时钟变量集合;步骤52,CPA中的并发迁移esin(l,jlt)={l1,...,ln}转换为n台UTA和一个迁移其中:当UTA处于sli位置时,说明它进入了并发执行的分支;a包含并发条件及一个广播通道的发射动作conChni!;步骤53,而与并发迁移对应的同步迁移esin({l1,...,ln},jn)=l',则转换为迁移b中包含广播通道的发射动作synChni!,使得多个分支能在同一时刻终结,同时,为了保证同步迁移在所有分支都执行各自的操作后才能发生,增加一个同步变量synVari,初值为0,并将“synVari==n”并入迁移标号b的Guard部分,其中n为分支数量,每个分支执行所有操作后都使其值加1;步骤54,新创建的n台UTAi是用于述n个并发执行的分支,在首尾各增加一个新的位置bl和el,当UTAi处于bl时,说明还没有进入该分支;当UTAi处于el时,说明该分支已执行完毕;bl到对应分支的第一个状态的迁移标号包含广播通道的接收动作conChni?;而对应分支的最后一个状态到达el的迁移标号包含表达式synChni?;每个分支的最后一个迁移标号的Update部分,增加一个表达式synVari++,使同步变量的值加1。8.根据权利要求7所述的一种语义Web服务组合的自动验证方法,其特征在于:所述步骤51进一步具体为:组合过程自动机CPA中的单步迁移esin(l,a)=l'直接转换为一台符合UPPAAL语法的时间自动机UTA的迁移离散迁移迁移标号其中,Guard是一个逻辑表达式,表示迁移执行的条件;Sync是一组通道的发射或接受动作,用于实现同步迁移;Update是一组表达式或用户函数,用于表达迁移的效果;语义信息缓冲区SIB=(SI,V,f),SI是语义信息集合,V是整型变量集合,映射f:SI→V,f是双射的;迁移标号被扩展为一个四元组(In,Out,Pre,Eft),其中Pre和Eft表示执行前提和执行效果,逻辑公式和表达式组成,直接并入到建模语言迁移标号的Guard和Update的部分;In是输入信息的集合,将其表示为:一个合取公式∧f(ci)并且并入迁移标号的Guard部分,合取项的数量与In的元素数量相等,其中f是信息缓冲区中的映射,ci∈In;将其表示为一组表达式{f(ci)--|ci∈In},并且并入迁移标号的Update部分;Out是输入信息的集合,将其表示为一组表达式{f(ci)++|ci∈Out}}并且并入迁移标号的Update部分。9.根据权利要求1所述的一种语义Web服务组合的自动验证方法,其特征在于:所述信息交互引擎为一台信息交互引擎IEE=<excFac1,excFac2,...,excFacn>,excFaci=(type,obj,{ci})称为是一个交互因子,其中:type∈{!,?},表示交互的类型,“!”表示由IEE向Service发送信息,“?”表示由IEE接收Service发送的信息;obj∈{Servicei}称为交互对象是一个组件服务;{ci}是交互的信息集合。10.一种语义Web服务组合的自动验证系统,其特征在于:包括如下模块:原子过程转换模块,将OWL-S描述的Web服务即原子过程转化为一台原子过程自动机,然后根据不同的控制结构,将...

【专利技术属性】
技术研发人员:唐郑熠王颖胡文瑜陈义王金水
申请(专利权)人:福建工程学院
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1