基于模糊Petri网的服务发现框架研究_张广胜

基于模糊Petri网的服务发现框架研究_张广胜
基于模糊Petri网的服务发现框架研究_张广胜

计算机研究与发展ISSN1000-1239CN11-1777T P Journal of Computer Research and Development43(11):1886~1894,2006

基于模糊Petri网的服务发现框架研究

张广胜1,2,3 蒋昌俊1,2 丁志军1,2

1(同济大学计算机科学与工程系 上海 201804)

2(国家高性能计算机工程技术中心同济分中心 上海 201804)

3(济南市公安局公共信息网络安全监察处 济南 250001)

(zhanggstide@https://www.360docs.net/doc/d214782769.html,)

Service Discovery Framework Using Fuzzy Petri Net

Zhang Guangsheng1,2,3,Jiang Changjun1,2,and Ding Zhijun1,2

1(Department of Computer Science and Engineering,Tongji University,S hanghai201804)

2(Tongji Branch,National Engineering and Technology Center of High Performance Computer,S hanghai201804)

3(Department of Net work Information Security Superv ision of Public Security Buereau,J inan250001)

Abstract The semantic Web,as presented under W3C recom mendations,deals with hard semantics in the description and manipulation of crisp data.I t does not have the capability to process soft semantics,but much of real wo rld know ledge consists of uncertain or im precise information.In o rder to bridge the g ap be-tw een human understandable soft logic and machine-readable hard logic,a service-o riented multi-agent framew ork is proposed to better integrated Web services and agents.In the proposed service discovery framew ork,agents are classified into three ty pes:service-agent,request-agent and broker.Tw o key issues in the framework are discussed:a service description language and a service matchmaking mechanism.A fuzzy Petri nets-based service description language is proposed as a specification to publish or request for a service,and transition is used to represent a service o r request;input plac es denote preconditions expected to hold before performing the services,and output places denote effects expected to hold after performing the services.M eanw hile,throug h ontology's class hierarchy,a semantic-based service matchmaking is giv-en,w hich can find an appropriate service for a request.Degree of truth is used to quantify the service level that the servic e can satisfy a request,that is,supporting loose m atching.

Key words ontology;loose matching;service discovery;fuzzy Petri net;soft semantic

摘 要 现有的主流服务发现方法不支持模糊逻辑推理,无法处理软计算语义,从而缺乏灵活性.为了弥补人类可理解的软计算逻辑和机器能够识别的硬逻辑的差异,提出了面向服务基于模糊Petri网的Multi-Agent服务发现框架.为支持这一框架,设计了一种模糊Petri网服务描述语言,其主要特点是变迁表示一个服务或者请求;变迁的输入库所表示服务执行前应满足的条件,变迁的输出库所表示只有在所需条件满足的情况下服务才能成功执行.变迁相关的CF值(certainty factor value)表示服务消费者对Agent所提供服务的置信度.其次,提出了支持软计算语义的松弛匹配机制,并且给出了模糊松弛匹配算法;借助于本体库(类库),通过计算命题的真实度,在不精确模糊信息情况下,可以实现服务和请求的模糊松弛匹配.

关键词 本体;松弛匹配;服务发现;模糊Petri网;软语义

中图法分类号 TP311

 收稿日期:2006-07-04;修回日期:2006-08-28

 基金项目:国家自然科学基金项目(60534060,60473094);国家自然科学基金重大研究计划基金项目(90412013);国家“九七三”重点基础研究发展规划基金项目(2003CB316902,2004CB318001-03);上海市优秀学科带头人计划基金项目(04XD14016)

近年来服务计算(SOC )成为学术界和产业界关注的热点话题.而Web 服务是服务计算关键性支持技术之一.通过服务的复用和组合,从而创建增值的服务.然而,在动态、异构和多样化的服务市场中,发现合适的服务是实现服务计算的重要前提.要实现服务发现、调用和组装的自动化,有两个关键问题:首先,如何易于服务发现?互联网上存在大量的服务如软件Agents 和Web 服务正呈指数增长,服务发现不能仅仅依赖关键词搜索,而需要按照服务所提供的功能搜索,这样才能找到确实需要的服务,这就需要语义Web 的支持!目前语义Web 服务的研究主要围绕OW L -S 展开[1].语义Web 服务的主要方法是利用本体来描述Web 服务,然后通过这些带有语义信息的描述实现服务的自动发现、调用和组装.现实世界往往包含很多不确信和不精确的模糊信息.然而,W3C 推荐的语义Web 模型是基于二值逻辑的,不能处理软计算语义(soft semantics ).其次,如何实现基于语义的服务自动组合,服务发现的效果直接关系到服务复用的质量,影响到服务组合的相容性和可替换性,关系到能否真正实现服务的“即插即用”[2].因此,服务发现作为SOC 的一个重要组成部分而倍受关注.

针对上述问题,本文提出面向服务的Multi -A -gent 服务发现框架,它集成了Agent ,Web 服务和信息资源.首先在分析通用服务描述模型的基础上,引入FPNSDL (fuzzy Petri net based service descrip -tion language )来实现语义级松弛匹配.其主要特点是变迁表示一个服务或者请求;变迁的输入库所表示服务执行前应满足的条件,变迁的输出库所表示只有在所需条件满足的情况下服务才能成功执行.变迁的CF 值表示服务消费者对Agent 所提供服务的置信度(confidence level ).另外,为了支持基于FPNSDL 的服务发现,服务注册表能够支持对代理的描述.当前的UDDI 规范不提供这些功能,本文采用了一组分类tmodel 来解决这个问题.最后,提出了支持软计算语义的松弛匹配机制,利用该机制能够计算服务Agent 满足请求Agent 的总体真实度(deg ree of truth ),从而选择真实度最高的服务.

1 面向服务的Multi -Agent 服务发现框架

之所以提出面向服务的M ulti -Agent 服务发现

框架,是因为Agent 具备普通程序所没有的自治性、

响应性、主动性、推理性以及社会性,可以在一定程

度上模拟人类社会的行为,具有一定的智能,能够自主运行,有极大的灵活性和适应性,适合网格这样开放、动态的网络环境.在该框架中,有3类Agent :服

务Agent ,提供资源、信息、产品和领域内问题求解的能力;请求Agent ,服务消费者请求具体的服务;代理Agent (Broker ):Broker 的作用类似于代理服务器.首先,提供者将服务注册到代理处,请求者将请求发给代理;接着,代理找到最合适的服务,转发给请求者;最后,由请求者直接和服务提供者进行交互(见图1).

Fig .1 A service -oriented framework for multi -agent systems .

图1 面向服务的M ulti -Agent 服务发现框架

要实现这个框架,需要:

1)能够提供发布和请求服务的规范描述语言FPNSDL ;

