一种网络服务交互行为形式化建模和死锁定位方法,对现有的规则进行分类,并对各分类进行扩充;对尚不存在的规则进行建立,使转换规则数据库能够适应快速发展的形式化描述语言。介于现有的建模工具需要人工参与,不能实现自动建模,并且整个建模过程对用户是不可见的,如果流程出现错误,用户无法确定异常发生的位置。利用扩充或建立得到的转换规则数据库,对形式化建模语言描述的网络服务交互行为进行自动建模,并选取具有代表性的案例对建立的模型进行验证,证明模型的正确性以及转换规则的正确性。采用前向查找方法对出现异常的环节进行重现和定位,实现建模、验证、定位全自动。
【技术实现步骤摘要】
本专利技术涉及一种形式化建模的方法,属于数据挖掘和网络服务分析领域,特别是涉及一种网络服务交互过程中基于H演算的建模及死锁定位方法,主要解决网络服务交互行为的形式化表示问题。
技术介绍
网络服务是一个由URL标识的软件系统,其接口和绑定都可以通过XML来定义、描述,并且网络服务是可以被发现的。单个网络服务时通过支持基于网络的协议和使用基于XML的消息来达到与其他网络服务或其他软件应用直接交互的目的。从上个世纪七、八十年代起,研究人员就一直在研究如何对系统进行正确建模,从而获得好的系统设计。本人对国内外网络服务交互行为建模方法进行了大量的研究,发现大多数研究集中于三个方面,分别是Petri网建模、自动机理论建模和进程代数建模[1]。Petri网是由物理学家卡尔.A.佩特里提出的,Petri网的一个重要的贡献,就是Petri网里面不存在所谓的“全局时间”的概念,它能够很容易地表达狭义相对论的观点。Petri网用直观的图形和丰富的形式化语义来表示网络服务的交互行为,可以自然的描述一些系统特性、网络服务的交互行为,而且可以进行验证。通过利用petri网可以对BPEL4WS进行建模,可以通过库和变迁来表示服务,可以采用着色petri网的方法进行映射,可以直接将网络服务组合的各种操作符映射到petri网结构,然后采用合适的工具对建模后的模型进行验证[2]。但是对于不同的网络服务的提供者,语义的定义以及图形的表述各不相同,很难统一,也就是说我们还要浪费人力物力去理解其他网络服务提供者提供的服务的功能,从而进行整合。自动机理论是将离散数学系统的构造、作用和关系作为研究对象的数学理论。自动机可分为有限自动机、后进先出自动机、线性有界自动机、图灵机等几种[3]。它们对语言的识别能力各不相同。把自动机理论应用到网络服务组合中,也就是把单个的网络服务按照一定的规则表示出来,然后通过自动机进行筛选和判断。通过利用自动机理论,我们可以快速而准确的对网络服务组合的正确性进行判断,比如:FuX.,BultanT.,SuJ提出的囊括guardedautomata、promela语义、SPIN模型检测器的工具,FuX.提出的卫式自动机,AalstW.,HofstedeA.,KiepuszewskiB.等人提出的基于扩展有限自动机的方法[4],然而,上述成果都没有给出一整套利用自动机理论对网络服务交互行为进行建模的规则,这样建模后的模型通常存在状态空间爆炸的问题。软件的形式化方法就是在这个背景下产生的,C.A.R.Hoare的CSP和R.Milner的CCS等理论都是其中的重要代表[5]。研究人员尝试将程序建模为代数结构,从而用代数的方法进行推理,进而证明它们的正确性。形式化的描述就是用形式化的语言(具有严格的语法语义定义的语言)作为描述工具,研究各种子系统的性质。形式化的软件开发,就是用形式化的语言来描述软件需求和特征,并且通过推理论证来保证最终的软件产品满足这些需求和具备这些特征。进程代数是一类使用代数方法来研究通信并发系统的理论的泛称[6],进程间通过通信来实现彼此的联系以及发生相互作用,进程代数包括通信系统演算(CCS)、通信顺序进程(CSP)和π演算[7]。利用CCS和CSP对网络服务的交互行为进行建模都是将网络服务交互行为流程描述语言转换成相应的进程代数进行描述,然后利用已有的工具进行验证,但是这两种方式只能对网络服务进行验证,并不能对网络交互行为的流程进行正确性的验证。网络服务不断受到各界人士的关注,网络服务交互在互联网区域中占据主要地位将是大势所趋。目前存在的主要问题是对网络服务交互行为正确的自动建模,也就是说强调两点:一是自动建模,从而减少手动建模的人力浪费,并且降低因人为判断错误造成的错误的建模;二是正确的建 模,这一点也相当重要,错误的建模不仅浪费时间和资金,还有可能会造成严重的损失。[I]W.Kongdenfhaj R.Saint-Paulj B.Benatallahj F.Casat1.AnAspect-orientedFramework for Service Adaptation.1nternational Conference on Service-OrientedComputing, 2006:15-26.[2]Milanovic Nj MalekM.Current solutions for Web Service composition.[J].1EEE Internet Computing(S1089-7801).IEEE,2004,8(6):51-59.-[3] Chen Zj Wang J,Dong Wj Qi Z.An interface model for service-orientedsoftware architecture.Joural of Software, 2006,17(6):1459-1469.[4] H.Yang,Zhao X,Qiu Zj PuG.A formal model for web service choreographydescription language (WS-CDL).1n:FeigEj ed.Proc.0f the IEEE Int’ IConf.0nWebServicesj2006.[5] Mart enA.0n compatibility of Web services.Petri NetNewsletter, 2003,65(2):12-20.[6]Hamadi R.,Benatallah B.APetri Net-based Model for Web ServiceComposition[A].Proceedings of the Fourteenth Austarlasian database conferenceon Database technologies[C].AdelaideAustraliaj 2003:191-200[7]Fu X.,Bultan T.,Su J..WSAT:A Tool for Formal Analysis of Webservice [A].Proceedings of the 16th International.Conference on Computer AidedVerification[C].1EEEComputer Society Press,2004:510-51
技术实现思路
技术问题:本专利技术的目的是提供。针对各种现有的形式化语言描述的网络服务之间的交互,利用转换规则,将形式化语言的描述转换为进程代数的描述。设计基于η演算的其他形式化语言的转换规则。并在此基础上构建HXML工具,用于对由进程代数描述的网络服务交互行为进行自动建模,自动定位流程中异常发生的位置以达到自动发现服务流程中异常的目的。技术方案:随着信息时代的不断发展,单个的网络服务已无法满足用户的需求,于是就需要若干个网络服务之间进行交互组合,即把部署于互联网上由不同网络服务提供者提供的网络服务根据特定的需要组合成一个新的网络服务,使得整合后的网络服务具有更为强大的功能,从而满足用户的需要。然而网络服务系统本身的并行本文档来自技高网...
【技术保护点】
一种网络服务交互行为形式化建模和死锁定位方法,其特征在于该方法中用来建模和分析的文档都是可扩展标记语言XML格式的,即必须保证构建的用于对由进程代数描述的网络服务交互行为进行自动建模的HXML工具打开的文件是可扩展标记语言XML格式的,实现所包含的步骤为:步骤1)?导入所需验证的文档,这里的文档必须是可扩展标记语言XML格式的,可以在导入文件的过程中忽略各种语言的语言特性,那么文件导入其实就是导入可扩展标记语言XML文档;步骤2)?对可扩展标记语言XML文档进行解析,采用文档对象模型DOM树分析,文档对象模型DOM接口提供了一种通过分层对象模型来访问可扩展标记语言XML文档信息的方式,这些分层对象模型依据可扩展标记语言XML的文档结构形成了一棵节点树,无论可扩展标记语言XML文档中所描述的是什么类型的信息,即便是制表数据、项目列表或一个文档,利用文档对象模型DOM所生成的模型都是节点树的形式;也就是说,文档对象模型DOM强制使用树模型来访问可扩展标记语言XML文档中的信息,具体的实现过程如下:步骤2.1)建立一个解析器工厂,并通过这个工厂来获得一个具体的解析器对象;步骤2.2)使用解析器工厂的静态方法获得一个具体的文档对象模型DOM解析器;步骤2.3)利用这个解析器对可扩展标记语言XML文档进行解析,步骤3)对可扩展标记语言XML文档进行建模,根据各类语言的建模规则,并将建模结构进行有机的结合,具体实现过程如下:步骤3.1)读取整个流程的起始标志,开始对文件建模,????步骤3.2)读取关键元素并进行判断,如果是结束标志,则建模结束;????步骤3.3)如果不是结束标志,与接收活动、响应活动、调用活动、赋值活动、空活动、等待活动、终止活动、抛出异常、顺序活动、分支活动、选择活动、流活动进行匹配,按照匹配成功的活动建模规则进行建模,步骤3.4)继续执行步骤3.2)与步骤3.3),直到读取到;步骤4)对步骤3)建立的模型进行验证,具体实现过程如下:????步骤4.1)从模型中读取所有单一网络服务的输入和输出;步骤4.2)根据网络服务的交互的先后顺序,检测上一步的输出是否为下一步的输入;步骤4.3)如果判定为是,则依次入栈,直到最后一个元素入栈;步骤4.4)如果判定为否,发出报告“模型中存在死锁”,并停止入栈,步骤5)死锁定位,若步骤4)中报告不存在死锁,则步骤5)可省略,否则,若存在死锁,则根据最后入栈的情况进行定位,具体实现过程如下:????步骤5.1)到数据库查找与可扩展标记语言XML文档相对应的形式化描述语言的建模规则;????步骤5.2)收集步骤4)中入栈的元素,并找到其对应的转换规则;????步骤5.3)步骤4)中栈中的元素依次出栈,同时根据第二步找到的转换规则进行逆转换;????步骤5.4)将逆转换后得到的可扩展标记语言XML语句放到原可扩展标记语言XML文档中进行定位,发出准确的位置信息给用户。...
【技术特征摘要】
1.一种网络服务交互行为形式化建模和死锁定位方法,其特征在于该方法中用来建模和分析的文档都是可扩展标记语言XML格式的,即必须保证构建的用于对由进程代数描述的网络服务交互行为进行自动建模的HXML工具打开的文件是可扩展标记语言XML格式的,实现所包含的步骤为: 步骤I)导入所需验证的文档,这里的文档必须是可扩展标记语言XML格式的,可以在导入文件的过程中忽略各种语言的语言特性,那么文件导入其实就是导入可扩展标记语言XML文档; 步骤2)对可扩展标记语言XML文档进行解析,采用文档对象模型DOM树分析,文档对象模型DOM接口提供了一种通过分层对象模型来访问可扩展标记语言XML文档信息的方式,这些分层对象模型依据可扩展标记语言XML的文档结构形成了一棵节点树,无论可扩展标记语言XML文档中所描述的是什么类型的信息,即便是制表数据、项目列表或一个文档,利用文档对象模型DOM所生成的模型都是节点树的形式;也就是说,文档对象模型DOM强制使用树模型来访问可扩展标记语言XML文档中的信息,具体的实现过程如下: 步骤2.1)建立一个解析器工厂,并通过这个工厂来获得一个具体的解析器对象; 步骤2.2)使用解析器工厂的静态方法获得一个具体的文档对象模型DOM解析器; 步骤2.3)利用这个解析器对可扩展标记语言XML文档进行解析, 步骤3)对可扩展标记语言XML文档进行建模,根据各类语言的建模规则,并将建模结构进行有机的结合,具体实现过程如下: 步骤...
【专利技术属性】
技术研发人员:张卫丰,韩鲁峰,王慕妮,张迎周,周国强,周国富,许碧欢,陆柳敏,
申请(专利权)人:南京邮电大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。