一种基于形式化描述和状态迁移的XML转换方法技术

技术编号:3481715 阅读:253 留言:0更新日期:2012-04-11 18:40
一种基于形式化描述和状态迁移的XML转换方法,此方法对采用XML作为主要数据表示形式的网络协议能够进行有效的形式化描述,包括以下步骤:(1)分析网络协议的逻辑功能,将协议划分为不同的状态,每个状态用唯一的一个XML片断表示;(2)按照协议语义为上述各状态建立状态迁移规则;(3)执行该迁移规则,实现XML数据之间的转换,从而完成协议的自动实现。本发明专利技术与现有的协议形式化方法比较,综合考虑了单基于状态的形式化方法和单纯基于程序设计语言方法各自的优势和不足,即避免了单纯基于状态方法的“状态空间爆炸”问题,也发挥了程序设计语言方法对于静态数据结构和操作过程描述的优势。

【技术实现步骤摘要】

本专利技术涉及一种基于形式化描述和状态迁移的XML转换方法
技术介绍
XML (extensible Markup Language)是互联网联合组织创建的一组规范,其目的是帮 助软件开发人员和内容创建者通过网络方式组织和传递信息。它不仅能满足不断增长的网 络应用需求,同时能够确保在通过网络进行交互合作时,具有良好的可靠性和互操作性。 XML是一种自我描述的定义语言,使用者可以定义标记来描述内容中的任何数据元素,从 而突破了诸如HTML等固定标记语言的束缚,使得越来越多更丰富更复杂的内容得以在网 络中传输并进而组合成一个完整的信息体系。由于这些优点,XML已经进化成一个信息交 互的全球平台。特别是随着新的网络通信协议与规范的不断涌现,XML在协议规范的设计、描述和实 现过程中也发挥着越来越重要的作用。尽管如此,现有网络协议的设计与描述方法仍然存 在着许多不足之处,其主要表现在 一方面,协议和规范的开发常常是由不同的人员或组 织进行的,由于协议文本的主体仍是采用自然语言描述,而二义性是自然语言的一个固有 缺陷,因此,不同的人对同一个协议往往有着不同的理解,从而导致不同的协议实现,使 得按同一标准协议实现的系统在进行互联和互操作时仍然有可能产生新的问题。另一方面, 软件测试的原理和方法虽然能够在相当程度上确保系统在实际运行过程中的可靠性,但并 不能从根本上为系统行为乃至协议本身的正确性给出理论推导和证明。因此,从协议语义的严密性和一致性的角度出发,需要将基于XML的网络协议语义采 用一种无二义性的形式化方法进行描述,进而使协议的自动实现成为可能,并且由于基于 这种协议描述的实现是一致的,所以它们也是可互操作的。因此,随着各种协议的标准化, 人们开始积极地研究形式化的协议描述技术,并相继提出了一系列方法。如有限状态机 (FSA)、形式语言、PETRI网络及其扩展型、代数法、抽象数据类型、高级程序设计语言 和时序逻辑等。这些方法可以归为两类①基于状态(机)的类型。这种模型认为协议总 是由一系列接收输入然后响应(输出),并转换到新状态的动作组成,于是有限状态机、 形式语法、PETRI网络、代数法,甚至时序逻辑等方法都属于这一类。②程序设计语言类 型。这种模型认为协议本身就是一种程序设计语言形式,而协议的实现无非是从一种程序到另一种程序设计语言的转换。这两类方法都在某些方面较好地达到了形式化描述协议语 义的目的,但也在另一些方面有所缺陷。通过比较分析可知,现有方法主要存在以下一些 问题。基于状态(机)的模型非常便于描述状态,在状态较少时易于理解,但随着协议复 杂性的增加,会产生"状态空间爆炸"的问题,也不利于精确描述数据;而基于程序设计语 言的模型则可以精确地描述数据,易于实现,但是这种方法描述直观性差,且不利于状态 的描述。因此,如何有效地采用形式化的手段将现有基于XML形式的协议以及由协议提供的服 务准确而严格地描述出来是协议各方需要解决的一个重要问题。
技术实现思路
鉴于上述原因,本专利技术的目的是为采用XML作为主要数据格式的网络协议提供一种基 于形式化描述和状态迁移的XML转换方法。该方法规定了一组形式化地操作XML数据的方 式和规则,可以用于对协议语义进行准确严格的表示以及对协议所提供的服务进行统一的 描述,进而为协议的自动实现提供一种新的解决方案。为实现上述目的,本专利技术采用以下技术方案-一种基于形式化描述和状态迁移的XML转换方法,其特征在于将网络协议按照其逻 辑功能划分为不同的协议状态,每个状态用唯一的一个XML片断表示,进而给出这些状态 之间的迁移规则和状态的输入输出关系,将网络协议的语义过程通过XML转换的方式实现. 包括以下步骤(1) 分析网络协议的逻辑功能,将协议划分为不同的状态,每个状态用唯一的一个XML 片断表示;(2) 按照协议语义为上述各状态建立状态迁移规则;(3) 执行该迁移规则,实现XML数据之间的转换,从而完成协议的自动实现。 本专利技术是一种基于形式化描述和状态迁移的XML转换方法,可以作为对采XML作为主要数据表示形式的用网络协议语义进行形式化描述的一种有效手段,与现有的协议形式化 方法比较,本专利技术的优点在于综合考虑了单基于状态的形式化方法和单纯基于程序设计语 言方法各自的优势和不足,即避免了单纯基于状态方法的"状态空间爆炸"问题,也发挥了 程序设计语言方法对于静态数据结构和操作过程描述的优势。 附图说明图1为本专利技术实现的基于形式化描述和状态迁移的XML转换方法流程图; 图2为本专利技术定义的状态迁移规则中的语句处理流程图; 图3为本专利技术定义的状态迁移规则中的表达式处理流程图。具体实施方式本专利技术中公开的一种基于形式化描述和状态迁移的XML转换方法主要分为如下三个步骤 第一步分析网络协议的逻辑功能,将协议划分为不同的状态,每个状态用唯一的一个XML片断表示。1. 网络协议是对通信双方实现特定功能或完成特定操作的规范化表述,通常按照这些功能和 操作的实现过程可以将协议语义划分为不同的状态。状态是协议在不同的逻辑阶段所完成的操 作效果的抽象表示。通常可以按照协议接收输入,进行相应的处理,然后返回响应结果的逻辑顺序将网络协议划分为一系列状态,每种状态包含各自的状态变量,这些状态变量以XML片段 的元素或者属性的形式出现在该状态中。对于简单协议而言,可以直接将其划分为输入状态, 内部处理状态和输出状态;对于复杂协议,其内部处理过程通常又可以进一步划分为不同的子 过程,这些子过程分别对应于不同的子状态,从而在更细节的层面上对协议语义进行精确地刻 划。例如在Web服务处理流程中,可以将Web服务容器段对服务请求报文的处理过程分为传输 层状态、消息层状态、服务层状态和适配层状态,这些状态组成了 Web服务处理流程的状态集 合,其相互配合共同完成了 Web服务从请求、处理到响应的全过程。每个状态分别实现了从报 文中提取或填写特定字段的任务,因此,每个状态也都可以用一个含有特定元素和属性的XML 文档片断来唯一地表示。2. 为了后续过程能够按照统一的方式对上述状态进行表示和处理,本专利技术进而引入了"元集" 的概念。元集是一种采用集合论的方式对XML文档内容进行形式化描述的方法。 一个元集中 可以包含其他元集。如果一个元集中包含有其他元集,那么这个元集称为其他元集的父元 集,其他元集称为这个元集的子元集。 一个元集中可以包含多个属性。属性就对应着XML 文档中元素的属性。元集的操作包括创建、添加、删除、选择、过滤、取头、取尾、序列化、反序列化、 设置父亲、获取父亲、设置元集值等方法。创建元集方法等效于程序语言中的构造函数,它的输入是一个字符串,该字符串作 为元集的名字。方法的参数是一个字符串,该字符串就是元集的特定名字。添加属性方法向元集中添加一个属性。元集中维护一个列表来存储它的属性名值对, 添加属性就是向该列表中添加一个新属性。添加子元集方法向当前元集中添加一个子元集。每个元集维护一个列表来存储它的 子元集,添加子元集就是向该列表中添加一个新元集。删除子元集方法从当前元集中删除一个子元集。此方法用于从当前元集的子元集列表中把相应子元集删去。删除属性方法从当前元集中删一个属性。此方法用于从当本文档来自技高网
...

【技术保护点】
一种基于形式化描述和状态迁移的XML转换方法,其特征在于包括以下步骤:    (1)分析网络协议的逻辑功能,将协议划分为不同的状态,每个状态用唯一的一个XML片断表示;    (2)按照协议语义为上述各状态建立状态迁移规则;    (3)执行该迁移规则,实现XML数据之间的转换,从而完成协议的自动实现。

【技术特征摘要】

【专利技术属性】
技术研发人员:马殿富李宁刘建韩军李竹青王颖
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利