2)能够在语义层次理解Agent 服务的本体语言[3]

;

3)基于FPNSDL 和本体语言的服务松弛匹配的机制[4-5];

4)通过服务复用和组合来实现增值的服务满足服务消费者.

在FPNSDL 中,通过使用本体来明确定义语义,使机器能够进行互操作,主要用在匹配过程.具体参见第3节.为了查找相关的服务Agent ,嵌入代理中的服务匹配器能够支持语义级的匹配和松弛匹配.所谓松弛匹配是指当代理不能精确定位服务A -gent 时,匹配器能够查找最可能满足请求者的服务.可以通过模糊Petri 网推理机来实现松弛匹配.

2 模糊Petri 网和FPNSDL

自1988年Looney 在文献[6]中提出一种使用模糊Petri 网(fuzzy Petri net ,FPN )模型进行模糊

1887

张广胜等:基于模糊P etri 网的服务发现框架研究

推理规则表示和推理的方法以来,FPN模型逐渐被应用于模糊知识表示和知识推理,很多学者进行了广泛和深入的研究[7-8].本文之所以采用FPN作为服务描述语言的基础是因为:

FPN通过清晰暴露服务的行为前提(preconditions)和后果,避免请求Agent发现和选择与自身存在行为前提、后果相互制约的服务,从而阻止发生服务组合不相容的情况[2];FPN能够处理服务的模糊匹配和部分匹配,因而更加灵活高效;与本体描述语言结合易于实现语义级匹配,其图形化表达使我们比较容易理解匹配过程和方法,同时,更方便集成多个服务描述于一体.

2.1 FPN基本概念

FPN[7]应用于模糊推理时,每一个推理规则用一个变迁来表示,推理规则中的命题用库所表示.每一个库所带有一个token值,表示命题的真实度.每一个变迁有相关的CF值,表示推理规则的置信度.

定义1.模糊Petri网是一个八元组FPN= (P,T,F,W,M0,θ,CF,λ),其中P={p1,p2,…, p n}为有限命题集,每个命题对应一个库所;T= {t1,t2,…,t m}为有限变迁集.F(P×T)∪(T×P)表示一个弧集(即流关系);W:F※{1,2,…}表示一个权函数;M0:P※{0,1,2,…}是一个初始标识;θ为真实度向量,θ=(θ1,θ2,…,θn),其中θi∈[0,1]表示命题p i的真实度,i=1,2,…,n.θ0为初始真实度向量;CF={μ1,μ2,…,μm},μj是规则r j成立的置信度,j=1,2,…,m;λ为变迁阈值向量,λ=(λ1,λ2,…,λm)T,λj∈[0,1]表示变迁发生的阈值,j=1,2,…,m.

模糊推理规则表示了模糊命题之间的联系.例如R是一个模糊推理规则的集合,R={R1,R2,…,R n}.推理规则最基本的表示为R i:IF d j TH EN d k(CF=μi),其中d j和d k是含有真实度的命题,其真实度是0,1之间的值,数值越大真实度越高.μi是该推理规则的置信度,介于0,1之间,数值越大置信度越高.定义λj为触发阈值,λj介于0,1之间.如果上面的规则中d j的真实度为y j,y j介于0,1之间,有触发规则:如果y j≥λj,规则可以触发,相应的推理结果命题的真实度为y j×μi;如果y j<λj,规则不能触发.

2.2 FPNSDL

我们提出基于FPN的服务描述语言(FPNSDL),采用OWL语言表示共享领域知识,这样代理Agent易

于获取所存信息的内容,从而实现松弛匹配(见图1).2.2.1 语言规范

