【技术实现步骤摘要】
语义Web服务组合的自动验证方法及其系统
本专利技术涉及一种语义Web服务组合的自动验证方法及其系统。
技术介绍
随着Web服务标准的持续完善和支持Web服务的企业级软件平台的不断成熟,越来越多的企业和商业组织参与到软件服务化(SoftwareasaService)的行列中来,纷纷将其业务功能和组件包装成标准的Web服务发布出去,实现快速便捷的寻求合作伙伴、挖掘潜在客户和达到业务增值的目的。然而由于用户需求呈现复杂化趋势,单个Web服务已经难以提供用户所需的功能。但如果将分布于Web上的多个功能有限的简单Web服务按照共享上下文策略进行通信与协作,形成更大粒度、功能更强的复杂服务,就可能满足更多更复杂的用户需求。Web服务组合问题就是在这样的背景下被提出来的,它是指通过服务查找和服务之间的接口集成,将多个自治的Web服务根据用户需求进行连接,从而形成提供新的或增值功能的Web服务。虽然通过服务组合,能够获得功能更强的组合服务,但也会使得服务之间的交互流程变得频繁和复杂,这导致组合服务难免会存在一些错误。因此对于Web服务组合的验证是必不可少的,主要原因有以下两点:(1)Web服务组合是把功能不同的自治的Web服务连接起来,这需要通过定义和设计控制流及数据流来进行组织。通过控制流和数据流,就定义了Web服务之间的交互协议。交互协议是否是具有良定义性(Well-Formed)、活性(Live)和安全性(Safety),取决于组合服务设计人员的水平或者组合服务设计工具的能力。然而面对越来越复杂的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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。