收藏 分享(赏)

基于Petri网的Web服务建模.doc

上传人:dzzj200808 文档编号:2290420 上传时间:2018-09-09 格式:DOC 页数:10 大小:558.54KB
下载 相关 举报
基于Petri网的Web服务建模.doc_第1页
第1页 / 共10页
基于Petri网的Web服务建模.doc_第2页
第2页 / 共10页
基于Petri网的Web服务建模.doc_第3页
第3页 / 共10页
基于Petri网的Web服务建模.doc_第4页
第4页 / 共10页
基于Petri网的Web服务建模.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、软件开发方法与技术 基于 Petri 网的 Web 服务建模鲍娌娜 唐作用 刘智杰 柳津 韩雪娇 1基于 Petri 网的 Web 服务建模(东南大学)摘 要:目前 Petri 网是对 Web 服务进行建模的重要工具之一。本文在介绍 Web 服务和Petri 网的基础上,对基于 Petri 网的 Web 服务建模进行了综述,分别讨论了基于有色 Petri网、时间 Petri 网、面向对象 Petri 网和分层 Petri 网的 Web 服务模型。最后简单介绍了Web 服务组合的 Petri 网模型及其应用。关键字:Web 服务建模;Petri 网模型;Web 服务组合建模1 引言近年来 Web

2、 服务(Web Services)作为一种新兴的 Web 应用模式,是一个崭新的分布式计算模型,是 Web 上数据和信息集成的有效机制,发展非常迅速。 Web 服务是当前实现面向服务的体系结构 SOA(Service-Oriented Architecture)范型最有前景的技术。Web 服务技术的广泛应用使得 Web 服务正逐步成为 Internet 网络环境中资源封装的标准形式。随着部署在 Internet 上的 Web 服务不断丰富,这些可被公共访问和集成的服务构成了一个潜在的巨大标准组件库。在 Web 服务互操作技术的基础上,提供高层的 Web 服务集成手段、实现Web 服务组合成为

3、Web 服务技术发展的自然需求。Web 服务是基于 XML 和 HTTPS 的一种服务,是一种新的 Web 应用程序 1分支,他们是自包含、自描述、模块化的应用,可以发布、定位、通过 Web 调用。简单的说,Web service 就是一个应用程序,它向外界暴露出一个能够通过 Web 进行调用的 API,用编程的方法通过 Web 来调用这个应用程序。Web 服务平台是一套标准,它定义了应用程序如何在 Web 上实现互操作性。这样一来,服务方可以用任何语言,在任何平台上写 Web 服务,只要可以通过 Web 服务标准就可以对这些服务进行查询和访问。单个 Web 服务的功能有限,难以满足实际应用中

4、多种多样的需求。为了更加充分利用Web 服务,有必要将共享的 Web 服务组合进来,提供更强大的服务。Web 服务组合 2是将多个自治的 Web 服务按照一定的逻辑顺序组织起来构成新的功能更强大的 Web 服务,它为复杂的 Web 应用提供了有效的解决方案。在实现 Web 服务时需要对 Web 服务进行建模,以实现可靠的服务。通过简化一些细节,模型可以帮助我们理解系统。如何选择建模对象对理解问题和提供解决方案有重大影响。Web 应用程序与其他软件密集型系统一样,通常由用例模型、实施模型等一组模型来表示。Web 系统还另有一个专用模型,即站点图。站点图是对贯穿整个系统的 Web 页和导航路线的抽

5、象。一个好的 Web 服务模型是实现一个具有高度灵活性、可靠性、可实用性、易于操作性的服务系统的关键和基础。总结当前的 Web 服务建模方法,主要分为语法方法、语义方法和形式化方法等。其中Petri 网就是一种可行的形式化方法。本文主要分析的是基于 Petri 网的 Web 服务建模方法,并在此基础上介绍几种高级 Petri 的建模方法。2 Petri 网相关基础知识Petri 网 3是对离散并行系统的数学表示。Petri 网最早是由德国学者 Carl Adam Petri 博士在 1962 年提出来的,适合于描述异步的、并发的计算机系统模型。Petri 网既有严格的软件开发方法与技术 基于