FPNSDL是指导Agent在开放的网络环境下发布、请求和匹配服务的规范,它有下列特点(见图2):

Fig.2 T he diag ram of F PNSDL.

图2 F PNSD L示意图

1)推理变迁.在Petri网中,变迁表示前提条件成立所执行的事件或动作,即执行变迁可以产生一定的后果.

2)输入输出变量.推理变迁的输入弧上的变量是实际需要匹配的输入变量;而输出弧上的变量是实际需要匹配的输出变量.

3)输入库所(IP(r)).表示服务执行前输入变量成立(前提条件);输出库所(OP(q))表示服务执行后输出变量成立(后果).

例1.有一修车工(agent)在上海工作专门从事Van维修,可以用图3(a)表示其服务.两个输入库所是执行服务agent的前提条件,输出库所表明执行服务后的效果.假设一人在苏州,其truck坏了,他请求服务来修理,图3(b)表示请求服务.

Fig.3 T he usecase of FPN SDL.(a)A service agent and

(b)A request ag ent.

图3 使用FP NSDL示例.(a)服务agent;(b)请求agent

在面向服务的Multi-Agent服务发现系统中,不同的Agents通过高级通信语言(KQM L)[9]进行通信和知识检索.例1中,FPNSDL嵌入到KQML如图4,图4(a)表示服务agent发布服务到代理;图4(b)表示请求agent从代理那里请求服务,一旦代理接受其请求,它将在服务注册中心(如UDDI)查询相关服务,这里用到服务匹配器.

1888计算机研究与发展 2006,43(11)

(publish

 :sender service -agen t :receiver b roker :ontology service :language FPNSDL :content (:transition t 1,CF =μ1=

1:Input variable (〈x 〉)

:Output variable (〈x 〉):Input places IP 1(r 1):van 〈x 〉is broken IP 2(r 2):〈x 〉is located in S hanghai :Output place OP 1(q 1):van 〈x 〉is functional ))

(a )

(request

:sender request -agent :receiver b roker :ontology service :language FPNSDL :content (:transition t 2,C F =μ2=1

:Input variable (〈y 〉)

:Output variable (〈y 〉):Output places IP 3(r 3):truck 〈y 〉is broken IP 4(r 4):〈y 〉is located in Suzhou :Output place OP 2(q 2):truck 〈y 〉is functional ))

(b )

Fig .4 Publish and request a service via KQ M L .(a )Publish a service via KQ M L and (b )Request a service via K QM L .

图4 利用K QM L 发布和请求服务.(a )利用KQ M L 发布服务;(b )利用KQ M L 请求服务

2.2.2 FPNSDL 的顶层本体

为了实现FPNSDL 的功能,借助于OWL ,我们设计了基于FPNSDL 描述服务基本信息的两类主要本体:服务环境本体(service profile )和服务基础本体(service grounding ).

1)服务环境本体

Fig .5 G eneric service profile onto logy .

图5 基于FP NSDL 的服务环境本体

服务环境本体描述服务是做什么的.图5给出了基于FPNSDL 的服务环境本体.Service Profile 描述一个服务主要包含3方面信息.首先,服务提供者的白页和黄页信息.其次,服务的功能信息.主要是指服务的IOPE 变量.当服务被调用时,Input 和Output 变量是指服务的输入和输出,可以理解为数据的变换;Precondition 和Effect 是指服务的前提条件和效果,可以理解为状态的改变.最后为服务的条件信息.Service Profile 也提供了一种机制来描述

服务的特性,其最大的特点就是双向的:服务提供者可以用Profile 描述服务的功能,服务请求者可以用Profile 描述所需服务的需求.这样服务发现时,匹配器可以利用这些条件信息进行匹配.

2)服务基础本体

服务基础本体描述怎么访问服务.我们定义的服务基础本体主要有Agent 和WSDL 基础这两部分(见图6).关于WSDL 基础与owl -s 关系参见文献[10].Agent 基础主要有提供服务Agent 的U RL 、名称、任务和标识(token ).服务Agent 通过这些标识来体现发布服务和执行任务.

Fig .6 Generic service g rounding ontology .图6 基于F PNSD L 的服务基础本体

3 基于FPNS DL 的服务匹配器和匹配算法

图7包含了这个匹配器的主要模块.匹配器中包含了一个通信模块,一个FPNSDL UDDI 的转换器,一个基于FPNSDL 匹配引擎.所有外部的请求都由通信模块进入匹配器中.这其中包括服务提供者发来的服务advertisements ,服务请求者的inquires .

1889

张广胜等:基于模糊P etri 网的服务发现框架研究

通信模块将advertisements 传递给转换器,对每个服务

提供者来说,转换器利用服务提供者的有关信息结合FPNSDL 扩充的tmodel 信息[参见图8]建立一个

UDDI 服务能力描述(capability description )[11]

,同时,生成该服务的一个索引ID ,把该ID 传给外部的UDDI 注册中心,然后将ID 以及UDDI 服务能力描述一起传给匹配引擎存入Advertisements Data Base .该方法与文献[11]给出的思路类似.另一方面,通信模块将requests 传递给匹配引擎,匹配引擎利用本体,通过逻辑推理来进行服务的松弛匹配,从而找到最合适的服务.右下角的图是匹配引擎的内部结构,其中最重要的部分是FPN 推理机

