CN101808109A - 语义Web服务组合的模型转换及形式化验证方法 - Google Patents
语义Web服务组合的模型转换及形式化验证方法 Download PDFInfo
- Publication number
- CN101808109A CN101808109A CN200910236364A CN200910236364A CN101808109A CN 101808109 A CN101808109 A CN 101808109A CN 200910236364 A CN200910236364 A CN 200910236364A CN 200910236364 A CN200910236364 A CN 200910236364A CN 101808109 A CN101808109 A CN 101808109A
- Authority
- CN
- China
- Prior art keywords
- model
- web service
- semantic web
- transition
- petri net
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 132
- 238000012795 verification Methods 0.000 title claims abstract description 39
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 38
- 230000008569 process Effects 0.000 claims abstract description 69
- 238000004040 coloring Methods 0.000 claims abstract description 63
- 230000007704 transition Effects 0.000 claims description 74
- 239000011159 matrix material Substances 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 21
- 230000005540 biological transmission Effects 0.000 claims description 11
- 239000003086 colorant Substances 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 5
- 230000000694 effects Effects 0.000 claims description 5
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 238000009434 installation Methods 0.000 claims description 2
- 230000003993 interaction Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 239000000203 mixture Substances 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000011160 research Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 239000002131 composite material Substances 0.000 description 3
- 239000000470 constituent Substances 0.000 description 3
- 238000004886 process control Methods 0.000 description 2
- 239000012925 reference material Substances 0.000 description 2
- 241001435619 Lile Species 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
语义Web服务组合的模型转换及形式化验证方法属于语义网及Web服务领域,其特征在于,在计算机上建立语义Web服务组合存储单元、模型转换子模块、语义Web服务着色Petri网存储子模块、正确性验证子模块和本体工具Protégé;该方法通过模型转换子模块将OWL-S形式的语义Web服务组合模型转换为语义Web服务着色Petri网模型,转换后的模型不仅能清晰表示服务组合中各子过程之间的逻辑关系,而且能够用着色Petri网的形式化方法进行服务组合的正确性验证。根据本发明,能够通过形式化方法验证语义Web服务组合的正确性,从而保证服务组合的正确执行。
Description
技术领域
本发明属于语义网及Web服务领域,旨在为人们提供一种模型转换方法,能够将语义Web服务组合转换为着色Petri网,从而利用Petri网技术进行形式化验证。
背景技术
在面向服务的体系架构(Service-Oriented Architecture,SOA)下,Web服务组合已经成为支撑业务流程执行的主要形式。然而如何实现Web服务的自动组合一直是一个研究难题,因为Web服务不包含机器可读的语义信息。语义Web的出现将语义和Web服务结合起来,吸引了很多研究者的注意,Web服务本体描述语言(Web Ontology Language for Services,OWL-S)已经成为事实上的标准语义Web服务本体建模语言。
OWL-S提供一个框架来描述Web服务的功能和公告,从而实现服务的自动发现、调用、和组合。以OWL-S的1.2版本为例,其服务模型使用以下三个部分描述本体:
·profile:服务概要,描述服务是什么;
·model:服务模型,说明服务如何工作;
·grounding:服务基点,提供如何使用服务的信息。
1.ServiceProfile为服务的注册提供简要的描述,包括:(1)服务提供者的信息,如联系信息等;(2)服务的功能信息,包括参数信息、输入(Inputs)和输出(Outputs)参数、前提条件(Preconditions)及效果(Effects);(3)服务属性,包括服务分类、附加参数、服务完成时间、服务代价、服务质量等。
2.ServiceModel本体主要有两个模块:Process本体和ProcessControl本体。Process本体以流程的形式描述了服务中各子过程的执行顺序,而ProcessControl本体主要管理和监控服务流程的执行。Process可分为简单过程(simple processes)、原子过程(atomic processes)和复合过程(composite processes)。原子过程是一个直接可以调用的过程,它没有子过程,从服务请求者的角度来看,原子过程能一步完成。简单过程不是一个可直接调用的过程,但简单过程也能通过一步完成。组合过程是通过控制结构将原子过程或子组合过程组合起来的一个复杂过程,但它可以分解成其它的过程。目前OWL-S有顺序(Sequence)、选择(Choice)、如果-那么(If-Then-Else)、任意顺序(Any-Order)、重复-当(Repeat-While)、重复-直到(Repeat-Until)、分支(Split)和分支+汇合(Split+Join)等控制结构。复合过程中的控制结构规定了各个子过程之间具有怎样的数据与功能依赖关系,及子过程间的执行顺序。复合过程必须通过原子过程的运行来实现。
3.ServiceGrounding描述如何获取服务的细节,主要包括相关协议、消息格式、序列化、传输和寻址。
OWL-S对Web服务及流程建模,使得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网不仅可以刻画系统的结构,而且可以描述系统的动态行为;不仅具有直观的图形表示,而且能够引入许多数学方法对其性质进行分析,此外Petri网已有成熟的计算机自动实现的模型检测技术和支持工具,因而使用Petri网来验证服务组合的正确性是非常有效的,也有较多的研究工作使用Petri网对业务流程和工作流进行建模。
而对于语义Web服务组合目前还没有行之有效的形式化验证方法。将OWL-S建模的Web流程转化成Petri网模型,就可以利用现有的大量Petri网研究的成果对语义Web服务组合进行正确性验证。相关的研究工作主要有:D.Moldt等人提出一种将DAML-S descriptions转换到一种高层Petri网Reference Nets的工具DaGen,但是仅仅对描述部分(Description)进行转换,没有涉及到过程本体(Moldt,D.and J.Ortmann,″DaGen:A Tool for Automatic Translation fromDAML-S to High-Level Petri Nets″,LECTURE NOTES IN COMPUTER SCIENCE,2004.2984:pp.209-213.)。Srini Narayanan等人提出了DAML+OIL本体描述Web服务的组合方法,但是没有对模型的正确性进行验证(Narayanan S,M.S.,Simulation,verification and automated composition of Web services″.In Proc.ofthe 11th Int’l World Wide Web Conf.WWW2002.Honolulu:ACM.2002.)。
因此,有必要提出一种更加完善的从语义Web服务组合到Petri网的转换方法,并提供相应的算法支持Web服务组合的形式化验证。
发明内容
针对现有技术中存在的问题,本发明的目的是提出一种从语义Web服务组合到着色Petri网的模型转换方法以及相应的形式化验证方法,能够通过模型转换充分利用Petri网的形式化验证技术对语义Web服务组合的正确性进行验证。
着色Petri网(Coloured Petri Nets,简称CPN)是经典Petri网的一个衍生和扩展。它通过对令牌着色丰富了Petri网表达的内涵。不同颜色的令牌代表不同属性的对象,例如红色令牌表示28岁的张三,蓝色令牌表示25岁的李四,绿色令牌表示30岁的王五。令牌的颜色由构建者来定义,库所和变迁的设置与经典Petri网相同,都表示状态变化。
因为着色Petri网(参见Jensen,K.,Coloured Petri Nets:Basic Concepts,Analysis Methods,andPractical Use.1997:Springer.)结合了Petri网和高级语言的优点,在对复杂系统建模时,可以使得模型更加简单、清晰,因此本发明使用着色Petri网来验证语义Web服务组合的正确性,提出了从语义Web服务到着色Petri网的转换方法,定义了语义Web服务着色Petri网SWS-net,并提出SWS-net的验证算法,能够有效检测转换模型的正确性。
下面给出着色Petri网的形式化定义。
定义1着色Petri网CP-Net是一个六元组CPN=(∑,P,T,F,C,E),其中:
∑是颜色集合,表示令牌的不同颜色,
P是库所的集合,表示所述着色Petri网模型中所有的库所,
T是变迁的集合,表示所述着色Petri网模型中所有的变迁,
F是有向弧集,表示所述着色Petri网模型中所有的有向弧,每条有向弧连接一个库所和变迁,
C是颜色函数,把所述库所和库所中令牌的颜色对应起来,用C:P→∑表示,
E是弧函数,把每一条有向弧映射到某一个颜色集合,所述某一个颜色集合表示要触发该有向弧所需的令牌颜色及个数。
下面定义输入输出矩阵与关联矩阵:
定义2着色Petri网CPN的网结构可以用一个n行m列矩阵
A=[aij]n×m来表示,称A为CPN的关联矩阵,它描述了该着色Petri网中各条有向弧的分布。其中m表示库所的个数,n表示变迁的个数,
即当存在从变迁ti到库所pj的有向弧时,aij +等于1,否则aij +等于0;
即当存在从库所pj到变迁ti的有向弧时,aij -等于1,否则aij -等于0;
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,是所述着色Petri网模型,
DT,是数据类型定义的集合,
DV,是变量定义的集合,
Pin,是所有输入库所的集合,所述输入库所是经输入有向弧指向变迁的库所,
Pout,是所有输出库所的集合,所述输出库所是从变迁通过输出有向弧所指向的库所,
Hin,是令牌从库所到达变迁所需的时间,
Hout,是令牌从变迁到达库所所需的时间,
R是变迁发生其本身所需消耗的成本,即该变迁所对应的服务操作在执行时所需的费用,是一个已知量。
语义Web服务着色Petri网SWS-net的表示参见图5。
本发明的特征在于,提出了一种从语义Web服务到着色Petri网模型的转换方法,定义了语义Web服务着色Petri网SWS-net。对于转换后得到的SWS-net模型,给出了组合服务的正确性验证算法,从而能够更有效的判断组合服务是否能够正确执行,并通过Petri网的图形化方法表示组合服务的运行过程。和其他方法相比,本发明提出的方法能够更加有效的解决语义Web服务组合的正确性验证问题。
附图说明
图1是一个描述了语义Web服务模型转换与验证系统的详细结构图;
图2是一个描述了语义Web服务模型转换与正确性验证方法的具体步骤的图;
图3是一个描述了Petri网模型的组成元素的示例图;
图4是一个用Petri网模型表示四季更替的过程的示例图;
图5是一个描述了语义Web服务着色Petri网模型的组成元素的示例图;
图6是一个描述了从OWL-S原子过程到SWS-net转换规则的图;
图7是一个描述了语义Web服务着色Petri网正确性验证的算法流程图;
图8是从OWL-S组合过程到SWS-net的转换规则。
具体实施方式
所述方法是依次按以下步骤实现的:
步骤(1),计算机初始化
安装本体建模工具Protégé,用于建立、删除、修改本体,并把本体存储为网络Web服务本体建模语言OWL-S的格式,
构建语义Web服务组合存储单元,用于存储由所述Web服务本体建模工具Protégé构造、用所述OWL-S格式表示的语义Web服务组合模型,
安装语义Web服务组合模型转换与验证模块,包括:模型转换子模块、语义Web服务着色Petri网存储子模块以及正确性验证子模块,其中:
模型转换子模块,用于把所述语义Web服务组合存储单元中存储的语义Web服务组合转换为着色Petri网模型,转换后的模型命名为“语义Web服务着色Petri网”,其中:
着色Petri网简称CPN,是一个六元组的模型,所述CPN=(∑,P,T,F,C,E),其中:
∑是颜色集合,表示令牌的不同颜色,
P是库所的集合,表示所述着色Petri网模型中所有的库所,
T是变迁的集合,表示所述着色Petri网模型中所有的变迁,
F是有向弧集,表示所述着色Petri网模型中所有的有向弧,每条有向弧连接一个库所和变迁,
C是颜色函数,把所述库所和库所中令牌的颜色对应起来,用C:P→∑表示,
E是弧函数,把每一条有向弧映射到某一个颜色集合,所述某一个颜色集合表示要触发该有向弧所需的令牌颜色及个数,
所述着色Petri网CPN可以由一个n行m列的矩阵A表示,称为该CPN的关联矩阵,A=[aij]n×m,m为库所的个数,1≤j≤m,n为变迁的个数,1≤i≤n, 其中,
当存在从变迁ti到库所pj的输出有向弧时, 否则,
当存在从库所pj到变迁ti的输入有向弧时, 否则,
语义Web服务着色Petri网SWS-net是一个八元组模型,SWS-net=(CPN,DT,DV,Pin,Pout,Hin,Hout,R),其中,
CPN,是所述着色Petri网模型,
DT,是数据类型定义的集合,
DV,是变量定义的集合,
Pin,是所有输入库所的集合,所述输入库所是经输入有向弧指向变迁的库所,
Pout,是所有输出库所的集合,所述输出库所是从变迁通过输出有向弧所指向的库所,
Hin,是令牌从库所到达变迁所需的时间,
Hout,是令牌从变迁到达库所所需的时间,
R是变迁发生其本身所需消耗的成本,即该变迁所对应的服务操作在执行时所需的费用,是一个已知量,
语义Web服务着色Petri网存储子模块,用于存储所述语义Web服务着色Petri网模型,
正确性验证子模块,用于验证转换得到的所述语义Web服务着色Petri网模型的正确性;
步骤(2),依次按以下步骤实现语义Web服务组合的模型转换以及形式化验证方法:
步骤(2.1),用所述模型转换子模块从所述语义Web服务组合存储单元中提取待转换的Web服务组合模型,
步骤(2.2),把所述语义Web服务组合模型OWL-S中的各个组成部分映射到着色Petri网中的组成元素,形成语义Web服务着色Petri网SWS-net,其步骤如下:
步骤(2.2.1),服务的所有消息参数类型对应所述颜色集合∑;
步骤(2.2.2),服务操作运行产生的效果对应变迁发生过程中令牌转移前后的状态;
步骤(2.2.3),存放服务参数的缓冲区对应库所;
步骤(2.2.4),服务的操作对应变迁;
步骤(2.2.5),服务中消息的传输方向对应有向弧集;
步骤(2.2.6),服务的输入、输出参数类型对应颜色函数;
步骤(2.2.7),在输入有向弧上添加时间标识函数值Hin,表示输入参数传输时延,在输出有向弧上添加时间标识函数值Hout,表示输出参数传输时延,当变迁所需参数全部到达时,瞬间完成变迁触发,Hin+Hout表示变迁从发生到完成所需的时延;
步骤(2.2.8),在变迁上添加成本函数R,表示用户使用该服务操作时其自身所需付出的费用;
步骤(2.3),把所述OWL-S中单个服务的一次交互过程,也称原子过程,与所述SWS-net中单个Web服务调用相对应,其转换规则如下:
把原子过程映射为变迁t,t命名为原子过程的名称,
前提条件映射为输入库所集Pin,结果映射为输出库所集Pout,
输入映射为输入库所的初始令牌,
步骤(2.4),把所述OWL-S组合过程转换到SWS-net,用以表示复杂的业务逻辑,所述组合过程由原子服务或子组合过程组合而成,其转换规则如下:
对于所述OWL-S中的顺序结构,转换为对应的着色Petri网结构,其中子过程按照顺序依次执行,
对于所述OWL-S中的选择结构或者如果-那么结构,转换为对应的着色Petri网结构,其中选择结构表示在一组子过程中随机选择一个子过程执行,如果-那么结构表示在两个过程中选择一个执行,
对于所述OWL-S中的任意顺序结构,转换为对应的着色Petri网结构,它表示一组子过程无序地执行,但不能并发执行,
对于所述OWL-S中的重复-当结构,转换为对应的着色Petri网结构。首先检查循环条件,条件为真则执行子过程,否则退出循环,
对于所述OWL-S中的重复-直到结构,转换为对应的着色Petri网结构。首先执行子过程,条件为假则重复执行子过程,直到条件为真退出循环继续执行后续子过程,
对于所述OWL-S中的分支结构或者分支-汇合结构,转换为对应的着色Petri网结构。分支结构表示一组子过程并发执行,当所有子过程都并发执行时,控制结构执行完毕。分支-汇合结构表示一组子过程并发执行后,同步这些子过程,即所有子过程执行完才表示控制结构执行完成,
步骤(2.5),对步骤(2.4)得到的转换后的SWS-net,按以下步骤进行正确性验证:
步骤(2.5.1),把语义Web服务着色Petri网SWS-net输入到所述正确性验证子模块,
步骤(2.5.2),计算所述关联矩阵
[aij +]n×m为所有从变迁i到库所j的输出有向弧aij +组成的n行m列矩阵,称为输出矩阵,
[aij -]n×m为所有从库所j到变迁i的输入有向弧aij -组成的n行m列矩阵,称为输入矩阵,
步骤(2.5.3),设置各库所在初始状态下的令牌数序列M0,M0={P1(0),P2(0),…,Pm(0)},
步骤(2.5.4),设置各库所在第K个状态时的令牌数序列MK,K表示从初始状态到目标状态所经历的状态数,MK={P1(K),P2(K),…,Pm(K)},
步骤(2.5.5),令变量i=1,Z=0,
步骤(2.5.6),令 其中Mi-1表示第i-1个状态,表示关联矩阵A的第i个行向量,Mi表示第i个状态;计算得到Mi,它表示为一个m维行向量Mi={P1(i),P2(i),…,Pm(i)},将该行向量中最大的数与变量Z比较,如果其大于Z则令Z等于该最大值,否则Z值不变,
步骤(2.5.7),若i大于等于K,将i的值加1,重复步骤(2.5.6),若i小于K,继续进行下一步,K表示从初始状态到目标状态所经历的状态个数,
步骤(2.5.8),若Z等于1,表示该模型是安全的,否则进行下一步,所述该模型是安全的表示该模型的任一库所中最多可能出现的令牌数为1,即在状态变迁过程中每个库所最多可能出现一个令牌,因此该模型能够安全无溢出的执行完毕,
步骤(2.5.9),若Z大于1且小于正无穷,表示该模型的界为Z,否则表示该模型错误,所述该模型的界为Z表示模型的任一库所中最多可能出现Z个令牌,Z也称为状态边界,若Z是一个有限的正整数,则该模型也能够正确执行,若Z等于正无穷,说明令牌溢出,模型会出现死锁,若Z等于0,说明模型中从没有令牌,模型没有执行,若Z等于负数,说明系统错误,
步骤(3),把步骤(2)得到的分析结果反馈给用户,若结果显示该模型正确,即模型是安全的或有界的,则用户可直接使用该模型对服务进行组合并执行,若结果显示该模型不正确,则用户需要对模型修改(使用protégé)并再次执行步骤(2)。
为了实现上述目的,本发明所采用的技术方案如下:
1.建立语义Web服务组合模型转换与验证系统的运行环境,参阅图1,该系统的主要构件及建立过程如下:
(1)在计算机上安装操作系统。操作系统可选用微软公司的视窗(Windows)系列操作系统中的Windows 2000及以上版本;
(2)在计算机上安装本体工具Protégé。Protégé是斯坦福大学开发的开源的本体建模工具,目前已经得到广泛的应用。该工具可以建立、删除、修改本体,并将本体存储为OWL-S(Web Ontology Language for Services,网络本体语言,参考资料可从万维网http://www.w3.org/TRlowl-ref上得到)的格式。Protégé可从万维网http://protege.stanford.edu/download/download.html上下载,其参考资料可从万维网http://protege.stanford.edu/doc/users guide/上得到;
(3)在计算机上构建语义Web服务组合存储单元,用于存储语义Web服务组合。所述语义Web服务组合采用标准格式描述,并通过本体工具构造而成。所述标准格式采用OWL-S格式。所述本体工具采用步骤(2)中所述的Protégé;
(4)在计算机上安装语义Web服务组合模型转换与验证模块,该模块主要包含如下三个部分:
(4.1)模型转换子模块:用于将所述语义Web服务组合存储单元中存储的语义Web服务组合转换为着色Petri网模型,转换后的模型命名为“语义Web服务着色Petri网”。
(4.2)语义Web服务着色Petri网存储子模块:用于存储所述“语义Web服务着色Petri网”模型。
(4.3)正确性验证子模块:用于验证转换后的“语义Web服务着色Petri网”模型是否正确。
2.一种将语义Web服务组合转换到着色Petri网的模型转换方法,该方法采用的具体方案参阅图6和表1,包括如下的步骤:
步骤1,用模型转换模块从语义Web服务组合存储单元中提取待转换的服务组合;
步骤2,将服务组合OWL-S模型中的各个组成部分映射到着色Petri网中的组成元素,形成语义Web服务着色Petri网(SWS-net),具体步骤如下:
步骤2.1,服务的所有消息参数类型对应颜色集∑;
步骤2.2,服务操作运行产生的效果对应变迁发生过程中令牌转移前后的状态;
步骤2.3,存放服务参数的缓冲区对应库所P;
步骤2.4,服务的操作对应变迁T;
步骤2.5,服务中消息的传输方向对应有限弧集F;
步骤2.6,服务的输入输出参数类型对应颜色函数C;
步骤2.7,在输入有向弧上添加时间标识函数值Hin,表示输入参数传输时延,在输出有向弧上添加时间标识函数值Hout,表示输出参数传输时延,当变迁所需参数全部到达时,瞬间完成变迁触发,Hin+Hout表示变迁从发生到完成所需的时延;
步骤2.8,在变迁上添加成本函数R,表示用户使用该服务操作时其自身所需付出的费用;
步骤3,将OWL-S原子过程转换为SWS-net,原子过程是单个服务的一次交互过程,没有子过程,不可以再细分,原子过程与单个Web服务调用相对应。其转换规则如下(见图6):
1)将原子过程映射为变迁t,t命名为原子过程的名称;
2)前提条件(Precondition)和结果(Result)分别映射为输入库所集Pin和输出库所集Pout;
3)输入(Input)映射为输入库所Pin的初始令牌。
步骤4,将OWL-S组合过程转换到SWS-net。OWL-S的组合过程由原子服务或者其他组合服务组合而成,用来表达复杂的业务逻辑。其转换规则如下:
1)对于OWL-S中的顺序(Sequence)结构,转换为表1所对应的着色Petri网结构。其中子过程按照顺序依次执行。
2)对于OWL-S中的选择结构或者如果-那么结构(Choice/If-Then-Else),转换为表1所对应的着色Petri网结构,其中选择结构表示在一组子过程中随机选择一个子过程执行,如果-那么结构表示在两个过程中选择一个执行。
3)对于OWL-S中的任意顺序(Any-Order)结构,转换为表1所对应的着色Petri网结构,它表示一组子过程无序地执行,但不能并发执行。
4)对于OWL-S中的重复-当(Repeat-While)结构,转换为表1所对应的着色Petri网结构。首先检查循环条件,条件为真则执行子过程,否则退出循环。
5)对于OWL-S中的重复-直到(Repeat-Until)结构,转换为表1所对应的着色Petri网结构。首先执行子过程,条件为假则重复执行子过程,直到条件为真退出循环继续执行后续子过程。
6)对于OWL-S中的分支结构或者分支-汇合结构(Split/Split-Join),转换为表1所对应的着色Petri网结构。分支结构表示一组子过程并发执行,当所有子过程都并发执行时,控制结构执行完毕;分支-汇合结构表示一组子过程并发执行后,同步这些子过程,即所有子过程执行完才表示控制结构执行完成。
通过对于OWL-S的6种控制结构到SWS-net的映射,就可以将复杂的组合过程通过这6种控制结构组合成相应的SWS-net。
3.按以下步骤对转换后的SWS-net进行正确性验证:
步骤1,把语义Web服务着色Petri网SWS-net输入到所述正确性验证子模块;
步骤2,计算所述关联矩阵
[aij +]n×m为所有从变迁i到库所j的输出有向弧aij +组成的n行m列矩阵,称为输出矩阵,
[aij -]n×m为所有从库所j到变迁i的输入有向弧aij -组成的n行m列矩阵,称为输入矩阵;
步骤3,设置各库所在初始状态下的令牌数序列M0,M0={P1(0),P2(0),…,Pm(0)},其中P表示库所,共m个库所,P1(0)表示P1库所在第0个状态(即初始状态)时的令牌数;
步骤4,设置各库所在第K个状态时的令牌数序列MK,K表示从初始状态到目标状态所经历的状态数,MK={P1(K),P2(K),…,Pm(K)},其中P表示库所,共m个库所,P1(K)表示P1库所在第K个状态时的令牌数;
步骤5,令变量i=1,Z=0;
步骤6,令 其中Mi-1表示第i-1个状态,表示关联矩阵A的第i个行向量,Mi表示第i个状态;计算得到Mi,它表示为一个m维行向量Mi={P1(i),P2(i),…,Pm(i)},将该行向量中最大的数与变量Z比较,如果其大于Z则令Z等于该最大值,否则Z值不变;
步骤7,若i大于等于K,将i的值加1,重复步骤6,若i小于K,继续进行下一步,K表示从初始状态到目标状态所经历的状态个数;
步骤8,若Z等于1,表示该模型是安全的,否则进行下一步,所述该模型是安全的表示该模型的任一库所中最多可能出现的令牌数为1,即在状态变迁过程中每个库所最多可能出现一个令牌,因此该模型能够安全无溢出的执行完毕;
步骤9,若Z大于1且小于正无穷,表示该模型的界为Z,否则表示该模型错误,所述该模型的界为Z表示模型的任一库所中最多可能出现Z个令牌,Z也称为状态边界,若Z是一个有限的正整数,则该模型也能够正确执行,若Z等于正无穷,说明令牌溢出,模型会出现死锁,若Z等于0,说明模型中从没有令牌,模型没有执行,若Z等于负数,说明系统错误;
4.把步骤3得到的分析结果反馈给用户,如果结果显示该模型正确(即模型是安全的或有界的),则用户可直接使用该模型对服务进行组合并执行;如果结果显示该模型不正确(模型错误),则用户需要对模型修改(使用protégé)并再次执行步骤2和步骤3。
按照发明内容中的初始化设定中的步骤依次完成系统的部署和设定,根据发明内容中的模型转换方法将语义Web服务组合的OWL-S模型转换为着色Petri网模型,并通过正确性验证算法判断语义Web服务组合的正确性。用户根据分析结果决定是否要对模型进行修改,从而保证服务组合能够正确执行。
Claims (1)
1.语义Web服务组合的模型转换及形式化验证方法,其特征在于,所述方法是在计算机中依次按以下步骤实现的:
步骤(1),计算机初始化
安装本体建模工具Protégé,用于建立、删除、修改本体,并把本体存储为网络Web服务本体建模语言OWL-S的格式,
构建语义Web服务组合存储单元,用于存储由所述Web服务本体建模工具Protégé构造、用所述OWL-S格式表示的语义Web服务组合模型,
安装语义Web服务组合模型转换与验证模块,包括:模型转换子模块、语义Web服务着色Petri网存储子模块以及正确性验证子模块,其中:
模型转换子模块,用于把所述语义Web服务组合存储单元中存储的语义Web服务组合转换为着色Petri网模型,转换后的模型命名为“语义Web服务着色Petri网”,其中:
着色Petri网简称CPN,是一个六元组的模型,所述CPN=(∑,P,T,F,C,E),其中:
∑是颜色集合,表示令牌的不同颜色,
P是库所的集合,表示所述着色Petri网模型中所有的库所,
T是变迁的集合,表示所述着色Petri网模型中所有的变迁,
F是有向弧集,表示所述着色Petri网模型中所有的有向弧,每条有向弧连接一个库所和变迁,
C是颜色函数,把所述库所和库所中令牌的颜色对应起来,用C:P→∑表示,
E是弧函数,把每一条有向弧映射到某一个颜色集合,所述某一个颜色集合表示要触发该有向弧所需的令牌颜色及个数,
所述着色Petri网CPN可以由一个n行m列的矩阵A表示,称为该CPN的关联矩阵,A=[aij]n×m,m为库所的个数,1≤j≤m,n为变迁的个数,1≤i≤n, ,其中,
当存在从变迁ti到库所pj的输出有向弧时, 否则,
当存在从库所pj到变迁ti的输入有向弧时, 否则,
语义Web服务着色Petri网SWS-net是一个八元组模型,SWS-net=(CPN,DT,DV,Pin,Pout,Hin,Hout,R),其中,
CPN,是所述着色Petri网模型,
DT,是数据类型定义的集合,
DV,是变量定义的集合,
Pin,是所有输入库所的集合,所述输入库所是经输入有向弧指向变迁的库所,
Pout,是所有输出库所的集合,所述输出库所是从变迁通过输出有向弧所指向的库所,
Hin,是令牌从库所到达变迁所需的时间,
Hout,是令牌从变迁到达库所所需的时间,
R是变迁发生其本身所需消耗的成本,即该变迁所对应的服务操作在执行时所需的费用,是一个已知量,
语义Web服务着色Petri网存储子模块,用于存储所述语义Web服务着色Petri网模型,
正确性验证子模块,用于验证转换得到的所述语义Web服务着色Petri网模型的正确性;
步骤(2),依次按以下步骤实现语义Web服务组合的模型转换以及形式化验证方法:
步骤(2.1),用所述模型转换子模块从所述语义Web服务组合存储单元中提取待转换的Web服务组合模型,
步骤(2.2),把所述语义Web服务组合模型OWL-S中的各个组成部分映射到着色Petri网中的组成元素,形成语义Web服务着色Petri网SWS-net,其步骤如下:
步骤(2.2.1),服务的所有消息参数类型对应所述颜色集合∑;
步骤(2.2.2),服务操作运行产生的效果对应变迁发生过程中令牌转移前后的状态;
步骤(2.2.3),存放服务参数的缓冲区对应库所;
步骤(2.2.4),服务的操作对应变迁;
步骤(2.2.5),服务中消息的传输方向对应有向弧集;
步骤(2.2.6),服务的输入、输出参数类型对应颜色函数;
步骤(2.2.7),在输入有向弧上添加时间标识函数值Hin,表示输入参数传输时延,在输出有向弧上添加时间标识函数值Hout,表示输出参数传输时延,当变迁所需参数全部到达时,瞬间完成变迁触发,Hin+Hout表示变迁从发生到完成所需的时延;
步骤(2.2.8),在变迁上添加成本函数R,表示用户使用该服务操作时其自身所需付出的费用;
步骤(2.3),把所述OWL-S中单个服务的一次交互过程,也称原子过程,与所述SWS-net中单个Web服务调用相对应,其转换规则如下:
把原子过程映射为变迁t,t命名为原子过程的名称,
前提条件映射为输入库所集Pin,结果映射为输出库所集Pout,
输入映射为输入库所的初始令牌,
步骤(2.4),把所述OWL-S组合过程转换到SWS-net,用以表示复杂的业务逻辑,所述组合过程由原子服务或子组合过程组合而成,其转换规则如下:
对于所述OWL-S中的顺序结构,转换为对应的着色Petri网结构,其中子过程按照顺序依次执行,
对于所述OWL-S中的选择结构或者如果-那么结构,转换为对应的着色Petri网结构,其中选择结构表示在一组子过程中随机选择一个子过程执行,如果-那么结构表示在两个过程中选择一个执行,
对于所述OWL-S中的任意顺序结构,转换为对应的着色Petri网结构,它表示一组子过程无序地执行,但不能并发执行,
对于所述OWL-S中的重复-当结构,转换为对应的着色Petri网结构,首先检查循环条件,条件为真则执行子过程,否则退出循环,
对于所述OWL-S中的重复-直到结构,转换为对应的着色Petri网结构,首先执行子过程,条件为假则重复执行子过程,直到条件为真退出循环继续执行后续子过程,
对于所述OWL-S中的分支结构或者分支-汇合结构,转换为对应的着色Petri网结构,分支结构表示一组子过程并发执行,当所有子过程都并发执行时,控制结构执行完毕,分支-汇合结构表示一组子过程并发执行后,同步这些子过程,即所有子过程执行完才表示控制结构执行完成,
步骤(2.5),对步骤(2.4)得到的转换后的SWS-net,按以下步骤进行正确性验证:
步骤(2.5.1),把语义Web服务着色Petri网SWS-net输入到所述正确性验证子模块,
步骤(2.5.2),计算所述关联矩阵
[aij +]n×m为所有从变迁i到库所j的输出有向弧aij +组成的n行m列矩阵,称为输出矩阵,
[aij -]n×m为所有从库所j到变迁i的输入有向弧aij -组成的n行m列矩阵,称为输入矩阵,
步骤(2.5.3),设置各库所在初始状态下的令牌数序列M0,M0={P1(0),P2(0),…,Pm(0)},
步骤(2.5.4),设置各库所在第K个状态时的令牌数序列MK,K表示从初始状态到目标状态所经历的状态数,MK={P1(K),P2(K),…,Pm(K)},
步骤(2.5.5),令变量i=1,Z=0,
步骤(2.5.6),令 其中Mi-1表示第i-1个状态,表示关联矩阵A的第i个行向量,Mi表示第i个状态,计算得到Mi,它表示为一个m维行向量Mi={P1(i),P2(i),…,Pm(i)},将该行向量中最大的数与变量Z比较,若该最大值大于Z则令Z等于该最大值,否则Z值不变,
步骤(2.5.7),若i大于等于K,将i的值加1,重复步骤(2.5.6),若i小于K,继续进行下一步,K表示从初始状态到目标状态所经历的状态个数,
步骤(2.5.8),若Z等于1,表示该模型是安全的,否则进行下一步,所述该模型是安全的表示该模型的任一库所中最多可能出现的令牌数为1,即在状态变迁过程中每个库所最多可能出现一个令牌,因此该模型能够安全无溢出的执行完毕,
步骤(2.5.9),若Z大于1且小于正无穷,表示该模型的界为Z,否则表示该模型错误,所述该模型的界为Z表示模型的任一库所中最多可能出现Z个令牌,Z也称为状态边界,若Z是一个有限的正整数,则该模型也能够正确执行,若Z等于正无穷,说明令牌溢出,模型会出现死锁,若Z等于0,说明模型中从没有令牌,模型没有执行,若Z等于负数,说明系统错误,
步骤(3),把步骤(2)得到的分析结果反馈给用户,若结果显示该模型正确,即模型是安全的或有界的,则用户可直接使用该模型对服务进行组合并执行,若结果显示该模型不正确,则用户需要对模型修改(使用protégé)并再次执行步骤(2)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910236364 CN101808109B (zh) | 2009-10-20 | 2009-10-20 | 语义Web服务组合的模型转换及形式化验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910236364 CN101808109B (zh) | 2009-10-20 | 2009-10-20 | 语义Web服务组合的模型转换及形式化验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101808109A true CN101808109A (zh) | 2010-08-18 |
CN101808109B CN101808109B (zh) | 2012-12-26 |
Family
ID=42609729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910236364 Expired - Fee Related CN101808109B (zh) | 2009-10-20 | 2009-10-20 | 语义Web服务组合的模型转换及形式化验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101808109B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102447735A (zh) * | 2011-11-09 | 2012-05-09 | 重庆大学 | Daml-s组合服务可靠性分析方法 |
CN102722435A (zh) * | 2012-05-25 | 2012-10-10 | 浙江工商大学 | 一种从uml软件模型到排队网络模型的转换方法 |
CN103345541A (zh) * | 2013-06-04 | 2013-10-09 | 华南理工大学 | 一种基于扩展Petri网模型的语义Web服务组合方法 |
CN103646061A (zh) * | 2013-12-02 | 2014-03-19 | 东南大学 | 面向服务的需求分析方法 |
CN105208076A (zh) * | 2015-08-13 | 2015-12-30 | 清华大学 | 一种基于相关性感知的多目标服务组合方法 |
WO2016008085A1 (en) * | 2014-07-15 | 2016-01-21 | Microsoft Technology Licensing, Llc | Data model change management |
CN103902282B (zh) * | 2014-02-28 | 2017-05-17 | 中标软件有限公司 | Web服务组合到有色Petri网的模型转化方法 |
CN106997411A (zh) * | 2017-03-22 | 2017-08-01 | 中国电子科技集团公司第二十八研究所 | 基于着色Petri网能力使命线程形式描述与验证方法 |
CN108647380A (zh) * | 2018-04-02 | 2018-10-12 | 同济大学 | 基于PD-Net的并发系统检错方法、系统、介质及设备 |
CN108681502A (zh) * | 2018-05-21 | 2018-10-19 | 昆明理工大学 | 一种基于分层并行算法的cps软件能耗计算方法 |
US10140323B2 (en) | 2014-07-15 | 2018-11-27 | Microsoft Technology Licensing, Llc | Data model indexing for model queries |
US10157206B2 (en) | 2014-07-15 | 2018-12-18 | Microsoft Technology Licensing, Llc | Data retrieval across multiple models |
CN109583026A (zh) * | 2018-10-30 | 2019-04-05 | 中国电力科学研究院有限公司 | 一种基于Petri网出现序列的继电保护业务建模方法及系统 |
CN109783303A (zh) * | 2017-11-14 | 2019-05-21 | 中国移动通信集团黑龙江有限公司 | 一种相容性判定方法、装置及计算机可读存储介质 |
US10423640B2 (en) | 2014-07-15 | 2019-09-24 | Microsoft Technology Licensing, Llc | Managing multiple data models over data storage system |
Family Cites Families (2)
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 | 北京邮电大学 | 一种网络入侵行为和正常行为的形式化描述方法 |
-
2009
- 2009-10-20 CN CN 200910236364 patent/CN101808109B/zh not_active Expired - Fee Related
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102447735A (zh) * | 2011-11-09 | 2012-05-09 | 重庆大学 | Daml-s组合服务可靠性分析方法 |
CN102447735B (zh) * | 2011-11-09 | 2014-05-07 | 重庆大学 | Daml-s组合服务可靠性分析方法 |
CN102722435A (zh) * | 2012-05-25 | 2012-10-10 | 浙江工商大学 | 一种从uml软件模型到排队网络模型的转换方法 |
CN102722435B (zh) * | 2012-05-25 | 2015-04-08 | 浙江工商大学 | 一种从uml软件模型到排队网络模型的转换方法 |
CN103345541B (zh) * | 2013-06-04 | 2016-10-05 | 华南理工大学 | 一种基于扩展Petri网模型的语义Web服务组合方法 |
CN103345541A (zh) * | 2013-06-04 | 2013-10-09 | 华南理工大学 | 一种基于扩展Petri网模型的语义Web服务组合方法 |
CN103646061B (zh) * | 2013-12-02 | 2017-02-15 | 东南大学 | 面向服务的需求分析方法 |
CN103646061A (zh) * | 2013-12-02 | 2014-03-19 | 东南大学 | 面向服务的需求分析方法 |
CN103902282B (zh) * | 2014-02-28 | 2017-05-17 | 中标软件有限公司 | Web服务组合到有色Petri网的模型转化方法 |
WO2016008085A1 (en) * | 2014-07-15 | 2016-01-21 | Microsoft Technology Licensing, Llc | Data model change management |
US10423640B2 (en) | 2014-07-15 | 2019-09-24 | Microsoft Technology Licensing, Llc | Managing multiple data models over data storage system |
US10140323B2 (en) | 2014-07-15 | 2018-11-27 | Microsoft Technology Licensing, Llc | Data model indexing for model queries |
US10198459B2 (en) | 2014-07-15 | 2019-02-05 | Microsoft Technology Licensing, Llc | Data model change management |
US10157206B2 (en) | 2014-07-15 | 2018-12-18 | Microsoft Technology Licensing, Llc | Data retrieval across multiple models |
CN105208076B (zh) * | 2015-08-13 | 2018-06-15 | 清华大学 | 一种基于相关性感知的多目标服务组合方法 |
CN105208076A (zh) * | 2015-08-13 | 2015-12-30 | 清华大学 | 一种基于相关性感知的多目标服务组合方法 |
CN106997411A (zh) * | 2017-03-22 | 2017-08-01 | 中国电子科技集团公司第二十八研究所 | 基于着色Petri网能力使命线程形式描述与验证方法 |
CN106997411B (zh) * | 2017-03-22 | 2020-09-29 | 中国电子科技集团公司第二十八研究所 | 基于着色Petri网能力使命线程形式描述与验证方法 |
CN109783303A (zh) * | 2017-11-14 | 2019-05-21 | 中国移动通信集团黑龙江有限公司 | 一种相容性判定方法、装置及计算机可读存储介质 |
CN109783303B (zh) * | 2017-11-14 | 2022-05-03 | 中国移动通信集团黑龙江有限公司 | 一种相容性判定方法、装置及计算机可读存储介质 |
CN108647380A (zh) * | 2018-04-02 | 2018-10-12 | 同济大学 | 基于PD-Net的并发系统检错方法、系统、介质及设备 |
CN108647380B (zh) * | 2018-04-02 | 2020-07-14 | 同济大学 | 基于PD-Net的并发系统检错方法、系统、介质及设备 |
CN108681502A (zh) * | 2018-05-21 | 2018-10-19 | 昆明理工大学 | 一种基于分层并行算法的cps软件能耗计算方法 |
CN108681502B (zh) * | 2018-05-21 | 2021-05-14 | 昆明理工大学 | 一种基于分层并行算法的cps软件能耗计算方法 |
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 |
---|---|
CN101808109B (zh) | 2012-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101808109B (zh) | 语义Web服务组合的模型转换及形式化验证方法 | |
Petriu et al. | Applying the UML performance profile: Graph grammar-based derivation of LQN models from UML specifications | |
CN101694643B (zh) | 使用一个或多个自动机的系统验证 | |
Barthès | OMAS—a flexible multi-agent environment for CSCWD | |
CN106021816A (zh) | 一种基于行为树的分布式系统行为仿真分析工具的实现方法 | |
Spanoudakis et al. | Using ASEME methodology for model-driven agent systems development | |
CN101715002B (zh) | 语义Web服务组合的语义一致性验证方法 | |
Labbani | UML and colored petri nets integrated modeling and analysis approach using graph transformation | |
CN101630253A (zh) | 基于面向对象Petri网的并发软件开发方法和系统 | |
Weyers et al. | Formal modeling and reconfiguration of user interfaces for reduction of errors in failure handling of complex systems | |
Zhao et al. | Towards formal verification of UML diagrams based on graph transformation | |
Kumar et al. | Towards a model-based development approach for wireless sensor-actuator network protocols | |
Kerkouche et al. | On the Use of Graph Transformation in the Modeling and Verification of Dynamic Behavior in UML Models. | |
Achilleos et al. | Pervasive service creation using a model driven petri net based approach | |
Fonseca i Casas | Using specification and description language to formalize multiagent systems | |
Kurz et al. | Simulation of a self-optimising digital ecosystem | |
Rieder et al. | A methodology to specify three-dimensional interaction using Petri Nets | |
KR100544918B1 (ko) | 교육용 전력 조류계산 프로그램의 웹서비스를 위한 시스템 | |
Shao et al. | A method for analyzing and predicting reliability of BPEL process | |
Szabo | Composable simulation models and their formal validation | |
Brown et al. | A relational architecture description language for software families | |
Sklenar | Simulation of Queueing Networks in PetriSim. | |
Blas et al. | Tracking Events as an Add-On Functionality of the Routed DEVS Formalism | |
Vertessy et al. | A regional water quality model designed for a range of users and for retrofit and re-use | |
Kidiankin et al. | REAL. NET WEB-WEB-BASED MULTILEVEL DOMAIN-SPECIFIC MODELING PLATFORM |
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 |
Granted publication date: 20121226 Termination date: 20181020 |
|
CF01 | Termination of patent right due to non-payment of annual fee |