6、Petri 网的 Web 服务建模鲍娌娜 唐作用 刘智杰 柳津 韩雪娇 2数学表述方式,也有直观的图形表达方式,既有丰富的系统描述手段和系统行为分析技术,又为计算机科学提供坚实的概念基础。一个 Petri 网是一个有向连通图,其节点分别称为库所和变迁,每个库所代表一种资源,而库所中的托肯数表示资源的数量,当变迁 t 的所有输入库所中都至少含有一个托肯时(标识 M),t 就可以发生,记为Mt。 变迁发生的结果是从每个输入库所中移除若干个托肯,而给每个输出库所移入若干个托肯。此时到达标识 M记为 MtM。一个经典的 Petri 的数学表达如下:Net(S,T;F)STS TFS TT Sdom(F

7、) cod(F)ST其中 S 是库所(状态)的集合,T 为变迁(事件)的集合。在形式化表达中,通常用圆圈或椭圆表示库所,用方框或粗杠表示变迁,用箭头表示流关系的图形的示例,如 图表 1:t 1s 1t 2s 2 s 3 s 4 s 5s 6t 3 t 4s 7s - tt - s两种弧图表 1 Petri 网中的形式化表达Petri 网是一个良好的过程建模方法,在库所中添加表示状态信息的托肯分布,并按引发规则使得变迁引发驱动状态演变,从而反映系统动态运行过程。采用 Petri 网来建立模型有许多优点,主要有两个:其一是其图形化的描述比较容易让用户理解系统模型,其二是可以利用 Petri 网对模

8、型进行形式分析和验证。3 基于 Petri 网的 web 服务建模3.1 基于普通 Petri 网的 web 服务模型Web 服务在行为上是操作的偏序集,因此适宜用 Petri 网进行建模。一个 Web 服务可以直接映射为一个 Petri 网, Web 服务中的操作作为变迁, Web 服务的状态作为库所,操作和状态之间的因果关系则作为库所和变迁之间的流关系。同时我们假设每个 Web 服务的Petri 网都有一个输入库所 i 代表其输入信息和一个输出库所 o 代表其输出信息。Web 服务的状态不外乎“未实例化、就绪、执行、暂停和完成”这五种,当 Web 服务处于就绪态时意味着输入库所 i 中有托

9、肯,与 i 相连的某个变迁具有发生权。此时 Petri 网标识记为 ;iM处于“完成”态时就表示输出库所 o 中有托肯,且不再有任何变迁可发生。此时 Petri 网标软件开发方法与技术 基于 Petri 网的 Web 服务建模鲍娌娜 唐作用 刘智杰 柳津 韩雪娇 3识记为 。因此,可以对一个 Web 服务作如下定义:oM四元组 S=( SName,SWsdl, CS,SN) 为一个 Web 服务当且仅当它满足下面几个条件:(1) SName 服务名称,是 Web 服务的唯一标识;(2) SWsdl 为 Web 服务描述,其中描述了服务功能,服务调用地址;(3) CS 为构成 Web 服务的组件

10、服务(Component Service)集合, (4) SN=(P,T, F,I,o,l, , )为 Web 服务的 Petri 网,其中:iMoP 为有限库所集,其中每个库所代表一种状态,其容量是无限的;T 为有限变迁集,其中每个变迁代表 Web 服务中的一个操作;FPTTP 为流关系,其中每条有向弧代表一个从操作到状态或从状态到操作之间的因果关系;i 为输入库所,o 为输出库所,且 i 的前集和 o 的后集都不能为空;l:T-At ,其中 A 为 Web 服务中的操作集而 t 为空操作;和 分别为 SN 的起始标识和终止标识。iMS 1i 1ao 1S 2i 2bo 2.图表 2 两个独

11、立 Web 服务的 Petri 网描述显然,当 SN 处于标识 时 S 开始执行,直到 SN 处于标识 时 S 结束,空操作 tiMoM用黑色方框表示。 图表 2 为两个独立 Web 服务的 Petri 网描述。3.2 基于高级 Petri 网的 web 服务模型高级 Petri 网是对经典 Petri 网的进一步抽象,通过对网系统中的托肯进行分类或者解析,使网系统的基本元素减少,从而达到缩小网系统的目的。目前,比较成熟的高级 Petri网主要有: 有色 Petri 网、时间 Petri 网、OOP Petri 网和层次 Petri 网,下面分别将对基于这几种 Petri 网的 Web 服务建