.

Fig .7 T he interior structure of FPN SDL matching .

图7 F PNSDL 匹配器的内部结构

Fig .8 M apping U DDI to F PNSD L with tmodels .

图8 扩充后U DDI 与FPN SDL 对应关系

3.1 FPNSDL UDDI 转换器

本节给出具体的转换机制.当前的UDDI 规范没有定义FPNSDL 环境,因此,它不支持基于FP -NSDL 描述的服务发现.本文在不改变UDDI 规范和实现的前提下,基于NAICS 标准扩展UDDI 的描

述能力,从而提供对FPNSDL 的支持.为了让UD -DI 支持FPNSDL 环境,本文定义了一些表示FP -NSDL 具体信息的tmodel 见图8.主要有:

FPNSDL tmodel ,发布的服务信息与FPNSDL 规范中的数据模型一致.serviceCategory tmodel ,服务分类.InputVariable tmodel ,OutputVariable tmodel ,服务的输入输出变量.ConditionVariable tmodel ,Con -ditionType tmodel 和hasValue tmodel 分别表示服务的条件变量,条件变量的限制类型和条件变量的值.InstrctionUrl tmodel 是指关于描述服务进程模型参照的文档的Url .图9为旅馆预定服务的限制条件是大单间房(模糊信息).

tmodel key UUID :09551099-2AA3-472A -11E13C712114KeyName ConditionVariable KeyValue h1:RoomType

tmodel key UUID :122025D1-22A3-4D93-3D153C214112KeyName ConditionType KeyValue h1:RoomTypeChoice

tmodel key UUID :19DD2263-09CE -4DCE -6DF1B3C72669KeyNam hasValue KeyValu

h1:l arge single

Fig .9 tmodels for a condition of a hotel res ervation service .

图9 tmodel 表示旅馆预定服务的条件

UDDI 嵌入FPNSDL 的相关信息后,转换器可以利用这些新定义的tmodels ,UDDI 规范生成UD -DI 服务能力描述.例如表示条件的tmodel 可以直接转换,输入输出变量可以从tmodels 直接导出或者利用WSDL 文档的输入输出信息,其他信息可以从UDDI 中的数据模型检索得到.

显然,随着发布advertisements 的用户增加,处理每次查询的时间随之增加,服务发布是一次性的

事情,时间要求不是关键问题[12]

.因此,采用与文献[12]相似的方法,预先进行转换.可见FPNSDL UD -DI 转换器是可行的,在发布阶段其工作效率也是可以接受的(因为可以预先处理).事实上,我们可以通过一些方法来降低发布服务所占用的时间[12]

.3.2 服务匹配引擎3.2.1 相似度和蕴含度

为了实现基于语义服务匹配,匹配引擎需要计算进行匹配的这两个类的置信度.在给出类蕴含度定义之前,我们首先给出相邻的超类和其子类之间的相似度的定义.

定义2.同一本体图中,相邻的超类c 1与其子类c 2之间的相似度s (c 1,c 2):s ×s ※[0,1].

1890计算机研究与发展 2006,43(11)

根据文献[13-14]给出的方法,我们可以求得类之间每个(c1,c2)相似度的初值,例如图10中,类Automobile和Van的相似度为0.7.

定义3[5].类c1和c2的最具体超类G t(c1,c2)有G t(c1,c2)={g general(g,c1)∧general(g,c2)∧(c ≠g)(ge neral(c,c1)∧gene ral(c,c2))general(c,g)},其中general(x,y)是谓词函数,表明x比y更一般(如x是y的一个超类).需要说明的是如果类c1和c2位于不同的本体图中(本文不考虑不同本体的异构问题),那么不存在最一般超类即G t(c1,c2)不存在.例如图10(a)G t(Van,Truck)=Automobile,但是,类Van与类China不存在最一般超类

.

Fig.10 The o ntolog y hierarchies of transportation and g eog raphy.(a)A ontology hierarchy of transportation and

(b)A o ntology hierarchy of wo rld.

图10 交通工具本体图和地理位置本体图.(a)交通工具本体图[5];(b)地理位置本体图

定义4.在一个本体图中,设类c1和c2相似度

为s(c1,c2),s(c1,c2)是指从类c1到c2的最短路

径上所标的相似度值的乘积,即

(1)s(c1,c2)=s(c1,G t(c1,c2))×s(c2,G t(c1,

c2));

(2)s(c1,c2)=1, if c1=c2;

(3)s(c1,c2)=0, if G t(c1,c2)不存在.

例如,图10(a)类Van和类Truck的相似

s(Van,Automobile)×s(Truck,Automobile)=

0.7×0.8.

借鉴文献[15]的蕴含度(implication degree)的

思想,我们定义两个类的蕴含度作为服务匹配请求

的置信度.

定义5.两个类的蕴含度.设I(c1※c2)表示类

c1蕴含类c2的程度,有

(1)I(c1※c2)=1,if G t(c1,c2)=c2;

(2)I(c1※c2)=s(c1,c2),if G t(c1,c2)≠c2

