基于PI-演算的移动通信服务研究与建模.doc_第1页
基于PI-演算的移动通信服务研究与建模.doc_第2页
基于PI-演算的移动通信服务研究与建模.doc_第3页
基于PI-演算的移动通信服务研究与建模.doc_第4页
基于PI-演算的移动通信服务研究与建模.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4期康辉等:基于PI-演算的移动通信服务研究与建模17基于PI-演算的移动通信服务研究与建模康辉1,曾莹莹1,刘志勇1, 2(1. 吉林大学 计算机科学与技术学院,吉林 长春 130012;2. 东北师范大学 软件学院,吉林 长春 130117)摘 要:在现行的移动通信业务中,为解决不同运营商提供的增值服务无法互通的问题,提出将移动通信过程定义为多个独立的Web 服务,利用PI-演算理论对移动通信过程中的连接初始化、基站切换和移动通信进行建模,将其PI-演算表达式进行封装组合。采用PI-演算建模,可对移动通信服务进行优化,在设计阶段尽早发现问题,降低风险,消除不同服务商之间的重复业务,令其具有更好的重用性和互通性。关键词:PI-演算;移动通信服务;服务组合中图分类号:TP393 文献标识码:A 文章编号:1000-436X(2009)04-0011-06Modeling the mobile communication service based on PI-calculusKANG Hui1, ZENG Ying-ying1, LIU Zhi-yong1,2(1. College of Computer Science and Technology in Jilin University, Changchun 130012, China;2. Software College in Northeast Normal University, Changchun 130117, China)Abstract: In order to solve the problem of not interworking the increment service provided by difference services providers in current mobile communication service, mobile communication process were defined as multiple independent Web services. The connection initialization, base station switching and mobile communication process were modeled by using PI-calculus. The PI-calculus expressions were encapsulated and combined. Modeling for PI-calculus can optimize the mobile communication service, and discover problems as soon as possible in the design stage to eliminate repeating business between difference service providers and to ensure their reusability and interoperability.Key words: PI-calculus; communication service; service composition1 引言收稿日期:2007-09-24;修回日期:2009-01-11基金项目:国家自然科学基金资助项目(60573128);长春市科技计划基金资助项目(2007KP02)Foundation Items: The National Natural Science Foundation of China(60573128); The Science and Technology Plan of Changchun (2007KP02)如今已步入3G通信时代,通信领域逐步向互联网领域扩展,两大领域相互渗透、相互协调,将为人类带来更大的便利。但在其相互融合的过程中,仍存在许多问题。例如,在现行的通信业务中,不同SP(service provider)通过不同运营商提供的增值接口为用户提供服务,众多SP所提供的服务有很多交叉,迫切需要一种机制统一管理各种服务,有效地删除无效服务及重复服务。Web 服务可以提供一种有效的管理机制解决上述问题。不同SP在注册中心上注册服务,一旦客户需要某种服务,可以去注册中心上查询所需服务,并获取相关SP信息,然后通过与SP进行通信、协商,最终获取所需服务。由此可见,Web服务是通信领域向互联网领域扩充的一座桥梁。本文主要讨论了如何把复杂的通信过程封装成多个Web 服务,并利用PI-演算来描述这些Web服务。2 PI-演算与Web服务PI-演算是由图灵奖得主MILNER R参照物理学大统一理论提出的,以进程间的移动通信为研究重点的并发理论1。PI-演算是一种描述和分析并发系统的计算模型,具有较强的描述能力,能用动态演化结构表示过程间的间歇性相互作用,分析方法有较强的理论支持2。Web 服务协作描述语言WS-CDL就是基于PI-演算的,使下层的服务组合和WSDL都能够与PI-演算结合起来,有助于Web 服务系统的协议栈形成统一的形式化基础,便于对服务及其组合的正确性和一致性验证。定义1 PI-演算的语法定义设N为名字的可数无限集合,用a,b,x,y小写字母表示N中的元素名字;用A,B,C大写字母表示进程标识符;用P,Q,R大写字母表示进程表达式,进程表达式有以下几种。1) 和式索引集I为有限集,用0来表示空进程,即不活动的进程。和式表示选择执行,即在多个加数中,有且只有一个加数所表示的进程表达式可以被执行。2) 并发表达式 P|Q表示2个进程并发执行。3) 重复表达式 !P表示无穷复制P进程。4) 匹配表达式 x=yP表示当x和y 为相同名字时,其行为为P,否则为0进程。5) 进程标识符A(x1, x2, , xn)表示对每一个进程标识符来说,必须有其定义A(x1,x2,xn):=P,其中x1, x2, xn是P中的自由名。6) 前缀表达式 y.P,y(x).P,t.P y称为负前缀,y.P为负前缀表达式,表示在端口y上输出名字x,然后执行P,此表达式也可记为x.P。y(x)称为正前缀,y(x).P为正前缀表达式,表示在端口y上等待一个输入x,然后执行P。这个x相当于编程语言中的形式参数。假设在端口y上输入任意名字z,然后执行Pz/x,其中z/x表示用z替换x。名字x限制在正前缀y(x)中。t称为哑前缀,t.P为哑前缀表达式,表示做完哑动作t,然后执行P。一般来说,t用于表示进程外部不可见的内部动作。将前缀表达式中连接互补端口y和的链接称为通道y。7) 限制表达式(x)P表示P在新通道x上的外部动作被禁止,但P通过通道x的内部通信是允许的,它们都成为了t的动作,即将x局限在P中。另外的表示法包括(vx)P或new x in P,即let x=new channel()in P至此,将PI-演算定义如下3:P := 0 | x.P | y(x).P |.P |(x)P | P|Q | P+Q | x=yP | !P | A(x1,x2,xn)或者为:P := iIXiPi | P|Q | !P | (vx)Py(x).P和(x)P中的x被称为约束名,P是它们的辖域。在P中出现的非约束名称称为自由名称,P中自由名称的集合表示为fn(P),约束名称的集合表示为bn(P),P中名称的集合用n(P)表示,则有4fn(x) = x,yfn(y(x).P) = y(fn(P)x)fn(vx)P) = fn(P)xbn(x) = nullbn(y(x).P) = xbn(vx)P) = x本文以PI-演算作为Web 服务的建模语言,表达Web 服务的语义并进一步描述Web服务组合。XLANG是描述Web 服务组合的一种语言5,它同时也是基于PI-演算模型的4。在XLANG中,PI-演算和WSDL中基本元素对应规则如表1所示6。表1 XLANG中Web服务与PI-演算元素对应关系Web服务PI-演算TypeMessageOperationPort TypeBindingPortServiceSortMessageActionSortInteractionPortProcess3 基于PI-演算的移动通信服务建模本文提出将移动通信中的各个阶段定义为Web服务,以弥补不同服务商之间的重复业务,令其具有更好的重用性和互通性。移动通信设备系统采用树型结构,在不同的地理位置设置具有唯一标识的基站,负责信号的接收。每个基站负责一定的地理范围,基站的边境地方可能有重叠,以便信号的切换。基站是由基站控制器控制,每个基站控制器可以控制20个左右的基站。根据地理范围的不同,在较大的区域中,可能还存在若干个上层基站控制器来控制下层的基站控制器的工作。最上层的基站控制器直接与服务器相连,向服务器提供相关数据,当出现某些需要变换的情况时,从服务器查询相关的信息,采取相应的措施。3.1 移动通信连接初始化过程图1描述了移动通信连接初始化过程。过程描述如下。1) Initialize Request(IniReq):手机开机后,自动搜索网络,找到相应的距离最近且有空闲链路可以连接的基站,请求连接。2) Provide Information(ProInfo):基站接收到手机的相关信息,并将基站本身的信息连同手机信息一同发送给基站控制器。3) Connection Information(ConInfo):基站控制器把接收到的手机信息和基站信息发送给服务器。4) Service Confirm(SerConf):通过服务器快速查询来确定手机和基站的有效性。如果手机和基站都可用,则初始化相应手机所开通的服务,允许连接初始化,把相关信息返回给基站控制器,接着执行过程6)。5) Refusei(Refi, i=1,2,3):如果手机或者基站无效,则拒绝连接请求,把相关信息依次返回给基站控制器、基站、手机,最终结束此次连接初始化过程,手机无法接收到通信信号,不能正常通信。图1 移动通信连接初始化Web 服务6) Connection Confirm(ConConf):基站控制器接收服务器发送回来的返回信息。如果允许连接,则发送相应连接确认信息给相应的基站。7) Connect(Con):基站接收到基站控制器的连接确认信息,与手机进行连接。PI-演算是表示这种复杂行为的有效方式,可以清楚地表示出系统行为。可以将Web Service 的逻辑关系映射成PI-演算的表达式。根据PI-演算化简和转换规则,将图1进行化简,如图2所示,其中wire1是Mobile Phone与Base Station之间的通道,wire2是Base Station与Controller之间的通道,wire3是Controller与Server之间的通道。图2 移动通信连接初始化Web服务的 PI-演算流图对系统进行建模如下。与实体Mobile Phone相关联的实体集合如下=wire1,IniReq,Ref1,Con(1)实体Mobile Phone的PI-演算表达式为Mobile Phone() = wire1.wire1(msg). (msg= Ref1+ msg=Con) Mobile Phone()(2)与实体Base Station相关联的实体集合如下= wire1, wire2, IniReq, Ref1, Con, ProInfo, Ref2, ConConf(3)实体Base Station的PI-演算表达式为Base Station()=wire1(msg). msg=IniReq wire2 .wire2(msg1).(msg1= Ref2wire1+ msg1= ConConfwire1)(4)与实体Controller相关联的实体集合如下= wire2, wire3, ProInfo, Ref2, ConConf, ConInfo, Ref3, SerConf(5)实体Controller的PI-演算表达式为(6)与实体Sever相关联的实体集合如下=wire3, ConInfo, Ref3, SerConf (7)实体Sever的PI-演算表达式为Server()=wire3(msg).msg=ConInfo(wire3+wire3)(8)与服务Mobile Communication System相关联的实体集合如下_s=wire1, IniReq, Ref1, Con(9)服务Mobile Communication System的PI-演算表达式为Mobile System(_s)=(wire2,wire3)(Base Station() |Controller()|Server()(10)3.2 移动通信基站转换过程图3是移动通信基站连接的PI-演算流图。其中talk1和switch1是Mobile Phone与Base Station 1之间的通道,alert1和give1是Base Station 1与Controller之间的通道,alert2和give2是Controller与Idle Base Station 2之间的通道,check是Controller与Server之间的通道。本文在此不考虑实际通信基站切换的复杂过程,对系统简单建模如下。Mobile Phone始终与距离它最近的Base Station保持连接。当Mobile Phone在移动过程中,如果Base Station检测出该Mobile Phone要超出它的有效区域,则发送信号给Controller,Controller为该Mobile Phone检索到下一个与之距离最近的Idle Base Station,并返回信息给Base Station,同时通知Idle Base Station准备建立新的连接。Base Station把相应信息返回给Mobile Phone,Mobile Phone收到信息后,重新建立起自己的连接。相应的PI-演算表达式如下。图3 移动通信基站连接Web Service 的PI-演算流图System1(1)=(talki, switchi, givei, alerti, check:i=1, 2) (Mobile Phone()|Base Station1()|Idle Base Station2()|Controller1()|Server()(11)Mobile Phone()=talk1.Mobile Phone()+switch1 (talk2,switch2).Mobile Phone()(12)Base Station1()=talk1.Base Station1()+give1(talk2, switch2).switch1.Idle Base Station1()(13)Idle Base Station2()=alert2.Base Station2()(14)Controller1()=give1.alert2.Controller2()(15)3.3 移动通信过程通过移动通信服务,Mobile Phone 1和Mobile Phone 2建立通信连接,如图4所示,过程描述如下。图4 移动通信的Web服务1) Connection Request(Req):Mobile Phone 1向Mobile Communication Service发送与Mobile Phone 2建立连接的请求。2) Set up Connection(Set):Mobile Communication Service经过处理向Mobile Phone 2发送移动终端连接信息。3) Connection Response(Res):Mobile Phone 2接听电话向移动通信服务发出连接应答。4) Connection Acknowledge(Ack):Mobile Phone 1经移动通信服务收到链接确认。图5是图4抽象后的Web Service PI-演算流图,其中wire1为Mobile Phone 1与Mobile Communication Service之间的通道,wire2为Mobile Phone 2与Mobile Communication Service之间的通道。图5 移动通信的Web服务PI-演算流图对系统进行建模如下=wire1,wire2, Req, Set, Res,Ack(16)Mobile_s()=wire1(msg). msg=Reqwire2 .wire2(msg1). msg1=Reswire1(17)1=wire1, Req, Ack (18)Mobile Phone1(1)=wire1.wire2(msg).msg= Ack.Mobile Phone1(1)(19)2 = wire2, Set, Res (20)Mobile Phone2(2)=wire2(msg).msg=Setwire2 (21)Mobile Communication Service可以看作3个服务的组合,分别是Base Station1、Base Station2和Data Base。这3个服务组合在一起就构成了Mobile Communication Service,如图6所示。其内部进行的消息传递以及内部通道对外是完全透明的。通过这种描述可以清楚地看出:服务可以用类似的方式从小到大组合起来,通过将底层的原子服务(构成服务)组合形成非常复杂的高层服务(应用服务)7。Mobile Communication Service内部通信过程描述如下。图6 移动通信组合服务1) Look Up Request(LUReq):Base Station 1向Data Base发送信息查询请求,查询目标Base Station 2的相关信息。2) Inform Connection(ICo):Data Base发送通知信息给Base Station 2,告知Base Station 1要与其建立连接。3) Inform Confirm(ICon):Base Station 2收到通知后,返回确认信息。4) Look Up Result(LURes):Data Base返回查询结果给Base Station 1。5) Connection Build(Bui):Base Station1与Base Station 2建立连接。6) Connection Confirm(Con):Base Station 2返回连接确认。图7是图6抽象成的PI-演算流图。其中x、y、z是Mobile Communication Service的内部通道。x为Base Station 1与Data Base之间的通道;y为Base Station 2与Data Base之间的通道;z为Base Station 1与Base Station 2之间的通道。图7 移动通信组合服务PI-演算流图对移动通信服务组合建模如下。_s=wire1,wire2,Req,Set,Res,Ack(22)System Mobile_s(_s)=(x, y, z)(Base Station1()| Base Station2(2)|Data Base()(23)Mobile_s(_s)=wire1(msg).msg=Reqwire2.wire2(msg1). msg1=Reswire1(24)1=wire1,x,z,Req,Ack,LUReq,LURes,Bui,Con(25)Base Station1(1)=wire1(msg).msg=Reqx.x(msg1).msg1=LUResz.z(msg2).msg2=Con wire1(26)2=wire2,y,z,Res,Set,Bui,Con, ICo,ICon (27)Base Station1(2)=y(msg).msg=ICoy. z(msg1). msg1=Buiwire2.wire2(msg2).msg2=Resz (28)= x, y, LURes, LUReq, ICo, ICon(29)Data Base()=x(msg).msg=LUReqy.y(msg1). msg1=IConx(30)1 wire1, Req, Ack(31)Mobile Phone1(1)=wire1.wire2(msg)msg=Ack Mobile Phone1()(32)2 wire2, Res, Set(33)Mobile Phone2()=wire2(msg).msg=Setwire2 (34)3.4 移动通信服务的发布上一节利用PI-演算将连接初始化及基站的转换过程分别定义为Web服务,在此基础上完成了移动通信服务组合的建模。然后将该形式的服务组合转换为BPEL4WS,将其配置到一个执行机上,并随其WSDL接口和编排规则一起发布到注册中心,该Web服务组合就可作为一个新的Web服务供用户使用。4 结束语本文提出将移动通信的各阶段定义为Web服务和服务组合,以Internet为发展平台,将通信过程封装成多个Web服务,并用PI-演算来描述这些Web服务及服务组合,使每个通信过程的实现都是调用相关Web 服务或Web服务组合。采用PI-演算建模移动通信业务,可以利用PI-演算本身的一些性质对Web 服务进行优化,即对移动通信服务进行优化,在设计阶段就可以尽早地发现问题,降低风险。但目前对这些问题的解决方式缺乏一种自动化工具来支持,即缺少自动利用PI-演算对Web 服务进行验证的工具。本文只描述了系统的建模阶段,在Web 服务投入使用之前,还必须有效地验证服务的正确性,以便用户可以正确使用Web服务;同时还要保证服务的唯一性,即证明2个服务的等价性,以便用户可以高效地调用所需要的服务。下一步工作主要是对现有的PI-演算建模Web 服务验证工具进行优化,并在局部逐步实现自动化,进而实现对整体的自动化。参考文献:1MILNER R. The Polyadic PI-calculus: a tutorialEB/OL. http:/citeseer. /19489.html, 1991.2MILNER R. Action structures for the PI-calculusEB/OL. http:/cites

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论