12、模进行讨论。3.2.1 基于有色 Petri 网的 Web 服务模型有色 Petri 网(Colored Petri Net,简称 CPN)由传统 Petri 网折叠而成。CPN 具有很强的表达过程的能力和很强的数学建模能力。现在已经证明 CPN 与 PN 是等价的,CPN 还具有表达简练灵活的特点,能够满足更复杂业务流程的表达。因此基于 CPN 建模的方法完全具备 Web 服务组合建模的能力,并能适应现代企业业务流程复杂多变的特点 3。CPN 是在经典 Petri 网的基础上对托肯进行了颜色扩展,将库所中的托肯染色。每个托肯,根据值不同而具有不同的颜色,一个托肯的所有颜色集合称为一个颜色集。

13、这样一个库所中就可以包含几个不同颜色的托肯。要使变迁能够发生必须指定消耗输入库所中的那一类颜色托肯。与变迁的有向弧相连的输入库所中含有所要求的托肯,若满足变迁表示的条件,则变迁被激发,产生新的托肯,新托肯被送到变迁的输出库所中。定义 1 有色 Petri 网(CPN)是一个 9 元组 Petri 网 4,CPN=(,P,T,A,N,C,G,E,I), 其中软件开发方法与技术 基于 Petri 网的 Web 服务建模鲍娌娜 唐作用 刘智杰 柳津 韩雪娇 4(P,T,A)是一个基本 Petri 网:(l)是一个非空的类的有限集合,即颜色集合(Color Sets);(2)P 是一个库所的集合;(3

14、)T 是一个变迁的有限集;(4)A 是一个弧的有限集,满足:P T=PA=TA= ;(5)N 是一个节点函数 (Node function),是定义从 A 到 PTTP 的函数;(6)C 是一个颜色函数(Color function),是定义从 P 到的函数;(7)G 是一个哨所函数 (Guard function),是定义在 T 上的表达式,满足:任意 tT:Type (G(t)=BType(Var(G(t) ;(8)E 是一个弧表达式函数(Arc Expression function),是定义在 A 上的表达式,满足: 任意 aA:Type (E(a)=C(p)msType(Var(E(

15、a) ;(9)I 是一个初始化函数(Initialization function),是定义在 P 上的封闭表达式(Closed expression),满足:任意 pP:Type(I(p)=C(p) MS。定义 2 一个基于有色网的 web 服务模型是一个三元组,CPN_WS=(CPN,IN,OUT) 6,其中:(l)CPN 是一个有色 Petri 网=(,P,T,A,N,C,G,E,I);(2)IN 是服务输入库所集;(3)OUT 是服务输出库所集。并且满足:*In=xPT|(x,in)F= ;Out*=xPT|(out,x) F= ;对模型中的变迁进行分类,将用于表示被调用服务的变迁称为

16、服务变迁,将表示组织服务的变迁称为控制变迁。本模型中 T=servicet 。服务变迁用于处理数据的服务,即执行对各业务元封装的原子服务和组合服务,用白色方块表示。原子服务 WSCPN_WS 的描述如下:颜色集 C=Data;库所集 P=IN,OUT;变迁集 T=service;弧集 A=(in, service),(service, out);节点函数 N=PTT P;初始化函数 I,如 图表 3 所示 6。S e r v i c eD a t aa aO U TI ND a t aI图表 3 初始化函数 I3.2.2 基于时间 Petri 网的 Web 服务模型定义 3 Merlin 的时

17、间 Petri 网定义 3TPN=(P,T,B,F,M0,SI)称作时间 Petri 网,当且仅当:(1)P=p1,p2,pm是库所的非空有限集合;(2)T=t1,t2,tn是变迁的非空有限集合;(3)B:P TN 是向后关联函数,N 是自然数;(4)F:TPN 是向前关联函数,N 是自然数;软件开发方法与技术 基于 Petri 网的 Web 服务建模鲍娌娜 唐作用 刘智杰 柳津 韩雪娇 5(5)M0 是初始标识( 或初始状态 );(6)SI 称为静态时间间隔,任意 tT,SI(t)=SEFT(t),SLFT(t),其中 SEFT(t)是最早静态引发时间,SLFT(t)是最迟静态引发时间。定义

18、4 满足下列条件的五元组=(P,T,F, ,) 称作服务时间Petri网 7:oM(1)P是一个有限库所集合,表示服务所处状态;(2)T是一个有限变迁集合,并且PT ,pT= 。 本文将表示对服务操作的变迁用实心矩形表示,而用于把服务组织成组合服务的变迁用空心矩形表示;(3)F:(PT)(TP)N 是库所和变迁之间的权函数(4)Mo: PN是初始标识,表示系统的初始状态,即初始可用服务的分布;(5):TN *(N*)称为 web服务操作的相对触发间隔 ,(Ti)= is, is,其中 is, is分别表示服务操作Ti 的最早触发时间和最迟触发时间。当(Ti)=0,0 时,表示变迁在可调用时刻就

19、被触发,称为瞬时变迁。任意xP(T),称 *x=y|y(PUT) (y,x)F 为x的前集, x*=y|y(PUT) (x,y)F为x的后集。服务操作 i只有在系统当前的标识(可用服务的分布 )满足该操作的所有输入条件(前集)时才称为可调用的( 使能的) 。系统标识和可调用的等具体定义详见文献 5。定义5 设=(P,T ,F , ,) 8为服务组合时间Petri网,ST=(M,I) 为的一个状态。oM对于变迁t iET(M),T+b时(T 表示系统进入状态ST 的时间) 变迁t i在状态ST下的触发称为有效触发,若: ibmin( k),任意t kET(M),称b为t i的有效触发时间。可调用

20、服务操作的触发将改变系统可用服务的分布并产生新的状态。对于初始状态ST0,如果存在一系列变迁t 1,t 2,t n的触发使得ST 0转换为 STn,则称状态ST n是从ST 0可达的。定义6 Web服务可以用一个三元组S=(E,CS,)来表示 9,其中:(1)E=(SN,SW,SL,URL),SN,SW,SL,URL分别描述了服务的名称、信息、位置、URL。其中SN使用唯一的标识符表示;(2)CS是Web 服务名称集合,如果CS=SN,那么S 就是一个原子服务,否则为组合服务;(3) =(P,T,F , ,)是S对应的SCTPN模型,如果S是一个基本服务,则对应的oM为一个库所,如果S是一个组

21、合服务,则对应的如 图表 4所示。inS outS0,it ,jjt. . .,t图表 43.2.3 基于 OOPPetri 网的 Web 服务模型用 WSDL 语言描述 Web 服务时,考虑其组成部分而忽略 Web 服务的具体协议和属性,此时 Web 服务定义可以表达成如下的格式。需要指出的是,这个定义仅仅用于建模架构,而不是一个完整的定义。定义 7:单个 Web 服务是一个 6 元组 12,Web Service=(Message, Operation, Interface, Binding, Endpoint, Service) ,其中 Message 是有限的消息集合,Operatio

22、n 是一个有限的操作集合,Interface 是Operation, Message, F的集合,其中 F 是表示消息与操作之间的关系,软件开发方法与技术 基于 Petri 网的 Web 服务建模鲍娌娜 唐作用 刘智杰 柳津 韩雪娇 6Bingding 执行将一个具体协议和一个接口匹配的功能,Service 是终端集合。OOPN 严格使用面向对象的概念来定义,是一个高级 Petri 网,用于工程应用建模的一种语言。OOPN 由外部对象结构、内部对象结构和控制结构组成。以下是对它的几点定义:定义 8:一个 OOPN 系统是一个 4 元组 12,OOPNS=(O, G , P, F),O 是有限的

23、对象库所集合,G 是有限的消息传递变迁的集合, F 是有向弧的有限集合。定义 9:OOPN 对象是一个 6 元组 12,O=(Method, Status, Property, OM, IM, F),Method 是方法变迁节点的有限集合,它是 OOPN 的一个子网,Status 是动态状态库所的有限集合,Property 是静态状态库所的有限集合,IM 是输入消息库所的有限集合, OM 是输出消息库所的有限集合,F 是有向弧的有限集合。Web 服务与 OOPN 的关系匹配:因为 WSDL 已经成为了 Web 服务描述的标准,所以在软件工程中将 WSDL 的构成匹配成 OOPN 的形式更具有意

24、义。在定义 1 和定义 3 中,可以得出如下 5 种匹配关系(证明省略):MessageIM,OM (E1)OperationMethod (E2)InterfaceO (E3)FWSFOOPN (E4)Serviceo 其中 o 是 OOPN 对象的一个实例集合 (E5)根据以上 5 种映射关系表达式,可以得出以下一些结论:结论 112:在一个用 OOPN 描述的规范 Web 服务中,一个接口是 OOPN 的子对象网。结论 212:在一个用 OOPN 描述的规范 Web 服务中,一个服务是一个对象子网的实例。如 图表 5 所示,是一个简单的 OOPN 模型:G 1G 2G 3O 1 O 2

25、O 3图表 5 简单的 OOPN 模型根据上图所给的一个简单的 OOPN 建模所示,它由三个接口对象和 3 个变迁状态组成。3.2.4 基于分层 Petri 网的 Web 服务模型分层 Petri 网是在经典的 Petri 网发展起来的,它既具有普通 Petri 网直观易懂,数学定义严格的优点,又具有面向对象的性质,便于自顶向下的设计,对于复杂系统的建模清晰明了,有助于用户理解、系统分析和规约。在使用形式化方法对 Web 服务逐步求精的过程,根据 Web 服务的自身特点,使用分软件开发方法与技术 基于 Petri 网的 Web 服务建模鲍娌娜 唐作用 刘智杰 柳津 韩雪娇 7层 Petri 网

26、进行 Web 服务建模,可以如下定义基于分层 Petri 网的 Web 服务。定义11:分层服务网是一个具有分层结构并标有库所/变迁的有色Petri网结构,它可以表达为如下7元组:N HSN=(P, T, W, i, o, M, O),其中(1) P为库所的有限集合;(2) T=TPRI , T WS是变迁的有限集合,其中TPRI为基本变迁,它与普通 Petri网变迁相同,TWS为Web服务变迁,其具体功能由相应的Web服务实现,其动态行为由T WS对应的N HSN网描述;(3) W( P T) ( T P)为连接库所和变迁的有向弧,用于描述库所和变迁之间的相互控制依赖关系;(4) i,o分别

27、为输入和输出库所,这里强制Web服务网有且只有一个输入和输出,且满足:i = xT| ( x , i) W = ,o= x T| o, x) W = ;(5) M : 为状态标识,表示对 P 中每种颜色托肯分别赋值,其中 Ttype ( ttoken )表示托肯类型,N 为正整数;(6) O 为与 NHSN 相关的信息,包括该层 NHSN 拥有者。这里每一个 TWS 对应相应的 NHSN,TWS 实现的功能由所对应的 Web 服务实现,其动态行为需要由 NHSN 描述。T ws 对应的 NNSH 中也可以包含下一层 Web 服务变迁,从而构成了层次服务为。定义 12:一个分层 Web 服务可以

28、定义为 SHWS=(S Name, DDes, LLoc, UURL, SCom, NNSH),其中(1) SName 为分层 Web 服务名称,用于区分分层 Web 服务;(2) DDes 为分层 Web 服务提供者对服务的描述,以帮助服务请求者对服务的使用;(3) LLoc 为分层 Web 服务在服务器中的位置;(4) UURL 为调用分层 Web 服务的网络地址;(5) SCom 是该分层 Web 服务所调用的一个或多个其它分层 Web 服务;(6) NHSN=(P,T,W,i,o,M,O),用于描述分层 Web 服务的动态行为。分层 Web 服务是对基本 Web 服务的一个扩展,它包括

29、基本的 Web 服务按层次组合形成多层次 Web 服务。 图表 6 是一个分层 Petri 网 Web 服务建模的简单示例:NN图表 6 分层 Petri 网 Web 服务建模的简单示例4 Web 服务组合的 Petri 网模型典型的 Web 服务组合的 Petri 网模型有五种,如 aaaa 所示,(a)为顺序合成服务,(b)为选择合成服务,(c)为循环合成服务, (d)为有通讯的并行合成服务,(e)为无通讯的并行顺序合成服务。软件开发方法与技术 基于 Petri 网的 Web 服务建模鲍娌娜 唐作用 刘智杰 柳津 韩雪娇 8*S 1i = i 1. . .o 1. . .*S 2i 2.

30、. .o = o 2. . .( a )S 1 i 1. . . . o 1. . .S 2 i 2. . . o 2. . .* p 1 p 2S 3 i 3. . .o 3. . .o( e )S 1i 1. . .o 1. . .S 2 i 2. . . .o 2. . .*io( b )i 1. . . .o 1. . .* io( c )S 1i 1. . .o 1. . .S 2 i 2. . . .o 2. . .*ioP 1P 2( d )图表 7 几种常用的合成 Web 服务下面以公文流转应用为例,对公文流转过程的起草公文、公文审核和反馈进行 Web 服务集成,从而实现公文流

31、转中的各个环节和阶段。公文流转的 Web 服务流程 Petri 网模型的建立采用自上而下的方法,公文流程大体上可以分为三个环节,分别是起草人撰写公文草稿,领导对公文草稿进行审查,最后将审查结果反馈给相关部门,其 Petri 网模型如图表 8( a) 所示。在 图表 8 ( a) 基础上可以进一步建立详细的 Petri 网模型,公文审核过程包括公文审查以及由系统完成的审查人权限审查这两个并行的业务,当两项审查都通过时,将公文入档并编号,并授权下发给下属机关。所有计划完成后,将结果反馈给公文起草人。若未能通过公文审核,则直接向公文起草人发出公文审核不通过通知。其 Petri 网模型如图表 8 (

32、b) 所示。软件开发方法与技术 基于 Petri 网的 Web 服务建模鲍娌娜 唐作用 刘智杰 柳津 韩雪娇 9起草公文公文审核反馈起草公文公文审核反馈接收公文权限审核审批公文审查接收公文公文入档反馈授权下发拒绝公文( a )( b )图表 8 公文流程 Petri 网模型5 总结:Web 服务是 Web 应用的重要组成部分。Petri 网是一个发展完善的建模技术, Petri 网规范的语义已经用于 Web 服务建模和分析。本文在总结前人所做工作的基础上,介绍了基于 Petri 网的 Web 服务及其组合建模方法。软件开发方法与技术 基于 Petri 网的 Web 服务建模鲍娌娜 唐作用 刘智

33、杰 柳津 韩雪娇 10参考文献:1曹伟. 基于ROSE的Web Service建模D. 2003.2陈丁剑,吴健,马满福,胡正国. 基于Petri 网的Web服务组合建模 J. 计算机科学, 2006.3袁崇义. Petri网原理与应用(M).北京:电子工业出版社, 2005.4Jensen K. An introduction to the theoretical of colored Petri nets J.Computer Science,1994,83:230-272.5Yin H,Tan Z X,Lin C,et al. Modeling mobile web services f

34、low using generalizedStochastic high-level Petri netC.Systems,Man and Cybernetics,2004,5(5):4953-4958.6Cheng Y H,Wang Z J,Zhou X F. Research on web service composition and verificationJ. Proceedings of the Third Internationa1ConfereneeonSemanties,KnowledgeAnd Grid,2007:467-470.7Tadao Murata. Petri n

35、ets: Properties ,analysis and applicationsC.Proceedings of the IEEE,1989.541-560.8van der Aalst WMP. The application of Petri nets to workflow managementJ. Journal of Circuits, Systems and Computers,1998,8(1):21-66.9Berthomieu B,Diaz M Modeling and verification of time dependent systems using Time P

36、etri NetsIEEE Transactions on Software Engineering.1991,17(3):259-273.10阎志华,丁秋林. 基于Petri 网的Web服务流程建模. 计算机应用 , 2003.11童蕾,王宏安,戴国忠. 基于Petri 网的Web服务流程建模方法研究 J. 计算机仿真, 2006.12Xiao-Ning Feng,Qun Liu,and Zhuo Wang. A Web Service Composition Modeling and Evaluation Method Used Petri NetD. Department of Computer Science & Technology, 2005.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报