and c1,c2在一个本体图中;

(3)I(c1※c2)=0,if c1,c2不在一个本体图中.

例如,图10(a)中,蕴含度

I(Van※Automobile)=1,

 I(Automobile※Van)=0.7,

 I(Van※Truck)=0.56.

3.2.2 模糊匹配算法

一个请求有m个输入库所描述接收服务之前

请求所处的状态,其输出库所表示所需要的服务;对

于一个有n个输入库所(n≤m)的服务可以通过下

面的算法被选做与请求匹配的服务.

算法1.

Step1.在一个本体图中,基于语法与语义信

息,查找类cq1(服务的输出库所信息)和cq2(请求

的输出库所信息)在本体图中的合适位置.[注:语法

匹配主要是在同一本体中检索相同的类名,语义匹

配进一步验证找到的类是不是与cq1或cq2有相同

的性质.]

Step2.如果类cq1与cq2位于不同的本体图

中,表明它们不属于同一本体,选择另一个服务来与

请求进行匹配,返回Step1.

Step3.引入推理变迁t3(t3的输入库所是

OP1(q1),输出库所是OP2(q2)),计算t3的置信度

即μi=I(cq2※cq1)=I(OP(q1)※OP(q2)).如果

类cq2是cq1的子类,表明服务Agent能提供多个

服务来满足请求.如果执行服务的前提条件都满

足,那么该步主要是计算服务Agent匹配请求A-

gent的置信度.

Step4.根据服务的输入库所IP k(r k)(k=1,

…,n)和请求的输入库所IP l(r l)(l=n+1,…,

n+m),通过语法和语义匹配找到类cr k和cr l在本

体图中的合适位置.

Step5.如果任意一对cr k和cr l不在一个本体

图中,也就是目前的服务不满足要求,那么选择另一

个满足请求的服务返回Step1.

Step6.当类cr k和cr l在同一本体图中时,计算

请求输入库所IP l(r l)(l=n+1,…,n+m)推理出

1891

张广胜等:基于模糊P etri网的服务发现框架研究

服务输入库所IP k (r k )(k =1,…,n )的置信度(即推

理变迁t 4,…,t n +3的置信度).该步骤主要是计算满足服务执行前提条件的置信度.

Step7.对一个请求的所有输入库所配置标识M 0,其真实度向量为θ[注:每个命题真实度初始值为1,当库所有token 时,表示与库所关联的条件为真],然后通过推理变迁(t 4,…,t n +3)执行模糊推理(推理变迁的输入库所是请求输入库所,输出库所是服务输入库所),推理变迁的置信度由Step6得到.

Step8.引发变迁t 1,t 3来执行模糊推理,从而求出命题的真实度,即服务可以实现匹配的程度.真实度说明服务满足请求的程度.

例2.接例1(图11),首先从图10的本体图中找到类Van 和Truck 的位置(根据服务和请求的输出库所提到的信息);接着,计算变迁t 3的置信度μ3=I (

cq 2※cq 1)=I (Van ※T ruck )为0.56,这表明如果服务执行的前提条件都成立,修车工维修坏了的Truck 的可能性为0.56.第3步,根据服务和请求的输入库所提到的信息从图10中找到Van ,Truck ,Shanghai 和Suzhou 的位置;第4步是计算t 4和t 5的置信度,分别为0.56和0.63,这说明服务执行的两个前提条件的可能性分别为0.56和0.63;最后,推理变迁t 4,t 5,t 1和t 3按照顺序引发,这样我们可以得到服务满足请求的可能性为0.31,即修

车工去苏州修好坏了的Truck 的可能性为0.31.

考虑比较复杂一点的情况,有3个服务很可能满足请求,除了先前提到的修车工(设为A )在上海修理Van ,修车工B 在杭州修理Truck ,修车工C 工作在苏州修Car .假设有个Truck 坏在苏州,在这种情

形下B 的置信度μB

3=I (c q 2※cq 1)=I (Truc k ※Truck )=1,即OP 1(q 1)※OP 2(q 2)的匹配成功的可能性为1,通过分别计算IP 3(r 3)※IP 1(r 1)和IP 4(r 4)※IP 2(r 2)的置信度也即计算t 4和t 5的置信度分别为1(I (Truc k ※Truck )=1)和0.56.推理变迁t 4和t 5,t 1,t 3按照顺序引发,这样我们可以得到服务满足请求的可能性为0.56,即修车工B 去苏州修好坏了的Truc k

的可能性为0.56.然而,修车工C 的置信度μC

3=I (cq 2※c q 1)=I (Car ※Truc k )=0.72,即OP 1(q 1)※OP 2(q 2)的匹配成功的可能性为0.72,这是模糊匹配的情况.通过分别计算IP 3(r 3)※IP 1(r 1)和IP 4(r 4)※IP 2(r 2)的置信度也即计算t 4和t 5的置信度,分别为0.72(I (Car ※Truck )=0.72)和1(I (Suzhou ※Suzhou )=s (Suzhou ,Suzhou )=1),推理变迁t 4和t 5,t 1,t 3按照顺序引发,这样我们可以得到服务满足请求的可能性为0.51,即修车工C 修好坏了的Truck 的可能性为0.51.由于B 具有完成任务的最高的可能性,我们选择B 来执行任务,从而实现模糊匹配

