CN101715002A - 语义Web服务组合的语义一致性验证方法 - Google Patents

语义Web服务组合的语义一致性验证方法 Download PDF

Info

Publication number
CN101715002A
CN101715002A CN200910236365A CN200910236365A CN101715002A CN 101715002 A CN101715002 A CN 101715002A CN 200910236365 A CN200910236365 A CN 200910236365A CN 200910236365 A CN200910236365 A CN 200910236365A CN 101715002 A CN101715002 A CN 101715002A
Authority
CN
China
Prior art keywords
transition
storehouse
semantic
arc
token
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200910236365A
Other languages
English (en)
Other versions
CN101715002B (zh
Inventor
范玉顺
倪悦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN200910236365A priority Critical patent/CN101715002B/zh
Publication of CN101715002A publication Critical patent/CN101715002A/zh
Application granted granted Critical
Publication of CN101715002B publication Critical patent/CN101715002B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

语义Web服务组合的语义一致性验证方法属于语义网及Web服务领域,其特征在于,在计算机上建立语义Web服务着色Petri网模型的存储单元、参数语义一致性验证子模块、QoS(Quality of Services,服务质量)属性一致性验证子模块、一致性分析结果存储子模块;该方法利用着色Petri网的形式化验证方法分析语义Web服务组合的语义一致性,包括参数语义一致性和QoS属性一致性。根据本发明,能够验证语义Web服务组合是否在语义上保持一致,并符合用户对服务的非功能属性方面的需求。

Description

语义Web服务组合的语义一致性验证方法
技术领域
本发明属于语义网及Web服务领域,旨在为人们提供一种语义一致性验证方法,能够利用着色Petri网的形式化验证方法对语义Web服务组合的语义一致性进行验证。
背景技术
在面向服务的体系架构(Service-Oriented Architecture,SOA)下,Web服务组合已经成为支撑业务流程执行的主要形式。然而如何实现Web服务的自动组合一直是一个研究难题,因为Web服务不包含机器可读的语义信息。语义Web的出现将语义和Web服务结合起来,吸引了很多研究者的注意,Web服务本体描述语言(Web Ontology Language for Services,OWL-S)已经成为事实上的标准语义Web服务本体建模语言。
OWL-S对Web服务及流程建模,使得Web服务包含机器可读的语义信息,因而可以实现Web服务的自动组合、发现和调用。但是同Web服务组合一样,语义Web服务组合的过程中会存在服务不相容、非功能属性不一致等问题,因此就需要进行语义一致性验证。
为了验证语义Web服务组合的语义一致性,本发明利用Petri网技术,通过将语义Web服务组合模型转换为Petri网模型,从而进行服务组合的语义一致性验证。
下面对Petri网技术作一简单介绍:
Petri网是1960年由卡尔·A·佩特里发明的,是用于描述分布式系统的一种模型。它既能描述系统的结构,又能模拟系统的运行。描述系统结构的部分称为网(net)。从形式上看,一个网就是一个没有孤立结点的有向二分图。
Petri网包括这样几种组成元素(参见图3):
1.库所(Place):用一个圆形节点来表示
2.变迁(Transition):用一个方形节点来表示
3.有向弧(Connection):是库所和变迁之间的带有方向的弧
4.令牌(Token):用一个黑点来表示,是库所中的动态对象,可以从一个库所移动到另一个库所。
一个变迁之前的库所称为输入库所,之后的库所称为输出库所。
Petri网的规则是:
1.有向弧是有方向的
2.两个库所或变迁之间不允许有弧
3.库所可以拥有任意数量的令牌
4.如果一个变迁的每个输入库所都拥有令牌,该变迁即为被允许。当变迁被允许时才能被触发(执行),此时输入库所的令牌将被消耗(即减少),输出库所将产生令牌(即增加)。
Petri网可以用于描述流程中状态的变化,各个库所表示不同的状态,例如论文的状态(撰写、提交、初审、复审、通过等),某人的职位变化(实习生、职员、组长、经理等),四季的不同(春夏秋冬),或地理位置的不同(西直门、天安门、王府井等);通过变迁连接不同的库所,变迁可以表示事件、转化或传输;而令牌的位置(即它所在的库所)则表示当前所处的状态;当令牌从一个库所经过变迁跳到另一个库所时,则表示状态发生了变化。例如,图4表示一个四季更替的过程。
Petri网的应用非常广泛,主要包括:软件设计、工作流管理、数据分析、并行程序设计、协议验证等。
由于Petri网不仅可以刻画系统的结构,而且可以描述系统的动态行为;不仅具有直观的图形表示,而且能够引入许多数学方法对其性质进行分析,因而将OWL-S建模的Web流程转化成Petri网模型,就可以利用现有的大量Petri网研究的成果对语义Web服务组合进行验证。相关的研究工作主要有:SriniNarayanan等人提出了DAML+OIL本体描述Web服务的组合方法,并自动将其转换为Petri网从而进行各种性能分析(Narayanan S,M.S.,″Simulation,verification and automated composition of Web services″.In Proc.of the 11th Int’lWorld Wide Web Conf.WWW2002.Honolulu:ACM.2002.),A.Brogi等人给出了OWL-S到Petri网模型的转换方法(Brogi,A.,S.Corfini,and S.Iardella,″FromOWL-S descriptions to Petri nets″.In WESOA07.2007.Vienna.),但是他们都没有对服务质量等非功能属性进行验证分析。
着色Petri网(Coloured Petri Nets,简称CPN)是经典Petri网的一个衍生和扩展。它通过对令牌着色丰富了Petri网表达的内涵。不同颜色的令牌代表不同属性的对象,例如红色令牌表示28岁的张三,蓝色令牌表示25岁的李四,绿色令牌表示30岁的王五。令牌的颜色由构建者来定义,库所和变迁的设置与经典Petri网相同,都表示状态变化。
因为着色Petri网(参见Jensen,K.,Coloured Petri Nets:Basic Concepts,Analysis Methods,and Practical Use.1997:Springer.)结合了Petri网和高级语言的优点,在对复杂系统建模时,可以使得模型更加简单、清晰,因此本发明使用着色Petri网来验证语义Web服务组合的语义一致性,包括参数和服务质量(Quality of Service,QoS)的一致性。
发明内容
针对现有技术中存在的问题,本发明的目的是提出一种基于着色Petri网的语义Web服务组合的语义一致性验证方法,能够利用Petri网的形式化验证技术对语义Web服务组合的参数语义一致性和QoS属性一致性进行验证。
下面首先给出着色Petri网的定义。
定义1着色Petri网CP-Net是一个六元组CPN=(∑,P,T,F,C,E),其中:
∑是颜色集合,表示令牌的不同颜色,令牌是指库所中的动态对象,令牌的位置是指该令牌所在库所当前的状态;
P是库所的集合,表示Petri网模型中所有的库所,库所表示不同的状态;
T是变迁的集合,表示Petri网模型中所有的变迁,变迁表示事件、转化或传输,通过变迁连接不同的库所;
F是有向弧集,表示Petri网模型中所有的有向弧,每条有向弧连接一个库所和变迁;
C是颜色函数,令牌的颜色表示不同属性的对象,它将库所和其中令牌的颜色对应起来,C:P→∑;
E是弧函数,E(pj,ti)表示从库所j到变迁i的弧函数,把每一条弧映射到一个颜色集合,用于表示要触发该条弧所需的令牌颜色及个数,其中:1≤i≤m,1≤j≤n。
下面定义输入输出矩阵与关联矩阵:
定义2着色Petri网CPN的网结构可以用一个n行m列矩阵
A=[aij]n×m来表示,称A为CPN的关联矩阵,它描述了该着色Petri网中各条有向弧的分布。其中m表示库所的个数,n表示变迁的个数,
Figure G2009102363653D0000041
即当存在从变迁ti到库所pj的有向弧时,aij +等于1,否则aij +等于0;
Figure G2009102363653D0000043
即当存在从库所pj到变迁ti的有向弧时,aij -等于1,否则aij -等于0;
Figure G2009102363653D0000051
即所有aij +组成的n行m列矩阵,称A+为输出矩阵;
Figure G2009102363653D0000052
即所有aij -组成的n行m列矩阵,称A-为输入矩阵;
i∈{1,2,…,n},j∈{1,2,…,m}
将语义Web服务转换为着色Petri网,需要对现有的着色Petri网加以扩展,扩展后的着色Petri网定义为语义Web服务着色Petri网,如下:
定义3语义Web服务着色Petri网(Semantic Web Services Net,SWS-net)是一个八元组SWS-net=(CPN,DT,DV,Pin,Pout,Hin,Hout,R),其中:
CPN是定义1中定义的着色Petri网;
DT是数据类型定义的集合;
DV是变量定义的集合;
Pin是所有的输入库所的集合,输入库所是指到达变迁的库所;
Pout是所有的输出库所的集合,输出库所是指变迁到达的库所;
Hin是令牌从库所到达变迁所需的时间;
Hout是令牌从变迁到达库所所需的时间;
R是变迁发生其本身所需消耗的成本,即该变迁所对应的服务操作在执行时所需的费用,是一个已知量。
语义Web服务着色Petri网SWS-net的表示参见图5。
一般来说,Web服务组合的语义一致性包括参数一致性、功能和非功能属性(服务质量,Quality of Service,QoS)上的一致性。本发明主要给出参数一致性和非功能属性一致性的验证方法。
参数一致性是指组合的Web服务在参数上保持一致,它又包括:
●每个服务操作所用参数类型应该包含在系统定义的参数类型中。库所的令牌类型要包含在颜色集中。
●用户提供的输入参数类型应该能够满足服务操作发生所需的输入参数类型。输入弧函数的令牌类型集应是输入库所中令牌类型集的子集。
●用户提供的输入参数个数能够满足服务操作发生所需的输入参数个数。输入变迁输入弧函数的令牌数要小于等于输入库所中预含的令牌数。
●前驱输出弧函数和后继输入弧函数的令牌数目匹配,令牌类型匹配。
服务功能一致性是指所选服务在功能上与用户需求是否匹配。
服务的非功能属性一致性是指所选服务在非功能属性上与用户需求是否匹配,例如时间、成本、有效性等,非功能属性又称服务质量,其一致性验证具体包括:
●每个服务操作运行产生的参数个数要在系统的缓冲容量之内。它对应于变迁输出弧函数的令牌数要小于等于输出库所的上界。
●时间和费用上的约束。由于每个服务操作的运行需要一定时间,并要付出一定的使用费用,用户可以对于组合服务的运行时间提出能够容忍的最大上限,也可以提出使用该组合服务必须承担的最高费用。可以通过在Petri网的有向弧和变迁上添加权值表示每个操作运行的时延和所需费用,然后求出组合服务的运行时间和所需费用,并与用户约束进行比较。
下面定义一些基本变量,A-和A+是Petri网的输入矩阵和输出矩阵(参见定义2);i表示变迁数量,1≤i≤n;j表示库所数量,1≤j≤m;ti和pj分别表示一个变迁和库所;
Figure G2009102363653D0000061
表示有一条从pj到ti的有向弧,反之,
Figure G2009102363653D0000062
表示没有从pj到ti的有向弧;类似的,
Figure G2009102363653D0000063
或0表示是否有从ti到pj的有向弧;E(pj,ti)表示从pj到ti的有向弧。
此外,为了检测服务的服务质量(QoS),定义Sin为输入有向弧上时间标识函数值的总和,Sout为输出有向弧上时间标识函数值的总和,通过对组合服务所有参数输入和输出时延的加和来计算;SR为所有服务操作消耗成本的总和。
本发明的特征在于,提出了一种基于着色Petri网的语义Web服务组合语义一致性验证方法。将语义Web服务组合转换为语义Web服务着色Petri网SWS-net后,通过本发明提出的语义一致性验证方法能够验证模型的参数语义一致性和QoS属性一致性,从而使用户能够根据分析结果调整Web服务组合,保证模型的语义一致性,满足用户对服务质量方面的要求。
附图说明
图1是一个描述了语义Web服务组合语义一致性验证系统的详细结构图;
图2是一个描述了语义Web服务组合语义一致性验证方法的具体步骤的图;
图3是一个描述了Petri网模型的组成元素的示例图;
图4是一个用Petri网模型表示四季更替的过程的示例图;
图5是一个描述了语义Web服务着色Petri网模型的组成元素的示例图;
图6是一个描述了语义Web服务着色Petri网的参数语义一致性验证算法流程图;
图7是一个描述了语义Web服务着色Petri网的QoS属性一致性验证算法流程图。
具体实施方式
所述方法是依次按以下步骤实现的:
步骤(1),初始化
构建待验证的语义Web服务着色Petri网模型的存储单元,所述模型是一个八元组,表示为SWS-net,
SWS-net=(CPN,DT,DV,Pin,Pout,Hin,Hout,R),
CPN定义为着色Petri网,表示为CPN,是一个用于描述流程中状态变化的六元组,CPN=(∑,P,T,F,C,E),其中:
∑是颜色集合,表示令牌的不同颜色,令牌是指库所中的动态对象,令牌的位置是指该令牌所在库所当前的状态,
P是库所的集合,表示Petri网模型中所有的库所,库所表示不同的状态,
T是变迁的集合,表示Petri网模型中所有的变迁,变迁表示事件、转化或传输,通过变迁连接不同的库所,
F是有向弧集,表示Petri网模型中所有的有向弧,每条有向弧连接一个库所和变迁,
C是颜色函数,令牌的颜色表示不同属性的对象,
E是弧函数,E(pj,ti)表示从库所j到变迁i的弧函数,把每一条弧映射到一个颜色集合,用于表示要触发该条弧所需的令牌颜色及个数,其中:1≤i≤n,1≤j≤m,
DT是数据类型定义的集合,
DV是变量定义的集合,
Pin是所有的输入库所的集合,输入库所是指到达变迁的库所,
Pout是所有的输出库所的集合,输出库所是指变迁到达的库所,
Hin是令牌从库所到达变迁所需的时间,
Hout是令牌从变迁到达库所所需的时间,
R是变迁发生其本身所需消耗的成本,即该变迁所对应的服务操作在执行时所需的费用,是一个已知量,
在所述计算机中构建以下子模块单元,构成一个语义Web服务组合语义一致性验证模块,包括:参数语义一致性验证子模块、QoS属性一致性验证子模块,以及一致性分析结果存储子模块,其中:
参数语义一致性验证子模块,用于验证所述语义Web服务着色Petri网的模型的参数语义一致性,
QoS属性一致性验证子模块,用于验证所述语义Web服务着色Petri网的模型的QoS属性的一致性,
一致性分析结果存储子模块,用于存储参数语义一致性和QoS属性一致性的验证结果;
步骤(2),按以下步骤验证语义Web服务着色Petri网模型的参数语义一致性:
步骤(2.1),所述参数语义一致性验证子模块从所述语义Web服务着色Petri网存储单元中提取待验证的模型SWS-net,
步骤(2.2),对变量j从1到m循环,判断库所j的数据类型是否错误,
若:
Figure G2009102363653D0000091
表示库所pj包含的令牌的颜色有不属于所述颜色集合∑的颜色,则库所pj的数据类型错误,m为库所的数量,
若:
Figure G2009102363653D0000092
则正确,
步骤(2.3),对每一个从库所pj指向变迁ti的有向弧aij -进行判断,以确认输入所述变迁ti的弧函数数据类型是否错误,
若:
Figure G2009102363653D0000093
Figure G2009102363653D0000094
表示存在有向弧E(pj,ti),且要触发该有向
弧所需的令牌的颜色集type(E(pj,ti))中有不属于C(pj)的颜色,则所述库所pj输入到所述变迁ti的弧函数数据类型错误,
若:
Figure G2009102363653D0000095
Figure G2009102363653D0000096
则正确,
步骤(2.4),对每个从变迁ti指向库所pj的有向弧aij +进行判断,以确认输出到所述库所pj的弧函数数据类型是否错误,
若:
Figure G2009102363653D0000097
Figure G2009102363653D0000098
表示存在有向弧E(ti,Pj),且要触发该有向弧所需的令牌的颜色集type(E(ti,Pj))中有不属于所述库所pj包含的令牌的颜色集C(pj)的颜色,则判定所述变迁ti输出的输出弧函数数据类型错误,
若:
Figure G2009102363653D0000099
Figure G2009102363653D00000910
则正确,
步骤(2.5),对所述每个有向弧aij +进行判断,以确认前驱服务操作的输出数据类型与后继服务操作所需的输入数据类型是否匹配,
若:
Figure G2009102363653D00000911
Figure G2009102363653D00000912
表示存在有向弧E(ti,Pj),且要触发该有向弧所需的令牌的颜色集type(E(ti,Pj))不包含其下一条有向弧所需的令牌颜色集type(Nex(E(ti,pj))),则确认前驱服务操作的输出数据类型与后继服务操作所需的输入数据类型不匹配,
若:
Figure G2009102363653D0000101
Figure G2009102363653D0000102
则正确,
步骤(2.6),对所述每个有向弧aij +进行判断,以确认前驱服务操作的输出参数个数与后继服务操作的输入参数个数是否匹配,
若:
Figure G2009102363653D0000103
且|E(ti,pj)|<|Nex(E(ti,pj))|,表示具有从变迁ti到库所pj的有向弧E(ti,Pj),但对应于服务操作参数个数的弧函数E(ti,Pj)的参数个数小于其下一个弧函数的参数个数Nex(E(ti,pj))|,则确认前驱服务操作的输出参数个数与后继服务操作的输入参数个数不匹配,
若:
Figure G2009102363653D0000104
且|E(ti,pj)|≥Nex(E(ti,pj))|,则输出参数语义一致;
步骤(3),按以下步骤验证语义Web服务着色Petri网模型的QoS属性一致性:
步骤(3.1),所述QoS属性一致性验证子模块从所述语义Web服务着色Petri网存储单元中提取待验证的模型SWS-net,
步骤(3.2),初始化以下三个参数:
Sin,表示输入到变迁的输入有向弧上的时间标识函数值的总和,Sin0=0,
Sout,表示从变迁输出的输出有向弧上的时间标识函数值的总和,Sout0=0,
SR,表示所有服务操作消耗成本的总和,成本表示执行此服务操作所需的费用,SR0=0,
步骤(3.3),对每一条所述输入有向弧进行服务操作输出参数的个数是否溢出的判断,
若:|E(pj,ti)|>M,表示对应于所述服务操作输出参数个数的弧函数E(pj,ti)的参数个数大于所述Petri网内任一库所允许拥有的最多令牌参数M,则确认溢出,
若:|E(pj,ti)|≤M,则表示输出参数的个数不溢出;
步骤(3.4),从任意选定的起始库所开始,遍历所有从库所到达变迁的输入有向弧,按下式计算所有令牌沿着各自的输入有向弧从库所pj到达变迁ti所需要消耗的时间,即输入时间标识函数值的总和,1≤i≤n,1≤j≤m,m为库所数量,n为变迁数量:
Sin后=Sin前+Hin(E(pj,ti)),其中:
Sin前,表示此前所有j-1个库所的令牌沿着各自的输入有向弧到达对应的i-1个变迁所消耗的时间,用输入时间函数值的总和表示,
Sin后,表示所有各库所pj的令牌沿着各自的输入有向弧到达变迁所需要的输入时间标识函数值的总和,
Hin(E(pj,ti)),表示在“Sin后-Sin前”这一段时间内,所有令牌从各自选择的库所pj沿着输入有向弧到达变迁ti的输入时间标识函数值,
步骤(3.5),从对应于步骤(3.4)中所述的起始库所所需到达的变迁开始,遍历所有的变迁沿着输出有向弧到达所对应的库所,按下式计算所有令牌沿着各自的输出有向弧从变迁ti到达库所pj所需的输出时间标识函数值的总和,1≤i≤n,1≤j≤m,m为库所数量,n为变迁数量,
Sout后=Sout前+Hout(E(ti,pj)),其中:
Sout前,表示此前所有i-1个变迁的令牌沿着各自的输出有向弧到达对应的j-1个库所的输出时间标识函数值,
Sout后,表示所有各变迁ti的令牌沿着各自的输出有向弧到达对应各库所pj所需的时间标识函数值的总和,
Hout(E(ti,pj)),表示在“Sout后-Sout前”这一段时间内,所有令牌从各自现在的变迁ti沿着输出有向弧到达对应的现在的库所pj所需要的时间标识函数值,
步骤(3.6),若:输入有向弧上消耗的时间Sin后加上输出有向弧上消耗的时间Sout后的值,大于用户对组合服务执行时间给定的最大阈值Q,则确认不满足时间约束,否则,确认满足,
步骤(3.7),从对应于步骤(3.4)中所述的起始库所所需到达的变迁开始,遍历所有的变迁,按下式计算所有变迁其自身所需消耗的成本的总和,1≤i≤n,
SR后=SR前+R(ti),其中:
SR前,表示此前所有i-1个变迁所消耗的成本的总和,
SR后,表示从初始变迁一直到变迁ti所消耗的成本的总和,
R(ti),表示变迁ti发生时其自身所需要消耗的成本,即对应的服务操作在执行中所需的费用,
步骤(3.8),若:所有变迁消耗成本之和SR后大于用户对组合服务消耗成本给定的最大阈值W,则确认不满足成本约束,否则,确认满足,并说明该Petri网模型的非功能属性一致;
步骤(4),将一致性分析结果存储子模块中存储的分析结果反馈给用户,若结果显示该模型的参数语义一致以及非功能(QoS)属性一致,则用户可直接使用该模型对服务进行组合并执行;若结果显示该模型有错误或者不匹配或者不满足约束,则用户需要对服务组合进行调整,并重新进行语义一致性验证(即执行步骤(2)和步骤(3))。
为了实现上述目的,本发明所采用的技术方案如下:
1.建立语义Web服务组合语义一致性验证系统的运行环境,参阅图1,该系统的主要构件及建立过程如下:
(1)在计算机上安装操作系统。操作系统可选用微软公司的视窗(Windows)系列操作系统中的Windows 2000及以上版本;
(2)在计算机上构建语义Web服务着色Petri网存储单元,用于存储语义Web服务着色Petri网。所述语义Web服务着色Petri网通过语义Web服务组合转换而来,在着色Petri网的基础上加以扩展,其转换方法可参照文献(Brogi,A.,S.Corfini,and S.Iardella,″From OWL-S descriptions to Petri nets″.In WESOA07.2007.Vienna.)和(Vidal,J.C.,M.Lama,and A.Bugar′m,Petri Net Semantics forOWL-S Service Choreography.2007.);
(3)在计算机上安装语义Web服务组合语义一致性验证系统,该系统主要包含如下三个部分:
(3.1)参数语义一致性验证子模块:用于验证所述“语义Web服务着色Petri网”模型的参数语义一致性。
(3.2)QoS属性一致性验证子模块:用于验证证所述“语义Web服务着色Petri网”模型的QoS属性的一致性。
(3.3)一致性分析结果存储子模块:用于存储参数语义一致性及QoS属性一致性验证的分析结果。
2.一种语义Web服务着色Petri网模型的参数语义一致性验证方法,该方法采用的具体方案参阅图6,包括如下的步骤:
步骤1,用参数语义一致性验证子模块从语义Web服务着色Petri网存储子模块中提取待验证的模型SWS-net;
步骤2,对变量j从1到m循环,判断库所j的数据类型是否错误,
若:
Figure G2009102363653D0000131
表示库所pj包含的令牌的颜色有不属于所述颜色集合∑的颜色,则库所pj的数据类型错误,m为库所的数量,
若:
Figure G2009102363653D0000132
则正确;
步骤3,对每一个从库所pj指向变迁ti的有向弧aij -进行判断,以确认输入所述变迁ti的弧函数数据类型是否错误,
若:
Figure G2009102363653D0000133
Figure G2009102363653D0000134
表示存在有向弧E(pj,ti),且要触发该有向弧所需的令牌的颜色集type(E(pj,ti))中有不属于C(pj)的颜色,则所述库所pj输入到所述变迁ti的弧函数数据类型错误,
若:
Figure G2009102363653D0000135
Figure G2009102363653D0000136
则正确;
步骤4,对每个从变迁ti指向库所pj的有向弧aij +进行判断,以确认输出到所述库所pj的弧函数数据类型是否错误,
若:表示存在有向弧E(ti,Pj),且要触发该有向弧所需的令牌的颜色集type(E(ti,Pj))中有不属于所述库所pj包含的令牌的颜色集C(pj)的颜色,则判定所述变迁ti输出的输出弧函数数据类型错误,
若:
Figure G2009102363653D0000139
Figure G2009102363653D00001310
则正确;
步骤5,对所述每个有向弧aij +进行判断,以确认前驱服务操作的输出数据类型与后继服务操作所需的输入数据类型是否匹配,
若:
Figure G2009102363653D00001311
表示存在有向弧E(ti,Pj),且要触发该有向弧所需的令牌的颜色集type(E(ti,Pj))不包含其下一条有向弧所需的令牌颜色集type(Nex(E(ti,pj))),则确认前驱服务操作的输出数据类型与后继服务操作所需的输入数据类型不匹配,
若:
Figure G2009102363653D0000141
Figure G2009102363653D0000142
则正确;
步骤6,对所述每个有向弧aij +进行判断,以确认前驱服务操作的输出参数个数与后继服务操作的输入参数个数是否匹配,
若:
Figure G2009102363653D0000143
且|E(ti,pj)|<Nex(E(ti,pj))|,表示具有从变迁ti到库所pj的有向弧E(ti,Pj),但对应于服务操作参数个数的弧函数E(ti,Pj)的参数个数小于其下一个弧函数的参数个数|Nex(E(ti,pj))|,则确认前驱服务操作的输出参数个数与后继服务操作的输入参数个数不匹配,
若:
Figure G2009102363653D0000144
且|E(ti,pj)|≥|Nex(E(ti,pj))|,则输出参数语义一致。
3.按以下步骤验证语义Web服务着色Petri网模型的QoS属性一致性,参阅图7:
步骤1,所述QoS属性一致性验证子模块从所述语义Web服务着色Petri网存储单元中提取待验证的模型SWS-net;
步骤2,初始化以下三个参数:
Sin,表示输入到变迁的输入有向弧上的时间标识函数值的总和,Sin0=0,
Sout,表示从变迁输出的输出有向弧上的时间标识函数值的总和,Sout0=0,
SR,表示所有服务操作消耗成本的总和,成本表示执行此服务操作所需的费用,SR0=0;
步骤3,对每一条所述输入有向弧进行服务操作输出参数的个数是否溢出的判断,
若:|E(pj,ti)|>M,表示对应于所述服务操作输出参数个数的弧函数E(pj,ti)的参数个数大于所述Petri网内任一库所允许拥有的最多令牌参数M,则确认溢出,
若:|E(pj,ti)|≤M,则表示输出参数的个数不溢出;
步骤4,从任意选定的起始库所开始,遍历所有从库所到达变迁的输入有向弧,按下式计算所有令牌沿着各自的输入有向弧从库所pj到达变迁ti所需要消耗的时间,即输入时间标识函数值的总和,1≤i≤n,1≤j≤m,m为库所数量,n为变迁数量:
Sin后=Sin前+Hin(E(pj,ti)),其中:
Sin前,表示此前所有j-1个库所的令牌沿着各自的输入有向弧到达对应的i-1个变迁所消耗的时间,用输入时间函数值的总和表示,
Sin后,表示所有各库所pj的令牌沿着各自的输入有向弧到达变迁所需要的输入时间标识函数值的总和,
Hin(E(pj,ti)),表示在“Sin后-Sin前”这一段时间内,所有令牌从各自选择的库所pj沿着输入有向弧到达变迁ti的输入时间标识函数值;
步骤5,从对应于步骤4中所述的起始库所所需到达的变迁开始,遍历所有的变迁沿着输出有向弧到达所对应的库所,按下式计算所有令牌沿着各自的输出有向弧从变迁ti到达库所pj所需的输出时间标识函数值的总和,1≤i≤n,1≤j≤m,m为库所数量,n为变迁数量,
Sout后=Sout前+Hout(E(ti,pj)),其中:
Sout前,表示此前所有i-1个变迁的令牌沿着各自的输出有向弧到达对应的j-1个库所的输出时间标识函数值,
Sout后,表示所有各变迁ti的令牌沿着各自的输出有向弧到达对应各库所pj所需的时间标识函数值的总和,
Hout(E(ti,pj)),表示在“Sout后-Sout前”这一段时间内,所有令牌从各自现在的变迁ti沿着输出有向弧到达对应的现在的库所pj所需要的时间标识函数值;
步骤6,若:输入有向弧上消耗的时间Sin后加上输出有向弧上消耗的时间Sout后的值,大于用户对组合服务执行时间给定的最大阈值Q,则确认不满足时间约束,否则,确认满足;
步骤7,从对应于步骤4中所述的起始库所所需到达的变迁开始,遍历所有的变迁,按下式计算所有变迁其自身所需消耗的成本的总和,1≤i≤n,
SR后=SR前+R(ti),其中:
SR前,表示此前所有i-1个变迁所消耗的成本的总和,
SR后,表示从初始变迁一直到变迁ti所消耗的成本的总和,
R(ti),表示变迁ti发生时其自身所需要消耗的成本,即对应的服务操作在执行中所需的费用;
步骤8,若:所有变迁消耗成本之和SR后大于用户对组合服务消耗成本给定的最大阈值W,则确认不满足成本约束,否则,确认满足,并说明该Petri网模型的非功能属性一致。
4.将一致性分析结果存储子模块中存储的分析结果反馈给用户,若结果显示该模型的参数语义一致以及非功能(QoS)属性一致,则用户可直接使用该模型对服务进行组合并执行;若结果显示该模型有错误或者不匹配或者不满足约束,则用户需要对服务组合进行调整,并重新进行语义一致性验证(即执行步骤2和步骤3)。
按照发明内容中的初始化设定中的步骤依次完成系统的部署和设定,根据发明内容中的语义一致性验证方法验证语义Web服务着色Petri网模型的参数语义一致性和QoS属性一致性。用户根据分析结果决定是否要对模型进行修改,从而保证服务组合能够满足用户的需求。

Claims (1)

1.语义Web服务组合的语义一致性验证方法,其特征在于,是一种基于着色Petri网的语义Web服务组合的语义一致性验证方法,所述方法是在计算机中依次按以下步骤实现的:
步骤(1),初始化
构建待验证的语义Web服务着色Petri网模型的存储单元,所述模型是一个八元组,表示为SWS-net,
SWS-net=(CPN,DT,DV,Pin,Pout,Hin,Hout,R),
CPN定义为着色Petri网,表示为CPN,是一个用于描述流程中状态变化的六元组,CPN=(∑,P,T,F,C,E),其中:
∑是颜色集合,表示令牌的不同颜色,令牌是指库所中的动态对象,令牌的位置是指该令牌所在库所当前的状态,
P是库所的集合,表示Petri网模型中所有的库所,库所表示不同的状态,
T是变迁的集合,表示Petri网模型中所有的变迁,变迁表示事件、转化或传输,通过变迁连接不同的库所,
F是有向弧集,表示Petri网模型中所有的有向弧,每条有向弧连接一个库所和变迁,
C是颜色函数,令牌的颜色表示不同属性的对象,
E是弧函数,E(pj,ti)表示从库所j到变迁i的弧函数,把每一条弧映射到一个颜色集合,用于表示要触发该条弧所需的令牌颜色及个数,其中:1≤i≤n,1≤j≤m,
DT是数据类型定义的集合,
DV是变量定义的集合,
Pin是所有的输入库所的集合,输入库所是指到达变迁的库所,
Pout是所有的输出库所的集合,输出库所是指变迁到达的库所,
Hin是令牌从库所到达变迁所需的时间,
Hout是令牌从变迁到达库所所需的时间,
R是变迁发生其本身所需消耗的成本,即该变迁所对应的服务操作在执行时所需的费用,是一个已知量,
在所述计算机中构建以下子模块单元,构成一个语义Web服务组合语义一致性验证模块,包括:参数语义一致性验证子模块、QoS属性一致性验证子模块,以及一致性分析结果存储子模块,其中:
参数语义一致性验证子模块,用于验证所述语义Web服务着色Petri网的模型的参数语义一致性,
QoS属性一致性验证子模块,用于验证所述语义Web服务着色Petri网的模型的QoS属性的一致性,
一致性分析结果存储子模块,用于存储参数语义一致性和QoS属性一致性的验证结果;
步骤(2),按以下步骤验证语义Web服务着色Petri网模型的参数语义一致性:
步骤(2.1),所述参数语义一致性验证子模块从所述语义Web服务着色Petri网存储单元中提取待验证的模型SWS-net,
步骤(2.2),对变量j从1到m循环,判断库所pj的数据类型是否错误,
若:表示库所pj包含的令牌的颜色有不属于所述颜色集合∑的颜色,则库所pj的数据类型错误,m为库所的数量,
若:
Figure F2009102363653C0000022
则正确,
步骤(2.3),对每一个从库所pj指向变迁ti的有向弧
Figure F2009102363653C0000023
进行判断,以确认输入所述变迁ti的弧函数数据类型是否错误,
若:
Figure F2009102363653C0000024
Figure F2009102363653C0000025
表示存在有向弧E(pj,ti),且要触发该有向弧所需的令牌的颜色集type(E(pj,ti))中有不属于C(pj)的颜色,则所述库所pj输入到所述变迁ti的弧函数数据类型错误,
若:
Figure F2009102363653C0000027
则正确,
步骤(2.4),对每个从变迁ti指向库所pj的有向弧
Figure F2009102363653C0000031
进行判断,以确认输出到所述库所pj的弧函数数据类型是否错误,
若:
Figure F2009102363653C0000032
Figure F2009102363653C0000033
表示存在有向弧E(ti,Pj),且要触发该有向弧所需的令牌的颜色集type(E(ti,Pj))中有不属于所述库所pj包含的令牌的颜色集C(pj)的颜色,则判定所述变迁ti输出的输出弧函数数据类型错误,
若:
Figure F2009102363653C0000034
则正确,
步骤(2.5),对所述每个有向弧进行判断,以确认前驱服务操作的输出数据类型与后继服务操作所需的输入数据类型是否匹配,
若:
Figure F2009102363653C0000037
Figure F2009102363653C0000038
表示存在有向弧E(ti,Pj),且要触发该有向弧所需的令牌的颜色集type(E(ti,Pj))不包含其下一条有向弧所需的令牌颜色集type(Nex(E(ti,pj))),则确认前驱服务操作的输出数据类型与后继服务操作所需的输入数据类型不匹配,
若:
Figure F2009102363653C0000039
Figure F2009102363653C00000310
则正确,
步骤(2.6),对所述每个有向弧
Figure F2009102363653C00000311
进行判断,以确认前驱服务操作的输出参数个数与后继服务操作的输入参数个数是否匹配,
若:
Figure F2009102363653C00000312
且|E(ti,pj)|<|Nex(E(ti,pj))|,表示具有从变迁ti到库所pj的有向弧E(ti,Pj),但对应于服务操作参数个数的弧函数E(ti,Pj)的参数个数小于其下一个弧函数的参数个数|Nex(E(ti,pj))|,则确认前驱服务操作的输出参数个数与后继服务操作的输入参数个数不匹配,
若:
Figure F2009102363653C00000313
且|E(ti,pj)|≥|Nex(E(ti,pj))|,则输出参数语义一致;
步骤(3),按以下步骤验证语义Web服务着色Petri网模型的QoS属性一致性:
步骤(3.1),所述QoS属性一致性验证子模块从所述语义Web服务着色Petri网存储单元中提取待验证的模型SWS-net,
步骤(3.2),初始化以下三个参数:
Sin,表示输入到变迁的输入有向弧上的时间标识函数值的总和,Sin0=0,
Sout,表示从变迁输出的输出有向弧上的时间标识函数值的总和,Sout0=0,
SR,表示所有服务操作消耗成本的总和,成本表示执行此服务操作所需的费用,SR0=0,
步骤(3.3),对每一条所述输入有向弧进行服务操作输出参数的个数是否溢出的判断,
若:|E(pj,ti)|>M,表示对应于所述服务操作输出参数个数的弧函数E(pj,ti)的参数个数大于所述Petri网内任一库所允许拥有的最多令牌参数M,则确认溢出,
若:|E(pj,ti)|≤M,则表示输出参数的个数不溢出,
步骤(3.4),从任意选定的起始库所开始,遍历所有从库所到达变迁的输入有向弧,按下式计算所有令牌沿着各自的输入有向弧从库所pj到达变迁ti所需要消耗的时间,即输入时间标识函数值的总和,1≤i≤n,1≤j≤m,m为库所数量,n为变迁数量:
Sin后=Sin前+Hin(E(pj,ti)),其中:
Sin前,表示此前所有j-1个库所的令牌沿着各自的输入有向弧到达对应的i-1个变迁所消耗的时间,用输入时间函数值的总和表示,
Sin后,表示所有各库所pj的令牌沿着各自的输入有向弧到达变迁所需要的输入时间标识函数值的总和,
Hin(E(pj,ti)),表示在“Sin后-Sin前”这一段时间内,所有令牌从各自选择的库所pj沿着输入有向弧到达变迁ti的输入时间标识函数值,
步骤(3.5),从对应于步骤(3.4)中所述的起始库所所需到达的变迁开始,遍历所有的变迁沿着输出有向弧到达所对应的库所,按下式计算所有令牌沿着各自的输出有向弧从变迁ti到达库所pj所需的输出时间标识函数值的总和,1≤i≤n,1≤j≤m,m为库所数量,n为变迁数量,
Sout后=Sout前+Hout(E(ti,pj)),其中:
Sout前,表示此前所有i-1个变迁的令牌沿着各自的输出有向弧到达对应的j-1个库所的输出时间标识函数值,
Sout后,表示所有各变迁ti的令牌沿着各自的输出有向弧到达对应各库所pj所需的时间标识函数值的总和,
Hout(E(ti,pj)),表示在“Sout后-Sout前”这一段时间内,所有令牌从各自现在的变迁ti沿着输出有向弧到达对应的现在的库所pj所需要的时间标识函数值,
步骤(3.6),若:输入有向弧上消耗的时间Sin后加上输出有向弧上消耗的时间Sout后的值,大于用户对组合服务执行时间给定的最大阈值Q,则确认不满足时间约束,否则,确认满足,
步骤(3.7),从对应于步骤(3.4)中所述的起始库所所需到达的变迁开始,遍历所有的变迁,按下式计算所有变迁其自身所需消耗的成本的总和,1≤i≤n,
SR后=SR前+R(ti),其中:
SR前,表示此前所有i-1个变迁所消耗的成本的总和,
SR后,表示从初始变迁一直到变迁ti所消耗的成本的总和,
R(ti),表示变迁ti发生时其自身所需要消耗的成本,即对应的服务操作在执行中所需的费用,
步骤(3.8),若:所有变迁消耗成本之和SR后大于用户对组合服务消耗成本给定的最大阈值W,则确认不满足成本约束,否则,确认满足,并说明该Petri网模型的非功能属性一致;
步骤(4),将一致性分析结果存储子模块中存储的分析结果反馈给用户,若结果显示该模型的参数语义一致以及非功能(QoS)属性一致,则用户可直接使用该模型对服务进行组合并执行;若结果显示该模型有错误或者不匹配或者不满足约束,则用户需要对服务组合进行调整,并重新进行语义一致性验证(即执行步骤(2)和步骤(3))。
CN200910236365A 2009-10-20 2009-10-20 语义Web服务组合的语义一致性验证方法 Expired - Fee Related CN101715002B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910236365A CN101715002B (zh) 2009-10-20 2009-10-20 语义Web服务组合的语义一致性验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910236365A CN101715002B (zh) 2009-10-20 2009-10-20 语义Web服务组合的语义一致性验证方法

Publications (2)

Publication Number Publication Date
CN101715002A true CN101715002A (zh) 2010-05-26
CN101715002B CN101715002B (zh) 2012-09-05

Family

ID=42418278

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910236365A Expired - Fee Related CN101715002B (zh) 2009-10-20 2009-10-20 语义Web服务组合的语义一致性验证方法

Country Status (1)

Country Link
CN (1) CN101715002B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102780583A (zh) * 2012-07-24 2012-11-14 南京邮电大学 物联网业务描述、组合和服务质量评估的方法
CN103149840A (zh) * 2013-02-01 2013-06-12 西北工业大学 一种基于动态规划的语义服务组合方法
CN103597800A (zh) * 2011-05-23 2014-02-19 微软公司 自动云服务重新连接
CN103646061A (zh) * 2013-12-02 2014-03-19 东南大学 面向服务的需求分析方法
CN106293648A (zh) * 2015-05-13 2017-01-04 南京理工大学 基于路径依赖图的服务组合行为合规性度量方法
CN106997411A (zh) * 2017-03-22 2017-08-01 中国电子科技集团公司第二十八研究所 基于着色Petri网能力使命线程形式描述与验证方法
CN107113199A (zh) * 2014-11-18 2017-08-29 菲尼克斯电气公司 用于分析和处理通信序列的分析装置
CN107515876A (zh) * 2016-06-16 2017-12-26 阿里巴巴集团控股有限公司 一种特征模型的生成、应用方法及装置
CN109583026A (zh) * 2018-10-30 2019-04-05 中国电力科学研究院有限公司 一种基于Petri网出现序列的继电保护业务建模方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067357A (en) * 1998-03-04 2000-05-23 Genesys Telecommunications Laboratories Inc. Telephony call-center scripting by Petri Net principles and techniques
CN1477811A (zh) * 2003-07-11 2004-02-25 北京邮电大学 一种网络入侵行为和正常行为的形式化描述方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103597800B (zh) * 2011-05-23 2016-10-26 微软技术许可有限责任公司 自动云服务重新连接
CN103597800A (zh) * 2011-05-23 2014-02-19 微软公司 自动云服务重新连接
CN102780583A (zh) * 2012-07-24 2012-11-14 南京邮电大学 物联网业务描述、组合和服务质量评估的方法
CN102780583B (zh) * 2012-07-24 2015-03-25 南京邮电大学 物联网业务描述、组合和服务质量评估的方法
CN103149840A (zh) * 2013-02-01 2013-06-12 西北工业大学 一种基于动态规划的语义服务组合方法
CN103149840B (zh) * 2013-02-01 2015-03-04 西北工业大学 一种基于动态规划的语义服务组合方法
CN103646061B (zh) * 2013-12-02 2017-02-15 东南大学 面向服务的需求分析方法
CN103646061A (zh) * 2013-12-02 2014-03-19 东南大学 面向服务的需求分析方法
CN107113199A (zh) * 2014-11-18 2017-08-29 菲尼克斯电气公司 用于分析和处理通信序列的分析装置
CN107113199B (zh) * 2014-11-18 2020-10-27 菲尼克斯电气公司 用于分析和处理通信序列的分析装置
CN106293648A (zh) * 2015-05-13 2017-01-04 南京理工大学 基于路径依赖图的服务组合行为合规性度量方法
CN106293648B (zh) * 2015-05-13 2019-11-29 南京理工大学 基于路径依赖图的服务组合行为合规性度量方法
CN107515876A (zh) * 2016-06-16 2017-12-26 阿里巴巴集团控股有限公司 一种特征模型的生成、应用方法及装置
CN106997411A (zh) * 2017-03-22 2017-08-01 中国电子科技集团公司第二十八研究所 基于着色Petri网能力使命线程形式描述与验证方法
CN106997411B (zh) * 2017-03-22 2020-09-29 中国电子科技集团公司第二十八研究所 基于着色Petri网能力使命线程形式描述与验证方法
CN109583026A (zh) * 2018-10-30 2019-04-05 中国电力科学研究院有限公司 一种基于Petri网出现序列的继电保护业务建模方法及系统
CN109583026B (zh) * 2018-10-30 2024-04-09 中国电力科学研究院有限公司 一种基于Petri网出现序列的继电保护业务建模方法及系统

Also Published As

Publication number Publication date
CN101715002B (zh) 2012-09-05

Similar Documents

Publication Publication Date Title
CN101715002B (zh) 语义Web服务组合的语义一致性验证方法
CN101808109B (zh) 语义Web服务组合的模型转换及形式化验证方法
CN107193545B (zh) 一种面向构件的多语言协同开发装置、方法与系统
US11093668B2 (en) Modeling and simulation
CN109710243B (zh) 基于可视化平台的区块链开发方法、装置、服务器及介质
CN101946258B (zh) 基于计算机的业务过程在专用硬件上的基于模型的部署
Antoniol et al. Assessing staffing needs for a software maintenance project through queuing simulation
CN109543372A (zh) 业务权限数据处理方法、装置、计算机设备及存储介质
CN109491642A (zh) 一种基于场景的需求建模系统及方法、信息数据处理终端
Ellis et al. Computer science and office information systems
CN109615333A (zh) 云平台中基于抽屉模型实现流程逐级审批的系统及方法
Janssen et al. Towards a flexible ICT-architecture for multi-channel e-government service provisioning
CN103049264A (zh) 一种通过状态机动态建模实现对业务系统控制的方法
CN102780583B (zh) 物联网业务描述、组合和服务质量评估的方法
Gharbi et al. GSPN analysis of retrial systems with servers breakdowns and repairs
CN113269459A (zh) 一种育联网组织系统构建的方法
Yücesan et al. Distributed web-based simulation experiments for optimization
US20110040549A1 (en) Discrete event simulation tool combining process-driven and event-driven models
CN109710958A (zh) 一种基于仿真模型的建设项目工期风险模拟方法及系统
CN103995699A (zh) 基于mda的电力企业信息系统开发方法
CN114611859A (zh) 一种软件平台智能用工的方法及系统
Leinonen et al. The house of the rising value
Emadi et al. Transformation of usecase and sequence diagrams to petri nets
CN106021624B (zh) 一种etl模型生成方法及装置
CN109657958A (zh) 数字化信息系统的建模方法及数字化信息系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120905

Termination date: 20181020