.

Fig .11 M atching service in the example .(a )Ma tching request with service and (b )M atching

request w ith service in the example .

图11 服务匹配示意图.(a )服务匹配请求的示意图;(b )服务匹配请求的例子

 ①http : w ww -306.ibm .com software integration w sadie ;②http : w w w .ibepace .com technology fuzzy .html ;③h ttp : w s .apache .org juddi ;

 ④http : p rotege .stanford .edu

4 实验结果及分析

为了检验本文所提出的FPNSDL 描述语言及

其松弛匹配在实践应用中的可行性和有效性,设计并实现一个Web 服务发现的原型系统FPNSDS (FPN service discovery system ).原型系统是用IBM

的WSADIE V6.0①,PACE ②

(用作FPN 推理机)和

jUDDI ③实现的,本体库是用Pro t ég é3.0④

建立的.

为了尽可能说明匹配效率,统一通过JUDDI 发布服务到本地机器数据库.用户可以根据个人的偏好选择匹配度(即本文所说的命题真实度)高、标准、

1892计算机研究与发展 2006,43(11)

 ①http : w w w .racer -systems .com

中、差4个级别.依照模糊逻辑通行的做法,FPNSDS 对把命题真实度划分为高(0.8~1.0),标准(0.6~0.8),中(0.4~0.6),差(0.4以下).为了计算方便,按照高:1.0,标准:0.8,中:0.6,差:0.4取值.①FP -NSDL ,查询匹配度为标准和中的Web 服务;②OWL -S UDDI [12]

,查询结果为满足基于RACER ①

推理的精确匹配的Web 服务.图12给出两个系统的Web 服务查准率和查全率的实验对比结果,图13给出两个系统平均响应时间.

F ig .12 Comparison of two ma tchmakers on recall

and precision .

图12 两种匹配器查准率和查全率比较

Fig .13 Response time of the two matchmakers .图13 两种不同模式匹配器响应时间比较

实验总结如下:①OWL -S UDDI 具有较高的查准率,但查全率相对较低,FPNSDL 匹配器有较高的查全率和OWL -S UDDI 相近的查准率(FPNSDL 匹配度为标准时查全率也比较低).这说明FPNS -DL 匹配器能很好满足服务发现的多方面的需求(如调整匹配度).②FPNSDL 匹配器与OWL -S UDDI 的响应曲线随样本数目的增加而增加,但是FPNSDL 匹配器增加的幅度较慢.这表明FPNSDS 原型系统较好地满足服务发现效率的要求.

5 相关工作

文献[2]设计了一种基于服务质量的轻量级

Web 服务描述语言QWSDL 和服务匹配模型,引进相似函数来度量松弛匹配的服务相似程度,该方法不支持模糊语义匹配.文献[5]提出可能性逻辑Petri 网作为Agent 描述语言,由于支持可能性逻辑,所以实现基于可能性逻辑为基础的匹配,但是基于可能性逻辑的推理比较复杂,加之该方法缺乏基于本体的语义匹配机制,从而难以实现真正的基于语义的服务发现.文献[16]提出一个模糊匹配服务发现框架,主要是利用模糊逻辑把描述Web 服务数据进行抽象和分类成一些模糊术语和规则,目的是利用这些术语和规则实现模糊查询和增加发现服务的能力,该方法不支持语义匹配.在文献[17]中,作者把Agent 所提供服务的总体性能作为指标,借助领域本体,代理Agent 建立了动态的服务Agent 分布模型,请求Agent 从而实现部分匹配,但是作者没有讨论模糊匹配的情况,所以难以处理软计算语义.

6 结束语

本文提出了面向服务基于模糊Petri 网的M ul -ti -Agent 服务发现框架,并且针对该框架提出了FP -NSDL 描述语言来发布和请求服务,FPNSDL 有以下优点:

①能够图形化清晰地表示服务的内容、前提条件和后果,且FPN 推理机能够提供强大的模糊逻辑推理能力;②借助FPN 能够处理模糊信息从而实现模糊匹配;③借助Petri 网精炼和化简技术,可以有

效的对多个服务进行建模和推理;④由于FPNSDL 支持OWL ,从而易于实现基于语义的服务匹配.

由于把服务匹配器嵌入到代理里面,借助于本体库,通过计算命题的真实度,可以实现服务和请求的模糊松弛匹配(也可以通过调整推理变迁的阈值来调整匹配服务的数量).需要进一步研究的问题是在Multi -Agent 服务发现框架中实现服务合成问题.

参 考 文 献

[1]

A G ómez -P érez ,R G Cabero ,M lama .ODE SWS :A frame -work for designing and composing seman tic Web services [J ].IEEE Intel ligen t S ystems ,2004,19(4):24-31[2]

Hu Jianqiang ,Zou Peng ,Wang Huaimin ,et al .Research on Web service description language QWS DL and service matching model [J ].Chinese Jou rnal of Computers ,2005,28(4):505-513(in Chinese )

1893

张广胜等:基于模糊P etri 网的服务发现框架研究

(胡建强,邹鹏,王怀民,等.Web服务描述语言QWSDL和服

务匹配模型研究[J].计算机学报,2005,28(4):505-513) [3]M N Huhns,M P S ingh.Ontologies for agents[J].IEEE In-

ternet Computing,1997,1(6):81-83

[4]D Trastour,C Bartol ini,J G Castillo.A service Web approach

to service description for matchm aking of services[R].HP

Labs,Tech Rep:HPL-2001-183,2001

[5]Lee Jonathan,F R Liu Kevin,Y C Wang,et al.Possibil istic

Petri nets as a bas is for agent service description language[J].

Fuzzy Sets and System s,2004,144(1):105-126

[6]C G Looney.Fuzzy Petri nets for rule based decision making

[J].IEEE Trans on System,M an,and Cybernetics—Part A,

1998,SM C-18(1):178-183

[7]S M C hen,J S Ke,J F Chang.Knowledge representation us ing

fuzzy Petri nets[J].IE EE Trans on Know l edge and Data Engi-

neering,1990,2(3):311-319

[8]Gao M eimei,Zhou M engchu,Huang Xiaoguang,et al.Fuzzy

reasoning Petri nets[J].IEEE T rans on S ystem,M an,and

Cybernetics—Part A,2003,33(3):314-324

[9]T Finin,Y Labrou,J M ayfiel d.KQM L as an agent communi-

cation language[G].In:J Bradshaw ed.Software Agents.

Cambrideg,M A:M IT Press,1997

[10]h ttp:ww https://www.360docs.net/doc/d214782769.html,~barry Web s ervices ow l-s-w s dl.

pdf,2003

[11]Paolucci,et al.Importing the semantic W eb in UDDI[G].In:

LNCS2512.Berlin:Springer-Verlag,2002.225-236

[12]N Srinivasan,M Paolucci,K S ycara.An efficien t algorithm for

OW L-S based s emantic search in UDDI[G].In:LNCS3387.

Berlin:S pringer-Verlag,2005.96-110

[13]T Joachims.A probabilistic analysis of the Rocchio algorithm

w ith TFIDF for text categorization[C].In:Proc of ICM L-97.

San Francisco:M organ Kanfmann,1997.143-151

[14]Zhang Rong.Study on ontology based Web service discovery and

compos ition tech nique:[M aster dissertation][D].Shenyang:

Northeastern University,2004(in Chinese)

(张蓉.基于本体的Web服务查找及合成技术的研究和实

现:[硕士论文][D].沈阳:东北大学,2004)[15]E Ruspini.On the seman tics of fuzzy logic[J].International J

Approx Reason,1991,(5):45-88

[16]Chao Kuo-M ing,M Younas,Lo Chi-Chun,et al.Fuzzy

matchmaking for Web s ervices[C].The19th Int'l Conf on

AINA,Taipei,Taiw an,2005

[17]Luan Xiaocheng,Peng Yun,T W Finin.Quantitative agent

service matching[C].The2004IEEE WIC ACM Int'l Conf

on Web Intelligence(W I'04),Beijing,2004

Zhang Guangsheng,born in1975.Ph.D.

candidate.His main research interests in-

clude g rid computing,Pe tri net,semantic

grid,service security and digital evidence.

张广胜,1975年生,博士研究生,主要研究

方向为网格计算、Pe tri网、语义网格、Web 服务安全和电子证据.

Jiang C hangjun,bor n in1962.P h.D.,

professo r,and Ph.D.supervisor.His main

research interests include theory and applica-

tion of Petri net,fo rmal language and au-

tomata theory,concurrency theory and par-

allel processing and grid technique.

蒋昌俊,1962年生,博士,教授,博士生导师,主要研究方向为Petri网理论及应用、并发理论与并行处理、网格技术(cjjiang@https://www.360docs.net/doc/d214782769.html,).

Ding Zhijun,born in1973.Ph.D.candi-

date.His main research interests include g rid

co mputing,Petri net and semantic grid.

丁志军,1973年生,博士研究生,主要研究

方向为网格计算、Petri网、语义网格(zhijun

ding@https://www.360docs.net/doc/d214782769.html,).

Research Background

T he need to deal w ith imperfect and imprecise info rma tio n is likely to be common in the contex t o f multimedia and the(seman-tic)Web.In anticipation of such requirements,this paper presents a proposal fo r fuzzy extensions of agent service description lan-guage via FP N.W e propose a service-oriented multi-agent framewo rk as an attempt to wards the construction o f a multi-agent frame-w ork that can better integrated agents,Web applications and information sources.We begin with the devise of a matchmaking engine based on FPN,a fuzzy Petri nets-based service descriptio n language(FP NSDL)and a FP NSDL UDDI translator.We intro duce a F P-N SDL UDDI transla tor that utilizes our newly-defined tmo dels in U DDI registry in helping the integration of Web service infrastruc-ture w ith multi-agent system.F PNSD L is proposed as a specification to publish or request for a service.V ia o ntology's hierarchy,w e g ive a semantic-based service matchmaking that can find an appropriate service for a request.Degree of truth is used to quantify a ser-vice level that the service can satisfy a request,that is,suppor ting loose matching.T his wor k is par tially suppo rted by the N ational Basic Research Prog ram of China(973Prog ram)(N o.2003CB316902,N o.2004CB318001-03),the National Natural Science F und(90412013,60473094),and the Shang hai Science&T echnolog y Research Plan(N o.04XD14016).

1894计算机研究与发展 2006,43(11)

Petri网知识点

1.一个经典的Petri网由四元组(库所,变迁,输入函数,输出函数)组成。 2.如果一个变迁的每个输入库所(input place)都拥有托肯,该变迁即为被允许(enable)。一个变迁被允许时,变迁将发生(fire),输入库所(input place)的托肯被消耗,同时为输出库所(output place)产生托肯。 3.高级模型: 为了解决经典Petri网中的问题,研究出了高级Petri网,在以下方面进行了扩展:o 令牌着色 一个令牌通常代表具有各种属性的对象,因此令牌拥有值(颜色)代表由令牌建模的对象的具体特征,如一个令牌代表一个工人(张三,28岁,经验3级)。 o 时间 为了进行分析,我们需要建模期间,延迟等,因此每一个令牌拥有一个时间戳,变迁决定生产出的令牌的延迟。(这类Petri网模型规定每个变迁都具有有限的引发时延,其触发规则被修改为:每一个触发变迁都有一个时延过程;一个变迁一旦使能必须立即触发。) o 层次化 构造一个复杂性与数据流图相当的Petri网的机制。子网是由库所,变迁和子网构成的网络。 o 时序 增加时序逻辑的定义,更好的描述行为过程 4.两个库所或变迁之间不允许有弧 5.有两个变迁都被允许的可能,但是一次只能发生一个变迁 6.Petri网络是静态的 7.Petri网的状态由托肯在库所的分布决定 8.两个变迁争夺一个托肯的情形被称之为冲突 9.多个弧连接两个节点的情况。在输入库所和变迁之间的弧的个数决定了该变迁变为被允许需要的令牌的个数。弧的个数决定了消耗/产生的令牌的个数

10.petri网基本概念:Petri网是一种用有向图及称为初始标识的初始状态表示的特殊的系统模型其中有向图由库所变迁以及从库所到变迁或者从变迁到库所的有向弧组成,称为Petri网结结构。标识是一个m维数组(m为库所个数),它的一元素对应一库所,取值为非负整数。标识代表系统的状态。 11.不同类型的资源相应地,变迁的发生就可能不只是简单地复制和传递令牌,而是要对从输入库所取来的令牌经过加工,变成新颜色的令牌后再传递给输出库所这就是有色Petri网的两个特别之处:令牌是有颜色的,变迁的发生可以改变令牌的颜色。 12. 13.Petri网的归纳分析技术 归纳分析技术是针对Petri网的状态复杂性而提出的。一般来说,一个规模不大的系统,可能会出现状态组合爆炸的危险,从而给分析带来困难,对此人们提出化简和分解的思想。 化简是将一个较复杂的Petri网简化成一个比较简单Petri网而又要保留一些性质不变的同态变换过程,这个过程减少了可达状态空间,通过对简单网的分析,能为理解原网性质提供充分的信息。 分解的思想即是分而治之,是将一个复杂的网系统分解成若干较为简单的网系统,分解过程也要保持一些性质不变。这样,通过分析简单的子网系统便可以了解复杂的网系统。

petri网基础知识

Petri网的概念:Petri网是对离散并行系统的数学表示。 经典Petri网:经典的Petri网是简单的过程模型,由两种节点:库所和变迁,有向弧,以及令牌等元素组成的。 Petri网的结构: (一)、形式化的定义: 1.petri网的元素: 库所(place)圆形节点 变迁(transition)方型节点 有向弧(connection)它是具有方向的,是库所和变迁之间的有向弧 令牌(token)它是库所中的动态对象,可以从一个库所移动到另一个库所。

2.Petri网的规则: 1.有向弧是有方向的 2.两个库所之间变迁是不允许有弧的。 3.库所可以拥有然一数量的令牌。 4.O行为 如果一个变迁的每个输入库所(input place)都拥有令牌,该变迁即为 被允许(enable)。一个变迁被允许时,变迁将发生(fire),输入库所(input place)的令牌被消耗,同时为输出库所(output place)产生令牌。 5. 变迁的发生是原子的,也就是说,没有一个变迁只发生了一半的可能性。 6. 有两个或多个变迁都被允许的可能,但是一次只能发生一个变迁。 这种情况下变迁发生的顺序没有定义。 7. 如果出现一个变迁,其输入库所的个数与输出库所的个数不相等,令牌的 个数将发生变化,也就是说,令牌数目不守恒。 8.petri网事静态的也就是说,不存在发生了一个变迁之后忽然冒出另一个变迁 或者库所,从而改变Petri网结构的可能。 9. Petri网的状态由令牌在库所的分布决定。也就是说,变迁发生完毕、下一 个变迁等待发生的时候才有确定的状态,正在发生变迁的时候是没有一个确 定的状态的。 3.petri网的类型: (1)基本petri网:每个库所容量为1,这样库所可称为条件,变迁可称为事件。故而又称为条件/事件系统C/E CE模型的基本关系

相关文档
最新文档